|
|
@@ -283,13 +283,42 @@
|
|
|
placeholder="请输入"
|
|
|
type="number"
|
|
|
@input="getNotaxSinglePrice"
|
|
|
-
|
|
|
>
|
|
|
<template slot="append">%</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
-
|
|
|
+ <template v-slot:modelKey="scope">
|
|
|
+ <el-form-item :prop="'datasource.' + scope.$index + '.' + 'modelKey'">
|
|
|
+ <DictSelection
|
|
|
+ dictName="物品机型"
|
|
|
+ clearable
|
|
|
+ v-model="scope.row.modelKey"
|
|
|
+ :isOne="scope.$index === 0"
|
|
|
+ :key="scope.$index + '物品机型'"
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ allow-create
|
|
|
+ default-first-option
|
|
|
+ >
|
|
|
+ </DictSelection>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ <template v-slot:colorKey="scope">
|
|
|
+ <el-form-item :prop="'datasource.' + scope.$index + '.' + 'colorKey'">
|
|
|
+ <DictSelection
|
|
|
+ dictName="物品颜色"
|
|
|
+ clearable
|
|
|
+ v-model="scope.row.colorKey"
|
|
|
+ :isOne="scope.$index === 0"
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ allow-create
|
|
|
+ default-first-option
|
|
|
+ >
|
|
|
+ </DictSelection>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
<template v-slot:headerSinglePrice="{ column }">
|
|
|
<span :class="isSinglePrice ? 'is-required' : ''">{{
|
|
|
column.label
|
|
|
@@ -541,7 +570,6 @@
|
|
|
<el-form-item
|
|
|
style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.' + countObj.unitIdKey"
|
|
|
-
|
|
|
>
|
|
|
<el-select
|
|
|
v-model="scope.row[countObj.unitIdKey]"
|
|
|
@@ -605,6 +633,7 @@
|
|
|
import { pricingWayList, lbjtList } from '@/enum/dict.js';
|
|
|
import { changeCount, getAllPrice } from '@/BIZComponents/setProduct.js';
|
|
|
import { getInventoryTotalAPI } from '@/api/bpm/components/wms/index.js';
|
|
|
+ import { copyObj } from '@/utils/util';
|
|
|
// import taskinstanceDialog from '@/BIZComponents/procedure/taskinstanceDialog.vue';
|
|
|
|
|
|
const dayjs = require('dayjs');
|
|
|
@@ -805,6 +834,20 @@
|
|
|
slot: 'specification',
|
|
|
align: 'center'
|
|
|
},
|
|
|
+ {
|
|
|
+ width: 160,
|
|
|
+ prop: 'modelKey',
|
|
|
+ label: '机型',
|
|
|
+ slot: 'modelKey',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ width: 160,
|
|
|
+ prop: 'colorKey',
|
|
|
+ label: '颜色',
|
|
|
+ slot: 'colorKey',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'imgCode',
|
|
|
@@ -914,7 +957,7 @@
|
|
|
showOverflowTooltip: true,
|
|
|
minWidth: 200
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'singleWeight',
|
|
|
@@ -1008,16 +1051,18 @@
|
|
|
headerSlot: 'headerCustomerExpectDeliveryDeadline',
|
|
|
align: 'center'
|
|
|
},
|
|
|
- this.contractBookType==1?{
|
|
|
- width: 160,
|
|
|
- prop: 'produceDeliveryDeadline',
|
|
|
- label: '生产交付交期',
|
|
|
- slot: 'produceDeliveryDeadline',
|
|
|
- headerSlot: 'headerProduceDeliveryDeadline',
|
|
|
- align: 'center'
|
|
|
- }:{
|
|
|
- width: 1,
|
|
|
- },
|
|
|
+ this.contractBookType == 1
|
|
|
+ ? {
|
|
|
+ width: 160,
|
|
|
+ prop: 'produceDeliveryDeadline',
|
|
|
+ label: '生产交付交期',
|
|
|
+ slot: 'produceDeliveryDeadline',
|
|
|
+ headerSlot: 'headerProduceDeliveryDeadline',
|
|
|
+ align: 'center'
|
|
|
+ }
|
|
|
+ : {
|
|
|
+ width: 1
|
|
|
+ },
|
|
|
|
|
|
{
|
|
|
width: 200,
|
|
|
@@ -1027,16 +1072,18 @@
|
|
|
// headerSlot: 'headerCustomerExpectDeliveryDeadline',
|
|
|
align: 'center'
|
|
|
},
|
|
|
- this.isGuaranteePeriod?{
|
|
|
- width: 200,
|
|
|
- prop: 'guaranteePeriodDeadline',
|
|
|
- label: '有效期截止日期',
|
|
|
- slot: 'guaranteePeriodDeadline',
|
|
|
- show: this.isGuaranteePeriod,
|
|
|
- align: 'center'
|
|
|
- }:{
|
|
|
- width:1
|
|
|
- },
|
|
|
+ this.isGuaranteePeriod
|
|
|
+ ? {
|
|
|
+ width: 200,
|
|
|
+ prop: 'guaranteePeriodDeadline',
|
|
|
+ label: '有效期截止日期',
|
|
|
+ slot: 'guaranteePeriodDeadline',
|
|
|
+ show: this.isGuaranteePeriod,
|
|
|
+ align: 'center'
|
|
|
+ }
|
|
|
+ : {
|
|
|
+ width: 1
|
|
|
+ },
|
|
|
|
|
|
{
|
|
|
width: 220,
|
|
|
@@ -1199,7 +1246,7 @@
|
|
|
},
|
|
|
// 返回列表数据
|
|
|
getTableValue() {
|
|
|
- let comitDatasource = this.form.datasource;
|
|
|
+ let comitDatasource = copyObj(this.form.datasource);
|
|
|
if (comitDatasource.length === 0) return [];
|
|
|
comitDatasource.forEach((v) => {
|
|
|
if (v.guaranteePeriodUnitCode) {
|
|
|
@@ -1208,6 +1255,12 @@
|
|
|
v.guaranteePeriodUnitCode
|
|
|
);
|
|
|
}
|
|
|
+ if (v.modelKey) {
|
|
|
+ v.modelKey = v.modelKey.toString();
|
|
|
+ }
|
|
|
+ if (v.colorKey) {
|
|
|
+ v.colorKey = v.colorKey.toString();
|
|
|
+ }
|
|
|
v.technicalDrawings = v.technicalDrawings ? v.technicalDrawings : [];
|
|
|
v.customerReqFiles = v.customerReqFiles || [];
|
|
|
v.industryArtFiles = v.industryArtFiles || [];
|
|
|
@@ -1281,6 +1334,12 @@
|
|
|
[];
|
|
|
if (productList) {
|
|
|
productList.forEach((item) => {
|
|
|
+ if (item.modelKey) {
|
|
|
+ item.modelKey = item.modelKey.split(',');
|
|
|
+ }
|
|
|
+ if (item.colorKey) {
|
|
|
+ item.colorKey = item.colorKey.split(',');
|
|
|
+ }
|
|
|
item.guaranteePeriodUnitCode = item.guaranteePeriodUnitCode
|
|
|
? item.guaranteePeriodUnitCode + ''
|
|
|
: '';
|
|
|
@@ -1301,7 +1360,6 @@
|
|
|
}
|
|
|
});
|
|
|
this.form.datasource = productList;
|
|
|
-
|
|
|
|
|
|
let codeList = this.form.datasource
|
|
|
.filter((item) => item.productCode)
|
|
|
@@ -1322,7 +1380,7 @@
|
|
|
find.availableCountBase
|
|
|
);
|
|
|
});
|
|
|
- if (this.isChangeCount) {
|
|
|
+ if (this.isChangeCount) {
|
|
|
this.changeCount();
|
|
|
} else {
|
|
|
this.allPrice = data.totalAmount || data?.contractVO?.totalPrice;
|
|
|
@@ -1378,7 +1436,12 @@
|
|
|
this.$set(parasm, 'weightUnit', item.weightUnit);
|
|
|
this.$set(parasm, 'singleWeight', item.netWeight);
|
|
|
this.$set(parasm, 'pricingWay', item.pricingWay || 1);
|
|
|
-
|
|
|
+ if (item.modelKey) {
|
|
|
+ this.$set(parasm, 'modelKey', item.modelKey.split(','));
|
|
|
+ }
|
|
|
+ if (item.colorKey) {
|
|
|
+ this.$set(parasm, 'colorKey', item.colorKey.split(','));
|
|
|
+ }
|
|
|
this.$set(parasm, 'imgCode', item.imgCode);
|
|
|
this.$set(parasm, 'produceType', item.produceType);
|
|
|
this.$set(parasm, 'approvalNumber', item.extField.approvalNumber);
|