{"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]}