Kaynağa Gözat

修复规则选择不显示的问题

695593266@qq.com 10 ay önce
ebeveyn
işleme
f8dd4feee4

+ 2 - 2
src/views/rulesManagement/matterRules/components/ProductModal.vue

@@ -264,13 +264,13 @@
           };
         });
 
-        this.$emit('chooseModal', _arr);
+        this.$emit('chooseModal', ..._arr, this.receiveIndex);
         this.handleClose();
       },
       chooseRadio(row) {
         console.log(row, '勾选');
         this.visible = false;
-        this.$emit('chooseRadio', row,this.rowDataBom);
+        this.$emit('chooseRadio', row, this.rowDataBom);
       }
     }
   };

+ 44 - 1
src/views/rulesManagement/matterRules/components/matter-add.vue

@@ -247,7 +247,11 @@
     </ele-modal>
     <operation-guideDialog ref="operationGuideDialog" @save="saveEdit" />
     <!-- 零部件 -->
-    <ProductModal ref="productRefs" @chooseRadio="chooseRadio" />
+    <ProductModal
+      ref="productRefs"
+      @chooseRadio="chooseRadio"
+      @chooseModal="chooseModal"
+    />
   </div>
 </template>
 <script>
@@ -582,7 +586,46 @@
           this.$message.error('请添加事项内容!');
         }
       },
+
+      chooseModal(clickBomData, index) {
+        console.log(this.formData, '开始');
+        console.log(clickBomData, 'clickBomData');
+        this.formData.ruleItems[index] = clickBomData;
+        this.formData.ruleItems[index].categoryCode = clickBomData.code;
+        this.formData.ruleItems[index].categoryName = clickBomData.name;
+        const data = deepClone(this.formData);
+        this.formData = data;
+        // this.$set(this, 'formData', this.formData);
+        // this.$refs.contentConfigForm &&
+        //   this.$refs.contentConfigForm.resetFields();
+        // this.$refs.multipleTable.setData(this.formData.ruleItems);
+        // this.$set(
+        //   this.formData.ruleItems[index],
+        //   'categoryCode',
+        //   clickBomData.code
+        // );
+        // this.$set(
+        //   this.formData.ruleItems[index],
+        //   'categoryName',
+        //   clickBomData.name
+        // );
+        // this.$set()
+        // this.$forceUpdate();
+
+        console.log(data, '结束');
+
+        // const findex = val[0].findex;
+        // const items = val.map((item) => ({
+        //   ...this.formData.ruleItems[findex],
+        //   categoryCode: item.code,
+        //   categoryName: item.name
+        // }));
+        // this.formData.ruleItems.splice(findex + 1, 0, ...items);
+        // this.formData.ruleItems.splice(findex, 1);
+      },
+
       chooseRadio(val, clickBomData) {
+        console.log(val, clickBomData, 'val, clickBomData');
         if (val.length > 0) {
           console.log('clickBomData--------------------', clickBomData);
 

+ 1 - 1
src/views/rulesManagement/matterRules/components/operationGuideDialog.vue

@@ -179,7 +179,7 @@
       },
 
       chooseModal(data) {
-        this.form.toolList = [...this.form.toolList, ...data];
+        this.form.toolList = [...this.form.toolList, data];
       },
 
       removeItem(idx, row) {