Browse Source

完善欠款提车

master
yunuo970428 2 years ago
parent
commit
52349cc923
  1. 9
      anrui-buscenter/anrui-buscenter-ui/src/api/dictcommons/dictcommons.js
  2. 91
      anrui-buscenter/anrui-buscenter-ui/src/api/tesheshenpi/qiankuantiche.js
  3. 2
      anrui-buscenter/anrui-buscenter-ui/src/utils/request.js
  4. 346
      anrui-buscenter/anrui-buscenter-ui/src/views/discountpackage/discountpackage.vue
  5. 128
      anrui-buscenter/anrui-buscenter-ui/src/views/discountpackage/discountpackageAdd.vue
  6. 110
      anrui-buscenter/anrui-buscenter-ui/src/views/discountpackage/discountpackageInfo.vue
  7. 479
      anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/qiankuanticheguanli.vue
  8. 950
      anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/qiankuanticheshenqing.vue
  9. 513
      anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/qiankuanticheshenqingInfo.vue
  10. 182
      anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/relation/selectVehicle.vue

9
anrui-buscenter/anrui-buscenter-ui/src/api/dictcommons/dictcommons.js

@ -62,6 +62,15 @@ export function typeValues(data) {
})
}
// 获取金融部人员
export function selectFinance(data) {
return request({
url: '/portal/v1/sysorganization/selectFinance',
method: 'get',
params: data
})
}
// 根据用户sid获取本分公司下的银行账号
export function selAccountByOrgSid(data) {
return request({

91
anrui-buscenter/anrui-buscenter-ui/src/api/tesheshenpi/qiankuantiche.js

@ -1,8 +1,6 @@
import request from '@/utils/request'
import qs from 'qs'
//Pc根据条件分页查询数据的列表(已测试)
// Pc根据条件分页查询数据的列表
export function pagerList(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/listPage',
@ -13,10 +11,11 @@ export function pagerList(data) {
}
})
}
//检索车辆--分页列表
export function getArrearsVehicleList(data) {
// 选择合同
export function getApprovalContractList(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/getArrearsVehicleList',
url: '/base/v1/commoncontract/getApprovalContractList',
method: 'post',
data: data,
headers: {
@ -24,10 +23,11 @@ export function getArrearsVehicleList(data) {
}
})
}
//欠款提车申请前验证选择的车辆(合同编号必须相同)
export function arrearsVehicleApply(data) {
// 检索车辆--分页列表
export function getCanUseCars(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/arrearsVehicleApply',
url: '/buscenter/v1/bussalesordervehicle/getCanUseCarsPage',
method: 'post',
data: data,
headers: {
@ -35,73 +35,56 @@ export function arrearsVehicleApply(data) {
}
})
}
// 欠款提车申请--新增保存
export function save(data) {
// 欠款提车申请前验证选择的车辆(合同编号必须相同)
export function arrearsVehicleApply(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/save',data,
url: '/buscenter/v1/busarrearscarryvehicleapply/arrearsVehicleApply',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// -- 修改
export function update(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/update/'+data.sid,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 回显
export function fetchSid(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/fetchSid/'+ data,
method: 'get'
})
}
// 删除
export function delBySids(data) {
// 欠款提车申请--新增保存
export function saveOrUpdate(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/deleteBySids',
url: '/buscenter/v1/busarrearscarryvehicleapply/saveArrearsApply',
method: 'post',
data:data,
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 提交
export function submit(data) {
// 回显
export function fetchSid(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/submitArrearsCarryVehicle',
method: 'post',
data:data,
headers: {
'Content-Type': 'application/json'
}
url: '/buscenter/v1/busarrearscarryvehicleapply/initArrearsApply',
method: 'get',
params: data
})
}
// 移除附件接口
export function removeFile(data) {
// 生成附件并保存数据
export function saveArrearsApplyPdf(data) {
return request({
url: '/base/v1/commonappendix/deleteFilesOss',
url: '/buscenter/v1/busarrearscarryvehicleapply/saveArrearsApplyPdf',
method: 'post',
params: data,
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 保存附件接口
export function saveFile(data) {
// 删除
export function delBySids(data) {
return request({
url: '/buscenter/v1/busarrearscarryvehicleapply/saveArrearsAppendix',
url: '/buscenter/v1/busarrearscarryvehicleapply/deleteBySids',
method: 'post',
data: data,
headers: {
@ -109,10 +92,11 @@ export function saveFile(data) {
}
})
}
// 保存附件接口
export function getPcAppendix(data) {
// 提交
export function submit(data) {
return request({
url: '/base/v1/commonappendix/getPcAppendix',
url: '/buscenter/v1/busarrearscarryvehicleapply/submitArrearsCarryVehicle',
method: 'post',
data: data,
headers: {
@ -120,3 +104,4 @@ export function getPcAppendix(data) {
}
})
}

2
anrui-buscenter/anrui-buscenter-ui/src/utils/request.js

@ -7,7 +7,7 @@ import { getToken, getStorage } from '@/utils/auth'
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 30000 // request timeout
timeout: 60000 // request timeout
})
// request interceptor

346
anrui-buscenter/anrui-buscenter-ui/src/views/discountpackage/discountpackage.vue

@ -0,0 +1,346 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<button-bar view-title="优惠包申请" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
<el-form-item label="合同编号">
<el-input v-model="listQuery.params.contractNo" clearable placeholder=""/>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="listQuery.params.customerName" clearable placeholder=""/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">调价申请列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed width="60px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed width="50px" type="selection" align="center"/>
<el-table-column fixed label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)" :disabled="scope.row.nodeState =='调价申请' ? false : scope.row.nodeState == '待提交' ? false : true">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="140px" header-align="center">
<template slot-scope="scope">
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="发起日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="发起人" align="center">
<template slot-scope="scope">
<span>{{ scope.row.applyPeoName }}</span>
</template>
</el-table-column>
<el-table-column label="合同编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.contractNo }}</span>
</template>
</el-table-column>
<el-table-column label="合同编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.contractNo }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
<el-table-column label="台数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.num }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<discountpackageAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<discountpackageInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import discountpackageAdd from './discountpackageAdd.vue'
import discountpackageInfo from './discountpackageInfo.vue'
import req from '@/api/kucunguanli/price'
import { getOrgSidByPath, selectHaveMessage } from '@/api/dictcommons/dictcommons'
import { getStorage } from '@/utils/auth'
export default {
name: 'priceguanli',
components: {
Pagination,
pageye,
ButtonBar,
discountpackageAdd,
discountpackageInfo
},
data() {
return {
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: ''
},
current: 1,
size: 10,
total: 0
},
rules: {}
}
},
created() {
//
this.init()
},
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
async handleMessage(event) {
var code = ''
if (event.data.params !== null && event.data.params !== undefined) {
code = event.data.params.code
}
if (code === 1) {
this.init()
this.centerDialogVisible = false
} else if (code === 2) {
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe'))
}
},
closeIt() {
this.url = ''
this.centerDialogVisible = false
},
setIframeHeight(iframe) {
iframe.height = this.dialogHeight
},
flowRecord(row) {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
init() {
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.listQuery.params.createOrgSid = res.data
this.getList()
console.log(this.listQuery.params.createOrgSid)
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: ''
},
current: 1,
size: 10,
total: 0
}
this.init()
},
toAdd() {
selectHaveMessage({ menuUrl: this.$route.path, orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
}
})
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(this.sids).then(resp => {
loading.close()
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.getList()
}
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

128
anrui-buscenter/anrui-buscenter-ui/src/views/discountpackage/discountpackageAdd.vue

@ -0,0 +1,128 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存
</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submitVehicleApply()">提交
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>合同编号</span>
</el-col>
<el-col :span="8"></el-col>
<el-col :span="4" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.customerName }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>车型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.modelName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>订单台数</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.num }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>备注</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.remarks" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>优惠包列表</div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="handleAdd">添加</el-button>
</div>
<el-table :key="tableKey" :data="formobj.list" :index="index" border style="width: 100%;">
<el-table-column fixed label="序号" type="index" :index="index + 1" align="center" width="60"></el-table-column>
<el-table-column fixed label="操作" align="center" width="80">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="dataDelete(scope.$index)">删除
</el-button>
</template>
</el-table-column>
<el-table-column label="优惠包名称" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="价值" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="优惠包说明" align="center" min-idth="200">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center" width="80">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="总价值" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'YouHuiBaoAdd',
data() {
return {
viewTitle: '',
submitdisabled: false,
tableKey: 0,
index: 0,
formobj: {
},
rules: {}
}
},
methods: {
showAdd() {},
showEdit(row) {},
handleAdd() {
},
dataDelete(index) {},
saveOrUpdate() {},
submitVehicleApply() {},
handleReturn() {}
}
}
</script>
<style scoped>
</style>

110
anrui-buscenter/anrui-buscenter-ui/src/views/discountpackage/discountpackageInfo.vue

@ -0,0 +1,110 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>合同编号</span>
</el-col>
<el-col :span="8"></el-col>
<el-col :span="4" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.customerName }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>车型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.modelName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>订单台数</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.num }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>备注</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.remarks" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>优惠包列表</div>
</div>
<el-table :key="tableKey" :data="formobj.list" :index="index" border style="width: 100%;">
<el-table-column fixed label="序号" type="index" :index="index + 1" align="center" width="60"></el-table-column>
<el-table-column label="优惠包名称" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="价值" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="优惠包说明" align="center" min-idth="200">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center" width="80">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="总价值" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'YouHuiBaoInfo',
data() {
return {
viewTitle: '',
submitdisabled: false,
tableKey: 0,
index: 0,
formobj: {
},
rules: {}
}
},
methods: {
showInfo(row) {},
handleReturn() {}
}
}
</script>
<style scoped>
</style>

479
anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/qiankuanticheguanli.vue

@ -1,18 +1,10 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>欠款提车申请管理</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">新增</el-button>
<el-button type="primary" size="small">提交</el-button>
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<button-bar view-title="欠款提车申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{searchxianshitit}}</el-button>
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="合同编号:">
@ -26,14 +18,14 @@
</el-form-item>
<el-form-item label="申请日期:">
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.applyStartDate" clearable style="width: 160px" type="date" placeholder="开始日期"/>
<div class="line"></div>
<span style="padding: 0 8px"></span>
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.applyEndDate" clearable style="width: 160px" type="date" placeholder="结束日期"/>
</el-form-item>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
<el-button type="primary" @click="handresetting">重置</el-button>
</div>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handresetting">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
@ -42,17 +34,19 @@
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" :disabled="scope.row.nodeState == '销售专员发起申请'? false : scope.row.nodeState==''?false:true" @click="handleUpdate(scope.row)">办理</el-button>
<el-button type="primary" size="small" @click="handlook(scope.row)">查看</el-button>
<el-button type="primary" size="small" :disabled="scope.row.nodeState == '发起申请' ? false : scope.row.nodeState == '待提交' ? false : true" @click="toEdit(scope.row)">办理
</el-button>
<el-button type="primary" size="small" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<el-table-column label="状态" width="180px" header-align="center">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="合同编号" align="center">
@ -72,7 +66,7 @@
</el-table-column>
<el-table-column label="欠款金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.cumulativeArrearsMoney }}</span>
<span>{{ scope.row.arrearsMoney }}</span>
</template>
</el-table-column>
<el-table-column label="承诺回款日期" align="center">
@ -93,45 +87,140 @@
</el-table>
</div>
<div class="pages">
<div class="tit" />
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<!--新增修改部分组件-->
<jiansuocheliang v-show="viewState == 2" ref="divadd" @return="back" @doback="reset"/>
<qiankuanticheshenqing v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--详情部分组件-->
<qiankuanticheshenqing v-show="viewState == 3" ref="divupdate" @backAdd="backAdd" @backUpdate="backUpdate" @doback="resetState"/>
<qiankuanticheshenqingInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
<!-- <qiankuantichefuhe v-show="viewState == 4" ref="divInfo" @doback="resetState"/> -->
<!-- 查看流程审批记录 -->
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
<!-- 选择合同 -->
<el-dialog title="选择合同" :visible.sync="dialogVisible" width="70%">
<div>
<el-form ref="multipleTable" :inline="true" :model="contractList" class="vinNoForm" label-width="100px">
<el-col :span="14">
<el-form-item label="客户名称:">
<el-input v-model="contractList.params.customerName" clearable class="addinputw" placeholder=""/>
</el-form-item>
<el-form-item label="合同编号:">
<el-input v-model="contractList.params.contractNo" clearable class="addinputw" placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="10" class="dialogBtn">
<el-button type="primary" size="small" @click="handleSelect">查询</el-button>
</el-col>
</el-form>
</div>
<el-table :key="contractKey" v-loading="contractLoading" :data="listContract" border style="width: 100%;">
<el-table-column :index="contractIndexMethod" fixed align="center" label="序号" type="index" width="80"/>
<el-table-column label="操作" fixed align="center" width="80">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="handleChoose(scope.row)">选择</el-button>
</template>
</el-table-column>
<el-table-column align="center" label="合同编号" prop="billNo">
<template slot-scope="scope">
<span>{{ scope.row.contractId }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="客户名称">
<template slot-scope="scope">
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="合同审核日期">
<template slot-scope="scope">
<span>{{ scope.row.createDate }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="车型">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
</el-table>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="listContract.length > 0" :limit.sync="contractList.size" :page.sync="contractList.current" :total="contractList.total" class="pagination" @pagination="getContractList"/>
</div>
</el-dialog>
</div>
</template>
<script>
import { pagerList, delBySids } from "@/api/tesheshenpi/qiankuantiche";
import Pagination from "@/components/pagination";
import pageye from "@/components/pagination/pageye";
import jiansuocheliang from "./jiansuocheliang";
import qiankuanticheshenqing from "./qiankuanticheshenqing";
import qiankuanticheshenqingInfo from "./qiankuanticheshenqingInfo.vue";
// import qiankuantichefuhe from "./qiankuantichefuhe.vue"
import { pagerList, delBySids, getApprovalContractList } from '@/api/tesheshenpi/qiankuantiche'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import qiankuanticheshenqing from './qiankuanticheshenqing'
import qiankuanticheshenqingInfo from './qiankuanticheshenqingInfo.vue'
import { selectHaveMessage } from '@/api/dictcommons/dictcommons'
import { getStorage } from '@/utils/auth'
export default {
name: "qiankuanticheguanli",
name: 'QianKuanTiCheGuanLi',
components: {
Pagination,
pageye,
jiansuocheliang,
ButtonBar,
qiankuanticheshenqing,
qiankuanticheshenqingInfo,
// qiankuantichefuhe
qiankuanticheshenqingInfo
},
data() {
return {
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
isSearchShow: false,
searchxianshitit: "隐藏查询条件",
searchxianshitit: '隐藏查询条件',
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
dialogVisible: false,
contractKey: 1,
contractLoading: false,
listContract: [],
contractList: {
current: 1,
size: 10,
total: 0,
params: {
contractNo: '',
userSid: '',
customerName: '',
orgPath: '',
stateType: 1
}
},
viewState: 1,
tableKey: 0,
sids: [],
@ -141,188 +230,224 @@ export default {
current: 1,
size: 10,
params: {
applyName: "",
contractNo: "",
customerName: "",
applyStartDate: "",
applyEndDate: "",
applyName: '',
contractNo: '',
customerName: '',
applyStartDate: '',
applyEndDate: ''
},
total: 1,
},
stateId: "",
YongHuid: [],
temp: {}, //
};
total: 0
}
}
},
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
//
this.init();
//
this.getList()
},
methods: {
async handleMessage(event) {
var code = ''
if (event.data.params !== null && event.data.params !== undefined) {
code = event.data.params.code
}
if (code === 1) {
this.init()
this.centerDialogVisible = false
} else if (code === 2) {
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe'))
}
},
closeIt() {
this.url = ''
this.centerDialogVisible = false
},
setIframeHeight(iframe) {
iframe.height = this.dialogHeight
},
flowRecord(row) {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow;
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = "隐藏查询条件";
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = "显示查询条件";
this.searchxianshitit = '显示查询条件'
}
},
init() {
this.getList();
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
handleSelectionChange(row) {
const aa = [];
const aa = []
row.forEach((element) => {
aa.push(element.sid);
});
this.sids = aa;
},
//
handleCreate() {
this.viewState = 2;
this.$refs["divadd"].getList();
},
//
handleUpdate(val) {
this.viewState = 3;
const status = 1;
this.$refs["divupdate"].showUpdate(val, status);
},
handlook(val) {
this.viewState = 4;
const status = 1;
this.$refs["divInfo"].showUpdate(val, status);
},
//
handleCheck(row) {
debugger;
this.$refs.divinfo.openinfo(row.sid, this.stateId, () => {
this.visiviewStateble = 3;
});
aa.push(element.sid)
})
this.sids = aa
},
// ------------------
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size;
var pageindex = index + 1 + pagestart;
return pageindex;
},
//
handleReturn() {
this.$emit("tram");
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true;
this.listLoading = true
pagerList(this.listQuery).then((response) => {
this.listLoading = false;
if (response.code === "200") {
this.listQuery.total = response.data.total;
this.list = response.data.records;
this.listLoading = false
if (response.success) {
this.listQuery.total = response.data.total
this.list = response.data.records
} else {
this.listQuery.total = 0
this.list = []
}
});
})
},
//
handleFilter() {
this.getList();
this.listQuery.current = 1
this.getList()
},
handresetting() {
this.listQuery = {
current: 1,
size: 10,
params: {
applyName: "",
contractNo: "",
customerName: "",
applyStartDate: "",
applyEndDate: "",
applyName: '',
contractNo: '',
customerName: '',
applyStartDate: '',
applyEndDate: ''
},
total: 0,
};
this.getList();
},
// ID
handleDelete() {
if (this.sids.length > 0) {
delBySids(this.sids).then((response) => {
if (response.code === "200") {
this.$notify({
title: "提示",
message: "删除成功",
type: "success",
duration: 2000,
});
this.getList();
} else {
this.$notify({
title: "删除失败",
message: response.msg,
type: "error",
});
}
});
} else {
this.$notify({
title: "提示",
message: "请选择至少一条记录进行删除操作!",
type: "error",
duration: 2000,
});
return;
total: 0
}
this.getList()
},
back(val, figure) {
this.viewState = 3;
if (figure == 1) {
this.$refs["divupdate"].showUpdate(val, 2);
} else {
this.$refs["divupdate"].showData(val);
}
toAdd() {
selectHaveMessage({ menuUrl: this.$route.path, orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.contractList = {
current: 1,
size: 5,
total: 0,
params: {
contractNo: '',
userSid: '',
customerName: '',
orgPath: '',
stateType: 1
}
}
this.dialogVisible = true
this.getContractList()
}
})
},
backAdd() {
this.viewState = 2;
this.$refs["divadd"].showback(10);
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
backUpdate(val, contractNo) {
this.viewState = 2;
this.$refs["divadd"].show(val, contractNo);
this.$refs["divadd"].showback(20);
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
reset(val) {
if (val == 10) {
this.viewState = 3;
} else if (val == 20) {
this.viewState = 3;
} else {
this.resetState();
// ID
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
delBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1;
this.handresetting();
this.viewState = 1
},
},
};
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
getContractList() {
this.contractLoading = true
this.contractList.params.userSid = window.sessionStorage.getItem('userSid')
this.contractList.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
getApprovalContractList(this.contractList).then((response) => {
this.contractLoading = false
if (response.success) {
this.listContract = response.data.records
this.contractList.total = response.data.total
} else {
this.listContract = []
this.contractList.total = 0
}
})
},
handleSelect() {
this.listContract.current = 1
this.getContractList()
},
contractIndexMethod(index) {
var pagestart = (this.contractList.current - 1) * this.contractList.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleChoose(row) {
this.dialogVisible = false
this.viewState = 2
this.$refs['divAdd'].showAdd(row)
}
}
}
</script>
<style scoped>
.line {
display: inline-block;
margin: 0px 15px;
}
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

950
anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/qiankuanticheshenqing.vue

File diff suppressed because it is too large

513
anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/qiankuanticheshenqingInfo.vue

@ -1,150 +1,179 @@
<template>
<div class="app-container">
<!--标题按钮部分开始-->
<div v-show="viewState == 5">
<div>
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 新增修改按钮-->
<!--start 添加修改按钮-->
<div>
<el-button size="small" type="info" @click="handleReturn()">关闭</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!--end 添加修改按钮-->
</div>
<!--按钮部分结束-->
<div class="listconadd">
<div class="title">欠款提车详情</div>
<el-form ref="ruleForm" :model="ruleForm" label-position="top" class="formadd" :rules="rules" label-width="100px">
<!--第一行-->
<el-row class="lineone">
<el-col :span="4" class="el-form-item-right" style="border: 0px">
<el-form-item label="合同编号:"> </el-form-item>
<div class="titwu">欠款提车申请单</div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8" style="border: 0px">
<el-form-item>
{{ruleForm.contractNo}}
</el-form-item>
</el-col>
<el-col :span="4" class="el-form-item-right" style="border: 0px">
<el-form-item label="申请日期:"> </el-form-item>
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDept }}</span></el-form-item>
</el-col>
<el-col :span="8" style="border: 0px">
<el-form-item>
{{ruleForm.applyDate}}
</el-form-item>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row class="linetwo">
<el-col :span="4" class="el-form-item-right" style="border: 0px">
<el-form-item label="客户名称:"> </el-form-item>
<el-row>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="20" style="border: 0px">
<el-form-item>
{{ruleForm.customerName}}
</el-form-item>
<el-col :span="8">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffDept }}</span></el-form-item>
</el-col>
</el-row>
<el-row class="linetwo">
<el-col :span="4" class="el-form-item-right" style="border: 0px">
<el-form-item label="车型:"> </el-form-item>
</el-col>
<el-col :span="20" style="border: 0px">
<el-form-item>
{{ruleForm.modelName}}
</el-form-item>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</span></el-form-item>
</el-col>
</el-row>
<!--开票信息-->
<div class="tabletitle">
<div style="margin-left: 10px">车辆信息</div>
</div>
<template class="tablelist">
<el-table :data="ruleForm.vehicleList" :index="index" border style="width: 100%">
<el-table-column type="index" label="序号" width="100" :index="index + 1" align="center"/>
<el-table-column label="车架号" align="center">
<template slot-scope="props">
<span>{{ props.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<template slot-scope="props">
<span>{{ props.row.dealMoney }}</span>
</template>
</el-table-column>
</el-table>
</template>
<el-row>
<el-col :span="4" class="el-form-item-right">
<el-form-item> 欠款提车原因 </el-form-item>
<el-col :span="8">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractId }}</span></el-form-item>
</el-col>
<el-col :span="20">
<el-form-item>
{{ ruleForm.reason }}
</el-form-item>
<el-col :span="8">
<div class="span-sty">开票单位</div>
<el-form-item><span class="addinputInfo">{{ formobj.openTickName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="el-form-item-right">
<el-form-item> 合同总金额 </el-form-item>
<el-col :span="8">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="8">
<div class="span-sty">是否金融部复核</div>
<el-form-item>
{{ ruleForm.contractMoney }}
<span class="addinputInfo">{{ formobj.isFinance == '1' ? '是' : '否' }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="el-form-item-right">
<el-form-item> 合同收款金额 </el-form-item>
</el-col>
<el-col :span="4">
<el-form-item>
{{ ruleForm.contractCollectionMoney }}
</el-form-item>
</el-col>
<el-col :span="4" class="el-form-item-right">
<el-form-item> 累计欠款金额 </el-form-item>
</el-col>
<el-col :span="4">
<el-form-item>
{{ ruleForm.cumulativeArrearsMoney }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="el-form-item-right">
<el-form-item> 承诺回款日期 </el-form-item>
</el-col>
<el-col :span="20">
<el-form-item>
{{ ruleForm.commitmentMoneyDate }}
<el-col :span="8">
<div class="span-sty" v-if="formobj.isFinance == '1'">金融部经理</div>
<el-form-item v-if="formobj.isFinance == '1'">
<span class="addinputInfo">{{ formobj.financeName }}</span>
</el-form-item>
</el-col>
</el-row>
<div class="tableStyle">
<div style="margin-left: 10px">所附资料附件</div>
<div class="title titleOne">
<div>车辆信息</div>
</div>
<el-table :data="commonAppendixDtoList" :index="index" border style="width: 100%">
<el-table-column :index="index + 1" align="center" label="序号" type="index" width="100"></el-table-column>
<el-table-column align="center" label="附件名称" prop="fileName">
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vin }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleDown(scope.row)">{{scope.row.fileName}}</span>
<span>{{ scope.row.price }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="文件格式" prop="fileType">
<el-table-column label="平台已收款" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fileType }}</span>
<span>{{ scope.row.subscribedAll }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="上传人" prop="name">
</el-table>
<div class="title">挂车信息</div>
<el-table :key="billingKey" :data="formobj.trailersList" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="挂车车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.gcVinNo }}</span>
</template>
</el-table-column>
<el-table-column label="主车车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
<span>{{ scope.row.price }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="上传时间" prop="createTime">
<el-table-column label="平台已收款" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
<span>{{ scope.row.subscribedAll }}</span>
</template>
</el-table-column>
</el-table>
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>欠款提车原因</div>
<el-form-item><span class="addinputInfo">{{ formobj.reasonValue }}</span></el-form-item>
</el-col>
<el-col :span="16">
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">合同总金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">平台收款总金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractCollectionMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>承诺回款日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.commitmentMoneyDate }}</span></el-form-item>
</el-col>
</el-row>
<div class="title"><span class="icon">*</span>车辆买卖合同(欠款)</div>
<el-row>
<el-col :span="24">
<el-image style="width: 178px;height: 178px;padding-left: 5px" v-for="(item,index) in image_list1" :key="index" :src="item" :preview-src-list="image_list1"></el-image>
</el-col>
</el-row>
<div class="title"><span class="icon">*</span>欠款提车担保承诺书</div>
<el-row>
<el-col :span="24">
<el-image style="width: 178px;height: 178px;padding-left: 5px" v-for="(item,index) in image_list2" :key="index" :src="item" :preview-src-list="image_list2"></el-image>
</el-col>
</el-row>
<div class="title">股东会对外担保决议</div>
<el-row>
<el-col :span="24">
<el-image style="width: 178px;height: 178px;padding-left: 5px" v-for="(item,index) in image_list3" :key="index" :src="item" :preview-src-list="image_list3"></el-image>
</el-col>
</el-row>
<div class="title"><span class="icon">*</span>总经理担保书</div>
<el-row>
<el-col :span="24">
<el-form-item>
<el-image style="width: 178px;height: 178px;padding-left: 5px" v-for="(item,index) in image_list4" :key="index" :src="item" :preview-src-list="image_list4"></el-image>
</el-form-item>
</el-col>
</el-row>
<div class="title"><span class="icon">*</span>其他附件</div>
<el-row>
<el-col :span="24">
<el-form-item>
<el-image style="width: 178px;height: 178px;padding-left: 5px" v-for="(item,index) in image_list5" :key="index" :src="item" :preview-src-list="image_list5"></el-image>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
@ -152,148 +181,170 @@
</template>
<script>
import { fetchSid,getPcAppendix } from "@/api/tesheshenpi/qiankuantiche";
import { fetchSid } from '@/api/tesheshenpi/qiankuantiche'
export default {
name: "qiankuanticheshenqingInfo",
components: {
fetchSid,
getPcAppendix
},
name: 'QianKuanTiCheInfo',
data() {
return {
viewTitle: '',
tableKey: 0,
billingKey: 1,
index: 0,
viewState: 5,
status: 0,
// Start
userName: sessionStorage.getItem("name"),
// End
viewTitle: "", // 2 3
dialogStatus: "",
commonAppendixDtoList:[],
//
ruleForm: {
sid: "",
contractNo: "",
applyDate: "",
customerName: "",
modelName: "",
modelSid: "",
reason: "",
contractMoney: "",
contractCollectionMoney: "",
cumulativeArrearsMoney: "",
commitmentMoneyDate: "",
userSid: window.sessionStorage.getItem("userSid"),
applyName: window.sessionStorage.getItem("name"),
vehicleList: [],
image_list1: [],
image_list2: [],
image_list3: [],
image_list4: [],
image_list5: [],
formobj: {
applyDept: '',
applyDeptSid: '',
applyName: '',
applyUserSid: '',
carContract: [],
carContractDownloadUrl: '',
commitmentMoneyDate: '',
configSid: '',
contractCollectionMoney: '',
contractId: '',
contractMoney: '',
createDate: '',
customerName: '',
customerSid: '',
fileList: [],
financeName: '',
financeUserSid: '',
gdLetter: [],
gdLetterDownloadUrl: '',
guaranteeLetter: [],
guaranteeLetterDownloadUrl: '',
isFinance: '',
modelName: '',
modelSid: '',
openTickName: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
procInsId: '',
reason: '',
reasonKey: '',
reasonValue: '',
sid: '',
staffDept: '',
staffDeptSid: '',
staffName: '',
staffUserSid: '',
taskId: '',
trailersList: [],
userSid: '',
vinList: [],
zjlLetter: [],
zjlLetterDownloadUrl: ''
},
rules: {},
};
rules: {}
}
},
methods: {
//
showUpdate(val, status) {
this.ruleForm.sid = val.sid;
this.status = status;
this.ruleForm.contractNo = val.contractNo;
this.ruleForm.applyDate = val.applyDate;
this.ruleForm.customerName = val.customerName;
this.ruleForm.modelName = val.modelName;
fetchSid(val.sid).then((res) => {
if (res.code == "200") {
this.ruleForm.reason = res.data.reason;
this.ruleForm.contractMoney = res.data.contractMoney;
this.ruleForm.contractCollectionMoney = res.data.contractCollectionMoney;
this.ruleForm.cumulativeArrearsMoney = res.data.cumulativeArrearsMoney;
this.ruleForm.commitmentMoneyDate = res.data.commitmentMoneyDate;
this.ruleForm.modelSid = res.data.modelSid;
res.data.vehicleList.forEach((element) => {
this.ruleForm.vehicleList.push({
vinNo: element.vinNo,
dealMoney: element.dealMoney,
vehicleSid: element.vehicleSid,
arrearsVehicleSid: element.arrearsVehicleSid,
});
});
}
});
getPcAppendix({attachType:'0007',linkSid:val.sid}).then((res)=>{
if(res.code=="200"){
this.commonAppendixDtoList=res.data
showInfo(row) {
this.viewTitle = '欠款提车申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
fetchSid({ contractNo: row.contractId, orgPath: window.sessionStorage.getItem('defaultOrgPath'), sid: row.sid, userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
if (res.success) {
this.formobj = res.data
this.formobj.instanceId = res.data.procInstSid
if (this.formobj.zjlLetter.length > 0) {
this.formobj.zjlLetter.forEach((e) => {
this.image_list3.push(e.fileUrl)
})
}
if (this.formobj.gdLetter.length > 0) {
this.formobj.gdLetter.forEach((e) => {
this.image_list4.push(e.fileUrl)
})
}
if (this.formobj.guaranteeLetter.length > 0) {
this.formobj.guaranteeLetter.forEach((e) => {
this.image_list2.push(e.fileUrl)
})
}
if (this.formobj.carContract.length > 0) {
this.formobj.carContract.forEach((e) => {
this.image_list1.push(e.fileUrl)
})
}
if (this.formobj.fileList.length > 0) {
this.formobj.fileList.forEach((e) => {
this.image_list5.push(e.fileUrl)
})
}
}
})
this.dialogStatus = "update";
this.viewTitle = "欠款提车详情";
},
//
handleReturn() {
this.ruleForm = {
sid: "",
contractNo: "",
applyDate: "",
customerName: "",
modelName: "",
modelSid: "",
reason: "",
contractMoney: "",
contractCollectionMoney: "",
cumulativeArrearsMoney: "",
commitmentMoneyDate: "",
userSid: window.sessionStorage.getItem("userSid"),
applyName: window.sessionStorage.getItem("name"),
vehicleList: [],
};
this.$emit("doback");
},
},
};
this.formobj = {
applyDept: '',
applyDeptSid: '',
applyName: '',
applyUserSid: '',
carContract: [],
carContractDownloadUrl: '',
commitmentMoneyDate: '',
configSid: '',
contractCollectionMoney: '',
contractId: '',
contractMoney: '',
createDate: '',
customerName: '',
customerSid: '',
fileList: [],
financeName: '',
financeUserSid: '',
gdLetter: [],
gdLetterDownloadUrl: '',
guaranteeLetter: [],
guaranteeLetterDownloadUrl: '',
isFinance: '',
modelName: '',
modelSid: '',
openTickName: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
procInsId: '',
reason: '',
reasonKey: '',
reasonValue: '',
sid: '',
staffDept: '',
staffDeptSid: '',
staffName: '',
staffUserSid: '',
taskId: '',
trailersList: [],
userSid: '',
vinList: [],
zjlLetter: [],
zjlLetterDownloadUrl: ''
}
this.image_list1 = []
this.image_list2 = []
this.image_list3 = []
this.image_list4 = []
this.image_list5 = []
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.listconadd .title {
text-align: center;
font-size: 28px;
line-height: 90px;
}
.lineone {
border-left: 0px;
border-right: 0px;
border-bottom: 2px solid #e0e3eb;
}
.lineone .el-form-item {
margin-bottom: -20px !important;
}
.lineone >>> .el-input__inner {
border: 0;
}
.linetwo {
border-left: 0px;
border-right: 0px;
}
.linetwo .el-form-item {
margin-bottom: -20px !important;
}
.linetwo >>> .el-input__inner {
border: 0;
}
.el-form-item-right {
text-align: right;
}
.tabletitle {
display: flex;
justify-content: flex-start;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
.span-sty {
width: 130px !important;
}
.tableStyle {
margin-top: 0px;
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
.addinputInfo {
margin-left: 120px !important;
}
</style>

182
anrui-buscenter/anrui-buscenter-ui/src/views/teshushenpi/qiankuanticheguanli/relation/selectVehicle.vue

@ -0,0 +1,182 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>车辆查询</div>
<div>
<el-button type="primary" size="small" @click="AddUpdateReturn">确定</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" clearable class="addinputw" placeholder=""/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">现车列表</div>
</div>
<div class="">
<el-table :key="tableKey" ref="multipleTable" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="合同编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.contractNo }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vin }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<Pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import { getCanUseCars } from '@/api/tesheshenpi/qiankuantiche'
export default {
name: 'SelectVehicle',
components: {
Pagination
},
data() {
return {
isSearchShow: false,
searchxianshitit: '隐藏查询条件',
tableKey: 0,
sids: [],
list: [],
listLoading: false,
listQuery: {
current: 1,
size: 5,
params: {
contractNo: '',
vinNo: '',
vinSids: []
},
total: 0
}
}
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
handleReturn() {
this.$emit('doback')
},
//
getList() {
this.listLoading = true
getCanUseCars(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.listQuery.total = response.data.total
this.list = response.data.records
} else {
this.listQuery.total = 0
this.list = []
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery.current = 1
this.listQuery.size = 5
this.listQuery.total = 0
this.listQuery.params.vinNo = ''
this.getList()
},
handleSelectionChange(row) {
this.sids = []
const aa = []
row.forEach((element) => {
aa.push({
vinNo: element.vin,
carSid: element.carSid,
price: element.price,
subscribedAll: element.subscribedAll,
gcList: element.gcList
})
})
this.sids = aa
},
showData(value, contractNo) {
const aa = []
if (value.length > 0) {
for (var i = 0; i < value.length; i++) {
aa.push(value[i].carSid)
}
this.listQuery.params.vinSids = aa
} else {
this.listQuery.params.vinSids = []
}
this.listQuery.current = 1
this.listQuery.total = 0
this.listQuery.size = 5
this.listQuery.params.contractNo = contractNo
this.getList()
},
//
AddUpdateReturn() {
if (this.sids.length > 0) {
this.$emit('backData', this.sids)
} else {
this.$notify({
title: '提示',
message: '请选择至少一条记录!',
type: 'error',
duration: 2000
})
}
}
}
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save