{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\form\\FormPrintTemplateManager.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\form\\FormPrintTemplateManager.vue","mtime":1675071992913},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport { mapState } from \"vuex\";\r\nimport { Loading } from \"element-ui\";\r\nimport utils from \"@/hotent-ui-util.js\";\r\nimport req from \"@/request.js\";\r\nimport form from \"@/api/form.js\";\r\nconst EipSysTypeSelector = () => import(\"@/components/selector/EipSysTypeSelector.vue\");\r\nconst FormDesigner = () => import(\"@/components/form/FormDesigner.vue\");\r\n\r\nexport default {\r\n  name: \"FormPrintTemlateManager\",\r\n  props: {\r\n    formKey: {\r\n      type: String,\r\n      required: true\r\n    },\r\n    visible: {\r\n      type: Boolean\r\n    },\r\n    formRow:{\r\n      type: Object\r\n    }\r\n  },\r\n  components: {\r\n    EipSysTypeSelector,\r\n    FormDesigner\r\n  },\r\n  data() {\r\n    return {\r\n      selecRow:{},\r\n      scriptStr:\"\",\r\n      scriptStrDialog:false,\r\n      dialogSaveCopyVisible: false,\r\n      formEditorDialogVisible: false,\r\n      formId: null,\r\n      formDefId: null,\r\n      bpmForm: {\r\n        formKey: \"\",\r\n        bos: \"\",\r\n        desc: \"\"\r\n      },\r\n      newForm: { id: \"\", name: \"\", formKey: \"\", typeId: \"\", typeName: \"\" },\r\n      oldForm:{},\r\n      data: [],\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0\r\n      },\r\n      cmOptions2: {\r\n        value: \"\",\r\n        mode: \"groovy\",\r\n        readOnly: false,\r\n        smartIndent:true,\r\n        tabSize: 1,\r\n        theme: 'base16-light',\r\n        lineNumbers: true,\r\n        line: true,\r\n      },\r\n    };\r\n  },\r\n  computed: {\r\n    ...mapState({\r\n      currentUser: state => state.login.currentUser,\r\n      header: state => {\r\n        return { Authorization: `Bearer ${state.login.currentUser.token}` };\r\n      },\r\n      actionUrl: function() {\r\n        return `${window.context.portal}/file/v1/upload`;\r\n      },\r\n      formDeleteUrl: function() {\r\n        return `${window.context.form}/form/printTemplate/v1/removes`;\r\n      }\r\n    })\r\n  },\r\n  mounted() {\r\n    this.$validator = this.$root.$validator;\r\n    this.$root.$emit(\"resize\");\r\n    this.oldForm = this.formRow;\r\n  },\r\n  methods: {\r\n    updateScriptStr(){\r\n      this.selecRow.scriptStr=this.scriptStr;\r\n      req.request({\"url\":\"${form}/form/printTemplate/v1/\",\"data\":this.selecRow,\"method\":\"PUT\"}).then(res => {\r\n        if(res.data.state){\r\n            this.$message({\r\n              message: '保存成功',\r\n              type: 'success'\r\n            });\r\n        }else{\r\n           this.$message.error('保存失败');\r\n        }\r\n\r\n        this.scriptStrDialog=false;\r\n      });\r\n    },\r\n    downloadTemplate(){\r\n      window.location.href = window.context.manage + '/static/docx/打印设置模板.docx';\r\n    },\r\n    handleCommand(params) {\r\n      switch (params.command) {\r\n        case \"setMainVersion\":\r\n          var url =\r\n            \"${form}/form/printTemplate/v1/setDefaultVersion?id=\" +\r\n            params.row.id +\r\n            \"&formKey=\" +\r\n            params.row.formKey +\r\n            \"&printType=\" +\r\n            params.row.printType;\r\n          req.get(url).then(res => {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: res.data.message\r\n            });\r\n            this.$refs.htTable.load();\r\n          });\r\n          break;\r\n        case \"download\":\r\n          if(params.row.printType == \"word\"){\r\n            req.download(\r\n              \"${portal}/file/v1/downloadFile?fileId=\" + params.row.fileId\r\n            );\r\n          }else if(params.row.printType == \"form\"){\r\n            //编辑表单\r\n            this.bpmForm.bos = [];\r\n            this.formId = params.row.formId;\r\n            this.formDefId = params.row.defId;\r\n            this.formEditorDialogVisible = true;\r\n          }\r\n          break;\r\n          case \"setScriptStr\":\r\n          this.selecRow=params.row;\r\n          this.scriptStr=params.row.scriptStr;\r\n          this.scriptStrDialog=true;\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    },\r\n    progress() {\r\n      Loading.service(\"文件上传中\");\r\n    },\r\n    setParamIsMain(param){\r\n      let files = this.$refs.printTemplateFile.uploadFiles;\r\n      if(files && files.length>0){\r\n          if(files[0].name!=param.fileName){\r\n            param['isMain'] = '';\r\n          }\r\n          let  successSize = 0;\r\n          files.forEach(f =>{\r\n            if(f.status=='success'){\r\n              ++successSize;\r\n            }\r\n          })\r\n          if(successSize==files.length){\r\n            this.$refs.printTemplateFile.clearFiles();\r\n          }\r\n        }\r\n    },\r\n    success(response) {\r\n      let loadingInstance = Loading.service(\"文件上传中\");\r\n      if (response.success) {\r\n        let param = {\r\n          fileId: response.fileId,\r\n          fileName: response.fileName,\r\n          formKey: this.formKey,\r\n          printType: \"word\"\r\n        };\r\n        this.setParamIsMain(param);\r\n        req.post(\"${form}/form/printTemplate/v1/save\", param).then(response => {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"上传模板成功\"\r\n          });\r\n          var param = {\r\n            sorter: [{ direction: \"DESC\", property: \"createTime\" }],\r\n            querys: [\r\n              {\r\n                group: \"defaultQueryGroup\",\r\n                operation: \"EQUAL\",\r\n                relation: \"AND\",\r\n                property: \"formKey\",\r\n                value: this.formKey\r\n              }\r\n            ]\r\n          };\r\n          this.$refs.htTable.load();\r\n        });\r\n      } else {\r\n        this.$message({\r\n          type: \"error\",\r\n          message: \"模板上传失败\"\r\n        });\r\n      }\r\n      this.$nextTick(() => {\r\n        // 以服务的方式调用的 Loading 需要异步关闭\r\n        loadingInstance.close();\r\n      });\r\n    },\r\n    beforeAvatarUpload(file) {\r\n      var FileExt = file.name.replace(/.+\\./, \"\");\r\n      if (\"docx\" != FileExt.toLowerCase()) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请上传后缀名为docx的文档\"\r\n        });\r\n        return false;\r\n      }\r\n    },\r\n    close() {\r\n      this.$emit(\"update:visible\", false);\r\n    },\r\n    loadData(param, cb) {\r\n      req\r\n        .post(\"${form}/form/printTemplate/v1/getPrintList\", param)\r\n        .then(response => {\r\n          this.data = response.data.rows;\r\n          this.pageResult = {\r\n            page: response.data.page,\r\n            pageSize: response.data.pageSize,\r\n            total: response.data.total\r\n          };\r\n        })\r\n        .finally(() => cb());\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false;\r\n    },\r\n    //添加表单模板\r\n    addFormTemplate(){\r\n      this.newForm.id = this.oldForm.id;\r\n      this.dialogSaveCopyVisible = true;\r\n    },\r\n    handleCloseSaveCopy() {\r\n      this.newForm = { id: \"\", name: \"\", formKey: \"\", typeId: \"\", typeName: \"\" };\r\n      this.dialogSaveCopyVisible = false;\r\n    },\r\n    save(){\r\n      utils.validateForm(this, \"saveCopyForm\")\r\n              .then(() =>{\r\n                form.savePrintTemplate(this.newForm).then(resp =>{\r\n                  if(resp.state){\r\n                    this.dialogSaveCopyVisible = false;\r\n                    this.handleCloseSaveCopy();\r\n                    this.$refs.htTable.load();\r\n                  }\r\n                })\r\n              })\r\n              .catch(reason =>{\r\n                let rules = reason.map(obj => {\r\n                  return obj.rule;\r\n                });\r\n                if (rules.includes(\"isExist\")) {\r\n                  this.$message.error(\"已存在同名模板\");\r\n                }\r\n                if (rules.includes(\"regex\")) {\r\n                  this.$message.error(\"只能输入字母、数字、下划线，且以字母开头\");\r\n                }\r\n              })\r\n    },\r\n    handleCloseFormEditor() {\r\n      this.formEditorDialogVisible = false;\r\n      this.$refs.htTable.load();\r\n    },\r\n  }\r\n};\r\n",null]}