{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\flow\\FlowMatrixSelector.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\flow\\FlowMatrixSelector.vue","mtime":1675071991803},{"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\r\nimport req from \"@/request.js\";\r\nimport { Message } from \"element-ui\";\r\nimport utils from \"@/hotent-ui-util.js\";\r\nimport FlowVarSelector from \"@/components/flow/FlowVarSelector.vue\";\r\nexport default {\r\n  name: \"matrix-selector\",\r\n  components: {\r\n    FlowVarSelector\r\n  },\r\n  data() {\r\n    return {\r\n      data: [], //单个节点按钮的配置信息\r\n      dialogVisible: false, //是否显示设置节点按钮侧边栏\r\n      curMatrix: { params: [], roleCode: \"\" },\r\n      parentParam: {},\r\n      curEditParam: {},\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 10,\r\n        total: 0\r\n      },\r\n      result: null,\r\n      resultDialogVisible: false,\r\n      curRoleList: []\r\n    };\r\n  },\r\n  methods: {\r\n    showDilaog(param) {\r\n      if (param.calc) {\r\n        if (param.calc.params && param.calc.params.constructor == String) {\r\n          param.calc.params = JSON.parse(param.calc.params);\r\n          if (param.calc.params && param.calc.params.constructor == String) {\r\n            param.calc.params = JSON.parse(param.calc.params);\r\n          }\r\n        }\r\n        if (param.calc.code) {\r\n          let this_ = this;\r\n          req\r\n            .get(\r\n              window.context.uc +\r\n                \"/uc/matrix/v1/getByCode?code=\" +\r\n                param.calc.code\r\n            )\r\n            .then(response => {\r\n              if (response.data) {\r\n                this_.curMatrix = { ...response.data, ...param.calc };\r\n                this.curRoleList = response.data.roleList;\r\n              } else {\r\n                this.curMatrix = { params: [], roleCode: \"\" };\r\n              }\r\n            });\r\n        }\r\n      } else {\r\n        this.curMatrix = { params: [], roleCode: \"\" };\r\n      }\r\n      this.parentParam = param;\r\n      this.dialogVisible = true;\r\n    },\r\n    loadData(param, cb) {\r\n      this.$http\r\n        .post(\"${uc}/uc/matrix/v1/listDetail\", param)\r\n        .then(\r\n          resp => {\r\n            let response = resp.data;\r\n            this.data = response.rows;\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          error => {\r\n            reject(error);\r\n          }\r\n        )\r\n        .finally(() => cb());\r\n    },\r\n    setCurParam(param) {\r\n      this.curEditParam = param;\r\n    },\r\n    //点击列表某一条数据时触发\r\n    queryRowClick(row, column, event) {\r\n      if (this.curMatrix && this.curMatrix.code == row.code) {\r\n        return;\r\n      }\r\n      this.curMatrix = { params: [], roleCode: \"\" };\r\n      if (row) {\r\n        this.curMatrix.code = row.code;\r\n        this.curMatrix.name = row.name;\r\n        let params = [];\r\n\r\n        for (let i = 0; i < row.condList.length; i++) {\r\n          let ele = { ...row.condList[i] };\r\n          let p = {\r\n            valueType: \"0\",\r\n            value: \"\",\r\n            paraType: \"java.lang.String\",\r\n            name: ele.name,\r\n            code: ele.code\r\n          };\r\n          params.push(p);\r\n        }\r\n\r\n        this.curMatrix.params = params;\r\n        this.curRoleList = row.roleList;\r\n      } else {\r\n        this.curMatrix.code = \"\";\r\n        this.curMatrix.name = \"\";\r\n        this.curMatrix.params = null;\r\n      }\r\n    },\r\n    //保存按钮\r\n    handleClose(isTest) {\r\n      utils\r\n        .validateForm(this, \"matrixForm\")\r\n        .then(() => {\r\n          if (!this.curMatrix.code) {\r\n            this.$message.error(\"请选择【角色矩阵】\");\r\n            return;\r\n          }\r\n          let script = this.curMatrix.name + \"(\";\r\n          let desc = \"【\" + this.curMatrix.code + \"】参数:(\";\r\n          let pass = true;\r\n          for (let i = 0, p; (p = this.curMatrix.params[i]); i++) {\r\n            if (p.valueType == \"1\") {\r\n              p.description = p.value;\r\n            } else if (isTest) {\r\n              this.$message.error(\"不支持使用变量测试\");\r\n              pass = false;\r\n              return;\r\n            }\r\n            //去掉用户输入的双引号\r\n            if(p.valueType=='1' && p.value && p.value.startsWith('\"') && p.value.endsWith('\"')){\r\n              p.value = p.value.substring(1);\r\n              p.value = p.value.substring(0,p.value.length-1);\r\n              p.description = p.value;\r\n            }\r\n            let str = p.description || p.value;\r\n            desc += p.name + \":\" + str + \" \";\r\n            script += p.value + \" \";\r\n            if (i < this.curMatrix.params.length - 1) {\r\n              script += \",\";\r\n              desc += \",\";\r\n            }\r\n          }\r\n          if (!pass) {\r\n            return;\r\n          }\r\n          script += \")\";\r\n\r\n          desc += \")\";\r\n          desc += \"，返回角色列【\";\r\n          desc += this.curMatrix.roleName;\r\n          desc += \"】\";\r\n          let params = this.curMatrix.params;\r\n          let data = {\r\n            code: this.curMatrix.code,\r\n            name: this.curMatrix.name,\r\n            roleCode: this.curMatrix.roleCode,\r\n            roleName: this.curMatrix.roleName,\r\n            params: params,\r\n            script: script,\r\n            desc: desc,\r\n            description: desc\r\n          };\r\n          this.$emit(\"confirm\", data);\r\n          this.dialogVisible = false;\r\n        })\r\n        .catch(reason => {\r\n          this.$message.warning(\"请正确填写表单信息\");\r\n        });\r\n    },\r\n    //处理固定值string类型参数的格式\r\n    dealValue(p) {\r\n      if (p.paraType == \"java.lang.String\" && p.valueType == \"1\") {\r\n        try {\r\n          if (!p.value) {\r\n            p.value = '\"\"';\r\n          } else {\r\n            p.value = '\"' + eval(p.value) + '\"';\r\n          }\r\n        } catch (e) {}\r\n      } else if (\r\n        (p.paraType == \"java.lang.Boolean\" ||\r\n          p.paraType == \"java.lang.boolean\") &&\r\n        p.valueType == \"1\"\r\n      ) {\r\n        if (!p.value) {\r\n          p.value = \"false\";\r\n        }\r\n      }\r\n      return p.value;\r\n    },\r\n    varTreeOnConfirm(node) {\r\n      this.curEditParam.value = node.pathValue;\r\n      this.curEditParam.description = node.desc;\r\n    },\r\n    handleSavePreview(data) {\r\n      Message.success(\"返回数据为：\" + JSON.stringify(data));\r\n    },\r\n    roleCodeChange(val, data) {\r\n      this.curMatrix.roleName = data.name;\r\n    }\r\n  },\r\n  mounted() {\r\n    this.$validator = this.$root.$validator;\r\n  }\r\n};\r\n",null]}