Browse Source

完善合同审核

master
yunuo970428 2 years ago
parent
commit
d26655a393
  1. 40
      anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanli.vue
  2. 117
      anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliAdd.vue
  3. 35
      anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue
  4. 43
      anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongshenheguanli/hetongshenheInfo.vue

40
anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanli.vue

@ -138,7 +138,7 @@
<script> <script>
import { getPageList, deleteByids, basefinbankExportExcel } from '@/api/jichuxinxi/contract' import { getPageList, deleteByids, basefinbankExportExcel } from '@/api/jichuxinxi/contract'
import { typeValues, getOrgSidByPath } from '@/api/dictcommons/dictcommons' import { typeValues, getOrgSidByPath, selectHaveMessage } from '@/api/dictcommons/dictcommons'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
@ -347,8 +347,12 @@ export default {
}, },
// //
toAdd() { toAdd() {
this.viewState = 2 selectHaveMessage({ menuUrl: this.$route.path, orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
this.$refs['divAdd'].showAdd() if (res.success) {
this.viewState = 2
this.$refs['divAdd'].showAdd()
}
})
}, },
// //
toEdit(row) { toEdit(row) {
@ -366,13 +370,29 @@ export default {
this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行删除操作' }) this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行删除操作' })
return return
} }
deleteByids(this.sids).then((response) => { const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
if (response.success) { this.$confirm(tip, '提示', {
this.$message({ showClose: true, type: 'success', message: '操作成功' }) confirmButtonText: '确定',
this.getList() cancelButtonText: '取消',
} else { type: 'warning'
this.$message({ showClose: true, type: 'error', message: '删除失败' }) }).then(() => {
} const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
deleteByids(this.sids).then((response) => {
loading.close()
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
this.getList()
} else {
this.$message({ showClose: true, type: 'error', message: '删除失败' })
}
}).catch(() => {
loading.close()
})
}) })
}, },
// //

117
anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliAdd.vue

