
22 changed files with 1721 additions and 61 deletions
@ -0,0 +1,128 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// Pc根据条件分页查询数据的列表
|
||||
|
export function pagerList(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/getDeliveryPlanList', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 初始化
|
||||
|
export function getDeliveryPlanInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/getDeliveryPlanInfo', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 提交
|
||||
|
export function submit(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/submitDeliveryPlanInfo', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 发票初始化
|
||||
|
export function getInvoiceInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/getInvoiceInfo', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 合格证初始化
|
||||
|
export function getCertificateInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/getCertificateInfo', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 保单初始化
|
||||
|
export function getPolicyInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/getPolicyInfo', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 随车资料初始化
|
||||
|
export function getVehicleInformationInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/getVehicleInformationInfo', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 其他资料初始化
|
||||
|
export function getOtherDataInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/getOtherDataInfo', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 随车资料确认
|
||||
|
export function saveHandoverMaterials(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/saveHandoverMaterials', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 合格证、发票确认
|
||||
|
export function saveState(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/saveState', |
||||
|
method: 'put', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 保单确认
|
||||
|
export function savePolicyInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/savePolicyInfo', |
||||
|
method: 'put', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 其他资料确认
|
||||
|
export function saveOtherDataInfo(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bushandoverprepare/saveOtherDataInfo', |
||||
|
method: 'put', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
@ -0,0 +1,259 @@ |
|||||
|
<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="switch_btn"> |
||||
|
<el-button :class="{btn_style:viewState === 1}">待准备</el-button> |
||||
|
<el-button class="" @click="handleClick">已准备</el-button> |
||||
|
</div> |
||||
|
<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" class="tab-header"> |
||||
|
<el-form-item label="合同编号"> |
||||
|
<el-input v-model="listQuery.params.contractNo" clearable placeholder="" class="addinputw"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="客户名称"> |
||||
|
<el-input v-model="listQuery.params.customerName" clearable placeholder="" class="addinputw"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="销售类型"> |
||||
|
<el-select v-model="listQuery.params.payTypeKey" class="filter-item" clearable placeholder="请选择"> |
||||
|
<el-option v-for="item in payType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
||||
|
</el-select> |
||||
|
</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%;"> |
||||
|
<el-table-column fixed label="序号" width="60" type="index" :index="indexMethod" align="center"/> |
||||
|
<el-table-column fixed label="操作" width="180" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button> |
||||
|
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="合同编号" align="center" width="150"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.contractNo }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="客户名称" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.customerName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="联系电话" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.mobile }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="车型" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.model }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="数量" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.num }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="销售类型" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.payType }}</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> |
||||
|
<!-- End 列表页面 --> |
||||
|
<!-- 已交车准备列表 --> |
||||
|
<thecarisready v-show="viewState == 2" ref="divYiZhunBei"/> |
||||
|
<!-- 交车准备编辑 --> |
||||
|
<readyfordeliveryAdd v-show="viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { pagerList } from '@/api/jiaochezhunbei/readyfordelivery' |
||||
|
import { typeValues } from '@/api/dictcommons/dictcommons' |
||||
|
import Pagination from '@/components/pagination' |
||||
|
import pageye from '@/components/pagination/pageye' |
||||
|
import ButtonBar from '@/components/ButtonBar' |
||||
|
import readyfordeliveryAdd from './readyfordeliveryAdd' |
||||
|
import thecarisready from './thecarisready' |
||||
|
|
||||
|
export default { |
||||
|
name: 'DaiJiaoCheZhunBei', |
||||
|
components: { |
||||
|
Pagination, |
||||
|
pageye, |
||||
|
ButtonBar, |
||||
|
readyfordeliveryAdd, |
||||
|
thecarisready |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewState: 1, |
||||
|
btndisabled: false, |
||||
|
btnList: [ |
||||
|
{ |
||||
|
type: 'info', |
||||
|
size: 'small', |
||||
|
icon: 'cross', |
||||
|
btnKey: 'doClose', |
||||
|
btnLabel: '关闭' |
||||
|
} |
||||
|
], |
||||
|
isSearchShow: false, |
||||
|
searchxianshitit: '显示查询条件', |
||||
|
// 查询条件 ----------- |
||||
|
tableKey: 0, |
||||
|
list: [], |
||||
|
payType_list: [], |
||||
|
FormLoading: false, |
||||
|
listLoading: false, |
||||
|
listQuery: { |
||||
|
params: { |
||||
|
contractNo: '', |
||||
|
customerName: '', |
||||
|
menuSid: '', |
||||
|
menuUrl: '', |
||||
|
name: '', |
||||
|
orgPath: '', |
||||
|
payTypeKey: '', |
||||
|
type: '1', |
||||
|
userSid: '' |
||||
|
}, |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
total: 0 |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
// 初始化变量 |
||||
|
this.init() |
||||
|
this.getList() |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$refs['btnbar'].setButtonList(this.btnList) |
||||
|
}, |
||||
|
methods: { |
||||
|
// 搜索条件效果 |
||||
|
clicksearchShow() { |
||||
|
this.isSearchShow = !this.isSearchShow |
||||
|
if (this.isSearchShow) { |
||||
|
this.searchxianshitit = '隐藏查询条件' |
||||
|
} else { |
||||
|
this.searchxianshitit = '显示查询条件' |
||||
|
} |
||||
|
}, |
||||
|
btnHandle(btnKey) { |
||||
|
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
||||
|
switch (btnKey) { |
||||
|
case 'doClose': |
||||
|
this.doClose() |
||||
|
break |
||||
|
default: |
||||
|
break |
||||
|
} |
||||
|
}, |
||||
|
init() { |
||||
|
typeValues({ type: 'purchaseType' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.payType_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 序号 |
||||
|
indexMethod(index) { |
||||
|
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
||||
|
var pageindex = index + 1 + pagestart |
||||
|
return pageindex |
||||
|
}, |
||||
|
// 查询列表信息 |
||||
|
getList() { |
||||
|
this.listLoading = true |
||||
|
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid') |
||||
|
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath') |
||||
|
this.listQuery.params.menuUrl = this.$route.path |
||||
|
pagerList(this.listQuery).then((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 |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handleClick() { |
||||
|
this.viewState = 2 |
||||
|
this.$refs['divYiZhunBei'].init() |
||||
|
}, |
||||
|
// 查询按钮 |
||||
|
handleFilter() { |
||||
|
this.listQuery.current = 1 |
||||
|
this.getList() |
||||
|
}, |
||||
|
handleReset() { |
||||
|
this.listQuery = { |
||||
|
params: { |
||||
|
contractNo: '', |
||||
|
customerName: '', |
||||
|
menuSid: '', |
||||
|
menuUrl: '', |
||||
|
name: '', |
||||
|
orgPath: '', |
||||
|
payTypeKey: '', |
||||
|
type: '1', |
||||
|
userSid: '' |
||||
|
}, |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
total: 0 |
||||
|
} |
||||
|
this.getList() |
||||
|
}, |
||||
|
toEdit(row) { |
||||
|
this.viewState = 3 |
||||
|
this.$refs['divAdd'].showEdit(row) |
||||
|
}, |
||||
|
toInfo(row) { |
||||
|
this.viewState = 4 |
||||
|
this.$refs['divInfo'].showInfo(row) |
||||
|
}, |
||||
|
resetState() { |
||||
|
this.viewState = 1 |
||||
|
}, |
||||
|
doClose() { |
||||
|
this.$store.dispatch('tagsView/delView', this.$route) |
||||
|
this.$router.go(-1) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
.btn_style { |
||||
|
background-color: #018ad2; |
||||
|
color: white; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,217 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div v-show="viewState == 1"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<!--标题--> |
||||
|
<div>{{ viewTitle }}</div> |
||||
|
<!--start 添加修改按钮--> |
||||
|
<div> |
||||
|
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleSubmit()">提交 |
||||
|
</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="formaddcopy02"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">合同编号</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.contractNo }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<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="12"> |
||||
|
<div class="span-sty">车型</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.model }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">销售类型</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.payType }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-table :key="tableKey" :data="formobj.carDataList" :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.vinNo }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="发票" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.invoicingState" @click="handleAffirm(scope.row.sid, '01', '发票交接确认', scope.row.invoicingState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '01', '发票交接确认', scope.row.invoicingState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="合格证" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.certificateState" @click="handleAffirm(scope.row.sid, '02', '合格证交接确认', scope.row.certificateState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '02', '合格证交接确认', scope.row.certificateState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="保单" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.policyState" @click="handleAffirm(scope.row.sid, '03', '保单上传', scope.row.policyState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '03', '保单上传', scope.row.policyState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="随车资料" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.onBoardDataState" @click="handleAffirm(scope.row.sid, '04', '随车资料交接确认', scope.row.onBoardDataState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '04', '随车资料交接确认', scope.row.onBoardDataState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="其他资料" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.otherDataState" @click="handleAffirm(scope.row.sid, '05', '其他资料上传', scope.row.otherDataState)">上传</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '05', '其他资料上传', scope.row.otherDataState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="备注" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-input v-model="scope.row.remarks" clearable placeholder=""/> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
<affirm v-show="viewState == 2" ref="divAffirm" @doback="resetState"/> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { getDeliveryPlanInfo, submit } from '@/api/jiaochezhunbei/readyfordelivery' |
||||
|
import affirm from './relation/affirm' |
||||
|
|
||||
|
export default { |
||||
|
name: 'ReadyfordeliveryAdd', |
||||
|
components: { |
||||
|
affirm |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
viewState: 1, |
||||
|
submitdisabled: false, |
||||
|
tableKey: 0, |
||||
|
index: 0, |
||||
|
formobj: { |
||||
|
brandName: '', |
||||
|
carDataList: [], |
||||
|
configSid: '', |
||||
|
contractNo: '', |
||||
|
createOrgName: '', |
||||
|
createOrgSid: '', |
||||
|
customerName: '', |
||||
|
handoverPrepareState: '', |
||||
|
handoverPrepareStateKey: '', |
||||
|
model: '', |
||||
|
modelSid: '', |
||||
|
num: '', |
||||
|
orgSidPath: '', |
||||
|
payType: '', |
||||
|
payTypeKey: '', |
||||
|
sid: '', |
||||
|
useOrgName: '', |
||||
|
useOrgSid: '', |
||||
|
userSid: '' |
||||
|
}, |
||||
|
rules: {} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
showEdit(row) { |
||||
|
this.viewTitle = '交车准备' |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['form_obj'].clearValidate() |
||||
|
}) |
||||
|
getDeliveryPlanInfo({ sid: row.sid, userSid: window.sessionStorage.getItem('userSid') }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.formobj = res.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handleAffirm(sid, index, title, state) { |
||||
|
this.viewState = 2 |
||||
|
this.$refs['divAffirm'].showInfo(sid, index, title, state) |
||||
|
}, |
||||
|
handleSubmit() { |
||||
|
this.$refs['form_obj'].validate((valid) => { |
||||
|
if (valid) { |
||||
|
this.submitdisabled = true |
||||
|
submit(this.formobj).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.$message({ showClose: true, type: 'success', message: '提交成功' }) |
||||
|
this.handleReturn('true') |
||||
|
} else { |
||||
|
this.submitdisabled = false |
||||
|
} |
||||
|
}).catch(() => { |
||||
|
this.submitdisabled = false |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
resetState() { |
||||
|
this.viewState = 1 |
||||
|
}, |
||||
|
updateState(index, sid) { |
||||
|
for (var i = 0; i < this.formobj.carDataList.length; i++) { |
||||
|
if (this.formobj.carDataList[i].sid === sid) { |
||||
|
if (index == '01') { |
||||
|
this.formobj.carDataList[i].invoicingState = true |
||||
|
} else if (index == '02') { |
||||
|
this.formobj.carDataList[i].certificateState = true |
||||
|
} else if (index == '03') { |
||||
|
this.formobj.carDataList[i].policyState = true |
||||
|
} else if (index == '04') { |
||||
|
this.formobj.carDataList[i].onBoardDataState = true |
||||
|
} else if (index == '05') { |
||||
|
this.formobj.carDataList[i].otherDataState = true |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
handleReturn(isreload) { |
||||
|
if (isreload === 'true') this.$emit('reloadlist') |
||||
|
this.formobj = { |
||||
|
brandName: '', |
||||
|
carDataList: [], |
||||
|
configSid: '', |
||||
|
contractNo: '', |
||||
|
createOrgName: '', |
||||
|
createOrgSid: '', |
||||
|
customerName: '', |
||||
|
handoverPrepareState: '', |
||||
|
handoverPrepareStateKey: '', |
||||
|
model: '', |
||||
|
modelSid: '', |
||||
|
num: '', |
||||
|
orgSidPath: '', |
||||
|
payType: '', |
||||
|
payTypeKey: '', |
||||
|
sid: '', |
||||
|
useOrgName: '', |
||||
|
useOrgSid: '', |
||||
|
userSid: '' |
||||
|
} |
||||
|
this.submitdisabled = false |
||||
|
this.$refs['form_obj'].resetFields() |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.span-sty { |
||||
|
width: 130px !important; |
||||
|
} |
||||
|
.addinputInfo { |
||||
|
margin-left: 120px !important; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,174 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div v-show="viewState == 1"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<!--标题--> |
||||
|
<div>{{ viewTitle }}</div> |
||||
|
<!--start 添加修改按钮--> |
||||
|
<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="formaddcopy02"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">合同编号</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.contractNo }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<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="12"> |
||||
|
<div class="span-sty">车型</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.model }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">销售类型</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.payType }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-table :key="tableKey" :data="formobj.carDataList" :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.vinNo }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="发票" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.invoicingState" @click="handleAffirm(scope.row.sid, '01', '发票交接确认', scope.row.invoicingState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '01', '发票交接确认', scope.row.invoicingState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="合格证" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.certificateState" @click="handleAffirm(scope.row.sid, '02', '合格证交接确认', scope.row.certificateState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '02', '合格证交接确认', scope.row.certificateState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="保单" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.policyState" @click="handleAffirm(scope.row.sid, '03', '保单上传', scope.row.policyState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '03', '保单上传', scope.row.policyState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="随车资料" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.onBoardDataState" @click="handleAffirm(scope.row.sid, '04', '随车资料交接确认', scope.row.onBoardDataState)">确认</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '04', '随车资料交接确认', scope.row.onBoardDataState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="其他资料" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span class="bluezi" v-if="!scope.row.otherDataState" @click="handleAffirm(scope.row.sid, '05', '其他资料上传', scope.row.otherDataState)">上传</span> |
||||
|
<span class="bluezi" v-else @click="handleAffirm(scope.row.sid, '05', '其他资料上传', scope.row.otherDataState)">查看</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="备注" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.remarks }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
<affirm v-show="viewState == 2" ref="divAffirm" @doback="resetState"/> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { getDeliveryPlanInfo } from '@/api/jiaochezhunbei/readyfordelivery' |
||||
|
import affirm from './relation/affirm' |
||||
|
|
||||
|
export default { |
||||
|
name: 'readyfordeliveryInfo', |
||||
|
components: { |
||||
|
affirm |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
viewState: 1, |
||||
|
tableKey: 0, |
||||
|
index: 0, |
||||
|
formobj: { |
||||
|
brandName: '', |
||||
|
carDataList: [], |
||||
|
configSid: '', |
||||
|
contractNo: '', |
||||
|
createOrgName: '', |
||||
|
createOrgSid: '', |
||||
|
customerName: '', |
||||
|
handoverPrepareState: '', |
||||
|
handoverPrepareStateKey: '', |
||||
|
model: '', |
||||
|
modelSid: '', |
||||
|
num: '', |
||||
|
orgSidPath: '', |
||||
|
payType: '', |
||||
|
payTypeKey: '', |
||||
|
sid: '', |
||||
|
useOrgName: '', |
||||
|
useOrgSid: '', |
||||
|
userSid: '' |
||||
|
}, |
||||
|
rules: {} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
showInfo(row) { |
||||
|
this.viewTitle = '交车准备' |
||||
|
getDeliveryPlanInfo({ sid: row.sid, userSid: window.sessionStorage.getItem('userSid') }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.formobj = res.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handleAffirm(sid, index, title, state) { |
||||
|
this.viewState = 2 |
||||
|
this.$refs['divAffirm'].showInfo(sid, index, title, state) |
||||
|
}, |
||||
|
resetState() { |
||||
|
this.viewState = 1 |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.formobj = { |
||||
|
brandName: '', |
||||
|
carDataList: [], |
||||
|
configSid: '', |
||||
|
contractNo: '', |
||||
|
createOrgName: '', |
||||
|
createOrgSid: '', |
||||
|
customerName: '', |
||||
|
handoverPrepareState: '', |
||||
|
handoverPrepareStateKey: '', |
||||
|
model: '', |
||||
|
modelSid: '', |
||||
|
num: '', |
||||
|
orgSidPath: '', |
||||
|
payType: '', |
||||
|
payTypeKey: '', |
||||
|
sid: '', |
||||
|
useOrgName: '', |
||||
|
useOrgSid: '', |
||||
|
userSid: '' |
||||
|
} |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.span-sty { |
||||
|
width: 130px !important; |
||||
|
} |
||||
|
.addinputInfo { |
||||
|
margin-left: 120px !important; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,514 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<!--标题--> |
||||
|
<div>{{ viewTitle }}</div> |
||||
|
<!--start 添加修改按钮--> |
||||
|
<div> |
||||
|
<el-button type="primary" size="small" v-show="!btnVisible && fold != '04'" :disabled="submitdisabled" @click="handleAffirm()">确认 |
||||
|
</el-button> |
||||
|
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="listconadd"> |
||||
|
<!-- 发票交接确认 --> |
||||
|
<div v-if="fold == '01'"> |
||||
|
<el-form ref="invoiceconfirmation_obj" :model="invoiceconfirmation" class="formadd"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="4" class="tleftb"> |
||||
|
<span>车架号</span> |
||||
|
</el-col> |
||||
|
<el-col :span="20"> |
||||
|
<el-form-item><span>{{ invoiceconfirmation.vinNo }}</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>{{ invoiceconfirmation.drawer }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="4" class="tleftb"> |
||||
|
<span>开票日期</span> |
||||
|
</el-col> |
||||
|
<el-col :span="8"> |
||||
|
<el-form-item><span>{{ invoiceconfirmation.invoiceDate }}</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><span>{{ invoiceconfirmation.invoiceNo }}</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-image v-for="(item, index) in invoiceconfirmation.invoiceImages" :key="index" style="width: 100px; height: 100px" :src="item" :preview-src-list="invoiceconfirmation.invoiceImages"> |
||||
|
</el-image> |
||||
|
</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-if="!btnVisible" v-model="invoiceconfirmation.remarks" class="addinputw" clearable placeholder=""/> |
||||
|
<div v-else> |
||||
|
<span >{{ invoiceconfirmation.remarks }}</span> |
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<!-- 合格证交接确认 --> |
||||
|
<div v-if="fold == '02'"> |
||||
|
<el-form ref="certification_obj" :model="certification" 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-form-item><span>{{ certification.vinNo }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="4" class="tleftb"> |
||||
|
<span>车辆型号</span> |
||||
|
</el-col> |
||||
|
<el-col :span="8"> |
||||
|
<el-form-item><span>{{ certification.carModel }}</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>{{ certification.certificationNo }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="4" class="tleftb"> |
||||
|
<span>发证日期</span> |
||||
|
</el-col> |
||||
|
<el-col :span="8"> |
||||
|
<el-form-item><span>{{ certification.certificateDate }}</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-image v-for="(item, index) in certification.certificatePhoto" :key="index" style="width: 100px; height: 100px" :src="item" :preview-src-list="certification.certificatePhoto"> |
||||
|
</el-image> |
||||
|
</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-if="!btnVisible" v-model="certification.remarks" class="addinputw" clearable placeholder=""/> |
||||
|
<div v-else> |
||||
|
<span >{{ certification.remarks }}</span> |
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<!-- 保单上传 --> |
||||
|
<div v-if="fold == '03'"> |
||||
|
<el-form ref="warrant_obj" :model="warrant" class="formadd"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="4" class="tleftb" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center"> |
||||
|
<span>保单照片</span> |
||||
|
</el-col> |
||||
|
<el-col :span="20"> |
||||
|
<el-form-item> |
||||
|
<upload ref="uploadImg" v-if="!btnVisible" v-model="image_list1" :accept="accept" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/> |
||||
|
<el-image v-else v-for="(item, index) in warrant.policyList" style="height: 178px;width: 178px" :key="index" :src="item" :preview-src-list="warrant.policyList"></el-image> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="4" class="tleftb" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center"> |
||||
|
<span>临时牌照</span> |
||||
|
</el-col> |
||||
|
<el-col :span="20"> |
||||
|
<el-form-item> |
||||
|
<upload ref="uploadImg" v-if="!btnVisible" v-model="image_list2" :accept="accept" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/> |
||||
|
<el-image v-else v-for="(item, index) in warrant.licenceList" style="height: 178px;width: 178px" :key="index" :src="item" :preview-src-list="warrant.licenceList"></el-image> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<!-- 随车资料交接确认 --> |
||||
|
<div v-if="fold == '04'"> |
||||
|
<el-form ref="vehicleconfirmation_obj" :model="vehicleconfirmation" class="formaddcopy02"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">车架号</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ vehicleconfirmation.vinNo }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">车型</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ vehicleconfirmation.model }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">合同编号</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ vehicleconfirmation.contractNo }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">客户名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ vehicleconfirmation.customerName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title"> |
||||
|
<div>交接记录</div> |
||||
|
</div> |
||||
|
<el-table :key="tableKey" :data="vehicleconfirmation.recordList" border style="width: 100%"> |
||||
|
<el-table-column v-if="!btnVisible" label="操作" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button v-show="scope.row.showBtn" type="primary" size="small" @click="handleConfirm(scope.row)">确认</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="移交人" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.transferName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="接收人" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.recName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="交接日期" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.recTime }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="交接资料" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.vehicleHandoverData }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="备注" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-input v-if="scope.row.showBtn" v-model="scope.row.remarks" clearable placeholder=""/> |
||||
|
<div v-else> |
||||
|
<span>{{ scope.row.remarks }}</span> |
||||
|
</div> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<!-- 其他资料上传 --> |
||||
|
<div v-if="fold == '05'"> |
||||
|
<el-form ref="otherdetails_obj" :model="otherdetails" class="formadd"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="4" class="tleftb" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center"> |
||||
|
<span>其他资料</span> |
||||
|
</el-col> |
||||
|
<el-col :span="20"> |
||||
|
<el-form-item> |
||||
|
<upload ref="uploadImg" v-if="!btnVisible" v-model="image_list3" :accept="accept" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/> |
||||
|
<el-image v-else v-for="(item, index) in otherdetails.otherInfo" style="height: 178px;width: 178px" :key="index" :src="item" :preview-src-list="warrant.otherInfo"></el-image> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
getVehicleInformationInfo, |
||||
|
getCertificateInfo, |
||||
|
getPolicyInfo, |
||||
|
getOtherDataInfo, |
||||
|
getInvoiceInfo, |
||||
|
saveState, |
||||
|
saveOtherDataInfo, |
||||
|
savePolicyInfo, |
||||
|
saveHandoverMaterials |
||||
|
} from '@/api/jiaochezhunbei/readyfordelivery' |
||||
|
import upload from '@/components/uploadFile/upload' |
||||
|
|
||||
|
export default { |
||||
|
name: 'affirm', |
||||
|
components: { |
||||
|
upload |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
tableKey: 0, |
||||
|
accept: '.jpg,.jpeg,.png,.JPG,.JPEG', |
||||
|
submitdisabled: false, |
||||
|
fold: '', // 折叠隐藏和显示的form表单 |
||||
|
btnVisible: false, |
||||
|
image_list1: [], |
||||
|
image_list2: [], |
||||
|
image_list3: [], |
||||
|
// 发票交接确认 |
||||
|
invoiceconfirmation: { |
||||
|
drawer: '', |
||||
|
invoiceAmount: '', |
||||
|
invoiceDate: '', |
||||
|
invoiceImages: [], |
||||
|
invoiceNo: '', |
||||
|
invoiceTitle: '', |
||||
|
invoiceType: '', |
||||
|
invoicingName: '', |
||||
|
remarks: '', |
||||
|
sid: '', |
||||
|
vinNo: '' |
||||
|
}, |
||||
|
// 合格证交接确认 |
||||
|
certification: { |
||||
|
carModel: '', |
||||
|
certificateDate: '', |
||||
|
certificatePhoto: [], |
||||
|
certificationNo: '', |
||||
|
remarks: '', |
||||
|
sid: '', |
||||
|
vinNo: '' |
||||
|
}, |
||||
|
// 随车资料确认 |
||||
|
vehicleconfirmation: { |
||||
|
configSid: '', |
||||
|
contractNo: '', |
||||
|
customerName: '', |
||||
|
model: '', |
||||
|
modelSid: '', |
||||
|
orgPath: '', |
||||
|
recordList: [], |
||||
|
sid: '', |
||||
|
vinNo: '' |
||||
|
}, |
||||
|
// 保单 |
||||
|
warrant: { |
||||
|
licenceList: [], |
||||
|
policyList: [], |
||||
|
sid: '' |
||||
|
}, |
||||
|
// 其他资料 |
||||
|
otherdetails: { |
||||
|
otherInfo: [], |
||||
|
sid: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
// index代表折叠隐藏和显示的form表单,title代表显示form表单标题,state代表是否显示确认按钮 |
||||
|
showInfo(sid, index, title, state) { |
||||
|
console.log(state, 88) |
||||
|
this.fold = index |
||||
|
this.viewTitle = title |
||||
|
this.btnVisible = state |
||||
|
if (this.fold == '01') { |
||||
|
getInvoiceInfo({ sid: sid }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.invoiceconfirmation = resp.data |
||||
|
this.invoiceconfirmation.sid = sid |
||||
|
} else { |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.fold == '02') { |
||||
|
getCertificateInfo({ sid: sid, userSid: window.sessionStorage.getItem('userSid') }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.certification = res.data |
||||
|
this.certification.sid = sid |
||||
|
} else { |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.fold == '03') { |
||||
|
getPolicyInfo({ sid: sid }).then((respsone) => { |
||||
|
if (respsone.success) { |
||||
|
this.warrant = respsone.data |
||||
|
this.warrant.sid = sid |
||||
|
} else { |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.fold == '04') { |
||||
|
getVehicleInformationInfo({ sid: sid }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.vehicleconfirmation = res.data |
||||
|
this.vehicleconfirmation.sid = sid |
||||
|
} else { |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.fold == '05') { |
||||
|
getOtherDataInfo({ sid: sid }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.otherdetails = resp.data |
||||
|
this.otherdetails.sid = sid |
||||
|
} else { |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
handleAffirm() { |
||||
|
if (this.fold == '01') { |
||||
|
saveState({ key: '01', sid: this.invoiceconfirmation.sid, remarks: this.invoiceconfirmation.remarks, userSid: window.sessionStorage.getItem('userSid') }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.$message({ showClose: true, type: 'success', message: '提交成功' }) |
||||
|
this.$parent.updateState(this.fold, this.invoiceconfirmation.sid) |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.fold == '02') { |
||||
|
saveState({ key: '02', sid: this.certification.sid, remarks: this.certification.remarks, userSid: window.sessionStorage.getItem('userSid') }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.$message({ showClose: true, type: 'success', message: '提交成功' }) |
||||
|
this.$parent.updateState(this.fold, this.certification.sid) |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.fold == '03') { |
||||
|
if (this.image_list1.length > 0) { |
||||
|
for (var i = 0; i < this.image_list1.length; i++) { |
||||
|
this.warrant.policyList.push(this.image_list1[i].url) |
||||
|
} |
||||
|
} |
||||
|
if (this.image_list2.length > 0) { |
||||
|
for (var k = 0; k < this.image_list2.length; k++) { |
||||
|
this.warrant.licenceList.push(this.image_list2[k].url) |
||||
|
} |
||||
|
} |
||||
|
savePolicyInfo(this.warrant).then((respsone) => { |
||||
|
if (respsone.success) { |
||||
|
this.$message({ showClose: true, type: 'success', message: '提交成功' }) |
||||
|
this.$parent.updateState(this.fold, this.warrant.sid) |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.fold == '05') { |
||||
|
if (this.image_list3.length === 0) { |
||||
|
this.$message({ showClose: true, type: 'error', message: '请上传其他资料附件' }) |
||||
|
return |
||||
|
} |
||||
|
for (var i = 0; i < this.image_list3.length; i++) { |
||||
|
this.otherdetails.otherInfo.push(this.image_list3[i].url) |
||||
|
} |
||||
|
saveOtherDataInfo(this.otherdetails).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.$message({ showClose: true, type: 'success', message: '提交成功' }) |
||||
|
this.$parent.updateState(this.fold, this.otherdetails.sid) |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
handleConfirm(row) { |
||||
|
if (this.fold == '04') { |
||||
|
const params = { |
||||
|
busSid: '', |
||||
|
orgPath: '', |
||||
|
remarks: '', |
||||
|
sid: '', |
||||
|
userSid: '' |
||||
|
} |
||||
|
params.busSid = this.vehicleconfirmation.sid |
||||
|
params.orgPath = window.sessionStorage.getItem('defaultOrgPath') |
||||
|
params.userSid = window.sessionStorage.getItem('userSid') |
||||
|
params.sid = row.sid |
||||
|
params.remarks = row.remarks |
||||
|
saveHandoverMaterials(params).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.$message({showClose: true, type: 'success', message: '提交成功'}) |
||||
|
this.$parent.updateState(this.fold, this.vehicleconfirmation.sid) |
||||
|
this.handleReturn() |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.fold = '' |
||||
|
this.btnVisible = false |
||||
|
// 发票交接确认 |
||||
|
this.invoiceconfirmation = { |
||||
|
drawer: '', |
||||
|
invoiceAmount: '', |
||||
|
invoiceDate: '', |
||||
|
invoiceImages: [], |
||||
|
invoiceNo: '', |
||||
|
invoiceTitle: '', |
||||
|
invoiceType: '', |
||||
|
invoicingName: '', |
||||
|
remarks: '', |
||||
|
sid: '', |
||||
|
vinNo: '' |
||||
|
} |
||||
|
// 合格证交接确认 |
||||
|
this.certification = { |
||||
|
carModel: '', |
||||
|
certificateDate: '', |
||||
|
certificatePhoto: [], |
||||
|
certificationNo: '', |
||||
|
remarks: '', |
||||
|
sid: '', |
||||
|
vinNo: '' |
||||
|
} |
||||
|
// 随车资料确认 |
||||
|
this.vehicleconfirmation = { |
||||
|
configSid: '', |
||||
|
contractNo: '', |
||||
|
customerName: '', |
||||
|
model: '', |
||||
|
modelSid: '', |
||||
|
orgPath: '', |
||||
|
recordList: [], |
||||
|
sid: '', |
||||
|
vinNo: '' |
||||
|
} |
||||
|
// 保单 |
||||
|
this.warrant = { |
||||
|
licenceList: [], |
||||
|
policyList: [], |
||||
|
sid: '' |
||||
|
} |
||||
|
// 其他资料 |
||||
|
this.otherdetails = { |
||||
|
otherInfo: [], |
||||
|
sid: '' |
||||
|
} |
||||
|
this.image_list1 = [] |
||||
|
this.image_list2 = [] |
||||
|
this.image_list3 = [] |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.span-sty { |
||||
|
width: 130px !important; |
||||
|
} |
||||
|
.addinputInfo { |
||||
|
margin-left: 120px !important; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,255 @@ |
|||||
|
<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="switch_btn"> |
||||
|
<el-button class="" @click="handleClick">待准备</el-button> |
||||
|
<el-button :class="{btn_style:viewState === 1}">已准备</el-button> |
||||
|
</div> |
||||
|
<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" class="tab-header"> |
||||
|
<el-form-item label="合同编号"> |
||||
|
<el-input v-model="listQuery.params.contractNo" clearable placeholder="" class="addinputw"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="客户名称"> |
||||
|
<el-input v-model="listQuery.params.customerName" clearable placeholder="" class="addinputw"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="销售类型"> |
||||
|
<el-select v-model="listQuery.params.payTypeKey" class="filter-item" clearable placeholder="请选择"> |
||||
|
<el-option v-for="item in payType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
||||
|
</el-select> |
||||
|
</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 width="50" type="selection" align="center"/> |
||||
|
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center"/> |
||||
|
<el-table-column label="操作" width="180" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="合同编号" align="center" width="150"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.contractNo }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="客户名称" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.customerName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="联系电话" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.mobile }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="车型" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.model }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="数量" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.num }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="销售类型" align="center" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.payType }}</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> |
||||
|
<!-- End 列表页面 --> |
||||
|
<readyfordeliveryInfo v-show="viewState == 2" ref="divInfo" @doback="resetState"/> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { pagerList } from '@/api/jiaochezhunbei/readyfordelivery' |
||||
|
import Pagination from '@/components/pagination' |
||||
|
import pageye from '@/components/pagination/pageye' |
||||
|
import ButtonBar from '@/components/ButtonBar' |
||||
|
import { typeValues } from '@/api/dictcommons/dictcommons' |
||||
|
import readyfordeliveryInfo from './readyfordeliveryInfo' |
||||
|
|
||||
|
export default { |
||||
|
name: 'YiJiaoCheZhunBei', |
||||
|
components: { |
||||
|
Pagination, |
||||
|
pageye, |
||||
|
ButtonBar, |
||||
|
readyfordeliveryInfo |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewState: 1, |
||||
|
btndisabled: false, |
||||
|
btnList: [ |
||||
|
{ |
||||
|
type: 'info', |
||||
|
size: 'small', |
||||
|
icon: 'cross', |
||||
|
btnKey: 'doClose', |
||||
|
btnLabel: '关闭' |
||||
|
} |
||||
|
], |
||||
|
isSearchShow: false, |
||||
|
searchxianshitit: '显示查询条件', |
||||
|
// 查询条件 ----------- |
||||
|
tableKey: 0, |
||||
|
list: [], |
||||
|
sids: [], |
||||
|
payType_list: [], |
||||
|
FormLoading: false, |
||||
|
listLoading: false, |
||||
|
listQuery: { |
||||
|
params: { |
||||
|
contractNo: '', |
||||
|
customerName: '', |
||||
|
menuSid: '', |
||||
|
menuUrl: '', |
||||
|
name: '', |
||||
|
orgPath: '', |
||||
|
payTypeKey: '', |
||||
|
type: '2', |
||||
|
userSid: '' |
||||
|
}, |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
total: 0 |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$refs['btnbar'].setButtonList(this.btnList) |
||||
|
}, |
||||
|
methods: { |
||||
|
// 搜索条件效果 |
||||
|
clicksearchShow() { |
||||
|
this.isSearchShow = !this.isSearchShow |
||||
|
if (this.isSearchShow) { |
||||
|
this.searchxianshitit = '隐藏查询条件' |
||||
|
} else { |
||||
|
this.searchxianshitit = '显示查询条件' |
||||
|
} |
||||
|
}, |
||||
|
btnHandle(btnKey) { |
||||
|
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
||||
|
switch (btnKey) { |
||||
|
case 'doClose': |
||||
|
this.doClose() |
||||
|
break |
||||
|
default: |
||||
|
break |
||||
|
} |
||||
|
}, |
||||
|
init() { |
||||
|
typeValues({ type: 'purchaseType' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.payType_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
this.getList() |
||||
|
}, |
||||
|
handleSelectionChange(row) { |
||||
|
const aa = [] |
||||
|
row.forEach((element) => { |
||||
|
aa.push(element.sid) |
||||
|
}) |
||||
|
this.sids = aa |
||||
|
console.log('sids', this.sids) |
||||
|
}, |
||||
|
// 序号 |
||||
|
indexMethod(index) { |
||||
|
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
||||
|
var pageindex = index + 1 + pagestart |
||||
|
return pageindex |
||||
|
}, |
||||
|
// 查询列表信息 |
||||
|
getList() { |
||||
|
this.listLoading = true |
||||
|
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid') |
||||
|
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath') |
||||
|
this.listQuery.params.menuUrl = this.$route.path |
||||
|
pagerList(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 |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handleClick() { |
||||
|
this.$parent.resetState() |
||||
|
}, |
||||
|
// 查询按钮 |
||||
|
handleFilter() { |
||||
|
this.listQuery.current = 1 |
||||
|
this.getList() |
||||
|
}, |
||||
|
handleReset() { |
||||
|
this.listQuery = { |
||||
|
params: { |
||||
|
contractNo: '', |
||||
|
customerName: '', |
||||
|
menuSid: '', |
||||
|
menuUrl: '', |
||||
|
name: '', |
||||
|
orgPath: '', |
||||
|
payTypeKey: '', |
||||
|
type: '2', |
||||
|
userSid: '' |
||||
|
}, |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
total: 0 |
||||
|
} |
||||
|
this.getList() |
||||
|
}, |
||||
|
toInfo(row) { |
||||
|
this.viewState = 2 |
||||
|
this.$refs['divInfo'].showInfo(row) |
||||
|
}, |
||||
|
resetState() { |
||||
|
this.viewState = 1 |
||||
|
}, |
||||
|
doClose() { |
||||
|
this.$store.dispatch('tagsView/delView', this.$route) |
||||
|
this.$router.go(-1) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
.btn_style { |
||||
|
background-color: #018ad2; |
||||
|
color: white; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue