{"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\\TableDesign\\FormTable.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\form\\TableDesign\\FormTable.vue","mtime":1675071992928},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 form from '@/api/form.js'\r\nimport $ from 'jquery'\r\nimport {mapState, mapActions} from 'vuex'\r\nconst htAsideTree = () => import('@/components/common/HtAsideTree.vue')\r\nconst BaseSetting = () =>\r\n  import('@/components/form/dataTemplate/BaseSetting.vue')\r\nconst DisplaySetting = () =>\r\n  import('@/components/form/dataTemplate/DisplaySetting.vue')\r\nconst ConditionSetting = () =>\r\n  import('@/components/form/dataTemplate/ConditionSetting.vue')\r\nconst SortSetting = () =>\r\n  import('@/components/form/dataTemplate/SortSetting.vue')\r\nconst FilterSetting = () =>\r\n  import('@/components/form/dataTemplate/FilterSetting.vue')\r\nconst ManageSetting = () =>\r\n  import('@/components/form/dataTemplate/ManageSetting.vue')\r\nconst TemplatePreviewDialog = () =>\r\n  import('@/components/form/dataTemplate/TemplatePreviewDialog.vue')\r\nconst filterTreeSetting = () =>\r\n  import('@/components/form/dataTemplate/FilterTreeSetting.vue')\r\nconst eipSysTypeSelector = () =>\r\n  import('@/components/selector/EipSysTypeSelector.vue')\r\nconst FilterFiledSetting = () =>\r\n  import('@/components/form/dataTemplate/FilterFiledSetting.vue')\r\nconst RemindSetting = () =>\r\n  import('@/components/form/dataTemplate/RemindSetting.vue')\r\nconst SummarySetting = () =>\r\n  import('@/components/form/dataTemplate/SummarySetting.vue')\r\nconst SubFields = () => import('@/components/form/dataTemplate/SubFields.vue')\r\nconst TemplateAddToMenu = () =>\r\n  import('@/components/form/dataTemplate/TemplateAddToMenu.vue')\r\nimport req from '@/request.js'\r\nimport QRCode from 'qrcode'\r\n\r\nexport default {\r\n  components: {\r\n    htAsideTree,\r\n    BaseSetting,\r\n    DisplaySetting,\r\n    ConditionSetting,\r\n    SortSetting,\r\n    FilterSetting,\r\n    ManageSetting,\r\n    TemplatePreviewDialog,\r\n    filterTreeSetting,\r\n    RemindSetting,\r\n    eipSysTypeSelector,\r\n    FilterFiledSetting,\r\n    SummarySetting,\r\n    SubFields,\r\n    TemplateAddToMenu,\r\n  },\r\n  data() {\r\n    return {\r\n      uploadHeaders: {\r\n        Authorization: 'Bearer ' + this.$store.state.login.currentUser.token,\r\n      },\r\n      asideShow: true,\r\n      treeData: [],\r\n      defaultProps: {\r\n        children: 'children',\r\n        label: 'name',\r\n      },\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0,\r\n      },\r\n      data: [],\r\n      selectTypeIds: '',\r\n      fullscreenLoading: false,\r\n      importDialogVisible: false,\r\n      flowTypeSelectorCatId: '', //数据报表分类ID\r\n      flowTypeSelectorCatName: '', //数据报表分类名称\r\n      datatemplateEditVisible: false,\r\n      selectFormVisible: false,\r\n      formEditorDialogVisible: false,\r\n      previewDialogVisible: false,\r\n      templateId: null,\r\n      selectFormKey: null,\r\n      formData: [],\r\n      formPageResult: {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0,\r\n      },\r\n      currentDataTemplateData: {},\r\n      activeName: 'baseSetting',\r\n      currentPreviewTemplateAlias: '',\r\n      focusAlias: false,\r\n      boVisible: false,\r\n      boData: [],\r\n      boId: '',\r\n      selectAlias: '',\r\n      QRCodeShow: false,\r\n      QRCodeDialog: false,\r\n      showShareBtn: '',\r\n      tabsVisible: true,\r\n      share: {\r\n        loseTime: '',\r\n        frontAddUrl: '',\r\n        mobileAddUrl: '',\r\n        tempLoseTime: '',\r\n      },\r\n      shareLoseTimeDialog: false,\r\n    }\r\n  },\r\n  watch: {\r\n    showShareBtn: function (newVal, oldVal) {\r\n      if (newVal == 1 && !this.share.id) {\r\n        this.getShareManage()\r\n      }\r\n    },\r\n  },\r\n  computed: mapState({\r\n    imporCheckUrl: function (mapState) {\r\n      return (\r\n        window.context.form +\r\n        '/form/dataTemplate/v1/importCheck?typeId=' +\r\n        this.flowTypeSelectorCatId\r\n      )\r\n    },\r\n    frontUrl: function (state) {\r\n      return (\r\n        window.context.manage +\r\n        '/statement/template/preview/' +\r\n        this.currentPreviewTemplateAlias +\r\n        '/true'\r\n        // + '?token=' + state.login.currentUser.token\r\n        // Base64.encode(state.login.currentUser.account)\r\n      )\r\n    },\r\n    formDeleteUrl: function () {\r\n      return `${window.context.form}/form/dataTemplate/v1/remove`\r\n    },\r\n    dataTemplateName: function () {\r\n      return this.currentDataTemplateData.bpmDataTemplate &&\r\n        this.currentDataTemplateData.bpmDataTemplate.name\r\n        ? this.currentDataTemplateData.bpmDataTemplate.name\r\n        : ''\r\n    },\r\n  }),\r\n  mounted() {},\r\n  methods: {\r\n    handleShareCommand(params) {\r\n      if (!params) {\r\n        return\r\n      }\r\n      switch (params.command) {\r\n        case 'qr':\r\n          const this_ = this\r\n          if (\r\n            !this.currentDataTemplateData.bpmDataTemplate ||\r\n            !this.currentDataTemplateData.bpmDataTemplate.mobileFormAlias\r\n          ) {\r\n            this_.$message.warning('请先绑定手机表单并保存!')\r\n            return\r\n          } else if (\r\n            this.currentDataTemplateData.bpmDataTemplate ||\r\n            this.currentDataTemplateData.bpmDataTemplate.mobileFormAlias\r\n          ) {\r\n            req\r\n              .get(\r\n                window.context.form +\r\n                  '/form/form/v1/checkKey?key=' +\r\n                  this_.currentDataTemplateData.bpmDataTemplate.mobileFormAlias\r\n              )\r\n              .then((res) => {\r\n                if (!res.data) {\r\n                  this_.$message.warning('绑定手机表单的不存在')\r\n                  return\r\n                } else {\r\n                  this_.QRCodeDialog = true\r\n                }\r\n              })\r\n          }\r\n          break\r\n        case 'set':\r\n          this.$set(this.share, 'tempLoseTime', this.share.loseTime)\r\n          this.shareLoseTimeDialog = true\r\n          break\r\n        default:\r\n          break\r\n      }\r\n    },\r\n    downloadQRCode() {\r\n      let canvas = document.getElementById('QRCode')\r\n      let a = document.createElement('a')\r\n      a.download =\r\n        this.currentDataTemplateData.bpmDataTemplate.name + '_二维码.jpg'\r\n      a.href = canvas.toDataURL()\r\n      a.dispatchEvent(new MouseEvent('click'))\r\n    },\r\n    foundQRCode() {\r\n      let msg = document.getElementById('QRCode')\r\n      QRCode.toCanvas(msg, this.share.mobileAddUrl, function (error) {\r\n        console.log(error)\r\n      })\r\n      this.QRCodeShow = true\r\n    },\r\n    onCopy(e) {\r\n      this.$message.success('内容已复制到剪切板！')\r\n    },\r\n    onError(e) {\r\n      this.$message.error('抱歉，复制失败！')\r\n    },\r\n    rowClick(row, column, event) {\r\n      this.$refs.htTable.$refs.htTable.toggleRowSelection(row)\r\n    },\r\n    //导出\r\n    handExport() {\r\n      let elTable = this.$refs.htTable\r\n      if (this.$refs.htTable.$refs && this.$refs.htTable.$refs.htTable) {\r\n        elTable = this.$refs.htTable.$refs.htTable\r\n      }\r\n      if (elTable && elTable.selection && elTable.selection.length == 0) {\r\n        this.$message.warning('请选择至少一项记录')\r\n        return\r\n      }\r\n\r\n      let ids = []\r\n\r\n      for (let item of elTable.selection) {\r\n        ids.push(item['id'])\r\n      }\r\n\r\n      if (ids.length == 0) {\r\n        this.$message.warning('请选择至少一项记录')\r\n        return\r\n      }\r\n      let url = `${window.context.form}/form/dataTemplate/v1/exportXml?ids=${ids}`\r\n      req.download(url)\r\n    },\r\n    submitImport() {\r\n      if (\r\n        !this.$refs.upload.uploadFiles ||\r\n        this.$refs.upload.uploadFiles.length == 0\r\n      ) {\r\n        this.$message.warning('请选择要导入的表单列表')\r\n        return false\r\n      }\r\n      if (!this.flowTypeSelectorCatId) {\r\n        this.$message.warning('请选择要导入的分类')\r\n        return false\r\n      }\r\n      this.$refs.upload.submit()\r\n    },\r\n    hadleUploadResult(response, file, fileList) {\r\n      var height =\r\n        (document.documentElement.clientHeight || document.body.clientHeight) *\r\n          0.85 +\r\n        'px'\r\n      this.fullscreenLoading = false\r\n      let this_ = this\r\n      if (response.state) {\r\n        this_.handleImportSuccess()\r\n      } else {\r\n        if (response.message && response.message.indexOf('是否覆盖') > 0) {\r\n          this.$confirm(\r\n            '<div style=\"overflow-x:hidden;overflow-y:auto ;max-height:' +\r\n              height +\r\n              '\">' +\r\n              response.message +\r\n              '</div>',\r\n            '提示',\r\n            {\r\n              cancelButtonText: '取消',\r\n              dangerouslyUseHTMLString: true,\r\n              confirmButtonText: '确定',\r\n              type: 'warning',\r\n              closeOnClickModal: false,\r\n            }\r\n          )\r\n            .then(() => {\r\n              this_.fullscreenLoading = true\r\n              req\r\n                .post(\r\n                  window.context.form +\r\n                    '/form/dataTemplate/v1/importSave?cacheFileId=' +\r\n                    response.value +\r\n                    '&confirmImport=' +\r\n                    true +\r\n                    '&typeId=' +\r\n                    this.flowTypeSelectorCatId\r\n                )\r\n                .then(function (resp) {\r\n                  this_.fullscreenLoading = false\r\n                  let data = resp.data\r\n                  if (data.state) {\r\n                    this_.handleImportSuccess()\r\n                  } else {\r\n                    this_.$message.error(data.message)\r\n                  }\r\n                })\r\n            })\r\n            .catch((action) => {\r\n              req.post(\r\n                window.context.form +\r\n                  '/form/dataTemplate/v1/importSave?cacheFileId=' +\r\n                  response.value +\r\n                  '&confirmImport=' +\r\n                  false\r\n              )\r\n              this_.importDialogVisible = false\r\n              this.$refs.upload.clearFiles()\r\n            })\r\n        } else {\r\n          this.$message.error(response.message || '表单列表导入失败')\r\n        }\r\n      }\r\n    },\r\n    handleImportSuccess() {\r\n      this.$alert(\r\n        '如果报表对应表单不存在请先导入表单，报表才能正常使用',\r\n        '表单列表导入成功',\r\n        {\r\n          confirmButtonText: '关闭',\r\n          type: 'success',\r\n        }\r\n      ).then(() => {\r\n        this.importDialogVisible = false\r\n        this.$refs.htTable.load()\r\n        this.$refs.upload.clearFiles()\r\n      })\r\n    },\r\n    onExceed(file) {\r\n      this.$message.warning('只能选择一个zip文件!')\r\n    },\r\n    beforeUpload(file) {\r\n      if (!file.name.endsWith('.zip')) {\r\n        this.$message.warning('只能导入zip文件!')\r\n        return false\r\n      }\r\n      this.imporActionUrl = this.imporCheckUrl\r\n      this.fullscreenLoading = true\r\n    },\r\n    handleNodeClick(node) {\r\n      if (node.id == '7') {\r\n        this.selectTypeIds = ''\r\n      } else {\r\n        this.selectTypeIds = node.id\r\n      }\r\n      this.$refs.htTable.load()\r\n    },\r\n    check(data, checkObj) {\r\n      this.selectTypeIds = checkObj.checkedKeys.join(',')\r\n      this.$refs.htTable.load()\r\n    },\r\n    loadData(param, cb) {\r\n      if (this.selectTypeIds) {\r\n        param.querys = param.querys || []\r\n        let hasTypeQuery = false\r\n        for (const query of param.querys) {\r\n          if (query.property == 'typeId') {\r\n            query.value = this.selectTypeIds\r\n            hasTypeQuery = true\r\n            break\r\n          }\r\n        }\r\n        if (!hasTypeQuery) {\r\n          param.querys.push({\r\n            group: 'main',\r\n            operation: 'IN',\r\n            property: 'typeId',\r\n            relation: 'AND',\r\n            value: this.selectTypeIds,\r\n          })\r\n        }\r\n      }\r\n      if (!param.sorter) {\r\n        param.sorter = [\r\n          {\r\n            direction: 'DESC',\r\n            property: 'UPDATE_TIME_',\r\n          },\r\n        ]\r\n      } else {\r\n        param.sorter.push({\r\n          direction: 'DESC',\r\n          property: 'UPDATE_TIME_',\r\n        })\r\n      }\r\n      form\r\n        .getDataTemplateData(param)\r\n        .then((response) => {\r\n          this.data = response.rows\r\n\r\n          this.pageResult = {\r\n            page: response.page,\r\n            pageSize: response.pageSize,\r\n            total: response.total,\r\n          }\r\n        })\r\n        .finally(() => cb())\r\n    },\r\n    loadFormData(param, cb) {\r\n      form\r\n        .getFormData(param)\r\n        .then((response) => {\r\n          this.formData = response.rows\r\n\r\n          this.formPageResult = {\r\n            page: response.page,\r\n            pageSize: response.pageSize,\r\n            total: response.total,\r\n          }\r\n        })\r\n        .finally(() => cb())\r\n    },\r\n    handleCommand(params) {\r\n      switch (params.command) {\r\n        case 'edit':\r\n          this.templateId = params.row.id\r\n          this.editFormTemplate(this.templateId)\r\n          break\r\n        case 'delete':\r\n          break\r\n        case 'preview':\r\n          this.preview(params.row)\r\n          break\r\n        case 'assignMenu':\r\n          break\r\n        case 'addToFront':\r\n          // 发布为前端菜单\r\n          this.selectAlias = params.row.alias\r\n          this.$refs.templateAddToMenu.showDialog('front', 'addReport')\r\n          break\r\n        case 'addToManager':\r\n          // 发布为管理端菜单\r\n          this.selectAlias = params.row.alias\r\n          this.$refs.templateAddToMenu.showDialog('manage', 'addReport')\r\n          break\r\n        default:\r\n          break\r\n      }\r\n    },\r\n    edit(params) {\r\n      this.templateId = params.id\r\n      this.editFormTemplate(this.templateId, params.boDefId)\r\n    },\r\n    preview(params) {\r\n      this.currentPreviewTemplateAlias = params.alias\r\n      this.handleTemplateDataPreview()\r\n    },\r\n    //报表预览\r\n    handleTemplateDataPreview() {\r\n      let routeUrl = this.$router.resolve({\r\n        path:\r\n          '/statement/template/preview/' +\r\n          this.currentPreviewTemplateAlias +\r\n          '/true',\r\n      })\r\n      window.open(routeUrl.href, '_blank')\r\n\r\n      // window.open(this.frontUrl, '_blank');\r\n      //this.previewDialogVisible = true;\r\n    },\r\n    //编辑报表模板\r\n    handleTemplateEdit() {\r\n      this.$refs.BaseSetting.showHtmlEditDialog()\r\n    },\r\n    //数据报表添加到菜单\r\n    addToMenu(type) {\r\n      this.$refs.BaseSetting.showAddToMenuDialog(type)\r\n    },\r\n    handlePreviewClose() {\r\n      this.previewDialogVisible = false\r\n      this.currentPreviewTemplateId = ''\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false\r\n    },\r\n    handleFormSelectOpen() {\r\n      this.selectFormVisible = true\r\n      this.selectFormKey = null\r\n    },\r\n    handleFormSelectClose() {\r\n      this.selectFormVisible = false\r\n    },\r\n    addFormTemplate(row) {\r\n      this.selectFormKey = row.formKey\r\n      this.boData = []\r\n      form\r\n        .getBODefByFormId(row.defId)\r\n        .then((data) => {\r\n          if (data.length > 1) {\r\n            this.boVisible = true\r\n            this.boData = data\r\n          }\r\n        })\r\n        .then(() => {\r\n          if (this.boData.length <= 1) {\r\n            this.addFormTemplateByFormKey(row.formKey, '')\r\n          }\r\n        })\r\n    },\r\n    addFormTemplateByFormKey(formKey, boId) {\r\n      this.selectFormVisible = false\r\n      form.getBpmDataTemplate(formKey, boId).then((response) => {\r\n        this.currentDataTemplateData = response\r\n        this.currentPreviewTemplateAlias = response.data.alias\r\n        this.boVisible = false\r\n        this.datatemplateEditVisible = true\r\n      })\r\n    },\r\n    editFormTemplate: function (templateId, boId) {\r\n      form.getBpmDataTemplateById(templateId, boId).then((response) => {\r\n        this.currentDataTemplateData = response\r\n        this.currentPreviewTemplateAlias = response.data.alias\r\n        this.datatemplateEditVisible = true\r\n        //重新执行Setting组件内的mounted，加载初始数据\r\n        this.tabsVisible = false\r\n        this.$nextTick(() => {\r\n          this.tabsVisible = true\r\n        })\r\n      })\r\n    },\r\n    getShareManage: function () {\r\n      if (this.showShareBtn == 1 && !this.share.id) {\r\n        let me_ = this\r\n        this.share.url =\r\n          '/statement/template/form/' +\r\n          this.currentPreviewTemplateAlias +\r\n          '/add/false/true'\r\n        this.$http\r\n          .post(\r\n            '${portal}/portal/shorturlManage/v1/getShortUrlByLong',\r\n            this.share\r\n          )\r\n          .then(function (resp) {\r\n            if (resp.data && resp.data.state) {\r\n              resp.data.value.loseTime = resp.data.value.loseTime || ''\r\n              resp.data.value.frontAddUrl =\r\n                window.context.front + '/' + resp.data.value.shortUrl\r\n              resp.data.value.mobileAddUrl =\r\n                window.context.mobile + '/' + resp.data.value.shortUrl\r\n              me_.share = resp.data.value\r\n            } else {\r\n              me_.$message.error('获取表单外链短链接失败：' + resp.data.message)\r\n            }\r\n          })\r\n      }\r\n    },\r\n    saveShareLoseTime() {\r\n      let me_ = this\r\n      this.share.loseTime = this.share.tempLoseTime\r\n      this.$http\r\n        .post(\r\n          '${portal}/portal/shorturlManage/v1/updateShorturlManage',\r\n          this.share\r\n        )\r\n        .then(function (resp) {\r\n          if (resp.data && resp.data.state) {\r\n            me_.$message.success('设置成功')\r\n            me_.shareLoseTimeDialog = false\r\n          }\r\n        })\r\n    },\r\n    handlePaneClick: function (data) {\r\n      if (data.name == 'manageSetting') {\r\n        this.currentDataTemplateData.displaySettingFields = JSON.stringify(\r\n          this.$refs.DisplaySetting.displayFields\r\n        )\r\n      }\r\n      if (data.alias) {\r\n        this.currentTabComponent = data.alias\r\n      }\r\n      if (data.name == 'defConfig') {\r\n        this.flowConfigShouldRefresh = false\r\n      }\r\n    },\r\n    //保存数据视图\r\n    handleTemplateDataSave: function () {\r\n      let this_ = this\r\n      this.$refs.BaseSetting.validateForm(function () {\r\n        this_.saveTemolate()\r\n      })\r\n    },\r\n    async saveTemolate() {\r\n      this.$refs.DisplaySetting.saveDisplayField() //保存显示列数据\r\n      if (!this.$refs.DisplaySetting.validateDisplayField()) {\r\n        return\r\n      }\r\n      let result = this.$refs.ConditionSetting.saveConditionField() //保存查询条件数据\r\n      if ('false' == result) {\r\n        return\r\n      }\r\n      this.$refs.SortSetting.saveSortField() //保存排序数据\r\n      this.$refs.subFields.saveSubField() //保存子表数据\r\n      if (!this.$refs.ManageSetting.validateManageField()) {\r\n        return\r\n      }\r\n      this.$refs.FilterSetting.saveFilterField() //保存按钮数据\r\n      this.$refs.ManageSetting.saveManageField() //保存按钮数据\r\n      this.$refs.FilterFiledSetting.saveFilteringField()\r\n      this.$refs.FilterTreeSetting.saveFilterTreeField()\r\n      this.$refs.SummarySetting.saveSummaryField()\r\n      let res = await this.$refs.RemindSetting.saveRemindSettingList()\r\n      if (!res) {\r\n        this.activeName = 'remindSetting'\r\n        return\r\n      }\r\n      let templateData = JSON.parse(\r\n        JSON.stringify(this.currentDataTemplateData.bpmDataTemplate)\r\n      )\r\n      let sortArr = JSON.parse(templateData.sortField)\r\n      for (let s = 0; s < sortArr.length; s++) {\r\n        if (!sortArr[s].sort) {\r\n          this.$message({type: 'error', message: '请选择排序方式'})\r\n          return false\r\n        }\r\n      }\r\n      if (!templateData.alias) {\r\n        this.$message.error('报表别名不能为空，请输入报表别名！')\r\n        return\r\n      }\r\n      if (!templateData.name) {\r\n        this.$message.error('报表名称不能为空，请输入报表名称！')\r\n        return\r\n      }\r\n      if (templateData.resetTemp == 1 && !templateData.templateAlias) {\r\n        this.$message.error('请选择数据模板！')\r\n        return\r\n      }\r\n      //判断是否添加模糊查询\r\n      let isIndistinct = 'hide'\r\n      let conditionAllName = ''\r\n      let conditionAllDesc = ''\r\n      let conditionFields = this.$refs.ConditionSetting.conditionFields\r\n      for (var i = 0; i < conditionFields.length; i++) {\r\n        if (conditionFields[i].mg) {\r\n          isIndistinct = 'show'\r\n          conditionAllName += conditionFields[i].na + ','\r\n          conditionAllDesc += conditionFields[i].cm + '/'\r\n        }\r\n      }\r\n      if (conditionAllName != '') {\r\n        conditionAllName = conditionAllName.substring(\r\n          0,\r\n          conditionAllName.length - 1\r\n        )\r\n      }\r\n      if (conditionAllDesc != '') {\r\n        conditionAllDesc = conditionAllDesc.substring(\r\n          0,\r\n          conditionAllDesc.length - 1\r\n        )\r\n      }\r\n      templateData.isIndistinct = isIndistinct\r\n      templateData.conditionAllName = conditionAllName\r\n      templateData.conditionAllDesc = conditionAllDesc\r\n      //添加表单字段\r\n      if (this.currentDataTemplateData.formField) {\r\n        templateData.formField = JSON.stringify(\r\n          this.currentDataTemplateData.formField\r\n        )\r\n      }\r\n      let _this = this\r\n      form.saveTemplateData(JSON.stringify(templateData)).then((response) => {\r\n        if (response.state) {\r\n          this.$message.success(response.message)\r\n          if (!templateData.id) {\r\n            this.edit(response.value)\r\n            _this.$refs.htTable.load(true)\r\n          }\r\n          this.focusAlias = false\r\n        } else {\r\n          this.focusAlias = true\r\n        }\r\n      })\r\n    },\r\n  },\r\n}\r\n",null]}