@ -17,7 +17,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="contractNo"> <el-form-item prop="contractNo">
<span slot="label">合同编号</span> <span slot="label">合同编号</span>
<el-input v-model="temp.contractNo" maxlength="125" placeholder="" class="addinputw" clearable/> <el-input v-model="temp.contractNo" placeholder="" class="addinputw" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -61,13 +61,13 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="address"> <el-form-item prop="address">
<span slot="label">签订地点</span> <span slot="label">签订地点</span>
<el-input v-model="temp.address" maxlength="125" placeholder="" class="addinputw" clearable/> <el-input v-model="temp.address" placeholder="" class="addinputw" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="contractAmount"> <el-form-item prop="contractAmount">
<span slot="label">合同金额</span> <span slot="label">合同金额</span>
<el-input v-model="temp.contractAmount" maxlength="125" placeholder="" type="Number" class="addinputw" clearable/> <el-input v-model="temp.contractAmount" placeholder="" type="Number" class="addinputw" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -75,13 +75,13 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="deposit"> <el-form-item prop="deposit">
<span slot="label">订金</span> <span slot="label">订金</span>
<el-input v-model="temp.deposit" maxlength="125" placeholder="" type="Number" class="addinputw" clearable/> <el-input v-model="temp.deposit" placeholder="" type="Number" class="addinputw" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="remarks"> <el-form-item>
<span slot="label">备注</span> <span slot="label">备注</span>
<el-input v-model="temp.remarks" maxlength="125" placeholder="" class="addinputw" clearable/> <el-input v-model="temp.remarks" placeholder="" class="addinputw" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -113,7 +113,7 @@
</template> </template>
<script> <script>
import { saveContract, getOneContract, updateContract, submitVehicleApply } from '@/api/jichuxinxi/contract' import { getOneContract, updateContract, submitVehicleApply } from '@/api/jichuxinxi/contract'
import Upload from '@/components/uploadFile/upload.vue' // import Upload from '@/components/uploadFile/upload.vue' //
import { typeValues } from '@/api/dictcommons/dictcommons' import { typeValues } from '@/api/dictcommons/dictcommons'
@ -122,7 +122,7 @@ export default {
components: { Upload }, components: { Upload },
data() { data() {
return { return {
submitdisabled: false, // submitdisabled: false, //
viewTitle: '', viewTitle: '',
// //
dialogImageUrl: '', dialogImageUrl: '',
@ -155,12 +155,13 @@ export default {
remarks: '', remarks: '',
sceneSignUrl: '', sceneSignUrl: '',
sceneSignUrlList: [], sceneSignUrlList: [],
idCardImages: [],
sid: '', sid: '',
staffName: '', staffName: '',
staffSid: '' staffSid: ''
}, },
rules: { rules: {
contractType: [{ required: true, message: '合同类型不能为空', trigger: 'blur' }], contractType: [{ required: true, message: '合同类型不能为空', trigger: 'change' }],
contractNo: [{ required: true, message: '合同编号不能为空', trigger: 'blur' }], contractNo: [{ required: true, message: '合同编号不能为空', trigger: 'blur' }],
address: [{ required: true, message: '签订地点不能为空', trigger: 'blur' }], address: [{ required: true, message: '签订地点不能为空', trigger: 'blur' }],
contractAmount: [{ required: true, message: '合同金额不能为空', trigger: 'blur' }], contractAmount: [{ required: true, message: '合同金额不能为空', trigger: 'blur' }],
@ -191,27 +192,64 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['temp_obj'].clearValidate() this.$refs['temp_obj'].clearValidate()
}) })
this.viewTitle = '【编辑】合同审核'
getOneContract(row.sid).then((res) => { getOneContract(row.sid).then((res) => {
if (res.success) { if (res.success) {
this.temp = res.data this.temp = res.data
if (this.temp.pcCommonAppendixDtoList.length > 0) {
this.temp.pcCommonAppendixDtoList.forEach((e) => {
this.list1.push({
name: e.fileName,
filePath: e.filePath,
size: e.fileSize,
url: e.filePath
})
})
}
if (this.temp.sceneSignUrlList.length > 0) {
this.temp.sceneSignUrlList.forEach((e) => {
this.list2.push({
name: e.fileName,
filePath: e.filePath,
size: e.fileSize,
url: e.filePath
})
})
}
if (this.temp.idCardImages.length > 0) {
this.temp.idCardImages.forEach((e) => {
this.list3.push({
name: e.fileName,
filePath: e.filePath,
size: e.fileSize,
url: e.filePath
})
})
}
} }
}) })
this.viewTitle = '【编辑】合同审核'
}, },
typeChange(val) { typeChange(val) {
const choosetItem = this.typeList.filter((item) => item.dictValue === val) const choose = this.typeList.filter((item) => item.dictValue === val)
this.temp.contractTypeKey = choosetItem[0].dictKey if (choose.length > 0) {
this.temp.contractTypeKey = choose[0].dictKey
}
}, },
// //
handleCreate() { handleCreate() {
this.$refs['temp_obj'].validate((valid) => { this.$refs['temp_obj'].validate((valid) => {
if (valid) { if (valid) {
this.getUrl()
this.submitdisabled = true this.submitdisabled = true
updateContract(this.temp).then((res) => { updateContract(this.temp).then((res) => {
if (res.success) { if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' }) this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true') this.handleReturn('true')
} else {
this.submitdisabled = false
} }
}).catch(() => {
this.submitdisabled = false
}) })
} }
}) })
@ -220,10 +258,11 @@ export default {
handleSubmit() { handleSubmit() {
this.$refs['temp_obj'].validate((valid) => { this.$refs['temp_obj'].validate((valid) => {
if (valid) { if (valid) {
this.getUrl()
this.submitdisabled = true this.submitdisabled = true
submitVehicleApply(this.temp).then((resp) => { submitVehicleApply(this.temp).then((resp) => {
if (resp.success) { if (resp.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功'}) this.$message({ showClose: true, type: 'success', message: '提交成功' })
this.handleReturn('true') this.handleReturn('true')
} else { } else {
this.submitdisabled = false this.submitdisabled = false
@ -235,19 +274,41 @@ export default {
}) })
}, },
getUrl() { getUrl() {
for (var i = 0; i < this.list1.length; i++) { if (this.list1.length > 0) {
var namese = this.list1[i].name for (var i = 0; i < this.list1.length; i++) {
var nameArr = namese.split('.') this.temp.pcCommonAppendixDtoList.push({
console.log(this.temp) name: window.sessionStorage.getItem('name'),
this.temp.pcCommonAppendixDtoList.push({ createBySid: window.sessionStorage.getItem('userSid'),
attachType: '0001', fileName: this.list1[i].name,
fileName: this.list1[i].name, filePath: this.list1[i].url,
filePath: this.list1[i].url, fileSize: this.list1[i].size,
fileSize: this.list1[i].size, fileType: this.list1[i].name.substr(this.list1[i].name.lastIndexOf('.'))
createBySid: '', })
fileType: nameArr[nameArr.length - 1] }
}) }
console.log('11223344', this.temp.pcCommonAppendixDtoList) if (this.list2.length > 0) {
for (var k = 0; k < this.list2.length; k++) {
this.temp.sceneSignUrlList.push({
name: window.sessionStorage.getItem('name'),
createBySid: window.sessionStorage.getItem('userSid'),
fileName: this.list2[k].name,
filePath: this.list2[k].url,
fileSize: this.list2[k].size,
fileType: this.list2[k].name.substr(this.list2[k].name.lastIndexOf('.'))
})
}
}
if (this.list3.length > 0) {
for (var p = 0; p < this.list3.length; p++) {
this.temp.idCardImages.push({
name: window.sessionStorage.getItem('name'),
createBySid: window.sessionStorage.getItem('userSid'),
fileName: this.list3[p].name,
filePath: this.list3[p].url,
fileSize: this.list3[p].size,
fileType: this.list3[p].name.substr(this.list3[p].name.lastIndexOf('.'))
})
}
} }
}, },
// //
@ -269,7 +330,8 @@ export default {
pcCommonAppendixDtoList: [], pcCommonAppendixDtoList: [],
remarks: '', remarks: '',
sceneSignUrl: '', sceneSignUrl: '',
sceneSignUrlList: '', sceneSignUrlList: [],
idCardImages: [],
sid: '', sid: '',
staffName: '', staffName: '',
staffSid: '' staffSid: ''
@ -277,6 +339,7 @@ export default {
this.list3 = [] this.list3 = []
this.list2 = [] this.list2 = []
this.list1 = [] this.list1 = []
this.submitdisabled = false
this.$refs['temp_obj'].resetFields() this.$refs['temp_obj'].resetFields()
this.$emit('handleReturn') this.$emit('handleReturn')
} }

35
anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue

@ -81,15 +81,21 @@
</el-row> </el-row>
<div class="title">新车买卖合同</div> <div class="title">新车买卖合同</div>
<el-row> <el-row>
<el-col :span="24">
<el-image style="width: 178px;height: 178px;" v-for="(item,index) in temp.list1" :key="index" :src="item" :preview-src-list="temp.list1"></el-image>
</el-col>
</el-row> </el-row>
<div class="title">现场签署照片</div> <div class="title">现场签署照片</div>
<el-row> <el-row>
<el-col :span="24">
<el-image style="width: 178px;height: 178px;" v-for="(item,index) in temp.list2" :key="index" :src="item" :preview-src-list="temp.list2"></el-image>
</el-col>
</el-row> </el-row>
<div class="title">证件照片</div> <div class="title">证件照片</div>
<el-row> <el-row>
<el-col :span="24">
<el-image style="width: 178px;height: 178px;" v-for="(item,index) in temp.list3" :key="index" :src="item" :preview-src-list="temp.list3"></el-image>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
@ -104,17 +110,31 @@ export default {
data() { data() {
return { return {
temp: {}, temp: {},
list1: [],
list2: [], list2: [],
list3: [], list3: []
list1: []
} }
}, },
computed: {},
methods: { methods: {
showInfo(row) { showInfo(row) {
getOneContract(row.sid).then((resp) => { getOneContract(row.sid).then((resp) => {
if (resp.success) { if (resp.success) {
this.temp = resp.data this.temp = resp.data
if (this.temp.pcCommonAppendixDtoList.length > 0) {
this.temp.pcCommonAppendixDtoList.forEach((e) => {
this.list1.push(e.filePath)
})
}
if (this.temp.sceneSignUrlList.length > 0) {
this.temp.sceneSignUrlList.forEach((e) => {
this.list2.push(e.filePath)
})
}
if (this.temp.idCardImages.length > 0) {
this.temp.idCardImages.forEach((e) => {
this.list3.push(e.filePath)
})
}
} }
}) })
}, },
@ -126,7 +146,4 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
.imgcontent {
display: inline-block;
}
</style> </style>

43
anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongshenheguanli/hetongshenheInfo.vue

@ -7,19 +7,19 @@
</div> </div>
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :disabled="edit"> <el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd">
<div class="titwu">{{ temp.contractType }}合同</div> <div class="titwu">{{ temp.contractType }}合同</div>
<el-row class="bordertopline"> <el-row class="bordertopline">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="name"> <el-form-item prop="name">
<span slot="label">合同编号</span> <span slot="label">合同编号</span>
<el-input v-model="temp.contractNo" class="addinputw" /> <span>{{ temp.contractNo }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="name"> <el-form-item prop="name">
<span slot="label">经办人</span> <span slot="label">经办人</span>
<el-input v-model="temp.staffName" class="addinputw" /> <span>{{ temp.staffName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -27,13 +27,13 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item> <el-form-item>
<span slot="label">甲方名称</span> <span slot="label">甲方名称</span>
<el-input v-model="temp.partyA" class="addinputw" /> <span>{{ temp.partyA }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item> <el-form-item>
<span slot="label">乙方名称</span> <span slot="label">乙方名称</span>
<el-input v-model="temp.partyB" class="addinputw" /> <span>{{ temp.partyB }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -41,13 +41,13 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item> <el-form-item>
<span slot="label">车型</span> <span slot="label">车型</span>
<el-input v-model="temp.modelName" class="addinputw" /> <span>{{ temp.modelName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="name"> <el-form-item prop="name">
<span slot="label">台数</span> <span slot="label">台数</span>
<el-input v-model="temp.num" class="addinputw" /> <span>{{ temp.num }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -55,26 +55,26 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="name"> <el-form-item prop="name">
<span slot="label">单价</span> <span slot="label">单价</span>
<el-input v-model="temp.price" class="addinputw" /> <span>{{ temp.price }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="name"> <el-form-item prop="name">
<span slot="label">合同金额</span> <span slot="label">合同金额</span>
<el-input v-model="temp.contractAmount" class="addinputw" /> <span>{{ temp.contractAmount }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="tableStyle"> <div class="title">
<div style="margin-left: 10px;color: #ffffff">新车买卖合同</div> <div>新车买卖合同</div>
</div> </div>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<img v-for="(item,index) in temp.commonAppendixVos" @click="magnifyImg(item)" class="imgcontent" :key="index" :src="item"> <img v-for="(item,index) in temp.commonAppendixVos" @click="magnifyImg(item)" class="imgcontent" :key="index" :src="item">
</el-col> </el-col>
</el-row> </el-row>
<div class="tableStyle"> <div class="title">
<div style="margin-left: 10px;color: #ffffff">合同现场签署照片</div> <div>合同现场签署照片</div>
</div> </div>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
@ -92,14 +92,12 @@
<script> <script>
import { getOneContract } from '@/api/jichuxinxi/contractfile' import { getOneContract } from '@/api/jichuxinxi/contractfile'
export default { export default {
name: 'HetongdanganguanliAdd', name: 'HeTongShenHeInfo',
data() { data() {
return { return {
dialogVisiblePhoto: false, dialogVisiblePhoto: false,
dialogImageUrl: '', dialogImageUrl: '',
disabled: false, temp: {}
temp: {},
edit:true,
} }
}, },
methods: { methods: {
@ -107,7 +105,7 @@ export default {
showInfo(row) { showInfo(row) {
console.log(row) console.log(row)
getOneContract(row.sid).then((res) => { getOneContract(row.sid).then((res) => {
if (res.code == '200') { if (res.success) {
this.temp = res.data this.temp = res.data
console.log(res.data) console.log(res.data)
} }
@ -125,15 +123,6 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
.tableStyle {
margin-top: 0px;
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
background-color: #018ad2;
}
.imgcontent { .imgcontent {
width: 100px; width: 100px;
height: 100px; height: 100px;

Loading…
Cancel
Save