| 
					
				 | 
			
			
				@@ -99,7 +99,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <!-- 市价特价 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <template slot="cityPrice" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div  v-if="record.dataSourceOrigin=='1'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="record.dataSourceOrigin=='1'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <a-input-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             style="width:75%;" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -129,18 +129,18 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <!-- 特约特价 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <template slot="specialPrice" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       <div  v-if="record.dataSourceOrigin=='1'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         <a-input-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           style="width:75%;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           v-model="record.specialDiscountPrice" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           :min="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           :step="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           :precision="2" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           placeholder="请输入" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           :max="record.specialPrice" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           @blur="e=>calculatePrice(e.target.value,record.productScopeSn,'special')"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="record.dataSourceOrigin=='1'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-input-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="width:75%;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model="record.specialDiscountPrice" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :min="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :step="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :precision="2" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请输入" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :max="record.specialPrice" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @blur="e=>calculatePrice(e.target.value,record.productScopeSn,'special')"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span v-else>--</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <!-- 特约折扣 --> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -193,9 +193,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <a-button id="tableType1-add" type="primary" class="button-gray" @click="handleAddRow">+新增一行</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <!-- 选择产品品牌 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <chooseBrandModal :openModal="openBrandModal" :chooseData="chooseBrand" @close="openBrandModal=false" @ok="handleBrandOk" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <chooseBrandModal ref="brandBox" :openModal="openBrandModal" :chooseData="chooseBrand" @close="openBrandModal=false" @ok="handleBrandOk" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <!-- 选择产品分类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <chooseTypeModal :openModal="openTypeModal" :linkageStatus="false" :chooseData="chooseType" @close="openTypeModal=false" @ok="handleTypeOk" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <chooseTypeModal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ref="typeBox" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :openModal="openTypeModal" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :linkageStatus="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :chooseData="chooseType" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @close="openTypeModal=false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @ok="handleTypeOk" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -258,7 +264,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 新增产品 数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setSourceData (list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dataSource=this.dataSource.concat(list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataSource = this.dataSource.concat(list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 新增一行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleAddRow () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -268,7 +274,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           const newData = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             productScopeSn: res.data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dataSourceOrigin:'0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dataSourceOrigin: '0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             productTypeArr: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             productTypeList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             productBrandArr: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -289,6 +295,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     addClassifyTag (pos, row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.classifyTagIndex = pos 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.openTypeModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.chooseType = this.handleRowData(row) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const getArr = this.setTypeShowData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.typeBox.handleAllDisabled(getArr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleTypeOk (mainArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const classifyArr = [] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -336,8 +345,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 添加产品品牌 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     addBrandTag (pos, row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.brandTagIndex = pos 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.openBrandModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.brandTagIndex = pos 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 每行品牌都是唯一滴 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const dataList = _this.setShowData('Brand') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.openBrandModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const echoData = _this.handleEchoData('Brand', row.productBrandList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.chooseBrand = echoData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.$refs.brandBox.handleDisabled(dataList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleBrandOk (conList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const newConList = conList.map(con => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -348,6 +363,70 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.dataSource[this.brandTagIndex].productBrandArr = conList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.dataSource[this.brandTagIndex].productBrandList = newConList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 获取回显禁用数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setShowData (name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const snArr = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.dataSource.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (item['product' + name + 'List'] && item['product' + name + 'List'].length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item['product' + name + 'List'].forEach(con => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const newName = name === 'This' ? '' : name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            snArr.push(con['product' + newName + 'Sn']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return snArr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleEchoData (name, conArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      conArr.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name === 'This') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.code = item.productCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.goodsSn = item.productSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.goodsSn = item['product' + name + 'Sn'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return conArr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleRowData (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const echoData = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      row.productTypeList.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (const i in item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const newObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsSn: item[i] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (i === 'productTypeSn1') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newObj.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newObj.disableCheckbox = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          echoData.push(newObj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return echoData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setTypeShowData () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const snArr = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.dataSource.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (item.productTypeList && item.productTypeList.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.productTypeList.forEach(con => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (const i in con) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const newObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                goodsSn: con[i] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (i === 'productTypeSn1') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                newObj.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                newObj.disableCheckbox = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              snArr.push(newObj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return snArr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getResultVal () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const resultObj = JSON.parse(JSON.stringify(this.dataSource)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       resultObj.map(item => { 
			 |