合同优化A1

jg-waiwang-pro
mhsnet 8 months ago
parent ab92a8c8f8
commit b303fbb3fd

@ -360,6 +360,9 @@ public class ContractLController {
case "tableField177-fundRate": case "tableField177-fundRate":
tableField177List.add(new ExcelExportEntity("资金利率" ,"fundRate")); tableField177List.add(new ExcelExportEntity("资金利率" ,"fundRate"));
break; break;
case "tableField135-productId":
tableField135List.add(new ExcelExportEntity("商品ID" ,"productId"));
break;
case "tableField135-commodityCode": case "tableField135-commodityCode":
tableField135List.add(new ExcelExportEntity("商品编码" ,"commodityCode")); tableField135List.add(new ExcelExportEntity("商品编码" ,"commodityCode"));
break; break;
@ -369,8 +372,8 @@ public class ContractLController {
case "tableField135-specifications": case "tableField135-specifications":
tableField135List.add(new ExcelExportEntity("商品规格" ,"specifications")); tableField135List.add(new ExcelExportEntity("商品规格" ,"specifications"));
break; break;
case "tableField135-inventoryUnit": case "tableField135-inventoryUnitId":
tableField135List.add(new ExcelExportEntity("库存单位" ,"inventoryUnit")); tableField135List.add(new ExcelExportEntity("库存单位" ,"inventoryUnitId"));
break; break;
case "tableField135-procureUnit": case "tableField135-procureUnit":
tableField135List.add(new ExcelExportEntity("采购单位" ,"procureUnit")); tableField135List.add(new ExcelExportEntity("采购单位" ,"procureUnit"));

@ -22,6 +22,8 @@ public class ContractLCommodityEntity {
private String id; private String id;
@TableField("CONTRACT_ID") @TableField("CONTRACT_ID")
private String contractId; private String contractId;
@TableField(value = "PRODUCT_ID" , updateStrategy = FieldStrategy.IGNORED)
private String productId;
@TableField(value = "COMMODITY_NAME" , updateStrategy = FieldStrategy.IGNORED) @TableField(value = "COMMODITY_NAME" , updateStrategy = FieldStrategy.IGNORED)
private String commodityName; private String commodityName;
@TableField(value = "COMMODITY_CODE" , updateStrategy = FieldStrategy.IGNORED) @TableField(value = "COMMODITY_CODE" , updateStrategy = FieldStrategy.IGNORED)
@ -30,7 +32,7 @@ public class ContractLCommodityEntity {
private String commodityPhone; private String commodityPhone;
@TableField(value = "SPECIFICATIONS" , updateStrategy = FieldStrategy.IGNORED) @TableField(value = "SPECIFICATIONS" , updateStrategy = FieldStrategy.IGNORED)
private String specifications; private String specifications;
@TableField("INVENTORY_UNIT_ID") @TableField(value = "INVENTORY_UNIT_ID" , updateStrategy = FieldStrategy.IGNORED)
private String inventoryUnitId; private String inventoryUnitId;
@TableField(value = "PROCURE_UNIT" , updateStrategy = FieldStrategy.IGNORED) @TableField(value = "PROCURE_UNIT" , updateStrategy = FieldStrategy.IGNORED)
private String procureUnit; private String procureUnit;

@ -5,7 +5,6 @@ import lombok.Data;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
* *
* *

@ -18,6 +18,9 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*/ */
@Data @Data
public class ContractLCommodityModel { public class ContractLCommodityModel {
/** 商品ID **/
@JSONField(name = "productId")
private String productId;
/** 商品编码 **/ /** 商品编码 **/
@JSONField(name = "commodityCode") @JSONField(name = "commodityCode")
private String commodityCode; private String commodityCode;
@ -28,8 +31,8 @@ public class ContractLCommodityModel {
@JSONField(name = "specifications") @JSONField(name = "specifications")
private String specifications; private String specifications;
/** 库存单位 **/ /** 库存单位 **/
@JSONField(name = "inventoryUnit") @JSONField(name = "inventoryUnitId")
private String inventoryUnit; private String inventoryUnitId;
/** 采购单位 **/ /** 采购单位 **/
@JSONField(name = "procureUnit") @JSONField(name = "procureUnit")
private Object procureUnit; private Object procureUnit;

@ -165,14 +165,6 @@
</JnpfPopupSelect> </JnpfPopupSelect>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</template> </template>
<!-- <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="523869248829799685"
:pageSize="20" :columnOptions="subjectcolumnOptions" clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect>
</jnpf-form-tip-item> -->
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<jnpf-form-tip-item> <jnpf-form-tip-item>
@ -257,12 +249,6 @@
</template> </template>
<template v-else> <template v-else>
</template> </template>
<!-- <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> -->
</el-col> </el-col>
<el-col :span="8" v-if="judgeShow('relatedContractId')"> <el-col :span="8" v-if="judgeShow('relatedContractId')">
<template v-if="dataForm.procurementModel == 1"> <template v-if="dataForm.procurementModel == 1">
@ -278,16 +264,6 @@
</JnpfPopupSelect> </JnpfPopupSelect>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</template> </template>
<!-- <jnpf-form-tip-item label="关联销售合同" v-if="judgeShow('relatedContractId')" prop="relatedContractId">
<JnpfPopupSelect v-model="dataForm.relatedContractId"
@change="changeData('relatedContractId', -1)" :rowIndex="null" :formData="dataForm"
:templateJson="interfaceRes.relatedContractId" placeholder="请选择"
:disabled="judgeWrite('relatedContractId')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='contract_name' field='relatedContractId'
interfaceId="529270998021701701" :pageSize="20"
:columnOptions="relatedContractIdcolumnOptions" clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect>
</jnpf-form-tip-item> -->
</el-col> </el-col>
<el-col :span="8" v-if="judgeShow('subject2')"> <el-col :span="8" v-if="judgeShow('subject2')">
<template v-if="dataForm.contractType == 1"> <template v-if="dataForm.contractType == 1">
@ -314,15 +290,6 @@
</template> </template>
<template v-else> <template v-else>
</template> </template>
<!-- <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="523869248829799685" :pageSize="20" :columnOptions="subject2columnOptions"
clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect>
</jnpf-form-tip-item> -->
</el-col> </el-col>
<el-col :span="8" v-if="judgeShow('subject3')"> <el-col :span="8" v-if="judgeShow('subject3')">
<template v-if="dataForm.contractType == 1"> <template v-if="dataForm.contractType == 1">
@ -340,15 +307,6 @@
</template> </template>
<template v-else> <template v-else>
</template> </template>
<!-- <jnpf-form-tip-item label="乙方主体三级" v-if="judgeShow('subject3')" prop="subject3">
<JnpfPopupSelect v-model="dataForm.subject3" @change="changeData('subject3', -1)"
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subject3"
placeholder="请选择" :disabled="judgeWrite('subject3')" propsValue="id" popupWidth="800px"
popupTitle="选择数据" popupType="dialog" relationField='name' field='subject3'
interfaceId="523869248829799685" :pageSize="20" :columnOptions="subject3columnOptions"
clearable :style='{ "width": "100%" }'>
</JnpfPopupSelect>
</jnpf-form-tip-item> -->
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<jnpf-form-tip-item> <jnpf-form-tip-item>
@ -742,6 +700,26 @@
<jnpf-form-tip-item label-width="0"> <jnpf-form-tip-item label-width="0">
<el-table :data="dataForm.contractLCommodityList" size='mini'> <el-table :data="dataForm.contractLCommodityList" size='mini'>
<el-table-column type="index" width="50" label="序号" align="center" /> <el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column label="商品ID" v-if="judgeShow('contractlcommodity-productId')"
prop="productId">
<template slot="header">
<span class="required-sign"
v-if="judgeRequired('contractlcommodityList-productId')">*</span>商品ID
</template>
<template slot-scope="scope">
<JnpfPopupSelect v-model="scope.row.productId"
@change="changeData('contractlcommodity-productId', scope.$index)"
:rowIndex="scope.$index" :formData="dataForm"
:templateJson="interfaceRes.contractlcommodityproductId" placeholder="请选择"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-productId')"
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
relationField='id' :field="'productId' + scope.$index"
interfaceId="530288111456878597" :pageSize="20"
:columnOptions="contractlcommodityproductIdcolumnOptions" clearable
:style='{ "width": "100%" }'>
</JnpfPopupSelect>
</template>
</el-table-column>
<el-table-column label="商品编码" v-if="judgeShow('contractlcommodity-commodityCode')" <el-table-column label="商品编码" v-if="judgeShow('contractlcommodity-commodityCode')"
prop="commodityCode"> prop="commodityCode">
<template slot="header"> <template slot="header">
@ -749,17 +727,13 @@
v-if="judgeRequired('contractlcommodityList-commodityCode')">*</span>商品编码 v-if="judgeRequired('contractlcommodityList-commodityCode')">*</span>商品编码
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<JnpfPopupSelect v-model="scope.row.commodityCode" {{ scope.row.commodityCode }}
<!-- <JnpfInput v-model="scope.row.commodityCode"
@change="changeData('contractlcommodity-commodityCode', scope.$index)" @change="changeData('contractlcommodity-commodityCode', scope.$index)"
:rowIndex="scope.$index" :formData="dataForm" placeholder="请输入"
:templateJson="interfaceRes.contractlcommoditycommodityCode" placeholder="请选择"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-commodityCode')" :disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-commodityCode')"
propsValue="code" popupWidth="800px" popupTitle="选择数据" popupType="dialog" readonly clearable :style='{ "width": "100%" }'>
relationField='code' :field="'commodityCode' + scope.$index" </JnpfInput> -->
interfaceId="530288111456878597" :pageSize="20"
:columnOptions="contractlcommoditycommodityCodecolumnOptions" clearable
:style='{ "width": "100%" }'>
</JnpfPopupSelect>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品名称" v-if="judgeShow('contractlcommodity-commodityName')" <el-table-column label="商品名称" v-if="judgeShow('contractlcommodity-commodityName')"
@ -769,12 +743,13 @@
v-if="judgeRequired('contractlcommodityList-commodityName')">*</span>商品名称 v-if="judgeRequired('contractlcommodityList-commodityName')">*</span>商品名称
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<JnpfInput v-model="scope.row.commodityName" {{ scope.row.commodityName }}
<!-- <JnpfInput v-model="scope.row.commodityName"
@change="changeData('contractlcommodity-commodityName', scope.$index)" @change="changeData('contractlcommodity-commodityName', scope.$index)"
placeholder="请输入" placeholder="请输入"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-commodityName')" :disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-commodityName')"
clearable :style='{ "width": "100%" }'> readonly clearable :style='{ "width": "100%" }'>
</JnpfInput> </JnpfInput> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品规格" v-if="judgeShow('contractlcommodity-specifications')" <el-table-column label="商品规格" v-if="judgeShow('contractlcommodity-specifications')"
@ -784,35 +759,29 @@
v-if="judgeRequired('contractlcommodityList-specifications')">*</span>商品规格 v-if="judgeRequired('contractlcommodityList-specifications')">*</span>商品规格
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<JnpfInput v-model="scope.row.specifications" {{ scope.row.specifications }}
<!-- <JnpfInput v-model="scope.row.specifications"
@change="changeData('contractlcommodity-specifications', scope.$index)" @change="changeData('contractlcommodity-specifications', scope.$index)"
placeholder="请输入" placeholder="请输入"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-specifications')" :disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-specifications')"
clearable :style='{ "width": "100%" }'> readonly clearable :style='{ "width": "100%" }'>
</JnpfInput> </JnpfInput> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="库存单位" v-if="judgeShow('contractlcommodity-inventoryUnit')" <el-table-column label="库存单位" v-if="judgeShow('contractlcommodity-inventoryUnitId')"
prop="inventoryUnit"> prop="inventoryUnitId">
<template slot="header"> <template slot="header">
<span class="required-sign" <span class="required-sign"
v-if="judgeRequired('contractlcommodityList-inventoryUnit')">*</span>库存单位 v-if="judgeRequired('contractlcommodityList-inventoryUnitId')">*</span>库存单位
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <JnpfInput v-model="scope.row.inventoryUnit" {{ scope.row.inventoryUnitId }}
@change="changeData('contractlcommodity-inventoryUnit', scope.$index)" <!-- <JnpfInput v-model="scope.row.inventoryUnitId"
@change="changeData('contractlcommodity-inventoryUnitId', scope.$index)"
placeholder="请输入" placeholder="请输入"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-inventoryUnit')" :disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-inventoryUnitId')"
clearable :style='{ "width": "100%" }'> readonly clearable :style='{ "width": "100%" }'>
</JnpfInput> --> </JnpfInput> -->
<JnpfSelect v-model="scope.row.inventoryUnit"
@change="changeData('contractlcommodity-inventoryUnit', scope.$index)"
placeholder="请选择"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-inventoryUnit')"
clearable :style='{ "width": "100%" }'
:options="contractlcommodityinventoryUnitOptions"
:props="contractlcommodityinventoryUnitProps">
</JnpfSelect>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="采购单位" v-if="judgeShow('contractlcommodity-procureUnit')" <el-table-column label="采购单位" v-if="judgeShow('contractlcommodity-procureUnit')"
@ -826,7 +795,7 @@
@change="changeData('contractlcommodity-procureUnit', scope.$index)" @change="changeData('contractlcommodity-procureUnit', scope.$index)"
placeholder="请选择" placeholder="请选择"
:disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-procureUnit')" :disabled="judgeWrite('contractlcommodityList') || judgeWrite('contractlcommodityList-procureUnit')"
:style='{ "width": "100%" }' clearable :style='{ "width": "100%" }'
:options="contractlcommodityprocureUnitOptions" :options="contractlcommodityprocureUnitOptions"
:props="contractlcommodityprocureUnitProps"> :props="contractlcommodityprocureUnitProps">
</JnpfSelect> </JnpfSelect>
@ -1275,14 +1244,16 @@ export default {
enabledmark: undefined enabledmark: undefined
}, },
contractLCommodityList: { contractLCommodityList: {
productId: '',
productIdOptions: [],
commodityCode: '', commodityCode: '',
commodityCodeOptions: [], commodityCodeOptions: [],
commodityName: '', commodityName: '',
commodityNameOptions: [], commodityNameOptions: [],
specifications: '', specifications: '',
specificationsOptions: [], specificationsOptions: [],
inventoryUnit: '', inventoryUnitId: '',
inventoryUnitOptions: [], inventoryUnitIdOptions: [],
procureUnitOptions: [], procureUnitOptions: [],
number: '', number: '',
numberOptions: [], numberOptions: [],
@ -1327,7 +1298,7 @@ export default {
contractPeriodTime: undefined, contractPeriodTime: undefined,
contractPeriodTimeEnd: undefined, contractPeriodTimeEnd: undefined,
deptId: [], deptId: [],
subject: undefined, subject: "522407918746741061",
procurementModel: undefined, procurementModel: undefined,
relatedContractId: undefined, relatedContractId: undefined,
subject2: undefined, subject2: undefined,
@ -1428,7 +1399,7 @@ export default {
totalAmount: [ totalAmount: [
{ {
required: true, required: true,
message: '请至少选择一个', message: '数字文本',
trigger: ["blur", "change"] trigger: ["blur", "change"]
}, },
], ],
@ -1462,11 +1433,9 @@ export default {
contractLabelProps: { "label": "fullName", "value": "enCode" }, contractLabelProps: { "label": "fullName", "value": "enCode" },
contractlpriceformulapriceFormulaTypeOptions: [], contractlpriceformulapriceFormulaTypeOptions: [],
contractlpriceformulapriceFormulaTypeProps: { "label": "fullName", "value": "enCode" }, contractlpriceformulapriceFormulaTypeProps: { "label": "fullName", "value": "enCode" },
contractlcommoditycommodityCodecolumnOptions: [{ "label": "商品编码", "value": "code" }, { "label": "商品名称", "value": "name" }, { "label": "商品规格", "value": "spec" }, { "label": "库存单位", "value": "inventory_unit_name" }, { "label": "采购单位", "value": "order_main_unit_name" }, { "label": "销售单位", "value": "sales_main_unit_name" },], contractlcommodityproductIdcolumnOptions: [{ "label": "商品ID", "value": "id" }, { "label": "商品编码", "value": "code" }, { "label": "商品名称", "value": "name" }, { "label": "商品规格", "value": "spec" }, { "label": "库存单位", "value": "inventory_unit_name" }, { "label": "采购单位", "value": "order_main_unit_name" }, { "label": "销售单位", "value": "sales_main_unit_name" },],
contractlcommodityprocureUnitOptions: [], contractlcommodityprocureUnitOptions: [{ "fullName": "选项一", "id": "1" }, { "fullName": "选项二", "id": "2" }],
contractlcommodityprocureUnitProps: { "label": "fullName", "value": "id" }, contractlcommodityprocureUnitProps: { "label": "fullName", "value": "id" },
contractlcommodityinventoryUnitOptions: [],
contractlcommodityinventoryUnitProps: { "label": "fullName", "value": "id" },
contractlfeeclausefeeTypeOptions: [], contractlfeeclausefeeTypeOptions: [],
contractlfeeclausefeeTypeProps: { "label": "fullName", "value": "enCode" }, contractlfeeclausefeeTypeProps: { "label": "fullName", "value": "enCode" },
contractlpaymentpaymentNodeOptions: [], contractlpaymentpaymentNodeOptions: [],
@ -1525,10 +1494,11 @@ export default {
contractlpriceformulataxRateYellowBull: [], contractlpriceformulataxRateYellowBull: [],
contractlpriceformulataxRateInvoicingCompany: [], contractlpriceformulataxRateInvoicingCompany: [],
contractlpriceformulafundRate: [], contractlpriceformulafundRate: [],
contractlcommodityproductId: [],
contractlcommoditycommodityCode: [], contractlcommoditycommodityCode: [],
contractlcommoditycommodityName: [], contractlcommoditycommodityName: [],
contractlcommodityspecifications: [], contractlcommodityspecifications: [],
contractlcommodityinventoryUnit: [], contractlcommodityinventoryUnitId: [],
contractlcommodityprocureUnit: [], contractlcommodityprocureUnit: [],
contractlcommoditynumber: [], contractlcommoditynumber: [],
contractlcommoditytaxRate: [], contractlcommoditytaxRate: [],
@ -1569,10 +1539,6 @@ export default {
'dataForm.subject': function (val, oldVal) { 'dataForm.subject': function (val, oldVal) {
this.getSubjectInfo() this.getSubjectInfo()
}, },
'dataForm.commodityCode': function (val, oldVal) {
console.log(val)
console.log(oldVal)
}
}, },
created() { created() {
this.getFormById() this.getFormById()
@ -1616,11 +1582,15 @@ export default {
getDataInterfaceDataSelect(interfaceId, query).then(res => { getDataInterfaceDataSelect(interfaceId, query).then(res => {
if (res.code == 200) { if (res.code == 200) {
let productInfo = res.data.list.filter(o1 => { let productInfo = res.data.list.filter(o1 => {
return o1.code == this.dataForm.contractLCommodityList[index]['commodityCode'] return o1.id == this.dataForm.contractLCommodityList[index]['productId']
})[0] })[0]
console.log(this.dataForm.contractLCommodityList[index])
console.log(productInfo)
this.dataForm.contractLCommodityList[index]['commodityCode'] = productInfo.code
this.dataForm.contractLCommodityList[index]['commodityName'] = productInfo.name this.dataForm.contractLCommodityList[index]['commodityName'] = productInfo.name
this.dataForm.contractLCommodityList[index]['specifications'] = productInfo.spec this.dataForm.contractLCommodityList[index]['specifications'] = productInfo.spec
this.dataForm.contractLCommodityList[index]['inventoryUnit'] = productInfo.inventory_unit_id this.dataForm.contractLCommodityList[index]['inventoryUnitId'] = productInfo.inventory_unit_id
this.dataForm.contractLCommodityList[index]['inventoryUnitName'] = productInfo.inventory_unit_name
this.contractlcommodityinventoryUnitOptions = [{ "fullName": productInfo.inventory_unit_name, "id": productInfo.inventory_unit_id }] this.contractlcommodityinventoryUnitOptions = [{ "fullName": productInfo.inventory_unit_name, "id": productInfo.inventory_unit_id }]
let procureUnitOptionsArr = [] let procureUnitOptionsArr = []
for (let i = 0; i < JSON.parse(productInfo.order_main_unit_id).length; i++) { for (let i = 0; i < JSON.parse(productInfo.order_main_unit_id).length; i++) {
@ -1632,7 +1602,7 @@ export default {
} }
}, },
changeData(model, index) { changeData(model, index) {
if (model == 'contractlcommodity-commodityCode') { if (model == 'contractlcommodity-productId') {
this.getProductInfoChg(index) this.getProductInfoChg(index)
} }
this.isEdit = false this.isEdit = false
@ -1896,10 +1866,11 @@ export default {
}, },
addcontractLCommodityList() { addcontractLCommodityList() {
let item = { let item = {
commodityCode: '', productId: '',
commodityCode: undefined,
commodityName: undefined, commodityName: undefined,
specifications: undefined, specifications: undefined,
inventoryUnit: undefined, inventoryUnitId: undefined,
procureUnit: '', procureUnit: '',
number: undefined, number: undefined,
taxRate: undefined, taxRate: undefined,

@ -13,8 +13,7 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item label="合同类型"> <el-form-item label="合同类型">
<JnpfSelect v-model="query.contractType" placeholder="请选择" clearable <JnpfSelect v-model="query.contractType" placeholder="请选择" clearable
:options="contractTypeOptions" :options="contractTypeOptions" :props="contractTypeProps">
:props="contractTypeProps" >
</JnpfSelect> </JnpfSelect>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -39,11 +38,14 @@
<div class="JNPF-common-layout-main JNPF-flex-main"> <div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head"> <div class="JNPF-common-head">
<div> <div>
<el-button type="primary" icon="icon-ym icon-ym-btn-add" v-has="'btn_add'" @click="addOrUpdateHandle()"> <el-button type="primary" icon="icon-ym icon-ym-btn-add" v-has="'btn_add'"
@click="addOrUpdateHandle()">新增
</el-button> </el-button>
<el-button type="text" icon="icon-ym icon-ym-btn-download" @click="exportData()" v-has="'btn_download'" >导出 <el-button type="text" icon="icon-ym icon-ym-btn-download" @click="exportData()"
v-has="'btn_download'">导出
</el-button> </el-button>
<el-button type="text" icon="icon-ym icon-ym-btn-clearn" @click="handleBatchRemoveDel()" v-has="'btn_batchRemove'" >批量删除 <el-button type="text" icon="icon-ym icon-ym-btn-clearn" @click="handleBatchRemoveDel()"
v-has="'btn_batchRemove'">批量删除
</el-button> </el-button>
</div> </div>
<div class="JNPF-common-head-right"> <div class="JNPF-common-head-right">
@ -57,211 +59,139 @@
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c @selection-change="handleSelectionChange" <JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c
:span-method="arraySpanMethod" @selection-change="handleSelectionChange" :span-method="arraySpanMethod">
<el-table-column prop="contractType" label="合同类型" align="left">
>
<el-table-column
prop="contractType"
label="合同类型" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractTemplateId" label="合同模板" align="left">
prop="contractTemplateId"
label="合同模板" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractNumber" label="合同编号" align="left">
prop="contractNumber"
label="合同编号" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractName" label="合同名称" align="left">
prop="contractName"
label="合同名称" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractNo" label="对方合同编号" align="left">
prop="contractNo"
label="对方合同编号" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractSignedTime" label="签订日期" align="left">
prop="contractSignedTime"
label="签订日期" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="businessId" label="关联业务线" align="left">
prop="businessId"
label="关联业务线" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractPeriodTime" label="有效期开始 " align="left">
prop="contractPeriodTime"
label="有效期开始 " align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractPeriodTimeEnd" label="有效期结束 " align="left">
prop="contractPeriodTimeEnd"
label="有效期结束 " align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="deptId" label="签约主体" align="left">
prop="deptId"
label="签约主体" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="subject" label="乙方主体" align="left">
prop="subject"
label="乙方主体" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="procurementModel" label="采购模式" align="left">
prop="procurementModel"
label="采购模式" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="relatedContractId" label="关联销售合同" align="left">
prop="relatedContractId"
label="关联销售合同" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="subject2" label="乙方主体二级" align="left">
prop="subject2"
label="乙方主体二级" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="subject3" label="乙方主体三级" align="left">
prop="subject3"
label="乙方主体三级" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="deliveryModel" label="交货方式" align="left">
prop="deliveryModel"
label="交货方式" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="deliveryLocation" label="交货地点 " align="left">
prop="deliveryLocation"
label="交货地点 " align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="modeTransport" label="运输方式" align="left">
prop="modeTransport"
label="运输方式" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="costBearingMian" label="费用承担主体" align="left">
prop="costBearingMian"
label="费用承担主体" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="pricingModel" label="定价模式 " align="left">
prop="pricingModel"
label="定价模式 " align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractRequirement" label="合同要求" align="left">
prop="contractRequirement"
label="合同要求" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="remark" label="备注" align="left">
prop="remark"
label="备注" align="left"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractLabel" label="合同标签" align="left">
prop="contractLabel"
label="合同标签" align="left"
>
</el-table-column> </el-table-column>
<el-table-column prop="flowState" label="状态" width="100" > <el-table-column prop="flowState" label="状态" width="100">
<template slot-scope="scope" v-if="!scope.row.top"> <template slot-scope="scope" v-if="!scope.row.top">
<el-tag v-if="scope.row.flowState==1"></el-tag> <el-tag v-if="scope.row.flowState == 1"></el-tag>
<el-tag type="success" v-else-if="scope.row.flowState==2">审核通过</el-tag> <el-tag type="success" v-else-if="scope.row.flowState == 2">审核通过</el-tag>
<el-tag type="danger" v-else-if="scope.row.flowState==3">审核驳回</el-tag> <el-tag type="danger" v-else-if="scope.row.flowState == 3">审核驳回</el-tag>
<el-tag type="info" v-else-if="scope.row.flowState==4">流程撤回</el-tag> <el-tag type="info" v-else-if="scope.row.flowState == 4">流程撤回</el-tag>
<el-tag type="info" v-else-if="scope.row.flowState==5">审核终止</el-tag> <el-tag type="info" v-else-if="scope.row.flowState == 5">审核终止</el-tag>
<el-tag type="warning" v-else></el-tag> <el-tag type="warning" v-else></el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" <el-table-column label="操作" fixed="right" width="150">
fixed="right" width="150" > <template slot-scope="scope">
<template slot-scope="scope" > <el-button type="text" :disabled="[1, 2, 4, 5].indexOf(scope.row.flowState) > -1"
<el-button type="text" :disabled="[1,2,4,5].indexOf(scope.row.flowState)>-1" @click="updateHandle(scope.row)" v-has="'btn_edit'">编辑
@click="updateHandle(scope.row)" v-has="'btn_edit'" >编辑
</el-button> </el-button>
<el-button type="text" class="JNPF-table-delBtn" :disabled="[1,2,3,5].indexOf(scope.row.flowState)>-1" v-has="'btn_remove'" @click="handleDel(scope.row.id)"> <el-button type="text" class="JNPF-table-delBtn"
:disabled="[1, 2, 3, 5].indexOf(scope.row.flowState) > -1" v-has="'btn_remove'"
@click="handleDel(scope.row.id)">删除
</el-button> </el-button>
<el-button size="mini" type="text" :disabled="!scope.row.flowState" <el-button size="mini" type="text" :disabled="!scope.row.flowState"
@click="updateHandle(scope.row,scope.row.flowState)" @click="updateHandle(scope.row, scope.row.flowState)">详情</el-button>
>详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
</JNPF-table> </JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/> <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
@pagination="initData" />
</div> </div>
</div> </div>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/> <JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh" />
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/> <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download" />
<FlowBox v-if="flowVisible" ref="FlowBox" @close="colseFlow" /> <FlowBox v-if="flowVisible" ref="FlowBox" @close="colseFlow" />
<el-dialog title="请选择流程" :close-on-click-modal="false" append-to-body <el-dialog title="请选择流程" :close-on-click-modal="false" append-to-body :visible.sync="flowListVisible"
:visible.sync="flowListVisible" class="JNPF-dialog template-dialog JNPF-dialog_center" class="JNPF-dialog template-dialog JNPF-dialog_center" lock-scroll width="400px">
lock-scroll width="400px">
<el-scrollbar class="template-list"> <el-scrollbar class="template-list">
<div class="template-item" v-for="item in flowList" :key="item.id" <div class="template-item" v-for="item in flowList" :key="item.id" @click="selectFlow(item)">
@click="selectFlow(item)">{{item.fullName}} {{ item.fullName }}
</div> </div>
</el-scrollbar> </el-scrollbar>
</el-dialog> </el-dialog>
<ImportBox v-if="uploadBoxVisible" ref="UploadBox" @refresh="initData" /> <ImportBox v-if="uploadBoxVisible" ref="UploadBox" @refresh="initData" />
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/> <Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible = false" />
<ToFormDetail v-if="toFormDetailVisible" ref="toFormDetail" @close="toFormDetailVisible = false" /> <ToFormDetail v-if="toFormDetailVisible" ref="toFormDetail" @close="toFormDetailVisible = false" />
<SuperQuery v-if="superQueryVisible" ref="SuperQuery" :columnOptions="superQueryJson" <SuperQuery v-if="superQueryVisible" ref="SuperQuery" :columnOptions="superQueryJson" @superQuery="superQuery" />
@superQuery="superQuery" />
</div> </div>
</template> </template>
<script> <script>
import request from '@/utils/request' import request from '@/utils/request'
import {mapGetters} from "vuex"; import { mapGetters } from "vuex";
import {getDictionaryDataSelector} from '@/api/systemData/dictionary' import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import { getFormById } from '@/api/workFlow/FormDesign' import { getFormById } from '@/api/workFlow/FormDesign'
import { getFlowList } from '@/api/workFlow/FlowEngine' import { getFlowList } from '@/api/workFlow/FlowEngine'
import FlowBox from '@/views/workFlow/components/FlowBox' import FlowBox from '@/views/workFlow/components/FlowBox'
import ExportBox from '@/components/ExportBox' import ExportBox from '@/components/ExportBox'
import ToFormDetail from '@/views/basic/dynamicModel/list/detail' import ToFormDetail from '@/views/basic/dynamicModel/list/detail'
import {getDataInterfaceRes} from '@/api/systemData/dataInterface' import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getConfigData } from '@/api/onlineDev/visualDev' import { getConfigData } from '@/api/onlineDev/visualDev'
import { getDefaultCurrentValueUserIdAsync } from '@/api/permission/user' import { getDefaultCurrentValueUserIdAsync } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentIdAsync } from '@/api/permission/organize' import { getDefaultCurrentValueDepartmentIdAsync } from '@/api/permission/organize'
import columnList from './columnList' import columnList from './columnList'
import { thousandsFormat } from "@/components/Generator/utils/index" import { thousandsFormat } from "@/components/Generator/utils/index"
import SuperQuery from '@/components/SuperQuery' import SuperQuery from '@/components/SuperQuery'
import superQueryJson from './superQueryJson' import superQueryJson from './superQueryJson'
export default { export default {
components: { components: {
FlowBox, FlowBox,
ExportBox,ToFormDetail , SuperQuery ExportBox, ToFormDetail, SuperQuery
}, },
data() { data() {
return { return {
keyword:'', keyword: '',
expandsTree: true, expandsTree: true,
refreshTree: true, refreshTree: true,
toFormDetailVisible:false, toFormDetailVisible: false,
expandObj:{}, expandObj: {},
columnOptions: [], columnOptions: [],
mergeList: [], mergeList: [],
exportList:[], exportList: [],
columnList, columnList,
superQueryVisible: false, superQueryVisible: false,
@ -269,9 +199,9 @@
uploadBoxVisible: false, uploadBoxVisible: false,
detailVisible: false, detailVisible: false,
query: { query: {
contractType:undefined, contractType: undefined,
contractNumber:undefined, contractNumber: undefined,
contractName:undefined, contractName: undefined,
}, },
treeProps: { treeProps: {
children: 'children', children: 'children',
@ -295,39 +225,39 @@
flowListVisible: false, flowListVisible: false,
flowList: [], flowList: [],
exportBoxVisible: false, exportBoxVisible: false,
contractTypeOptions:[], contractTypeOptions: [],
contractTypeProps:{"label":"fullName","value":"enCode" }, contractTypeProps: { "label": "fullName", "value": "enCode" },
procurementModelOptions:[], procurementModelOptions: [],
procurementModelProps:{"label":"fullName","value":"enCode" }, procurementModelProps: { "label": "fullName", "value": "enCode" },
deliveryModelOptions:[], deliveryModelOptions: [],
deliveryModelProps:{"label":"fullName","value":"enCode" }, deliveryModelProps: { "label": "fullName", "value": "enCode" },
modeTransportOptions:[], modeTransportOptions: [],
modeTransportProps:{"label":"fullName","value":"enCode" }, modeTransportProps: { "label": "fullName", "value": "enCode" },
costBearingMianOptions:[], costBearingMianOptions: [],
costBearingMianProps:{"label":"fullName","value":"enCode" }, costBearingMianProps: { "label": "fullName", "value": "enCode" },
pricingModelOptions:[], pricingModelOptions: [],
pricingModelProps:{"label":"fullName","value":"enCode" }, pricingModelProps: { "label": "fullName", "value": "enCode" },
contractLabelOptions:[], contractLabelOptions: [],
contractLabelProps:{"label":"fullName","value":"enCode" }, contractLabelProps: { "label": "fullName", "value": "enCode" },
tableField177_priceFormulaTypeOptions:[], tableField177_priceFormulaTypeOptions: [],
tableField177_priceFormulaTypeProps:{"label":"fullName","value":"enCode" }, tableField177_priceFormulaTypeProps: { "label": "fullName", "value": "enCode" },
tableField135_commodityCodecolumnOptions:[ {"label":"商品编码","value":"code"}, {"label":"商品名称","value":"name"}, {"label":"商品规格","value":"spec"}, {"label":"库存单位","value":"inventory_unit_name"}, {"label":"采购单位","value":"order_main_unit_name"}, {"label":"销售单位","value":"sales_main_unit_name"},], tableField135_productIdcolumnOptions: [{ "label": "商品ID", "value": "id" }, { "label": "商品编码", "value": "code" }, { "label": "商品名称", "value": "name" }, { "label": "商品规格", "value": "spec" }, { "label": "库存单位", "value": "inventory_unit_name" }, { "label": "采购单位", "value": "order_main_unit_name" }, { "label": "销售单位", "value": "sales_main_unit_name" },],
tableField135_procureUnitOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], tableField135_procureUnitOptions: [{ "fullName": "选项一", "id": "1" }, { "fullName": "选项二", "id": "2" }],
tableField135_procureUnitProps:{"label":"fullName","value":"id" }, tableField135_procureUnitProps: { "label": "fullName", "value": "id" },
tableField147_feeTypeOptions:[], tableField147_feeTypeOptions: [],
tableField147_feeTypeProps:{"label":"fullName","value":"enCode" }, tableField147_feeTypeProps: { "label": "fullName", "value": "enCode" },
tableField153_paymentNodeOptions:[], tableField153_paymentNodeOptions: [],
tableField153_paymentNodeProps:{"label":"fullName","value":"enCode" }, tableField153_paymentNodeProps: { "label": "fullName", "value": "enCode" },
tableField153_paymentMethodOptions:[], tableField153_paymentMethodOptions: [],
tableField153_paymentMethodProps:{"label":"fullName","value":"enCode" }, tableField153_paymentMethodProps: { "label": "fullName", "value": "enCode" },
interfaceRes: { interfaceRes: {
contractTemplateId:[] , contractTemplateId: [],
businessId:[] , businessId: [],
subject:[] , subject: [],
relatedContractId:[] , relatedContractId: [],
subject2:[] , subject2: [],
subject3:[] , subject3: [],
tableField135_commodityCode: [] , tableField135_productId: [],
}, },
} }
}, },
@ -339,8 +269,8 @@
}, },
created() { created() {
getFormById("528841438817943557").then(res1 => { getFormById("528841438817943557").then(res1 => {
let flowId = res1.data&&res1.data.id let flowId = res1.data && res1.data.id
getFlowList(flowId,'1').then(res2 => { getFlowList(flowId, '1').then(res2 => {
this.flowList = res2.data this.flowList = res2.data
this.getColumnList(), this.getColumnList(),
this.initSearchDataAndListData() this.initSearchDataAndListData()
@ -381,9 +311,9 @@
}, },
loadNode(node, resolve) { loadNode(node, resolve) {
const nodeData = node.data const nodeData = node.data
const config ={ const config = {
treeInterfaceId:"", treeInterfaceId: "",
treeTemplateJson:[] treeTemplateJson: []
} }
if (config.treeInterfaceId) { if (config.treeInterfaceId) {
// //
@ -462,7 +392,7 @@
} }
}) })
newList.forEach(item => { newList.forEach(item => {
if (item.children && item.children.length ) { if (item.children && item.children.length) {
item.children.forEach((child, index) => { item.children.forEach((child, index) => {
if (index == 0) { if (index == 0) {
this.mergeList.push({ this.mergeList.push({
@ -505,13 +435,13 @@
this.contractTypeOptions = res.data.list this.contractTypeOptions = res.data.list
}) })
}, },
goDetail(id){ goDetail(id) {
this.detailVisible = true this.detailVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.Detail.init(id) this.$refs.Detail.init(id)
}) })
}, },
sortChange({column, prop, order}) { sortChange({ column, prop, order }) {
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc' this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
this.listQuery.sidx = !order ? '' : prop this.listQuery.sidx = !order ? '' : prop
this.initData() this.initData()
@ -530,16 +460,16 @@
...this.query, ...this.query,
keyword: this.keyword, keyword: this.keyword,
dataType: 0, dataType: 0,
menuId:this.menuId, menuId: this.menuId,
moduleId:'528841438817943557', moduleId: '528841438817943557',
type:1, type: 1,
}; };
request({ request({
url: `/api/scm/ContractL/getList`, url: `/api/scm/ContractL/getList`,
method: 'post', method: 'post',
data: _query data: _query
}).then(res => { }).then(res => {
var _list =res.data.list; var _list = res.data.list;
this.list = _list.map(o => ({ this.list = _list.map(o => ({
...o, ...o,
...this.expandObj, ...this.expandObj,
@ -567,10 +497,10 @@
}).catch(() => { }).catch(() => {
}); });
}, },
handelUpload(){ handelUpload() {
this.uploadBoxVisible = true this.uploadBoxVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.UploadBox.init("","scm/ContractL") this.$refs.UploadBox.init("", "scm/ContractL")
}) })
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
@ -617,11 +547,11 @@
this.listQuery.currentPage = 1 this.listQuery.currentPage = 1
this.initData() this.initData()
}, },
addOrUpdateHandle(row,flowState) { addOrUpdateHandle(row, flowState) {
if(!row){ if (!row) {
this.addHandle(); this.addHandle();
}else { } else {
this.updateHandle(row,flowState) this.updateHandle(row, flowState)
} }
}, },
exportData() { exportData() {
@ -631,7 +561,7 @@
}) })
}, },
download(data) { download(data) {
let query = {...data, ...this.listQuery, ...this.query,menuId:this.menuId} let query = { ...data, ...this.listQuery, ...this.query, menuId: this.menuId }
request({ request({
url: `/api/scm/ContractL/Actions/Export`, url: `/api/scm/ContractL/Actions/Export`,
method: 'post', method: 'post',
@ -644,14 +574,14 @@
}) })
}, },
search() { search() {
this.listQuery.currentPage=1 this.listQuery.currentPage = 1
this.listQuery.pageSize=20 this.listQuery.pageSize = 20
this.listQuery.sort="desc" this.listQuery.sort = "desc"
this.listQuery.sidx="" this.listQuery.sidx = ""
this.initData() this.initData()
}, },
// //
updateHandle(row,flowState) { updateHandle(row, flowState) {
let data = { let data = {
id: row.id, id: row.id,
flowId: row.flowId || this.flowList[0].id, flowId: row.flowId || this.flowList[0].id,
@ -711,5 +641,5 @@
if (isrRefresh) this.reset() if (isrRefresh) this.reset()
}, },
} }
} }
</script> </script>

Loading…
Cancel
Save