Browse Source

自定义组件修改表单传参逻辑修改

lph 1 year ago
parent
commit
82beeb7d3b

+ 65 - 2
zkqy-ui/src/views/bussiness/dialogCompments/GongYi/GY01.vue

@@ -42,7 +42,7 @@
 <script>
 export default {
   name: "GY01",
-  props: [],
+  props: ["formData", "row"],
   components: {},
   data() {
     return {
@@ -52,6 +52,7 @@ export default {
         remark: "",
         yield: "",
       },
+      isEdite: false,
       rules: {
         name: [{ required: true, message: "请输入姓名", trigger: "blur" }],
         number: [
@@ -63,8 +64,70 @@ export default {
       },
     };
   },
-  computed: {},
+  computed: {
+    myFormData() {
+      return this.formData;
+    },
+  },
+  watch: {
+    myFormData: {
+      handler(nval) {
+        this.form = nval.resultMap;
+        this.isEdite = this.form.id ? true : false;
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
   methods: {
+    async submitHandler() {
+      let res = await this.$refs.form?.validate();
+      if (res) {
+        let payLoad = {};
+        let { ycl, zl } = this.form;
+        if (this.isEdit) {
+          let { taskKey, taskNodeKey } = this.myFormData.resultMap;
+          payLoad.updateCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "kucun",
+              },
+              conditionMap: {
+                task_key: taskKey,
+                task_node_key: taskNodeKey,
+              },
+              commMap: {
+                ycl,
+                zl,
+              },
+            },
+          ];
+        } else {
+          payLoad.insertCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "kucun",
+              },
+              addListMap: [
+                {
+                  ycl,
+                  zl,
+                  taskKey: this.row.benTaskProcessKey,
+                  taskNodeKey: this.row.benTaskNodeKey,
+                },
+              ],
+            },
+          ];
+        }
+        submitNodeForm(payLoad).then((response) => {
+          if (response.code == 200) {
+            this.$modal.msgSuccess("保存成功");
+          } else {
+            this.$modal.error("保存失败,请稍后再试");
+          }
+        });
+      }
+    },
     async getFormData() {
       let formData = {
         flag: false,

+ 11 - 2
zkqy-ui/src/views/bussiness/dialogCompments/GongYi/GY03.vue

@@ -151,7 +151,7 @@ export default {
               basicMap: {
                 tableName: "productionrecords",
               },
-              addListMap: [
+              /* addListMap: [
                 {
                   material_information: material,
                   process_information: technology,
@@ -159,7 +159,16 @@ export default {
                   taskKey: this.row.benTaskProcessKey,
                   taskNodeKey: this.row.benTaskNodeKey,
                 },
-              ],
+              ], */
+              conditionMap: {
+                taskKey: this.row.benTaskProcessKey,
+                taskNodeKey: this.row.benTaskNodeKey,
+              },
+              commMap: {
+                material_information: material,
+                process_information: technology,
+                actual_quantity: productionQuantity,
+              },
             },
           ];
         } else {

+ 8 - 3
zkqy-ui/src/views/bussiness/dialogCompments/GongYi/GY06.vue

@@ -51,11 +51,11 @@
             node: true,
             currentNode: item.nodeId == currentNodeKey,
           }"
-          v-for="item of nodeList"
+          v-for="(item, index) of nodeList"
           :key="item.num"
           @click="shiftNode(item)"
         >
-          <span class="num">>{{ item.num }}</span>
+          <span class="num">>{{ index + 1 }}</span>
           <span class="title">{{ item.nodeInfo.name }}</span>
           <span class="time">1分钟</span>
         </div>
@@ -127,7 +127,11 @@ export default {
         if (val?.bepTaskProcessXmlContent) {
           this.nodeList = getNodeSequence(
             xmlStr2XmlObj(val.bepTaskProcessXmlContent)
-          );
+          )?.filter((item) => item.nodeInfo.localName != "exceptionTask");
+          // this.nodeList = getNodeSequence(
+          //   xmlStr2XmlObj(val.bepTaskProcessXmlContent)
+          // );
+          console.log(this.nodeList);
         }
       },
       deep: true,
@@ -148,6 +152,7 @@ export default {
         flag: false,
         msg: "",
       };
+
       return {
         flag: true,
         data: this.resFormData,

+ 15 - 13
zkqy-ui/src/views/bussiness/dialogCompments/test-component/CaiGou/CG02.vue

@@ -9,7 +9,7 @@
           filterable
         >
           <el-option
-            v-for="item in formData.resultMap.goodsList"
+            v-for="item in form.goodsList"
             :key="item.goodsno"
             :label="item.goodsname"
             :value="item.goodsno"
@@ -22,7 +22,7 @@
       </el-form-item>
     </el-form>
     <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitHanfler">确 定</el-button>
+      <el-button type="primary" @click="submitHandler">确 定</el-button>
     </div>
   </div>
 </template>
@@ -47,9 +47,10 @@ export default {
     };
   },
   watch: {
-    myFormData: {
+    formData: {
       handler(nval) {
-        this.realFormData = nval;
+        console.log(nval);
+        this.form = nval?.resultMap;
       },
       deep: true,
       immediate: true,
@@ -59,25 +60,26 @@ export default {
   mounted() {},
 
   methods: {
-    async submitHanfler() {
+    async submitHandler() {
       let res = await this.$refs.form?.validate();
       if (res) {
         let payLoad = {};
         let { ycl, zl } = this.form;
         if (this.isEdit) {
+          let { taskKey, taskNodeKey } = this.formData.resultMap;
           payLoad.updateCommonEntityList = [
             {
               basicMap: {
                 tableName: "kucun",
               },
-              addListMap: [
-                {
-                  ycl,
-                  zl,
-                  taskKey: this.row.benTaskProcessKey,
-                  taskNodeKey: this.row.benTaskNodeKey,
-                },
-              ],
+              conditionMap: {
+                task_key: taskKey,
+                task_node_key: taskNodeKey,
+              },
+              commMap: {
+                ycl,
+                zl,
+              },
             },
           ];
         } else {

+ 20 - 17
zkqy-ui/src/views/bussiness/dialogCompments/test-component/CaiGou/CG1.vue

@@ -40,13 +40,6 @@
 </template>
 
 <script>
-// import {
-//   listCaigou,
-//   getCaigou,
-//   delCaigou,
-//   addCaigou,
-//   updateCaigou,
-// } from "@/api/system/caigou";
 import { submitNodeForm } from "@/api/bpmprocess/runDialogApi/index";
 export default {
   name: "CG1",
@@ -101,16 +94,26 @@ export default {
               basicMap: {
                 tableName: "caigou",
               },
-              addListMap: [
-                {
-                  ycl,
-                  gys,
-                  zl,
-                  dj,
-                  taskKey: this.row.benTaskProcessKey,
-                  taskNodeKey: this.row.benTaskNodeKey,
-                },
-              ],
+              // addListMap: [
+              //   {
+              //     ycl,
+              //     gys,
+              //     zl,
+              //     dj,
+              //     taskKey: this.row.benTaskProcessKey,
+              //     taskNodeKey: this.row.benTaskNodeKey,
+              //   },
+              // ],
+              conditionMap: {
+                taskKey: this.row.benTaskProcessKey,
+                taskNodeKey: this.row.benTaskNodeKey,
+              },
+              commMap: {
+                ycl,
+                gys,
+                zl,
+                dj,
+              },
             },
           ];
         } else {

+ 17 - 18
zkqy-ui/src/views/bussiness/dialogCompments/test-component/KuCun/KC02.vue

@@ -76,16 +76,6 @@ export default {
       deep: true,
       immediate: true,
     },
-    // "myFormData.resultMap.goods": {
-    //   handler(nval) {
-    //     console.log("object", nval);
-    //     if (nval.length == 1) {
-    //       this.form.goodsno = nval[0].id + "";
-    //       console.log(this.form.goodsno);
-    //       this.disable = true;
-    //     }
-    //   },
-    // },
   },
   computed: {
     myFormData() {
@@ -133,19 +123,28 @@ export default {
         let payLoad = {};
         let { goodsno, quantitystock } = this.form;
         if (this.isEdit) {
+          let { taskKey, taskNodeKey } = this.myFormData.resultMap;
           payLoad.updateCommonEntityList = [
             {
               basicMap: {
                 tableName: "warehouse",
               },
-              addListMap: [
-                {
-                  goodsno,
-                  quantitystock,
-                  taskKey: this.row.benTaskProcessKey,
-                  taskNodeKey: this.row.benTaskNodeKey,
-                },
-              ],
+              // addListMap: [
+              //   {
+              //     goodsno,
+              //     quantitystock,
+              //     taskKey: this.row.benTaskProcessKey,
+              //     taskNodeKey: this.row.benTaskNodeKey,
+              //   },
+              // ],
+              conditionMap: {
+                task_key: taskKey,
+                task_node_key: taskNodeKey,
+              },
+              commMap: {
+                goodsno,
+                quantitystock,
+              },
             },
           ];
         } else {

+ 0 - 8
zkqy-ui/src/views/bussiness/dialogCompments/test-component/KuCun/KC1.vue

@@ -21,14 +21,6 @@
 </template>
 
 <script>
-// import {
-//   listCaigou,
-//   getCaigou,
-//   delCaigou,
-//   addCaigou,
-//   updateCaigou,
-// } from "@/api/system/caigou";
-
 export default {
   name: "CG1",
   data() {

+ 8 - 3
zkqy-ui/src/views/bussiness/processMange.vue

@@ -306,6 +306,7 @@ export default {
 
       // 弹窗表单渲染数据
       formData: {},
+      backExceptionTaskList: ["GY06"], //特殊回退表单组件列表
     };
   },
   computed: {},
@@ -350,8 +351,8 @@ export default {
       //   default:
       //     break;
       // }
-      let temp = await this.$refs.myFormRef.getFormData();
-      if (!temp.flag) {
+      let temp = await this.$refs.myFormRef?.getFormData();
+      if (!temp?.flag) {
         this.$message.error(temp.msg);
         return {};
       } else {
@@ -467,6 +468,11 @@ export default {
         // taskProcessXmlContent: this.row.bepTaskProcessXmlContent, //当前流程xml
         tableName: this.tableName,
         formDataMap: JSON.stringify(formData), //自定义表单组件收集的表单数据
+        taskNodeType: this.backExceptionTaskList.includes(
+          this.row.benTaskNodeFormKey
+        )
+          ? "backExceptionTask"
+          : this.row.benTaskNodeType,
       };
       let fileXML = new File(
         [this.row.bepTaskProcessXmlContent],
@@ -487,7 +493,6 @@ export default {
           this.open = false;
         }
       });
-      console.log(payLoad);
     },
     // 获取拖拽表单数据
     async getDragFormInfo(fid) {

+ 20 - 4
zkqy-ui/src/views/tableMange/components/StyleFormPanel.vue

@@ -187,7 +187,9 @@
                   :label="item.tableComment"
                   :value="item.tableName"
                 >
-                  <span style="float: left">{{ item.tableComment }}</span>
+                  <span class="discribe" style="float: left">{{
+                    item.tableComment
+                  }}</span>
                   <span style="float: right; color: #8492a6; font-size: 13px">{{
                     item.tableName
                   }}</span>
@@ -208,7 +210,9 @@
                   :label="item.fieldDescription"
                   :value="item.fieldName"
                 >
-                  <span style="float: left">{{ item.fieldDescription }}</span>
+                  <span class="discribe" style="float: left">{{
+                    item.fieldDescription
+                  }}</span>
                   <span style="float: right; color: #8492a6; font-size: 13px">{{
                     item.fieldName
                   }}</span>
@@ -250,7 +254,9 @@
                     :label="item.tableComment"
                     :value="item.tableName"
                   >
-                    <span style="float: left">{{ item.tableComment }}</span>
+                    <span class="discribe" style="float: left">{{
+                      item.tableComment
+                    }}</span>
                     <span
                       style="float: right; color: #8492a6; font-size: 13px"
                       >{{ item.tableName }}</span
@@ -268,7 +274,9 @@
                     :label="item.fieldDescription"
                     :value="item.fieldName"
                   >
-                    <span style="float: left">{{ item.fieldDescription }}</span>
+                    <span class="discribe" style="float: left">{{
+                      item.fieldDescription
+                    }}</span>
                     <span
                       style="float: right; color: #8492a6; font-size: 13px"
                       >{{ item.fieldName }}</span
@@ -704,4 +712,12 @@ export default {
     }
   }
 }
+
+.discribe {
+  display: block;
+  max-width: 200px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
 </style>

+ 11 - 2
zkqy-ui/src/views/tableMange/index.vue

@@ -26,7 +26,9 @@
               :label="item.tableComment"
               :value="item.tableName"
             >
-              <span style="float: left">{{ item.tableComment }}</span>
+              <span class="discribe" style="float: left">{{
+                item.tableComment
+              }}</span>
               <span style="float: right; color: #8492a6; font-size: 13px">{{
                 item.tableName
               }}</span>
@@ -621,7 +623,7 @@
               :label="item.fieldName"
               :value="item.tableName + '.' + item.fieldName"
             >
-              <span style="float: left; margin-right: 5px"
+              <span class="discribe" style="float: left; margin-right: 5px"
                 >{{ isShowTableName }}
               </span>
               <span style="float: right; color: #8492a6; font-size: 13px">{{
@@ -1890,6 +1892,13 @@ export default {
 </script>
 
 <style scoped lang="scss">
+.discribe {
+  display: block;
+  max-width: 200px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
 .ipt {
   height: 36px;
   line-height: 36px;