{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web\\src\\views\\projectManagent\\modules\\dialog\\personInfoDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\views\\projectManagent\\modules\\dialog\\personInfoDialog.vue","mtime":1675214578261},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\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]}