{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\organizationPermission\\OrgManager.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\organizationPermission\\OrgManager.vue","mtime":1667327530012},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\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 \"./UserDetail.vue\";\r\nimport UserManager from \"./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]}