diff --git a/jshERP-web/src/views/material/modules/MaterialAttributeModal.vue b/jshERP-web/src/views/material/modules/MaterialAttributeModal.vue index a53b86eb..6b6724cb 100644 --- a/jshERP-web/src/views/material/modules/MaterialAttributeModal.vue +++ b/jshERP-web/src/views/material/modules/MaterialAttributeModal.vue @@ -27,7 +27,7 @@ - + diff --git a/jshERP-web/src/views/material/modules/MaterialModal.vue b/jshERP-web/src/views/material/modules/MaterialModal.vue index 7d299796..11fa968c 100644 --- a/jshERP-web/src/views/material/modules/MaterialModal.vue +++ b/jshERP-web/src/views/material/modules/MaterialModal.vue @@ -16,7 +16,7 @@ - + @@ -155,6 +155,16 @@ + + + + + {{ item.name }} + + + +
{ (array.indexOf(item.value) === -1)?Vue.set(array[index], 'disabled', false):'' }) @@ -768,10 +780,11 @@ (value.indexOf(item.value) === -1)?Vue.set(array[index], 'disabled', true):'' }) } - //更新属性1和属性2的下拉框 - if(value.length <= 2) { + //更新属性1和属性2和属性3的下拉框 + if(value.length <= 3) { let skuOneId = value[0] let skuTwoId = value[1] + let skuThreeId = value[2] this.materialAttributeList.forEach(item => { if(item.value === skuOneId) { this.skuOneTitle = item.name @@ -779,6 +792,9 @@ if(item.value === skuTwoId) { this.skuTwoTitle = item.name } + if(item.value === skuThreeId) { + this.skuThreeTitle = item.name + } }) getMaterialAttributeValueListById({'id': skuOneId}).then((res)=>{ if(res) { @@ -790,6 +806,11 @@ this.skuTwoList = res } }) + getMaterialAttributeValueListById({'id': skuThreeId}).then((res)=>{ + if(res) { + this.skuThreeList = res + } + }) } //控制条码列表中的多属性列 if(value.length>0) { @@ -803,25 +824,48 @@ onSkuChange() { let skuOneData = this.form.getFieldValue('skuOne') let skuTwoData = this.form.getFieldValue('skuTwo') - this.autoSkuList(skuOneData, skuTwoData) + let skuThreeData = this.form.getFieldValue('skuThree') + this.autoSkuList(skuOneData, skuTwoData, skuThreeData) }, onSkuOneDeSelect(value) { let skuOneData = this.form.getFieldValue('skuOne') let skuTwoData = this.form.getFieldValue('skuTwo') + let skuThreeData = this.form.getFieldValue('skuThree') removeByVal(skuOneData, value) - this.autoSkuList(skuOneData, skuTwoData) + this.autoSkuList(skuOneData, skuTwoData, skuThreeData) }, onSkuTwoDeSelect(value) { let skuOneData = this.form.getFieldValue('skuOne') let skuTwoData = this.form.getFieldValue('skuTwo') + let skuThreeData = this.form.getFieldValue('skuThree') removeByVal(skuTwoData, value) - this.autoSkuList(skuOneData, skuTwoData) + this.autoSkuList(skuOneData, skuTwoData, skuThreeData) }, - autoSkuList(skuOneData, skuTwoData) { + onSkuThreeDeSelect(value) { + let skuOneData = this.form.getFieldValue('skuOne') + let skuTwoData = this.form.getFieldValue('skuTwo') + let skuThreeData = this.form.getFieldValue('skuThree') + removeByVal(skuThreeData, value) + this.autoSkuList(skuOneData, skuTwoData, skuThreeData) + }, + autoSkuList(skuOneData, skuTwoData, skuThreeData) { let unit = this.form.getFieldValue('unit') if(unit) { //计算多属性已经选择了几个 - let count = this.getNumByField('skuOne') + this.getNumByField('skuTwo') + let skuArr = [] + if(this.getNumByField('skuOne')) { + skuArr.push(skuOneData) + } + if(this.getNumByField('skuTwo')) { + skuArr.push(skuTwoData) + } + if(this.getNumByField('skuThree')) { + skuArr.push(skuThreeData) + } + let skuArrOne = skuArr[0] + let skuArrTwo = skuArr[1] + let skuArrThree = skuArr[2] + let count = this.getNumByField('skuOne') + this.getNumByField('skuTwo') + this.getNumByField('skuThree') let barCodeSku = [] if(count === 1) { let skuArrOnly = [] @@ -829,23 +873,24 @@ skuArrOnly = skuOneData } else if(this.getNumByField('skuTwo')) { skuArrOnly = skuTwoData + } else if(this.getNumByField('skuThree')) { + skuArrOnly = skuThreeData } 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]) + barCodeSku.push(skuArrOne[i] + '/' + skuArrTwo[j]) + } + } + } else if(count === 3) { + for (let i = 0; i < skuArrOne.length; i++) { + for (let j = 0; j < skuArrTwo.length; j++) { + for (let k = 0; k < skuArrThree.length; k++) { + barCodeSku.push(skuArrOne[i] + '/' + skuArrTwo[j] + '/' + skuArrThree[k]) + } } } }