{"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\\FlowHrScriptSelector.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\flow\\FlowHrScriptSelector.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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 { mapState, mapActions } from \"vuex\";\r\nimport { Message } from \"element-ui\";\r\n\r\nimport FlowVarSelector from \"@/components/flow/FlowVarSelector.vue\";\r\n\r\nconst eipUserDialog = () => import(\"@/components/dialog/EipUserDialog.vue\");\r\nconst eipRoleDialog = () => import(\"@/components/dialog/EipRoleDialog.vue\");\r\nconst eipDemensionDialog = () =>\r\n import(\"@/components/dialog/EipDemensionDialog.vue\");\r\nconst eipJobDialog = () => import(\"@/components/dialog/EipJobDialog.vue\");\r\nconst eipOrgDialog = () => import(\"@/components/dialog/EipOrgDialog.vue\");\r\nconst eipPostDialog = () => import(\"@/components/dialog/EipPostDialog.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\nconst eipUserSelector = () =>\r\n import(\"@/components/selector/EipUserSelector.vue\");\r\nexport default {\r\n name: \"hsScript\",\r\n components: {\r\n FlowVarSelector,\r\n eipUserDialog,\r\n eipRoleDialog,\r\n eipDemensionDialog,\r\n eipJobDialog,\r\n eipOrgDialog,\r\n eipPostDialog,\r\n customDialogShow,\r\n customDialogShowTree,\r\n eipTreeDialog,\r\n eipUserSelector\r\n },\r\n data() {\r\n return {\r\n scriptData: [], //单个节点按钮的配置信息\r\n dialogVisible: false, //是否显示设置节点按钮侧边栏\r\n curScript: { params: [] },\r\n valueTypeList: [\r\n { key: \"变量\", value: \"0\" },\r\n { key: \"固定值\", value: \"1\" }\r\n ],\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 titlePreview: \"\",\r\n aliasPreview: \"\",\r\n customDialogPreview: {},\r\n curUser: {id:'',name:''},\r\n startUser: {id:'',name:''},\r\n result:null,\r\n resultDialogVisible:false\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 }\r\n if (param.calc.scriptId) {\r\n let this_ = this;\r\n req\r\n .get(\r\n \"${bpmRunTime}/runtime/conditionScript/v1/get?id=\" +\r\n param.calc.scriptId\r\n )\r\n .then(response => {\r\n if (response.data) {\r\n this_.curScript = { ...response.data, ...param.calc };\r\n }\r\n });\r\n }\r\n }else{\r\n this.curScript ={ params: [] };\r\n }\r\n this.parentParam = param;\r\n this.dialogVisible = true;\r\n },\r\n loadData(param, cb) {\r\n let this_ = this;\r\n req\r\n .post(\r\n window.context.bpmRunTime + \"/runtime/conditionScript/v1/list\",\r\n param\r\n )\r\n .then(response => {\r\n this_.scriptData = 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 setCurParam(param) {\r\n this.curEditParam = param;\r\n },\r\n //点击列表某一条数据时触发\r\n orgRowClick(row, column, event) {\r\n if (this.curScript && this.curScript.scriptId == row.id) {\r\n return;\r\n }\r\n this.curScript = { params: [] };\r\n if (row) {\r\n this.curScript.id = row.id;\r\n this.curScript.methodDesc = row.methodDesc;\r\n if (row.methodName) {\r\n this.curScript.methodName = row.methodName;\r\n }\r\n this.curScript.classInsName = row.classInsName;\r\n let tempArgument = row.argument ? eval(\"(\" + row.argument + \")\") : {};\r\n for (const p of tempArgument) {\r\n p.paraCt = p.paraCt || \"\";\r\n p.valueType = \"1\";\r\n p.value = \"\";\r\n }\r\n this.curScript.params = tempArgument;\r\n } else {\r\n this.curScript.id = \"\";\r\n this.curScript.methodDesc = \"\";\r\n this.curScript.params = null;\r\n }\r\n },\r\n showDialogSelector(param) {\r\n this.curEditParam = param;\r\n let paraCt = this.curEditParam.paraCt;\r\n let paraCtBindKey = this.curEditParam.paraCtBindKey;\r\n let index = paraCt.indexOf(\":\");\r\n let alias = paraCt.substring(index + 1);\r\n let selectorType = paraCt.substring(0, index);\r\n if (selectorType == \"cusdg\") {\r\n this.openCustomDialog(alias);\r\n } else if (selectorType == \"base\") {\r\n this.$refs[alias].showDialog();\r\n }\r\n },\r\n openCustomDialog(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 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 dialogOnConfirm(data) {\r\n this.setParam(this.curEditParam, this.curEditParam.paraCtBindKey, data);\r\n },\r\n\r\n setParam(param, key, aryData) {\r\n if (key) {\r\n key = key.toUpperCase();\r\n }\r\n let isString = param.paraType == \"java.lang.String\";\r\n let vals = \"\";\r\n let descriptions = \"\";\r\n if (typeof aryData === \"object\" && !isNaN(aryData.length)) {\r\n for (let i = 0; i < aryData.length; i++) {\r\n let obj = this.objectAttrToUpperCase(aryData[i]);\r\n let val = obj[key];\r\n let tmp = obj[\"name\"]\r\n ? obj[\"name\"]\r\n : obj[\"NAME\"]\r\n ? obj[\"NAME\"]\r\n : obj[key];\r\n vals += i == 0 ? val : \",\" + val;\r\n descriptions += i == 0 ? tmp : \",\" + tmp;\r\n }\r\n } else {\r\n vals = aryData[key];\r\n descriptions = aryData[\"name\"] ? aryData[\"name\"] : aryData[key];\r\n }\r\n param.value = isString ? '\"' + vals + '\"' : vals;\r\n param.description = descriptions;\r\n },\r\n objectAttrToUpperCase(oldObj) {\r\n let newObj = {};\r\n if (oldObj && oldObj.constructor == Object) {\r\n for (const key in oldObj) {\r\n newObj[key.toUpperCase()] = oldObj[key];\r\n }\r\n }\r\n return newObj;\r\n },\r\n //保存按钮\r\n handleClose(isTest) {\r\n if (this.curScript.id == null || this.curScript.id == \"\") {\r\n this.$message.error(\"请选择脚本\");\r\n return;\r\n }\r\n let script =\r\n \"\" +\r\n this.curScript.classInsName +\r\n \".\" +\r\n this.curScript.methodName +\r\n \"(\";\r\n let desc = \"【\" + this.curScript.methodDesc + \"】参数:(\";\r\n let pass = true;\r\n for (let i = 0, p; (p = this.curScript.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 let str = p.description || p.value;\r\n desc += p.paraDesc + \":\" + str + \" \";\r\n script += this.dealValue(p) + \" \";\r\n if (i < this.curScript.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 desc += \")\";\r\n let params = this.curScript.params;\r\n let data = {\r\n scriptId: this.curScript.id,\r\n params: params,\r\n script: script,\r\n desc: desc\r\n };\r\n if (!isTest) {\r\n this.$emit(\"scriptSelectorConfirm\", data);\r\n this.dialogVisible = false;\r\n } else {\r\n let param = { script: script,userId:this.curUser.id,startId:this.startUser.id };\r\n let this_ =this;\r\n this.$http\r\n .post(\"${bpmRunTime}/runtime/conditionScript/v1/testScript\", param)\r\n .then(function(resp) {\r\n let data = resp.data;\r\n if (data.state) {\r\n if (data.value && data.value.length > 0) {\r\n this_.result = JSON.stringify(data.value);\r\n this_.resultDialogVisible = true;\r\n }else{\r\n this_.$message.warning(\"未计算出人员,请检查参数配置\");\r\n }\r\n } \r\n });\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 if(p.value.indexOf('\\\"') <0){\r\n p.value = '\"' + p.value + '\"';\r\n }\r\n } catch (e) {}\r\n }else if ((p.paraType == \"java.lang.Boolean\" || p.paraType == \"java.lang.boolean\")&& p.valueType == \"1\") {\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 },\r\n mounted() {}\r\n};\r\n",null]}