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