Browse Source

印品修改

zhangjie 2 years ago
parent
commit
68c7ba6e1a

+ 37 - 12
src/modules/base/components/ModifyExamConfigDetail.vue

@@ -505,22 +505,47 @@ export default {
             backupCount: item.backupCount
           };
         };
-        this.modalForm.variableContent = JSON.parse(val.variableContent).map(
-          transformInfo
-        );
-        this.modalForm.ordinaryContent = JSON.parse(val.ordinaryContent).map(
-          transformInfo
-        );
+        const initModalFormContent = deepCopy(initModalForm);
+        const variableContent = JSON.parse(val.variableContent);
+        const variableContentTypes = variableContent.map(item => item.type);
+        this.modalForm.variableContent = [];
+        initModalFormContent.variableContent.forEach(item => {
+          if (variableContentTypes.includes(item.type)) {
+            const vitem = variableContent.find(cont => cont.type === item.type);
+            this.modalForm.variableContent.push(transformInfo(vitem));
+            return;
+          }
+          if (this.templateSources[item.type]) {
+            this.modalForm.variableContent.push(item);
+            return;
+          }
+        });
+
+        const ordinaryContent = JSON.parse(val.ordinaryContent);
+        const ordinaryContentTypes = ordinaryContent.map(item => item.type);
+        this.modalForm.ordinaryContent = [];
+        initModalFormContent.ordinaryContent.forEach(item => {
+          if (ordinaryContentTypes.includes(item.type)) {
+            const vitem = ordinaryContent.find(cont => cont.type === item.type);
+            this.modalForm.ordinaryContent.push(transformInfo(vitem));
+            return;
+          }
+          if (this.templateSources[item.type]) {
+            this.modalForm.ordinaryContent.push(item);
+            return;
+          }
+        });
+
         this.modalForm.printContent = JSON.parse(val.printContent);
         this.modalForm.orgIds = val.orgs.map(item => item.id);
       } else {
         let modalForm = this.$objAssign(deepCopy(initModalForm), val);
-        // modalForm.variableContent = modalForm.variableContent.filter(
-        //   item => this.templateSources[item.type]
-        // );
-        // modalForm.ordinaryContent = modalForm.ordinaryContent.filter(
-        //   item => this.templateSources[item.type]
-        // );
+        modalForm.variableContent = modalForm.variableContent.filter(
+          item => this.templateSources[item.type]
+        );
+        modalForm.ordinaryContent = modalForm.ordinaryContent.filter(
+          item => this.templateSources[item.type]
+        );
         this.modalForm = modalForm;
       }
 

+ 37 - 8
src/modules/print/components/ModifyPrintPlan.vue

@@ -565,8 +565,37 @@ export default {
             backupCount: item.backupCount
           };
         };
-        this.modalForm.variableContent = val.variableContent.map(transformInfo);
-        this.modalForm.ordinaryContent = val.ordinaryContent.map(transformInfo);
+        const initModalFormContent = deepCopy(initModalForm);
+        const variableContent = JSON.parse(val.variableContent);
+        const variableContentTypes = variableContent.map(item => item.type);
+        this.modalForm.variableContent = [];
+        initModalFormContent.variableContent.forEach(item => {
+          if (variableContentTypes.includes(item.type)) {
+            const vitem = variableContent.find(cont => cont.type === item.type);
+            this.modalForm.variableContent.push(transformInfo(vitem));
+            return;
+          }
+          if (this.templateSources[item.type]) {
+            this.modalForm.variableContent.push(item);
+            return;
+          }
+        });
+
+        const ordinaryContent = JSON.parse(val.ordinaryContent);
+        const ordinaryContentTypes = ordinaryContent.map(item => item.type);
+        this.modalForm.ordinaryContent = [];
+        initModalFormContent.ordinaryContent.forEach(item => {
+          if (ordinaryContentTypes.includes(item.type)) {
+            const vitem = ordinaryContent.find(cont => cont.type === item.type);
+            this.modalForm.ordinaryContent.push(transformInfo(vitem));
+            return;
+          }
+          if (this.templateSources[item.type]) {
+            this.modalForm.ordinaryContent.push(item);
+            return;
+          }
+        });
+
         this.modalForm.printContent = val.printContent
           ? val.printContent.split(",")
           : [];
@@ -574,12 +603,12 @@ export default {
       } else {
         this.allSelected = false;
         let modalForm = deepCopy(initModalForm);
-        // modalForm.variableContent = modalForm.variableContent.filter(
-        //   item => this.templateSources[item.type]
-        // );
-        // modalForm.ordinaryContent = modalForm.ordinaryContent.filter(
-        //   item => this.templateSources[item.type]
-        // );
+        modalForm.variableContent = modalForm.variableContent.filter(
+          item => this.templateSources[item.type]
+        );
+        modalForm.ordinaryContent = modalForm.ordinaryContent.filter(
+          item => this.templateSources[item.type]
+        );
         this.modalForm = modalForm;
         this.createTime = [];
       }