From 90f1afc1f62965c6b0901921c1fc13331f15c105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Sat, 5 Nov 2022 16:47:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81=E5=A4=9Ask?= =?UTF-8?q?u=E7=9A=84=E9=80=89=E6=8B=A9=E9=A1=B5=E9=9D=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/material/modules/MaterialModal.vue | 137 +++++++++--------- 1 file changed, 72 insertions(+), 65 deletions(-) diff --git a/jshERP-web/src/views/material/modules/MaterialModal.vue b/jshERP-web/src/views/material/modules/MaterialModal.vue index 26536d67..2dba6e73 100644 --- a/jshERP-web/src/views/material/modules/MaterialModal.vue +++ b/jshERP-web/src/views/material/modules/MaterialModal.vue @@ -133,31 +133,24 @@ - - - - - - {{ item.name }} - - - + + + + + {{ item.name }} + + - - - - - - {{ item.name }} - - - - - - - - + + + + + {{ item.name }} + + @@ -277,7 +270,7 @@ import { FormTypes, getRefPromise, VALIDATE_NO_PASSED, validateFormAndTables } from '@/utils/JEditableTableUtil' import { checkMaterial, checkMaterialBarCode, getMaterialAttributeNameList, getMaterialAttributeValueListById, getMaxBarCode, queryMaterialCategoryTreeList } from '@/api/api' - import { autoJumpNextInput, handleIntroJs } from '@/utils/util' + import { removeByVal, autoJumpNextInput, handleIntroJs } from '@/utils/util' import { getAction, httpAction } from '@/api/manage' import JImageUpload from '@/components/jeecg/JImageUpload' import JDate from '@/components/jeecg/JDate' @@ -778,52 +771,66 @@ this.barCodeSwitch = false; this.meTable.dataSource = [] }, - onBarCodeChange(checked) { + onSkuChange() { + let skuOneData = this.form.getFieldValue('skuOne') + let skuTwoData = this.form.getFieldValue('skuTwo') + this.autoSkuList(skuOneData, skuTwoData) + }, + onSkuOneDeSelect(value) { + let skuOneData = this.form.getFieldValue('skuOne') + let skuTwoData = this.form.getFieldValue('skuTwo') + removeByVal(skuOneData, value) + this.autoSkuList(skuOneData, skuTwoData) + }, + onSkuTwoDeSelect(value) { + let skuOneData = this.form.getFieldValue('skuOne') + let skuTwoData = this.form.getFieldValue('skuTwo') + removeByVal(skuTwoData, value) + this.autoSkuList(skuOneData, skuTwoData) + }, + autoSkuList(skuOneData, skuTwoData) { let unit = this.form.getFieldValue('unit') if(unit) { - if(checked){ - //计算多属性已经选择了几个 - let count = this.getNumByField('skuOne') + this.getNumByField('skuTwo') - let barCodeSku = [] - if(count === 1) { - let skuArr = [] - if(this.getNumByField('skuOne')) { - skuArr.push(this.form.getFieldValue('skuOne')) - } - let skuArrOne = skuArr[0] - for (let i = 0; i < skuArrOne.length; i++) { - barCodeSku.push(skuArrOne[i]) - } - } else if(count === 2) { - let skuArr = [] - if(this.getNumByField('skuOne')) { - skuArr.push(this.form.getFieldValue('skuOne')) - } - if(this.getNumByField('skuTwo')) { - skuArr.push(this.form.getFieldValue('skuTwo')) - } - let skuArrOne = skuArr[0] - let skuArrTwo = skuArr[1] - for (let i = 0; i < skuArrOne.length; i++) { - for (let j = 0; j < skuArrTwo.length; j++) { - barCodeSku.push(skuArrOne[i] + ',' + skuArrTwo[j]) - } + //计算多属性已经选择了几个 + let count = this.getNumByField('skuOne') + this.getNumByField('skuTwo') + let barCodeSku = [] + if(count === 1) { + let skuArrOnly = [] + if(this.getNumByField('skuOne')) { + skuArrOnly = skuOneData + } else if(this.getNumByField('skuTwo')) { + skuArrOnly = skuTwoData + } + for (let i = 0; i < skuArrOnly.length; i++) { + barCodeSku.push(skuArrOnly[i]) + } + } else if(count === 2) { + let skuArr = [] + if(this.getNumByField('skuOne')) { + skuArr.push(skuOneData) + } + if(this.getNumByField('skuTwo')) { + skuArr.push(skuTwoData) + } + let skuArrOne = skuArr[0] + let skuArrTwo = skuArr[1] + for (let i = 0; i < skuArrOne.length; i++) { + for (let j = 0; j < skuArrTwo.length; j++) { + barCodeSku.push(skuArrOne[i] + ',' + skuArrTwo[j]) } } - let meTableData = [] - getMaxBarCode({}).then((res)=>{ - if(res && res.code===200) { - let maxBarCode = res.data.barCode-0 - for (let i = 0; i < barCodeSku.length; i++) { - let currentBarCode = maxBarCode + i + 1 - meTableData.push({barCode: currentBarCode, commodityUnit: unit, sku: barCodeSku[i]}) - } - this.meTable.dataSource = meTableData - } - }) - } else { - this.meTable.dataSource = [] } + let meTableData = [] + getMaxBarCode({}).then((res)=>{ + if(res && res.code===200) { + let maxBarCode = res.data.barCode-0 + for (let i = 0; i < barCodeSku.length; i++) { + let currentBarCode = maxBarCode + i + 1 + meTableData.push({barCode: currentBarCode, commodityUnit: unit, sku: barCodeSku[i]}) + } + this.meTable.dataSource = meTableData + } + }) } else { this.$message.warning('请填写单位(注意不要勾选多单位)'); this.barCodeSwitch = false;