{"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\\dialog\\DefAuthorizeDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\dialog\\DefAuthorizeDialog.vue","mtime":1675071991710},{"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\r\nimport req from \"@/request.js\";\r\nimport { Base64 } from \"js-base64\";\r\nimport utils from \"@/hotent-ui-util.js\";\r\nconst eipAuthDialog = () => import(\"@/components/dialog/EipAuthDialog.vue\");\r\nconst eipOrgSelector = () => import(\"@/components/selector/EipOrgSelector.vue\");\r\nconst eipFlowDialog = () => import(\"@/components/dialog/EipFlowDialog.vue\");\r\nconst eipSysTypeDialog = () => import(\"@/components/dialog/EipSysTypeDialog.vue\");\r\nexport default {\r\n components: {\r\n eipAuthDialog,\r\n eipOrgSelector,\r\n eipFlowDialog,\r\n eipSysTypeDialog\r\n },\r\n name: \"def-authorize-dialog\",\r\n data() {\r\n return {\r\n dialogVisible: false,\r\n dialogVisibleMenuPerm: false,\r\n flowAuth: {\r\n authorizeTypes: { start: true },\r\n defAllNameJson: [],\r\n defNameJson: [],\r\n multiple: \"1\"\r\n },\r\n authorizeTypes_: { start: true },\r\n authorizeTypes: {\r\n start: \"启动\",\r\n management: \"定义\",\r\n task: \"任务\",\r\n instance: \"实例\"\r\n },\r\n calOwnerNameJson: [],\r\n defAllNameJson: [],\r\n defNameJson: [],\r\n isSubmit: true,\r\n data: [],\r\n pageResult: {\r\n page: 1,\r\n pageSize: 50,\r\n total: 0\r\n },\r\n authId: \"\",\r\n checkMap:{},\r\n typeCheckMap:{}\r\n };\r\n },\r\n methods: {\r\n showDialog(id,defRow) {\r\n this.dialogVisible = true;\r\n this.initData(id,defRow);\r\n },\r\n initData(id,defRow){\r\n this.dialogVisible = true;\r\n const me = this;\r\n if (id) {\r\n this.authId = id;\r\n this.$refs.htLoadData\r\n .loadData(\r\n \"${bpmModel}/flow/defAuthorize/v1/defAuthorizeGet?id=\" + id\r\n )\r\n .then(data => {\r\n me.flowAuth = data;\r\n me.authorizeTypes_ = JSON.parse(data.authorizeTypes);\r\n me.flowAuth.authorizeTypes = me.authorizeTypes_;\r\n me.defNameJson = JSON.parse(data.defNameJson);\r\n\r\n // right 转为对象\r\n me.defNameJson.forEach(item => {\r\n if (item.right && item.right.constructor == String) {\r\n item.right = JSON.parse(item.right);\r\n }\r\n });\r\n\r\n me.defAllNameJson = JSON.parse(data.defAllNameJson);\r\n\r\n // right 转为对象\r\n me.defAllNameJson.forEach(item => {\r\n if (item.right && item.right.constructor == String) {\r\n item.right = JSON.parse(item.right);\r\n }\r\n });\r\n\r\n me.calOwnerNameJson = JSON.parse(data.ownerNameJson);\r\n });\r\n } else {\r\n this.authId = \"\";\r\n me.flowAuth = {\r\n authorizeTypes: { start: true },\r\n defAllNameJson: [],\r\n defNameJson: [],\r\n multiple: \"1\"\r\n };\r\n me.defNameJson = [];\r\n me.defAllNameJson = [];\r\n me.calOwnerNameJson = [];\r\n me.authorizeTypes_ = { start: true };\r\n if(defRow && defRow.defKey){\r\n let defaultRight = {\r\n m_edit: false,\r\n m_del: false,\r\n m_start: false,\r\n m_set: false,\r\n m_clean: false,\r\n i_del: false,\r\n i_log: false,\r\n i_org: false,\r\n };\r\n me.defNameJson.push({\r\n defName: defRow.name,\r\n defKey: defRow.defKey,\r\n right: defaultRight\r\n });\r\n }\r\n }\r\n },\r\n dialogCancle(dialogVisible) {\r\n this[dialogVisible] = false;\r\n this.$emit(\"onConfirm\",false);\r\n },\r\n renderLastHeader(h) {\r\n //下拉框选项\r\n let managementFilters = [\r\n { key: \"m_edit\", value: \"编辑\", falseLabel: \"un_m_edit\" },\r\n { key: \"m_del\", value: \"删除\", falseLabel: \"un_m_del\" },\r\n { key: \"m_start\", value: \"启动\", falseLabel: \"un_m_start\" }\r\n ];\r\n if (this.flowAuth.multiple == 2) {\r\n managementFilters.push({\r\n key: \"m_set\",\r\n value: \"设置\",\r\n falseLabel: \"un_m_set\"\r\n });\r\n }\r\n let managementAllFilters = [\r\n { key: \"m_all\", value: \"\", falseLabel: \"un_m_all\" }\r\n ];\r\n managementFilters.push({\r\n key: \"m_clean\",\r\n value: \"清除数据\",\r\n falseLabel: \"un_m_clean\"\r\n });\r\n let instanceFilters = [\r\n { key: \"i_del\", value: \"删除\", falseLabel: \"un_i_del\" }\r\n ];\r\n let instanceOrgFilters = [\r\n { key: \"i_org\", value: \"本部门\", falseLabel: \"un_i_org\" }\r\n ];\r\n return h(\"div\", {}, [\r\n [\r\n managementAllFilters.map(item => {\r\n if (this.authorizeTypes_.management) {\r\n return h(\"el-checkbox\", {\r\n props: {\r\n trueLabel: item.key,\r\n falseLabel: item.falseLabel,\r\n label: item.value\r\n },\r\n on: {\r\n change: this.updateAllSelectedAll // 选中事件\r\n }\r\n });\r\n }\r\n })\r\n ],\r\n h(\r\n \"span\",\r\n {\r\n //div里面有一个文字提示:多选所属内容\r\n style: {}\r\n },\r\n this.appendHtml(1)\r\n ),\r\n [\r\n managementFilters.map(item => {\r\n if (this.authorizeTypes_.management) {\r\n return h(\"el-checkbox\", {\r\n props: {\r\n trueLabel: item.key,\r\n falseLabel: item.falseLabel,\r\n label: item.value\r\n },\r\n on: {\r\n change: this.updateAllSelected // 选中事件\r\n }\r\n });\r\n }\r\n })\r\n ],\r\n h(\"span\", {}, this.appendHtml(2)),\r\n h(\"div\", {}, \"\"),\r\n h(\"span\", {}, this.appendHtml(3)),\r\n [\r\n instanceFilters.map(item => {\r\n if (this.authorizeTypes_.instance) {\r\n return h(\"el-checkbox\", {\r\n props: {\r\n trueLabel: item.key,\r\n falseLabel: item.falseLabel,\r\n label: item.value\r\n },\r\n on: {\r\n change: this.updateAllSelected // 选中事件\r\n }\r\n });\r\n }\r\n })\r\n ],\r\n h(\"span\", {}, this.appendHtml(4)),\r\n [\r\n instanceOrgFilters.map(item => {\r\n if (this.authorizeTypes_.instance) {\r\n return h(\"el-checkbox\", {\r\n props: {\r\n trueLabel: item.key,\r\n falseLabel: item.falseLabel,\r\n label: item.value\r\n },\r\n on: {\r\n change: this.updateAllSelectedAll // 选中事件\r\n }\r\n });\r\n }\r\n })\r\n ],\r\n ]);\r\n },\r\n appendHtml(op) {\r\n if (op == 1 && this.authorizeTypes_.management) {\r\n return \"定义(\";\r\n } else if (op == 2 && this.authorizeTypes_.management) {\r\n return \")\";\r\n } else if (op == 3 && this.authorizeTypes_.instance) {\r\n return \"实例(\";\r\n } else if (op == 4 && this.authorizeTypes_.instance) {\r\n return \")\";\r\n }\r\n return \"\";\r\n },\r\n updateAllSelectedAll(oValue) {\r\n let res = true;\r\n if (oValue.indexOf(\"un_\") != -1) {\r\n res = false;\r\n }\r\n let jsonName = this.flowAuth.multiple == 1?'defNameJson':'defAllNameJson';\r\n let _this = this;\r\n let idx = 0;\r\n this[jsonName].forEach(item => {\r\n if(oValue.indexOf(\"i_org\") != -1){\r\n _this.$set(_this[jsonName][idx].right,\"i_org\", res);\r\n idx++;\r\n }else{\r\n let map = this.flowAuth.multiple == 1 ? this.checkMap : this.typeCheckMap;\r\n map[item.defKey] = res;\r\n item.right['m_edit'] = res;\r\n item.right['m_del'] = res;\r\n item.right['m_start'] = res;\r\n item.right['m_clean'] = res;\r\n if(this.flowAuth.multiple != 1){\r\n item.right['m_set'] = res;\r\n }\r\n }\r\n });\r\n },\r\n updateAllSelected(oValue) {\r\n let res = true;\r\n if (oValue.indexOf(\"un_\") != -1) {\r\n res = false;\r\n }\r\n var name = oValue.replace(\"un_\", \"\");\r\n if (this.flowAuth.multiple == 1) {\r\n this.defNameJson.forEach(item => {\r\n item.right[name] = res;\r\n });\r\n } else {\r\n this.defAllNameJson.forEach(item => {\r\n item.right[name] = res;\r\n });\r\n }\r\n },\r\n showSysTypeDialog() {\r\n this.$refs.flowTypeDialog.showDialog();\r\n },\r\n showAuthDialog() {\r\n let conf = {\r\n right: [],\r\n permissionList: [\r\n { type: \"everyone\", title: \"所有人\" },\r\n { type: \"user\", title: \"用户\" },\r\n { type: \"org\", title: \"组织\" },\r\n { type: \"pos\", title: \"岗位\" },\r\n { type: \"role\", title: \"角色\" }\r\n // ,{ type: \"none\", title: \"无\" }\r\n ]\r\n };\r\n if (this.calOwnerNameJson) {\r\n conf.right = this.calOwnerNameJson;\r\n }\r\n this.$refs.eipAuthDialog.showDialog(conf);\r\n },\r\n dialogOnConfirm(data, name) {\r\n if (name == \"eipAuthDialog\") {\r\n this.calOwnerNameJson = data;\r\n }\r\n if (name == \"eipFlowDialog\") {\r\n data.forEach(element => {\r\n let isEquals = false;\r\n this.defNameJson.forEach(item => {\r\n if (!isEquals && item.defKey == element.defKey) {\r\n isEquals = true;\r\n }\r\n });\r\n\r\n if (!isEquals) {\r\n let defaultRight = {\r\n m_edit: false,\r\n m_del: false,\r\n m_start: false,\r\n m_set: false,\r\n m_clean: false,\r\n i_del: false,\r\n i_log: false,\r\n i_org: false,\r\n };\r\n this.defNameJson.push({\r\n defName: element.name,\r\n defKey: element.defKey,\r\n right: defaultRight\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (name == \"flowTypeDialog\") {\r\n data.forEach(element => {\r\n if(element.parentId == \"0\"){\r\n return ;\r\n }\r\n let isEquals = false;\r\n this.defAllNameJson.forEach(item => {\r\n if (!isEquals && item.defKey == element.id) {\r\n isEquals = true;\r\n }\r\n });\r\n\r\n if (!isEquals) {\r\n let defaultRight = {\r\n m_edit: false,\r\n m_del: false,\r\n m_start: false,\r\n m_set: false,\r\n m_clean: false,\r\n i_del: false,\r\n i_log: false,\r\n i_org: false,\r\n };\r\n this.defAllNameJson.push({\r\n defName: element.name,\r\n defKey: element.id,\r\n right: defaultRight\r\n });\r\n }\r\n });\r\n }\r\n },\r\n showFlowDialog() {\r\n this.$refs.eipFlowDialog.showDialog();\r\n },\r\n async beforeSaveData() {\r\n this.isSubmit = true;\r\n\r\n let isSelectType = false;\r\n for (const type in this.authorizeTypes_) {\r\n if (this.authorizeTypes_[type]) {\r\n isSelectType = true;\r\n }\r\n }\r\n if (!isSelectType) {\r\n this.$message.error(\"请选择权限类型\");\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n if (this.calOwnerNameJson.length == 0) {\r\n this.$message.error(\"请选择授权人员\");\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n if (this.flowAuth.multiple == \"1\") {\r\n if (this.defNameJson.length == 0) {\r\n this.$message.error(\"请选择授权流程\");\r\n this.isSubmit = false;\r\n return;\r\n }\r\n this.flowAuth.defAllNameJson = [];\r\n } else {\r\n if (this.defAllNameJson.length == 0) {\r\n this.$message.error(\"请选择授权分类\");\r\n this.isSubmit = false;\r\n return;\r\n }\r\n this.flowAuth.defNameJson = [];\r\n }\r\n this.flowAuth.ownerNameJson = JSON.stringify(this.calOwnerNameJson);\r\n\r\n this.flowAuth.defNameJson = JSON.stringify(this.defNameJson);\r\n this.flowAuth.defAllNameJson = JSON.stringify(this.defAllNameJson);\r\n this.flowAuth.authorizeTypes = JSON.stringify(this.authorizeTypes_);\r\n },\r\n afterSaveData() {\r\n this.dialogVisible = false;\r\n this.$emit(\"onConfirm\",true);\r\n },\r\n handleDefauthSelect(value, row, type){\r\n if(value){\r\n row.right.m_edit = true;\r\n row.right.m_del = true;\r\n row.right.m_start = true;\r\n row.right.m_clean = true;\r\n if(type=='type'){\r\n row.right.m_set = true;\r\n }\r\n }else{\r\n row.right.m_edit = false;\r\n row.right.m_del = false;\r\n row.right.m_start = false;\r\n row.right.m_clean = false;\r\n if(type=='type'){\r\n row.right.m_set = false;\r\n }\r\n }\r\n },\r\n handleClose(){\r\n this.dialogVisible = false;\r\n this.$emit(\"onConfirm\",false);\r\n },\r\n authorizeTypesChange(){\r\n if(this.authorizeTypes_.task === true && !this.authorizeTypes_.instance){\r\n this.$set(this.authorizeTypes_,'instance',true);\r\n }\r\n }\r\n }\r\n};\r\n",null]}