{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/src/components/shared/UserDialog/UserDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/src/components/shared/UserDialog/UserDialog.vue","mtime":1742796810168},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/node_modules/babel-loader/lib/index.js","mtime":315532800000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-kms/src/badp-bcxin-5.x/obpm-kms-web/kmspc/node_modules/vue-loader/lib/index.js","mtime":1655715099000}],"contextDependencies":[],"result":["\nimport API from \"@/api.js\";\nexport default {\n name: 'userdialog',\n props: [\n 'formParams',\n 'isRadio'\n ],\n data() {\n return {\n activeName: 'dept',\n treeData: [],\n checkedKeys: [],\n props: {\n children: 'children',\n label:\"name\"\n },\n modalUserData: null, //所有用户\n checkedCities: [], //回显用户数组:userid\n checkAll: false,\n isIndeterminate: false,\n pageNum: 1,\n pageSize: 10,\n searchValue: \"\",\n circleUrl: \"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\",\n modalData: this.formParams.members\n };\n },\n\n mounted() {\n this.getDepartmentsData();\n },\n watch:{\n formParams(val){\n this.modalData = val.members;\n this.setUserDataChecked(this.modalData,this.modalUserData)\n }\n },\n methods: {\n \n /**\n * 获取部门树\n */\n getDepartmentsData(){\n API.getDepartmentsData({\n onSucess: resp => {\n this.treeData = resp.data.data;\n }\n })\n },\n\n /**\n * 页签切换\n */\n handleClick(tab) {\n if(tab.name == 'contact'){\n this.getDeptUser(tab.name);\n }else{\n this.modalUserData.datas = [];\n }\n },\n\n /**\n * 查询用户名称\n */\n searchName(){\n this.activeName = \"contact\";\n this.getDeptUser(\"contact\");\n },\n \n /**\n * 获取选中节点id\n */\n getCheckedNodes(data) {\n this.checkedKeys =data;\n this.getDeptUser('dept', data)\n },\n\n /**\n * 获取用户数据\n */\n getDeptUser(type, info, pageSize, pageNum){\n if(!pageSize){\n pageSize = 100000;\n this.pageSize = pageSize\n }\n if(!pageNum){\n pageNum = 1;\n this.pageNum = pageNum;\n }\n const keyWord = this.searchValue;\n switch(type){\n case 'dept':\n API.getDeptUser(info.id, pageSize, pageNum, {\n onSucess: resp => {\n let modalUserData = this.setUserDataChecked(this.modalData, resp.data.data);\n this.modalUserData = modalUserData;\n }\n })\n break;\n case 'contact':\n API.getContactUser(keyWord, pageSize, pageNum, {\n onSucess: resp => {\n this.modalUserData = resp.data.data;\n }\n })\n break;\n }\n },\n\n /**\n * 显示所有成员面板数据回显选中\n */\n setUserDataChecked(modalData, modalUserData){\n let checkAll = true;\n let checkedCities = [];\n if(modalUserData && modalUserData.datas.length > 0){\n modalUserData.datas = modalUserData.datas.map((user) => {\n user['checked'] = false;\n modalData.map((data) => {\n if (user.id == data.id) {\n user['checked'] = true;\n checkedCities.push(data.id);\n }\n })\n if(!user['checked']){\n checkAll = false\n }\n return user\n })\n }else{\n checkAll = false\n }\n this.checkAll = checkAll;\n this.checkedCities = checkedCities;\n return modalUserData;\n },\n\n /**\n * 全选\n */\n handleCheckAllChange(val){\n let that = this;\n const checkedCities = [];\n this.modalUserData.datas.map((user)=>{\n checkedCities.push(user.id)\n })\n this.checkedCities = checkedCities;\n this.isIndeterminate = false;\n let selectModalData = this.filterSelectModalData(checkedCities,val);\n if(!val){\n this.checkedCities = [];\n }\n this.modalData = selectModalData;\n },\n\n /**\n * 单个勾选\n */\n handleCheckedCitiesChange(checked, user, id){\n if(checked){\n //这里获取用户信息,把type属性去掉,用在团队km申请管理员权限\n let obj = user;\n this.$delete(obj,'type');\n //管理员入口,日志的用户选择框是单选模式\n if(this.isRadio){\n this.checkedCities = []\n this.modalData = [];\n this.checkedCities.push(id);\n }\n this.modalData.push(obj)\n }else{\n if(this.modalData && this.modalData.length > 0) {\n let list = this.modalData;\n for(let i=0; i {\n value.map((userId) => {\n if(user.id == userId){\n selectModalData.push(user);\n }\n })\n })\n selectModalData.map((selectUser,i)=>{\n members.map((menberUser)=>{\n if(selectUser.id == menberUser.id){\n selectModalData.splice(i,1);\n }\n })\n })\n }else{\n value.map((userId) => {\n members.map((user,index) => {\n if(user.id == userId){\n members.splice(index,1);\n }\n })\n })\n }\n if(value.length>0){\n selectModalData = members.concat(selectModalData)\n }\n return selectModalData;\n },\n\n /**\n * 清除已选择面板上的用户\n */\n handlTreeSelectRemove(data){\n let userId = [data.id]\n let selectModalData = this.handlSelectRemove(userId);\n this.modalData = selectModalData;\n },\n\n /**\n * 清除所有选中成员\n */\n handlDelect(){\n let selectModalData = [];\n this.checkedCities = selectModalData;\n this.checkAll = false;\n this.modalData = selectModalData;\n },\n\n /**\n * 筛选清除哪个用户\n */\n handlSelectRemove(data){\n let modalData = this.modalData;\n let checkedCities = this.checkedCities;\n this.modalData.map((user, userIndex) => {\n if(user.id == data[0]){\n modalData.splice(userIndex, 1);\n }\n });\n this.checkedCities.map((checkedId, index)=>{\n if(checkedId == data[0]){\n checkedCities.splice(index, 1);\n }\n });\n //判断没有选中数据时,全选复选框清除选中样式\n if(checkedCities.length == 0){\n this.isIndeterminate = false;\n }\n this.checkedCities = checkedCities\n return modalData;\n },\n\n /**\n * 确定选择用户\n */\n handleSelectUser(){\n //确定之后清空搜索记录\n this.searchValue = \"\";\n this.$emit('handleSelectUser', this.modalData)\n this.modalData = [];\n },\n\n /**\n * 取消\n */\n handleCancel(){\n //取消之后清空搜索记录\n this.searchValue = \"\";\n this.setUserDataChecked(this.formParams.members, this.modalUserData);\n this.modalData = this.formParams.members;\n },\n\n /**\n * 恢复用户选择框初始值\n */\n initUserParams(){\n let selectModalData = [];\n this.checkedCities = selectModalData;\n this.checkAll = false;\n this.modalData = selectModalData;\n this.modalUserData = null;\n this.getDepartmentsData();\n }\n }\n}\n",null]}