{"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\\org\\OrgManager.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\uc\\org\\OrgManager.vue","mtime":1675071993444},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 orgrequest from \"@/api/org.js\";\r\nimport uc from \"@/api/uc.js\";\r\nimport UserDetail from \"@/views/uc/UcManager/UserDetail.vue\";\r\nimport UserManager from \"@/views/uc/UcManager/UserManager\";\r\nimport EipUserDialog from \"@/components/dialog/EipUserDialog.vue\";\r\nimport PostDialog from \"./PostDialog.vue\";\r\nimport underUserTable from \"./UnderUserTable\";\r\nimport OrgPost from \"./OrgPost\";\r\nimport OrgAuthPage from \"./OrgAuthPage\";\r\nexport default {\r\n  name: \"org-manager\",\r\n  data() {\r\n    return {\r\n      org: {\r\n        id: \"\",\r\n        name: \"\",\r\n        orgKind: \"ogn\",\r\n        parentOrgName: \"\",\r\n        groupCode: \"\",\r\n        orderNo: \"\",\r\n        grade: \"\",\r\n        demId: \"\",\r\n        demCode: \"\",\r\n        parentId: \"\",\r\n        code: \"\",\r\n        exceedLimitNum: 0,\r\n        limitNum: 0,\r\n        nowNum: 0\r\n      },\r\n      orgUser: [], //组织人员\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 50,\r\n        total: 0\r\n      },\r\n      otherPostPageResult: {\r\n        page: 1,\r\n        pageSize: 5,\r\n        total: 0\r\n      },\r\n      orgUserShow: false,\r\n      underUserDialogShow: false,\r\n      orgPostShow: false,\r\n      orgAuthPageShow: false,\r\n      selectOrgUserAccount: \"\",\r\n      orgParams: [], // 组织参数\r\n      orgParam: {},\r\n      orgResume: \"orgInfo\",\r\n      saveRoleUrl: \"/api/org/v1/org/addOrg\",\r\n      OrgManagerFormType: \"\",\r\n      selectUsers: [],\r\n      otherPostData: [],\r\n      dialogVisible: false,\r\n      orgAuthData: [],\r\n      isUserInfo: false,\r\n      user: {},\r\n      isUserManagerShow: false,\r\n      clickUserAccount: \"\",\r\n      orgKind:[{\r\n        key: \"ogn\", \r\n        value:\"机构\"\r\n      },{\r\n        key: \"dept\", \r\n        value:\"部门\"\r\n      }]\r\n    };\r\n  },\r\n  components: {\r\n    EipUserDialog,\r\n    underUserTable,\r\n    OrgPost,\r\n    OrgAuthPage,\r\n    PostDialog,\r\n    UserDetail,\r\n    UserManager\r\n  },\r\n  props: [\"type\", \"orgCode\", \"parentName\", \"demId\", \"parentId\"],\r\n  mounted() {\r\n    this.OrgManagerFormType = this.type;\r\n    this.org.parentId = this.parentId;\r\n    this.org.parentOrgName = this.parentName;\r\n    this.org.demId = this.demId;\r\n    if (\r\n      this.OrgManagerFormType === \"showInfo\" ||\r\n      this.OrgManagerFormType === \"editOrg\"\r\n    ) {\r\n      orgrequest.getOrg(this.orgCode).then(resp => {\r\n        this.org = resp;\r\n      });\r\n    }\r\n    if (this.OrgManagerFormType === \"addOrg\") {\r\n      var num = \"\";\r\n      for (var i = 0; i < 3; i++) {\r\n        num += Math.floor(Math.random() * 10);\r\n      }\r\n      this.org.orderNo = num;\r\n    }\r\n    orgrequest.getOrgParams().then(resp => {\r\n      this.orgParams = resp;\r\n      this.getOrgParamsByCode();\r\n    });\r\n  },\r\n  computed: {\r\n    orgUserDeleteUrl: function() {\r\n      return window.context.uc + \"/api/org/v1/orgUser/delOrgUser\";\r\n    },\r\n    defaultQuerys:function () {\r\n      return [{ property: 'org.ID_', value: this.org.id }];\r\n    }\r\n  },\r\n  methods: {\r\n    rowClick(row, column, event){\r\n      this.$refs.htTable.$refs.htTable.toggleRowSelection(row);\r\n    },\r\n    loadData(param, cb) {\r\n      this.selectUsers = [];\r\n      orgrequest\r\n        .getOrgUserPage(param)\r\n        .then(response => {\r\n          let resp = response.rows;\r\n          let result = [];\r\n          let user = [];\r\n          let filterData = [];\r\n          let othPost = [];\r\n          resp.forEach(item =>{\r\n            if(item.isMaster){\r\n              user.push(item.account);\r\n              result.push(item);\r\n            }else{\r\n              filterData.push(item);\r\n            }\r\n          });\r\n          filterData.forEach(val =>{\r\n            if(user.indexOf(val.account) < 0){\r\n              user.push(val.account);\r\n              result.push(val);\r\n            }else{\r\n              othPost.push(val)\r\n            }\r\n          });\r\n          this.org.nowNum = response.total;\r\n          this.orgUser = result;\r\n          this.pageResult = {\r\n            page: response.page,\r\n            pageSize: response.pageSize,\r\n            total: response.total - othPost.length\r\n          };\r\n        })\r\n        .finally(() => cb());\r\n    },\r\n    tabClick(tab) {\r\n      //点击tab卡片\r\n      this.orgUserShow = false;\r\n      this.orgPostShow = false;\r\n      this.orgAuthPageShow = false;\r\n      this.$nextTick(() => {\r\n        if (tab.index===\"1\"){\r\n          this.orgUserShow = true;\r\n        }else if (tab.index===\"2\"){\r\n          this.orgPostShow = true;\r\n        }else if (tab.index===\"4\"){\r\n          this.orgAuthPageShow = true;\r\n        }\r\n      });\r\n    },\r\n    orgUserHandleCommand(params) {\r\n      this.readOnly = false;\r\n      switch (params.command) {\r\n        case \"toUnderUserPage\":\r\n          this.selectOrgUserAccount = params.row.account;\r\n          this.$refs.underUserTable.showDialog(params.row.userId);\r\n          break;\r\n        case \"setIsMaster\":\r\n          //设置主组织\r\n          orgrequest.setMasterById(params.row.orgUserId).then(() => {\r\n            let tab = {index:\"1\"};\r\n            this.tabClick(tab);\r\n          });\r\n          break;\r\n        case \"setOrgCharge\":\r\n          //设置是否为主要负责人\r\n          this.setOrgCharge(params.row);\r\n          break;\r\n        case \"setIsMainChange\":\r\n          //设置是否为主要负责人\r\n          params.row.isMainChange = true;\r\n          this.setOrgCharge(params.row);\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    },\r\n    showAddOrgUser() {\r\n      if (\r\n        (1 + this.org.nowNum) > this.org.limitNum &&\r\n        this.org.exceedLimitNum === 1\r\n      ) {\r\n        this.$message.error(\"现编用户数量已达到组织用户限编数量\");\r\n        return;\r\n      }\r\n      this.$refs.eipUserDialog.showDialog();\r\n    },\r\n    userDialogOnConfirm(selection) {\r\n      if (!selection || selection.length == 0) {\r\n        this.$message.error(\"请至少选择一个用户\");\r\n        return;\r\n      }\r\n      // （拿出现有人员+选择人数）和限有人员进行比对\r\n      if (\r\n        selection.length + this.org.nowNum > this.org.limitNum &&\r\n        this.org.exceedLimitNum === 1\r\n      ) {\r\n        this.$message.error(\"设置用户数超过上限\");\r\n        return;\r\n      }\r\n      let accounts = [];\r\n      for (let user of selection) {\r\n        accounts.push(user.account);\r\n      }\r\n      let params = {};\r\n      params.orgCode = this.org.groupCode;\r\n      if (params.orgCode == \"\") {\r\n        params.orgCode = this.org.code;\r\n      }\r\n      params.accounts = accounts.join(\",\");\r\n      orgrequest.addUsersForOrg(params).then(data => {\r\n        if (data.state) {\r\n          this.$message({\r\n            message: data.message,\r\n            type: \"success\",\r\n            showClose: true\r\n          });\r\n          this.org.nowNum += selection.length;\r\n          return;\r\n        }\r\n        this.$message.error(data.message || \"操作失败\");\r\n      }).then(() => {\r\n        this.$refs.htTable.load();\r\n      });\r\n    },\r\n    underUserDialogClose() {\r\n      this.underUserDialogShow = false;\r\n    },\r\n    afterDelete() {\r\n      this.$refs.htTable.load();\r\n    },\r\n    setOrgCharge(row) {\r\n      var param = {};\r\n      param.account = row.account;\r\n      param.orgCode = this.org.groupCode;\r\n      if (row.isMainChange) {\r\n        param.isCharge = true;\r\n      } else {\r\n        param.isCharge = false;\r\n      }\r\n      orgrequest.setOrgCharge(param).then(() => {\r\n        let tab = {index:\"1\"};\r\n        this.tabClick(tab);\r\n      });\r\n    },\r\n    orgParamSubmit() {\r\n      var param = {\r\n        orgCode: this.org.groupCode\r\n      };\r\n      var data = [];\r\n      for (var orgparam in this.orgParam) {\r\n        data.push({ alias: orgparam, value: this.orgParam[orgparam] });\r\n      }\r\n      orgrequest.saveOrgParams(data, param).then(resp => {\r\n        if(resp.state){\r\n          this.$message({\r\n            message: resp.message,\r\n            type: \"success\",\r\n            showClose: true\r\n          });\r\n        }\r\n      });\r\n    },\r\n    submit() {\r\n      let patt = new RegExp(\"^[0-9]*$\");\r\n      if (!patt.test(this.org.limitNum)){\r\n        this.$message.error(\"组织现编用户数量不是自然数\");\r\n        return;\r\n      }\r\n      if (!this.org.orderNo || !patt.test(this.org.orderNo)){\r\n        this.$message.error(\"排序号不是自然数\");\r\n        return;\r\n      }\r\n      if(this.org.name && this.org.name.length > 30\r\n              || this.org.code && this.org.code.length > 30\r\n              || Number(this.org.orderNo) > Number.MAX_VALUE\r\n              || this.org.grade && this.org.grade.length > 30\r\n              || Number(this.org.limitNum) > Number.MAX_VALUE ){\r\n        this.$message({type: \"warning\", message: \"内容超出输入限制\"});\r\n        return false;\r\n      }\r\n      if (this.OrgManagerFormType === \"addOrg\") {\r\n        orgrequest.addOrg(this.org).then(resp => {\r\n          if (!resp.state) {\r\n            return;\r\n          }\r\n          this.$emit(\"reloadTree\");\r\n          this.OrgManagerFormType = \"showInfo\";\r\n          this.$message.success(\"创建成功\");\r\n          return resp;\r\n        }).then((response) => {\r\n          if (response.state){\r\n            orgrequest.getOrg(this.org.code).then(resp => {\r\n              this.org = resp;\r\n            })\r\n          }\r\n        });\r\n      } else if (this.OrgManagerFormType === \"editOrg\") {\r\n        orgrequest.updateOrg(this.org).then(resp => {\r\n          if(resp.state){\r\n            this.OrgManagerFormType = \"showInfo\";\r\n            this.$emit(\"reloadTree\");\r\n            this.$message.success(\"修改成功\");\r\n          }\r\n        });\r\n      }\r\n    },\r\n    getOrgParamsByCode() {\r\n      if (this.orgCode) {\r\n        orgrequest.getOrgParamsByCode(this.orgCode).then(resp => {\r\n          for (var i = 0; i < resp.length; i++) {\r\n            var respKey = resp[i];\r\n            this.$set(this.orgParam,respKey.alias,respKey.value)\r\n            // this.orgParam[respKey.alias] = respKey.value;\r\n          }\r\n        });\r\n      }\r\n    },\r\n    getOtherPost(row){\r\n      this.dialogVisible = true;\r\n      this.loadOtherPost(row);\r\n    },\r\n    loadOtherPost(row,cb){\r\n      let param = {};\r\n      this.clickOtherPost = row;\r\n      let query = {\r\n        group: \"defaultQueryGroup\",\r\n        operation: \"EQUAL\",\r\n        relation: \"AND\",\r\n        property: \"account\",\r\n        value: row.account\r\n      };\r\n      let query1 = {\r\n        group: \"defaultQueryGroup\",\r\n        operation: \"NOT_EQUAL\",\r\n        relation: \"AND\",\r\n        property: \"uopId\",\r\n        value: row.relId?row.relId : -1\r\n      };\r\n      param = {\r\n        pageBean: this.otherPostPageResult,\r\n        querys: []\r\n      };\r\n      param.querys.push(query);\r\n      param.querys.push(query1);\r\n      uc.getUserOrgPage(param)\r\n              .then(response => {\r\n                this.otherPostData = response.rows;\r\n                this.otherPostPageResult = {\r\n                  page: response.page,\r\n                  pageSize: response.pageSize,\r\n                  total: response.total\r\n                };\r\n              })\r\n              .finally(() => cb());\r\n    },\r\n    setUserMaster(){\r\n      if(this.selectUsers.length < 1){\r\n        this.$message({message:'请选择人员', type:'warning'});\r\n        return;\r\n      }\r\n      let ids = [];\r\n      this.selectUsers.forEach(item =>{\r\n        ids.push(item.orgUserId);\r\n      });\r\n      orgrequest.setMasterByIds(ids).then(resp =>{\r\n        if(resp.state) {\r\n          this.$message({message:resp.message, type:'success'});\r\n          this.selectUsers = [];\r\n          let tab = {index:\"1\"};\r\n          this.tabClick(tab);\r\n        }\r\n      })\r\n    },\r\n    setUserPost(){\r\n      if(this.selectUsers.length < 1){\r\n        this.$message({message:'请选择人员', type:'warning'});\r\n        return;\r\n      }\r\n      this.$refs.postDialog.showDialog();\r\n    },\r\n    postDialogOnConfirm(selection){\r\n      if (!selection || selection.length == 0) {\r\n        this.$message.error(\"请至少选择一个岗位\");\r\n        return;\r\n      }\r\n      let postCodeArr = [];\r\n      selection.forEach(item =>{\r\n        postCodeArr.push(item.code);\r\n      });\r\n      let postCode = postCodeArr.join(\",\");\r\n      postCode = postCode + \",\";\r\n      let accountArr = [];\r\n      this.selectUsers.forEach(val =>{\r\n        accountArr.push(val.account);\r\n      });\r\n      let account = accountArr.join(\",\");\r\n      let param = {};\r\n      param.postCode = postCode;\r\n      param.accounts = account;\r\n      orgrequest.saveUserPost(param).then(data => {\r\n        if (data.state) {\r\n          this.$message({\r\n            message: data.message,\r\n            type: \"success\",\r\n            showClose: true\r\n          });\r\n          this.$refs.htTable.load();\r\n\r\n        }\r\n        // this.$message.error(data.message || \"分配用户失败\");\r\n      });\r\n    },\r\n    handleSizeChange(val) {\r\n      this.otherPostPageResult.page = 1;\r\n      this.otherPostPageResult.pageSize = val;\r\n      this.loadOtherPost(this.clickOtherPost)\r\n    },\r\n    handleCurrentChange(val) {\r\n      this.otherPostPageResult.page = val;\r\n      this.loadOtherPost(this.clickOtherPost)\r\n    },\r\n    otherPostClose(){\r\n      this.otherPostPageResult = {\r\n        page: 1,\r\n        pageSize: 5,\r\n        total: 0\r\n      }\r\n    },\r\n    selectUser(selection){\r\n      this.selectUsers = selection;\r\n    },\r\n    editUser(userAccount){\r\n      let userAuthData = [];\r\n      userAuthData = this.orgAuthData.filter(filter =>{\r\n        return filter.userAccount == userAccount\r\n      });\r\n      if(userAuthData[0] && userAuthData[0].userPerms && userAuthData[0].userPerms.indexOf('edit')){\r\n        this.clickUserAccount = userAccount;\r\n        this.isUserManagerShow = true;\r\n      }else{\r\n        this.selectUserInfo(userAccount);\r\n      }\r\n    },\r\n    selectUserInfo(account) {\r\n      //查询用户的详细信息\r\n      uc.getUser(account)\r\n              .then(resp => {\r\n                resp.photo = `${window.context.portal}` + resp.photo;\r\n                this.user = { ...resp.user };\r\n              })\r\n              .then(() => {\r\n                // 查询所属组织岗位，所属角色信息\r\n                uc.getUserByUserId(this.user.id).then(resp => {\r\n                  this.$set(\r\n                          this.user,\r\n                          \"roleName\",\r\n                          resp[resp.length - 1].roleName.roleName\r\n                  );\r\n                  let _orgPostList = [];\r\n                  for (var i = 0; i < resp.length - 1; i++) {\r\n                    _orgPostList.push(resp[i]);\r\n                  }\r\n                  this.$set(this.user, \"orgPostList\", _orgPostList);\r\n                  this.isUserInfo = true;\r\n                });\r\n              });\r\n    },\r\n    handleCloseUserManager() {\r\n      this.isUserInfo = false;\r\n      this.isUserManagerShow = false;\r\n      this.$refs.htTable.load();\r\n    },\r\n    getOrgAuthData(data){\r\n      this.orgAuthData = data;\r\n    },\r\n  }\r\n};\r\n",null]}