{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\projectManagent\\modules\\dialog\\personInfoDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\projectManagent\\modules\\dialog\\personInfoDialog.vue","mtime":1667333351540},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\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\r\nimport utils from '@/hotent-ui-util.js'\r\nimport uc from '@/api/uc.js'\r\nimport org from '@/api/org.js'\r\nimport sys from '@/api/portal.js'\r\nimport req from '@/request.js'\r\nimport eipOrgDialog from '@/components/dialog/EipOrgDialog.vue'\r\nimport eipPostDialog from '@/components/dialog/EipPostDialog.vue'\r\nconst eipRoleDialog = () => import('@/components/dialog/EipRoleDialog.vue')\r\nexport default {\r\n name: 'userInfo',\r\n components: {\r\n eipOrgDialog,\r\n eipPostDialog,\r\n eipRoleDialog,\r\n },\r\n props: ['userAccount', 'orgCode'],\r\n\r\n data() {\r\n return {\r\n dialogVisible: false,\r\n user: {}, //用户信息\r\n account: '', //当前用户账号\r\n currentTabName: 'basic',\r\n orgPageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n rolePageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n orgPostList: [], //组织岗位\r\n userRoleList: [], //用户角色,\r\n currentTabName: 'basic',\r\n userOrgPostLoaded: false,\r\n userRoleLoaded: false,\r\n pwdValidate: {\r\n required: true,\r\n min: 6,\r\n max: 30,\r\n },\r\n }\r\n },\r\n computed: {\r\n //保存用户\r\n saveUserUrl() {\r\n let preUrl = window.context.uc + '/api/user/v1/user'\r\n if (this.account == this.user.account) {\r\n preUrl += '/updateUser'\r\n } else {\r\n preUrl += '/addUser'\r\n }\r\n return preUrl\r\n },\r\n // 删除岗位\r\n delOrgUser: function () {\r\n return window.context.uc + '/api/org/v1/orgUser/delOrgUser'\r\n },\r\n },\r\n mounted() {\r\n // this.account = this.userAccount\r\n // 是否显示用户所属组织岗位\r\n this.userOrgPostLoaded = false\r\n // 是否显示用户拥有的角色\r\n this.userRoleLoaded = false\r\n //默认密码策略\r\n uc.getDefaultPwdStrategy().then((data) => {\r\n if (data) {\r\n let form = data\r\n //默认初始化密码\r\n if (form.initPwd) {\r\n this.user.password = form.initPwd\r\n }\r\n if (form.enable == 1) {\r\n let pwdRule = form.pwdRule\r\n let pwdLength = form.pwdLength\r\n if (pwdRule == 1) {\r\n this.pwdValidate = {\r\n required: true,\r\n min: pwdLength,\r\n }\r\n } else {\r\n let regex = {}\r\n if (pwdRule == 2) {\r\n regex = {\r\n exp: '^(?=.*[0-9])(?=.*[a-zA-Z]).{' + pwdLength + ',30}$',\r\n message: '密码必须包含字母、数字,至少' + pwdLength + '位',\r\n }\r\n } else if (pwdRule == 3) {\r\n regex = {\r\n exp:\r\n '^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{' +\r\n pwdLength +\r\n ',30}$',\r\n message:\r\n '密码必须包含数字、字母、特殊字符,至少' + pwdLength + '位',\r\n }\r\n } else if (pwdRule == 4) {\r\n regex = {\r\n exp:\r\n '^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{' +\r\n pwdLength +\r\n ',30}$',\r\n message:\r\n '密码必须包含数字、大小写字母、特殊字符,至少' +\r\n pwdLength +\r\n '位',\r\n }\r\n }\r\n this.pwdValidate = {\r\n required: true,\r\n regex: regex,\r\n }\r\n }\r\n }\r\n }\r\n })\r\n },\r\n methods: {\r\n addUserRole(param) {\r\n param = param.map((param) => {\r\n return param.code\r\n })\r\n var params = {\r\n account: this.account,\r\n codes: param,\r\n }\r\n uc.saveUserRoles(params).then(() => {\r\n this.$refs.userRoleTable.load()\r\n })\r\n },\r\n //删除角色\r\n deleteUserRole(code) {\r\n var params = {\r\n account: this.account,\r\n codes: code,\r\n }\r\n uc.delUserRole(params).then(() => {\r\n this.$refs.userRoleTable.load()\r\n })\r\n },\r\n //\r\n showEipRoleDialog() {\r\n this.$refs.eipRoleDialog.showDialog()\r\n },\r\n //加载角色\r\n userRoleLoad(param, cb) {\r\n uc.userRolePage(param)\r\n .then((response) => {\r\n if (response) {\r\n this.userRoleList = response.rows\r\n this.rolePageResult = {\r\n page: response.page,\r\n pageSize: response.pageSize,\r\n total: response.total,\r\n }\r\n }\r\n })\r\n .finally(() => cb())\r\n },\r\n //打开岗位\r\n showEipPostDialog() {\r\n this.$refs.eipPostDialog.showDialog()\r\n },\r\n //打开添加组织进行选择\r\n showEipOrgDialog() {\r\n this.$refs.eipOrgDialog.showDialog()\r\n },\r\n //删除组织岗位之后做的事\r\n afterDelOrgUser() {\r\n this.$refs.orgPostTables.load()\r\n },\r\n //组织岗位\r\n orgPostData(param, cb) {\r\n uc.getUserOrgPage(param)\r\n .then((response) => {\r\n this.orgPostList = response.rows.map((item) => {\r\n if (item.isMaster == 0) {\r\n item.isMaster = 1\r\n return item\r\n } else {\r\n item.isMaster = 0\r\n return item\r\n }\r\n })\r\n this.orgPostPageResult = {\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 //所属组织岗位 -> 选择组织\r\n addUserOrg(param) {\r\n param = param.map((param) => {\r\n return param.code\r\n })\r\n let _this = this\r\n this.checkBeyondOrg(param, function (resp) {\r\n if (resp.beyond.length > 0) {\r\n let beyondOrgNames = resp.beyond.map((org) => {\r\n return org.name\r\n })\r\n _this.$message.error(\r\n '添加失败:组织【' + beyondOrgNames.join(',') + '】超出限编'\r\n )\r\n return\r\n }\r\n var params = {\r\n account: _this.account,\r\n orgCode: resp.normal,\r\n }\r\n uc.saveUserOrgs(params).then((resp) => {\r\n _this.$refs.orgPostTables.load()\r\n })\r\n })\r\n },\r\n open() {\r\n this.dialogVisible = true\r\n this.currentTabName = 'basic'\r\n this.userRoleList = []\r\n this.orgPostList = []\r\n this.account = ''\r\n //初始化加载用户表单\r\n this.user = {\r\n id: '',\r\n account: '',\r\n address: '',\r\n email: '',\r\n fullname: '',\r\n mobile: '',\r\n password: '',\r\n photo: '',\r\n sex: '',\r\n status: 1,\r\n userType: 2,\r\n }\r\n },\r\n closeUserManager() {\r\n this.dialogVisible = false\r\n },\r\n // 保存添加临时人员personnelId,同时父组件页面重新加载调用查询接口展示\r\n savePersonnel() {\r\n let param = {\r\n pageBean: {\r\n page: 1,\r\n pageSize: -1,\r\n },\r\n }\r\n uc.getUsersByOrgId(param).then((res) => {\r\n res.rows.forEach((item) => {\r\n if (item.account == this.user.account) {\r\n let param = {}\r\n param.projectId = this.$route.params.id\r\n param.personnelId = item.id\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/projectManagement/projectPersonnel/v1/save',\r\n param\r\n )\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.$emit('loadPersonnel')\r\n }\r\n })\r\n }\r\n })\r\n })\r\n },\r\n beforeSaveData() {},\r\n afterSaveData() {\r\n // 如果初始化添加没有账号,需要走接口添加相应的所属岗位组织\r\n if (this.account !== this.user.account) {\r\n this.account = this.user.account\r\n let params = {\r\n account: this.account,\r\n orgCode: 'dsf',\r\n }\r\n //同时把账号存入第三方接口中\r\n this.$http\r\n .get('${cqxy}/api/org/v1/org/getOrgLimitByCodes?codes=dsf')\r\n .then((res) => {\r\n console.log(res)\r\n })\r\n uc.saveUserOrgs(params).then((resp) => {\r\n if (resp.state) {\r\n this.savePersonnel()\r\n this.$refs.orgPostTables.load()\r\n this.$refs.userRoleTable.load()\r\n }\r\n })\r\n \r\n }\r\n },\r\n // 点击某个tab页签时再加载该页签的数据\r\n tabClick() {\r\n switch (this.currentTabName) {\r\n case 'orgPost':\r\n this.userOrgPostLoaded = true\r\n break\r\n case 'role':\r\n this.userRoleLoaded = true\r\n break\r\n }\r\n },\r\n addUserPost(param) {\r\n param = param.map((param) => {\r\n return param.code\r\n })\r\n var params = {\r\n account: this.account,\r\n Code: param,\r\n }\r\n uc.saveUserPosts(params).then((resp) => {\r\n this.$refs.orgPostTables.load()\r\n })\r\n },\r\n checkBeyondOrg(orgCodes, callback) {\r\n org.getOrgLimitByCodes(orgCodes.join(',')).then((resp) => {\r\n let normalOrgCodes = []\r\n let beyondOrgs = []\r\n if (resp && resp.rows) {\r\n resp.rows.forEach((org) => {\r\n if (org.exceedLimitNum === 1 && org.limitNum != 0) {\r\n if (org.limitNum > org.nowNum + 1) {\r\n normalOrgCodes.push(org.code)\r\n } else {\r\n beyondOrgs.push(org)\r\n }\r\n } else {\r\n normalOrgCodes.push(org.code)\r\n }\r\n })\r\n }\r\n callback({normal: normalOrgCodes, beyond: beyondOrgs})\r\n })\r\n },\r\n setMaster(row) {\r\n uc.setMasterById(row.orgUserId).then((resp) => {\r\n if (resp.state) {\r\n this.$message.success(resp.message)\r\n this.$refs.orgPostTables.load()\r\n }\r\n })\r\n let flag = false\r\n let orgName = ''\r\n // this.orgPostList.forEach((item) => {\r\n // if (item.isMaster === 1 && row.orgId !== item.orgId) {\r\n // orgName = item.orgName\r\n // flag = true\r\n // }\r\n // })\r\n // if (flag) {\r\n // this.$confirm(\r\n // '该用户已设置主组织' + orgName + ',是否重新设置?',\r\n // '提示',\r\n // {\r\n // confirmButtonText: '确定',\r\n // cancelButtonText: '取消',\r\n // type: 'success',\r\n // }\r\n // )\r\n // .then(() => {\r\n // uc.setMasterById(row.orgUserId).then((resp) => {\r\n // this.$refs.orgPostTables.load()\r\n // })\r\n // })\r\n // .catch(() => {})\r\n // } else {\r\n // uc.setMasterById(row.orgUserId).then((resp) => {\r\n // this.$refs.orgPostTables.load()\r\n // })\r\n // }\r\n },\r\n },\r\n}\r\n",null]}