{"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\\uc\\MatrixData.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\uc\\MatrixData.vue","mtime":1675071993288},{"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\r\nconst eipUserSelector = () =>\r\n  import(\"@/components/selector/EipUserSelector.vue\");\r\nconst userSelector = () => import(\"@/components/selector/UserSelector.vue\");\r\nconst customDialogShow = () =>\r\n  import(\"@/views/form/customDialog/CustomDialogShow.vue\");\r\nconst customDialogShowTree = () =>\r\n  import(\"@/views/form/customDialog/CustomDialogShowTree.vue\");\r\nconst eipTreeDialog = () =>\r\n  import(\"@/views/form/customDialog/EipTreeDialog.vue\");\r\nimport req from \"@/request.js\";\r\nimport htUtil from \"@/hotent-ui-util.js\";\r\nimport CustomQuery from \"@/views/form/customquery/CustomQuery.js\";\r\nimport form from \"@/api/form.js\";\r\nexport default {\r\n  components: {\r\n    eipUserSelector,\r\n    customDialogShow,\r\n    userSelector,\r\n    customDialogShowTree,\r\n    eipTreeDialog\r\n  },\r\n  data() {\r\n    return {\r\n      dialogVisible: false,\r\n      dataList: [],\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0\r\n      },\r\n      matrix: {},\r\n      colFields: [],\r\n      formData: {},\r\n      //自定义对话框\r\n      aliasPreview: \"\",\r\n      customDialogPreview: {},\r\n      titlePreview: \"\",\r\n      //关联查询的返回数据集合\r\n      options: {},\r\n      isIssure: false,\r\n      dataSources: \"mysql\"\r\n    };\r\n  },\r\n  mounted() {\r\n    this.getSQLType();\r\n    this.$validator = this.$root.$validator;\r\n  },\r\n  methods: {\r\n    showDialog(id) {\r\n      this.$http\r\n        .get(\r\n          \"${uc}/uc/matrix/v1/data/getOneData?pk=\" +\r\n            `${id}` +\r\n            \"&matrixId=\" +\r\n            this.matrix.id\r\n        )\r\n        .then(\r\n          resp => {\r\n            this.formData = resp.data.data;\r\n            if (this.formData) {\r\n              for (let key in this.formData) {\r\n                if (key.indexOf(\"ROLE_\") == 0 && this.formData[key]) {\r\n                  this.formData[key] = JSON.parse(this.formData[key]);\r\n                }\r\n              }\r\n            }\r\n            this.dialogVisible = true;\r\n          },\r\n          error => {}\r\n        );\r\n      this.getSelectOptions();\r\n    },\r\n    beforeCloseDialog() {\r\n      this.dialogVisible = false;\r\n    },\r\n    loadData(param, cb) {\r\n      let id = this.$route.params.matrixId;\r\n      let this_ = this;\r\n      this.$http\r\n        .post(\"${uc}/uc/matrix/v1/data/list/\" + id, param)\r\n        .then(\r\n          resp => {\r\n            let response = resp.data;\r\n            this_.matrix = response.matrix;\r\n            this_.isIssure = true;\r\n            this_.colFields = response.colFields;\r\n            /*if (this_.dataSources === \"oracle\" ){\r\n              for (let i = 0; i < this_.colFields.length; i++) {\r\n                const colFiled = this_.colFields[i];\r\n                colFiled.field = colFiled.field.toUpperCase();\r\n              }\r\n            }else if ( this_.dataSources === \"postgresql\"){\r\n              for (let i = 0; i < this_.colFields.length; i++) {\r\n                const colFiled = this_.colFields[i];\r\n                colFiled.field = colFiled.field.toLowerCase();\r\n              }\r\n            }*/\r\n            this_.dataList = 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          error => {\r\n          }\r\n        )\r\n        .finally(() => cb && cb());\r\n    },\r\n    save() {\r\n      //条件字段至少填一个\r\n      let hasCond = false;\r\n      for (var key in this.formData) {\r\n        if (key.indexOf(\"CONDK_\") === 0 && this.formData[key]) {\r\n          hasCond = true;\r\n          break;\r\n        }\r\n      }\r\n      if (!hasCond) {\r\n        this.$message.warning(\"条件字段至少填一个\");\r\n        return;\r\n      }\r\n      this.$http\r\n        .post(\r\n          \"${uc}/uc/matrix/v1/data/save/\" + this.matrix.id,\r\n          JSON.stringify(this.formData)\r\n        )\r\n        .then(\r\n          resp => {\r\n            if (resp.data.state) {\r\n              this.$message.success(resp.data.message);\r\n              this.beforeCloseDialog();\r\n              this.$refs.htTable.load();\r\n            } else {\r\n              this.$message.error(resp.data.message);\r\n            }\r\n          },\r\n          error => {}\r\n        )\r\n        .finally(() => {});\r\n    },\r\n    parseUser(val) {\r\n      let fullnames = [];\r\n      if (val && val != \"null\") {\r\n        let list = JSON.parse(val);\r\n        list.forEach(item => {\r\n          fullnames.push(item.fullname);\r\n        });\r\n      }\r\n      return fullnames.join(\",\");\r\n    },\r\n    showCustomDialog(colDef) {\r\n      this.currColDef = colDef;\r\n      this.dialogPreview(colDef.queryAlias);\r\n    },\r\n    //预览\r\n    dialogPreview(alias) {\r\n      const this_ = this;\r\n      let url = \"${form}/form/customDialog/v1/getByAlias?alias=\" + alias;\r\n      req.get(url).then(function(customDialog) {\r\n        customDialog = customDialog.data;\r\n        //格式化对话框的显示字段、返回字段、条件字段、排序字段\r\n        customDialog.displayfield = JSON.parse(customDialog.displayfield);\r\n        for (let i = 0; i < customDialog.displayfield.length; i++) {\r\n          customDialog.displayfield[i].field = customDialog.displayfield[\r\n            i\r\n          ].field.toUpperCase();\r\n        }\r\n        customDialog.resultfield = JSON.parse(customDialog.resultfield);\r\n        customDialog.sortfield = JSON.parse(customDialog.sortfield);\r\n        customDialog.conditionfield = JSON.parse(customDialog.conditionfield);\r\n        //这里强制给对话框改为单选\r\n        customDialog.selectNum = 1;\r\n        //列表\r\n        if (customDialog.style == 0) {\r\n          this_.aliasPreview = alias;\r\n          this_.customDialogPreview = customDialog;\r\n          this_.titlePreview = customDialog.name + \"-对话框列表预览\";\r\n          setTimeout(() => {\r\n            this_.$refs.customDialogShow.showDialog(); //显示自定义对话框列表预览弹框\r\n          });\r\n        } else {\r\n          //树形\r\n          this_.aliasPreview = alias;\r\n          this_.customDialogPreview = customDialog;\r\n          this_.titlePreview = customDialog.name + \"-对话框树形预览\";\r\n          let param = {};\r\n          if (customDialog.conditionfield.length > 0) {\r\n            for (let i = customDialog.conditionfield.length - 1; i >= 0; i--) {\r\n              //判断条件字段是否是动态传入（defaultType：4：动态传入，2：固定值 ）\r\n              if (customDialog.conditionfield[i].defaultType == \"4\") {\r\n                param[customDialog.conditionfield[i].field] =\r\n                  customDialog.conditionfield[i].comment;\r\n              }\r\n            }\r\n          }\r\n          //有动态传入的字段\r\n          if (JSON.stringify(param) != \"{}\") {\r\n            customDialog.param = param;\r\n            setTimeout(() => {\r\n              this_.$refs.customDialogShowTree.showDialog(); //显示自定义对话框列表预览弹框\r\n            });\r\n          } else {\r\n            setTimeout(() => {\r\n              this_.$refs.eipTreeDialog.showDialog();\r\n            });\r\n          }\r\n        }\r\n      });\r\n    },\r\n    handleSavePreview(list) {\r\n      if (!list) {\r\n        return;\r\n      }\r\n      if (list.length > 1) {\r\n        this.$message.warning(\"请只选择一项！\");\r\n        return;\r\n      }\r\n      let data = list[0];\r\n      let code = this.currColDef.code;\r\n      let bindKey = this.currColDef.bindKey;\r\n      let bindValue = this.currColDef.bindValue;\r\n      let v1 = data[bindKey] || data[bindKey.toUpperCase()] || data[bindKey.toLowerCase()],\r\n        v2 = data[bindValue] || data[bindValue.toUpperCase()] || data[bindValue.toLowerCase()];\r\n      this.$set(this.formData, \"CONDK_\" + code, v1);\r\n      this.$set(this.formData, \"CONDV_\" + code, v2);\r\n    },\r\n    getSelectOptions() {\r\n      for (let i = 0; i < this.matrix.condList.length; i++) {\r\n        const ele = this.matrix.condList[i];\r\n        if (ele.ctrlType === \"select\") {\r\n          //获取关联查询基本信息\r\n          !this.options[ele.queryAlias] &&\r\n            this.doCustomQuery(ele,ele.queryAlias);\r\n        }\r\n      }\r\n    },\r\n    doCustomQuery(colDef, alias){\r\n      CustomQuery.load(alias, null)\r\n        .then(data => {\r\n          //判断是否有关联查询数据返回\r\n          if (data.length > 0) {\r\n            let bindKey = colDef.bindKey;\r\n            let bindValue = colDef.bindValue;\r\n            let option = [];\r\n            for (let i = 0; i < data.length; i++) {\r\n              let item = data[i];\r\n              option.push({ key: item[bindKey], value: item[bindValue] });\r\n            }\r\n\r\n            this.$set(this.options, alias, option);\r\n          }\r\n        })\r\n        .finally();\r\n    },\r\n    handleFocus(data, event) {\r\n      this.currColDef = data;\r\n    },\r\n    handleChange(value, data) {\r\n      if (data) {\r\n        let code = this.currColDef.code;\r\n        this.$set(this.formData, \"CONDK_\" + code, data.key);\r\n      }\r\n    },\r\n    clearCond(colDef) {\r\n      this.currColDef = colDef;\r\n      let code = this.currColDef.code;\r\n      this.$set(this.formData, \"CONDK_\" + code, \"\");\r\n      this.$set(this.formData, \"CONDV_\" + code, \"\");\r\n    },\r\n    getSQLType() {\r\n      // 获取数据库类型\r\n      let this_ = this;\r\n      form.getDataSource().then(resp => {\r\n        this_.dataSources = resp.data[resp.data.length-1].dbType;\r\n        this_.$refs.htTable.load();\r\n      })\r\n    }\r\n  }\r\n};\r\n",null]}