合同表单完善B

jg-waiwang-pro
mhsnet 8 months ago
parent 7ac7a68b1b
commit 76551e8934

@ -132,14 +132,39 @@
</jnpf-form-tip-item> </jnpf-form-tip-item>
</el-col> </el-col>
<el-col :span="24" v-if="judgeShow('subject')"> <el-col :span="24" v-if="judgeShow('subject')">
<jnpf-form-tip-item label="乙方主体" v-if="judgeShow('subject')" prop="subject"> <template v-if="dataForm.contractType == 1">
<JnpfPopupSelect v-model="dataForm.subject" @change="changeData('subject', -1)" :rowIndex="null" <jnpf-form-tip-item label="供应商" v-if="judgeShow('subject')" prop="subject">
:formData="dataForm" :templateJson="interfaceRes.subject" placeholder="请选择" <JnpfPopupSelect v-model="dataForm.subject" @change="changeData('subject', -1)"
:disabled="judgeWrite('subject')" propsValue="id" popupWidth="800px" popupTitle="选择数据" :rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject"
popupType="dialog" relationField='name' field='subject' interfaceId="523869248829799685" placeholder="请选择" :disabled="judgeWrite('subject')" propsValue="id" popupWidth="800px"
:pageSize="20" :columnOptions="subjectcolumnOptions" clearable :style='{ "width": "100%" }'> popupTitle="选择数据" popupType="dialog" relationField='name' field='subject'
interfaceId="531020715009245189" :pageSize="20" :columnOptions="subjectcolumnOptions"
clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect>
</jnpf-form-tip-item>
</template>
<template v-else-if="dataForm.contractType == 2">
<jnpf-form-tip-item label="客户" v-if="judgeShow('subject')" prop="subject">
<JnpfPopupSelect v-model="dataForm.subject" @change="changeData('subject', -1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject"
placeholder="请选择" :disabled="judgeWrite('subject')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='name' field='subject'
interfaceId="531022805093842949" :pageSize="20" :columnOptions="subjectcolumnOptions"
clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect>
</jnpf-form-tip-item>
</template>
<template v-else>
<jnpf-form-tip-item label="服务商" v-if="judgeShow('subject')" prop="subject">
<JnpfPopupSelect v-model="dataForm.subject" @change="changeData('subject', -1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject"
placeholder="请选择" :disabled="judgeWrite('subject')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='name' field='subject'
interfaceId="531024727578247173" :pageSize="20" :columnOptions="subjectcolumnOptions"
clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect> </JnpfPopupSelect>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</template>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<jnpf-form-tip-item> <jnpf-form-tip-item>
@ -149,6 +174,52 @@
</JnpfText> </JnpfText>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</el-col> </el-col>
<el-col :span="24">
<el-table :data="subjectList" size='mini' style="margin-bottom: 20px;">
<el-table-column label="主体名称">
<template slot-scope="scope">
{{ scope.row.name }}
</template>
</el-table-column>
<el-table-column label="合作方式">
<template slot-scope="scope">
{{ scope.row.collaboration_method_name }}
</template>
</el-table-column>
<el-table-column label="结算方式">
<template slot-scope="scope">
{{ scope.row.settlement_method_name }}
</template>
</el-table-column>
<el-table-column label="预付比例">
<template slot-scope="scope">
{{ scope.row.advance_ratio_str }}
</template>
</el-table-column>
<el-table-column label="账期">
<template slot-scope="scope">
{{ scope.row.account_period_str }}
</template>
</el-table-column>
<el-table-column label="压款方式">
<template slot-scope="scope">
{{ scope.row.underpayment_method_name }}({{ scope.row.apply_for_underpayment_ratio }} {{
scope.row.underpayment_method_unit }})
</template>
</el-table-column>
<el-table-column label="保证金方式">
<template slot-scope="scope">
{{ scope.row.margin_method_name }}({{ scope.row.apply_for_margin_ratio }} {{
scope.row.margin_method_unit }})
</template>
</el-table-column>
<el-table-column label="逾期利率">
<template slot-scope="scope">
{{ scope.row.overdue_interest_rate_name }}({{ scope.row.apply_for_overdue_ratio_str }})
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="24"> <el-col :span="24">
<jnpf-form-tip-item> <jnpf-form-tip-item>
<JnpfText <JnpfText
@ -158,6 +229,7 @@
</jnpf-form-tip-item> </jnpf-form-tip-item>
</el-col> </el-col>
<el-col :span="8" v-if="judgeShow('procurementModel')"> <el-col :span="8" v-if="judgeShow('procurementModel')">
<template v-if="dataForm.contractType == 1">
<jnpf-form-tip-item label="采购模式" v-if="judgeShow('procurementModel')" prop="procurementModel"> <jnpf-form-tip-item label="采购模式" v-if="judgeShow('procurementModel')" prop="procurementModel">
<JnpfSelect v-model="dataForm.procurementModel" @change="changeData('procurementModel', -1)" <JnpfSelect v-model="dataForm.procurementModel" @change="changeData('procurementModel', -1)"
placeholder="请选择" :disabled="judgeWrite('procurementModel')" clearable placeholder="请选择" :disabled="judgeWrite('procurementModel')" clearable
@ -165,40 +237,76 @@
:props="procurementModelProps"> :props="procurementModelProps">
</JnpfSelect> </JnpfSelect>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</template>
<template v-else-if="dataForm.contractType == 2">
<jnpf-form-tip-item label="销售模式" v-if="judgeShow('procurementModel')" prop="procurementModel">
<JnpfSelect v-model="dataForm.procurementModel" @change="changeData('procurementModel', -1)"
placeholder="请选择" :disabled="judgeWrite('procurementModel')" clearable
:style='{ "width": "100%" }' :options="procurementModelOptions"
:props="procurementModelProps">
</JnpfSelect>
</jnpf-form-tip-item>
</template>
<template v-else>
</template>
</el-col> </el-col>
<el-col :span="8" v-if="judgeShow('relatedContractId')"> <el-col :span="8" v-if="judgeShow('relatedContractId')">
<jnpf-form-tip-item label="关联销售合同" v-if="judgeShow('relatedContractId')" prop="relatedContractId"> <template v-if="dataForm.procurementModel == 1">
<jnpf-form-tip-item label="关联销售合同" v-if="judgeShow('relatedContractId')"
prop="relatedContractId">
<JnpfPopupSelect v-model="dataForm.relatedContractId" <JnpfPopupSelect v-model="dataForm.relatedContractId"
@change="changeData('relatedContractId', -1)" :rowIndex="null" :formData="dataForm" @change="changeData('relatedContractId', -1)" :rowIndex="null" :formData="dataForm"
:templateJson="interfaceRes.relatedContractId" placeholder="请选择" :templateJson="interfaceRes.relatedContractId" placeholder="请选择"
:disabled="judgeWrite('relatedContractId')" propsValue="id" popupWidth="800px" :disabled="judgeWrite('relatedContractId')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='contract_name' field='relatedContractId' popupTitle="选择数据" popupType="dialog" relationField='contract_name'
interfaceId="529270998021701701" :pageSize="20" field='relatedContractId' interfaceId="529270998021701701" :pageSize="20"
:columnOptions="relatedContractIdcolumnOptions" clearable :style='{ "width": "100%" }'> :columnOptions="relatedContractIdcolumnOptions" clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect> </JnpfPopupSelect>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</template>
</el-col> </el-col>
<el-col :span="8" v-if="judgeShow('subject2')"> <el-col :span="8" v-if="judgeShow('subject2')">
<jnpf-form-tip-item label="乙方主体二级" v-if="judgeShow('subject2')" prop="subject2"> <template v-if="dataForm.contractType == 1">
<jnpf-form-tip-item label="关联供应商(二级)" v-if="judgeShow('subject2')" prop="subject2">
<JnpfPopupSelect v-model="dataForm.subject2" @change="changeData('subject2', -1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject2"
placeholder="请选择" :disabled="judgeWrite('subject2')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='name' field='subject2'
interfaceId="531021494264791045" :pageSize="20" :columnOptions="subjectcolumnOptions"
clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect>
</jnpf-form-tip-item>
</template>
<template v-else-if="dataForm.contractType == 2">
<jnpf-form-tip-item label="关联客户(二级)" v-if="judgeShow('subject2')" prop="subject2">
<JnpfPopupSelect v-model="dataForm.subject2" @change="changeData('subject2', -1)" <JnpfPopupSelect v-model="dataForm.subject2" @change="changeData('subject2', -1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject2" :rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject2"
placeholder="请选择" :disabled="judgeWrite('subject2')" propsValue="id" popupWidth="800px" placeholder="请选择" :disabled="judgeWrite('subject2')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='name' field='subject2' popupTitle="选择数据" popupType="dialog" relationField='name' field='subject2'
interfaceId="523869248829799685" :pageSize="20" :columnOptions="subject2columnOptions" interfaceId="531023515868987397" :pageSize="20" :columnOptions="subjectcolumnOptions"
clearable :style='{ "width": "100%" }'> clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect> </JnpfPopupSelect>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</template>
<template v-else>
</template>
</el-col> </el-col>
<el-col :span="8" v-if="judgeShow('subject3')"> <el-col :span="8" v-if="judgeShow('subject3')">
<jnpf-form-tip-item label="乙方主体三级" v-if="judgeShow('subject3')" prop="subject3"> <template v-if="dataForm.contractType == 1">
<jnpf-form-tip-item label="关联供应商(三级)" v-if="judgeShow('subject3')" prop="subject3">
<JnpfPopupSelect v-model="dataForm.subject3" @change="changeData('subject3', -1)" <JnpfPopupSelect v-model="dataForm.subject3" @change="changeData('subject3', -1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject3" :rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject3"
placeholder="请选择" :disabled="judgeWrite('subject3')" propsValue="id" popupWidth="800px" placeholder="请选择" :disabled="judgeWrite('subject3')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='name' field='subject3' popupTitle="选择数据" popupType="dialog" relationField='name' field='subject3'
interfaceId="523869248829799685" :pageSize="20" :columnOptions="subject3columnOptions" interfaceId="531021990216073221" :pageSize="20" :columnOptions="subjectcolumnOptions"
clearable :style='{ "width": "100%" }'> clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect> </JnpfPopupSelect>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</template>
<template v-else-if="dataForm.contractType == 2">
</template>
<template v-else>
</template>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<jnpf-form-tip-item> <jnpf-form-tip-item>
@ -1020,6 +1128,7 @@ import { getFormById } from '@/api/workFlow/FormDesign'
import comMixin from '@/views/workFlow/workFlowForm/mixin'; import comMixin from '@/views/workFlow/workFlowForm/mixin';
import { getDataInterfaceRes } from '@/api/systemData/dataInterface' import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary' import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import { getDataInterfaceDataSelect } from '@/api/systemData/dataInterface'
import { getDefaultCurrentValueUserId } from '@/api/permission/user' import { getDefaultCurrentValueUserId } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize' import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js' import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
@ -1252,7 +1361,7 @@ export default {
contractTypeProps: { "label": "fullName", "value": "enCode" }, contractTypeProps: { "label": "fullName", "value": "enCode" },
contractTemplateIdcolumnOptions: [{ "label": "合同模板", "value": "name" }, { "label": "合同类型", "value": "type_name" }, { "label": "状态", "value": "status_name" },], contractTemplateIdcolumnOptions: [{ "label": "合同模板", "value": "name" }, { "label": "合同类型", "value": "type_name" }, { "label": "状态", "value": "status_name" },],
businessIdcolumnOptions: [{ "label": "名称", "value": "name" },], businessIdcolumnOptions: [{ "label": "名称", "value": "name" },],
subjectcolumnOptions: [{ "label": "类型", "value": "subject_basic_type" }, { "label": "级别", "value": "calssify" }, { "label": "主体名称", "value": "name" }, { "label": "社会统一信息代码", "value": "information_code" }, { "label": "付款方式", "value": "payment_method" }, { "label": "合作方式", "value": "collaboration_method" }, { "label": "结算方式", "value": "settlement_method" }, { "label": "预付比例", "value": "advance_ratio" }, { "label": "账期", "value": "account_period" }, { "label": "压款方式", "value": "underpayment_method" }, { "label": "保证金方式", "value": "margin_method" }, { "label": "逾期利率", "value": "overdue_interest_rate" },], subjectcolumnOptions: [{ "label": "类型", "value": "subject_basic_type_name" }, { "label": "级别", "value": "calssify_name" }, { "label": "主体名称", "value": "name" }, { "label": "社会统一信息代码", "value": "information_code" }, { "label": "付款方式", "value": "payment_method_name" }, { "label": "合作方式", "value": "collaboration_method_name" }, { "label": "结算方式", "value": "settlement_method_name" }, { "label": "预付比例", "value": "advance_ratio_str" }, { "label": "账期", "value": "account_period_str" }, { "label": "压款方式", "value": "underpayment_method_name" }, { "label": "压款比例|金额", "value": "apply_for_underpayment_ratio" }, { "label": "压款单位", "value": "underpayment_method_unit" }, { "label": "保证金方式", "value": "margin_method_name" }, { "label": "保证金比例|金额", "value": "apply_for_margin_ratio" }, { "label": "保证金单位", "value": "margin_method_unit" }, { "label": "逾期利率方式", "value": "overdue_interest_rate_name" }, { "label": "逾期利率", "value": "apply_for_overdue_ratio_str" }],
procurementModelOptions: [], procurementModelOptions: [],
procurementModelProps: { "label": "fullName", "value": "enCode" }, procurementModelProps: { "label": "fullName", "value": "enCode" },
relatedContractIdcolumnOptions: [{ "label": "销售合同", "value": "contract_name" },], relatedContractIdcolumnOptions: [{ "label": "销售合同", "value": "contract_name" },],
@ -1347,6 +1456,14 @@ export default {
contractlpaymentprice: [], contractlpaymentprice: [],
contractlpaymentremark: [], contractlpaymentremark: [],
}, },
listQuery: {
keyword: '',
currentPage: 1,
pageSize: 100000
},
subjectList: [],
subject2List: [],
subject3List: []
} }
}, },
computed: { computed: {
@ -1354,7 +1471,18 @@ export default {
return this.setting.formOperates return this.setting.formOperates
} }
}, },
watch: {}, watch: {
'dataForm.contractType': function (val, oldVal) {
this.dataForm.subject = undefined
this.dataForm.subject2 = undefined
this.dataForm.subject3 = undefined
this.dataForm.procurementModel = undefined
this.dataForm.relatedContractId = undefined
},
'dataForm.subject': function (val, oldVal) {
this.getSubjectInfo()
}
},
created() { created() {
this.getFormById() this.getFormById()
if (this.dataForm.id == null || this.dataForm.id == '' && this.dataForm.id == undefined || this.dataForm.id == 0) { if (this.dataForm.id == null || this.dataForm.id == '' && this.dataForm.id == undefined || this.dataForm.id == 0) {
@ -1364,6 +1492,30 @@ export default {
}, },
mounted() { }, mounted() { },
methods: { methods: {
getSubjectInfo() {
const columnOptions = this.subjectcolumnOptions.map(o => o.value)
let interfaceId = undefined
let query = {
...this.listQuery,
interfaceId: this.dataForm.subject,
propsValue: 'id',
relationField: 'name',
columnOptions: columnOptions.join(','),
paramList: []
}
if (this.dataForm.contractType == 1) {
interfaceId = "531020715009245189"
} else if (this.dataForm.contractType == 2) {
interfaceId = "531022805093842949"
} else {
interfaceId = "531024727578247173"
}
getDataInterfaceDataSelect(interfaceId, query).then(res => {
this.subjectList = res.data.list.filter(o1 => {
return o1.id == this.dataForm.subject
})
}).catch(() => { })
},
changeData(model, index) { changeData(model, index) {
this.isEdit = false this.isEdit = false
this.childIndex = index this.childIndex = index
@ -1578,7 +1730,7 @@ export default {
// //
initDefaultData() { initDefaultData() {
if (this.userInfo.organizeIdList instanceof Array && this.userInfo.organizeIdList.length > 0) { if (this.userInfo.organizeIdList instanceof Array && this.userInfo.organizeIdList.length > 0) {
this.dataForm.deptId = this.userInfo.organizeIdList this.dataForm.deptId = [this.userInfo.organizeIdList[0]]
} }
}, },

Loading…
Cancel
Save