{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/o_user_select.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/o_user_select.vue","mtime":1725957645728},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/babel-loader/lib/index.js","mtime":315532800000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js","mtime":1655715099000}],"contextDependencies":[],"result":["\nimport API from \"@/api.js\";\nimport Constant from \"@/Constant.js\";\nimport controlHidden from \"@/assets/js/controlHidden.js\";\nexport default {\n name: \"o-user-select\",\n props: [\"id\"],\n computed: {\n field: function () {\n let formData = this.$parent.findField(this.id);\n if (formData.value) {\n formData.value = formData.value.replace(/^(\\s|;)+|(\\s|;)+$/g, \"\");\n let arr = formData.value.split(\";\");\n let name = \"\";\n for (let j = 0; j < arr.length; j++) {\n for (let i = 0; i < formData.data.length; i++) {\n if (arr[j] == formData.data[i].id) {\n name += formData.data[i].name + \";\";\n }\n }\n }\n formData.userName = name.replace(/^(\\s|;)+|(\\s|;)+$/g, \"\");\n } else {\n formData.userName = \"\";\n }\n return formData;\n },\n },\n mounted() {\n this.$nextTick(() => {\n let field = this.field;\n if (field.isHideType) {\n let id = this.id,\n formShowType = field.formShowType;\n controlHidden({ id, field, formShowType });\n }\n });\n },\n watch: {\n \"field.value\": {\n deep: true,\n handler: function (newVal) {\n let field = this.field;\n if (!newVal) {\n field.data = [];\n }\n },\n },\n },\n data: function () {\n return {\n isActive: false,\n errorMessage: \"\",\n currentPage: 1,\n row_count: 0,\n begin: true,\n Constant,\n dialogVisible: false,\n roleCurrentId: \"\",\n allRoles: \"\", //所有角色\n selectedUsers: [], //选中的角色id\n selectedUsersList: [], //选中的角色数据列表\n rolesData: [], //角色数据\n\n activeName: \"first\", //tab的当前页\n\n linkman: [], //通讯录{{$t('view.link')}}\n\n searchData: [], //搜索返回的数据\n props: {\n label: \"name\",\n children: \"zones\",\n isLeaf: (data, node) => {\n let { hasChilds } = data;\n let { childNodes } = node;\n if (!hasChilds && childNodes.length === 0) {\n return true;\n }\n },\n },\n\n deptUser: [], //部门员工列表\n keyWord: \"\", //搜索关键词\n\n title: \" \",\n tabName: \"first\",\n rowCount: 0,\n roleId: \"\",\n contactCount: 0,\n deptCount: 0,\n departId: \"\",\n searchCount: 0,\n onlinesUserCount: 0,\n loadingIcon: false,\n\n onlinesPage: 2,\n onlinesPageCount: \"\",\n\n singleOrDouble: \"\", //单选或者复选\n searchValue: \"\",\n defaultExpandedKeys: [],\n selectedUserRadio: \"\", //选中的角色id(单选)\n\n tabTitleList: [\n {\n name: \"first\",\n value: this.$t(\"view.a_dept\"),\n },\n // {\n // name: \"second\",\n // value: this.$t(\"view.a_role\"),\n // },\n // {\n // name: \"fourth\",\n // value: this.$t(\"profile.tel_list\"),\n // },\n // {\n // name: \"fifth\",\n // value: this.$t(\"view.nearly\"),\n // },\n ],\n recentUsers: [],\n currentRoleName: \"\",\n currentDeptName: \"\",\n isclickEmpty: false,\n showLogsDialog: false,\n tableData: [],\n showLogsIcon: true,\n };\n },\n methods: {\n getOperationLogs() {\n this.showLogsDialog = true;\n let data = {\n fieldName: this.field.name,\n _: new Date().getTime(),\n };\n this.$api.getOperationLogs(this.$root.appid, this.field.docId, data, {\n onSucess: (res) => {\n this.tableData = res.data.data;\n console.log(this.tableData);\n },\n });\n },\n hiddenLogsDialog() {\n this.showLogsIcon = false;\n this.showLogsDialog = false;\n },\n enter() {\n if (this.field.isModified) {\n this.showLogsIcon = true;\n }\n },\n addAllPage(val) {\n if (this.searchData && this.searchData.length > 0) {\n //当是搜索数据的时候\n if (this.selectedUsers && this.selectedUsers.length > 0) {\n this.searchData.forEach((item) => {\n if (arr.indexOf(item.id) < 0) {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n }\n });\n } else {\n this.searchData.forEach((item) => {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n });\n }\n } else {\n if (val == \"ROLE\") {\n let arr = JSON.parse(JSON.stringify(this.selectedUsers));\n if (this.selectedUsers && this.selectedUsers.length > 0) {\n this.rolesData.forEach((item) => {\n if (arr.indexOf(item.id) < 0) {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n }\n });\n } else {\n this.rolesData.forEach((item) => {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n });\n }\n } else if (val == \"DEPT\") {\n let arr = JSON.parse(JSON.stringify(this.selectedUsers));\n if (this.selectedUsers && this.selectedUsers.length > 0) {\n this.deptUser.forEach((item) => {\n if (arr.indexOf(item.id) < 0) {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n }\n });\n } else {\n this.deptUser.forEach((item) => {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n });\n }\n } else if (val == \"ADDRESSBOOK\") {\n let arr = JSON.parse(JSON.stringify(this.selectedUsers));\n if (this.selectedUsers && this.selectedUsers.length > 0) {\n this.linkman.forEach((item) => {\n if (arr.indexOf(item.id) < 0) {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n }\n });\n } else {\n this.linkman.forEach((item) => {\n this.selectedUsersList.push(item);\n this.selectedUsers.push(item.id);\n });\n }\n }\n }\n },\n\n closeAll() {\n this.selectedUserRadio = \"\"; //单选选中状态消失\n this.selectedUsers = [];\n this.selectedUsersList = [];\n },\n\n closableTag(id, num) {\n this.selectedUsersList.splice(num, 1);\n let list = this.selectedUsers;\n for (let i = 0; i < list.length; i++) {\n if (id == list[i]) {\n list.splice(i, 1);\n }\n }\n if (this.field.selectMode == \"selectOne\") {\n this.selectedUserRadio = \"\"; //单选选中状态消失\n }\n },\n\n /**\n * 单选时进行操作\n *\n **/\n handleRadioChange(ev, value, id) {\n let arr = [];\n let arrID = [];\n arrID.push(id);\n arr.push(value);\n this.selectedUsers = arrID;\n this.selectedUsersList = arr;\n console.log(\"this.selectedUsersList---->\", this.selectedUsersList);\n },\n\n /**\n * 多选时进行操作\n *\n **/\n handleSelectChange(ev, value, id) {\n if (ev) {\n this.selectedUsersList.push(value);\n } else {\n if (this.selectedUsersList && this.selectedUsersList.length > 0) {\n let list = this.selectedUsersList;\n for (let i = 0; i < list.length; i++) {\n if (id == list[i].id) {\n list.splice(i, 1);\n }\n }\n }\n }\n },\n //查询用户\n handleIconSearch(value) {\n this.keyWord = value;\n this.selectData = [];\n this.$forceUpdate();\n let pageNum = 1,\n pageSize = 10;\n if (value) {\n this.$api.getSearch(value, pageNum, pageSize, {\n onSucess: (res) => {\n this.rolesData = [];\n this.deptUser = [];\n this.linkman = [];\n if (res.data.data.msg) {\n this.isclickEmpty = true;\n this.searchData = [];\n this.row_count = 0;\n } else {\n this.searchData = res.data.data.datas;\n this.row_count = res.data.data.rowCount;\n this.currentPage = 1;\n }\n },\n });\n }\n },\n\n //判断是单选还是多选\n handleChange(value, direction, movedKeys) {\n if (this.singleOrDouble == \"selectOne\" && value.length >= 2) {\n this.selectedUsers = [];\n alert(\"只能选中一个\");\n }\n },\n\n //加载更多查询数据\n searchLoadingMore() {\n let that = this;\n this.loadingIcon = true;\n let keyWord = this.keyWord;\n let pageSize = 10;\n API.searchPage(keyWord, this.currentPage, pageSize, {\n onSucess: (response) => {\n // this.searchData = this.searchData.concat(response.data.data.datas);\n let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i {\n // this.linkman = this.linkman.concat(response.data.data.datas);\n let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i {\n this.onlinesUser = this.onlinesUser.concat(response.data.data.datas);\n this.loadingIcon = false;\n },\n });\n },\n\n //加载更多部门\n deptLoadingMore(num) {\n let that = this;\n let keyWord = this.keyWord;\n this.loadingIcon = true;\n let pageSize = 10;\n if (keyWord) {\n //点击分页渲染的是有查询结果的下一页\n this.searchLoadingMore();\n } else {\n //点击分页渲染的是没有查询结果的下一页\n let appId = this.$root.appid;\n let departId = this.departId;\n API.departmentPage(appId, departId, num, pageSize, {\n onSucess: (response) => {\n let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i {\n let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i {\n let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i {\n this.onlinesUser = response.data.data.datas;\n this.onlinesUserCount = response.data.data.rowCount;\n this.onlinesPageCount = response.data.data.pageCount;\n },\n });\n } else if (tab.name == \"fourth\") {\n //通讯录\n this.searchData = [];\n this.tabName = \"fourth\";\n } else if (tab.name == \"fifth\") {\n this.searchData = [];\n this.tabName = \"fifth\";\n this.recentUsers = JSON.parse(\n localStorage.getItem(\"localRecentUsers\") || \"[]\"\n );\n //let keyWord = \"\";\n //查询\n // let pageNum = 1,\n // pageSize = 10;\n // API.getSearch(\n // keyWord,\n // pageNum,\n // pageSize,\n // {\n // onSucess: response => {\n // let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i {\n let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i 0) {\n for (let i = 0; i < deptData.length; i++) {\n id += deptData[i].id + \";\";\n }\n id = id.replace(/^(\\s|;)+|(\\s|;)+$/g, \"\");\n field.value = id;\n } else {\n field.value = \"\";\n }\n this.begin = false;\n if (field.refreshOnChanged) {\n this.onChange();\n }\n }\n if (field.instantValidate) {\n this.evenCheck();\n }\n },\n\n evenCheck() {\n let value = true;\n let formData = this.$parent.checkData(value);\n this.$api.formValidation(this.$root.appid, formData, {\n onSucess: (response) => {\n if (response.data.errcode == 4001) {\n if (response.data.errors && response.data.errors.length > 0) {\n let arr = response.data.errors;\n for (let i = 0; i < arr.length; i++) {\n if (this.field.name == arr[i].field) {\n this.isActive = true;\n this.errorMessage = arr[i].errmsg;\n return;\n } else {\n this.isActive = false;\n this.errorMessage = \"\";\n }\n }\n }\n } else if (response.data.errcode == 0) {\n this.isActive = false;\n }\n },\n });\n },\n\n //选中的角色显示在文本框中\n onOk() {\n if (this.selectedUsers.length && this.selectedUsers.length > 0) {\n let list = this.selectedUsersList;\n let val = \"\";\n let id = \"\";\n for (let i = 0; i < list.length; i++) {\n id += list[i].id + \";\";\n val += list[i].name + \";\";\n }\n this.field.data = JSON.parse(JSON.stringify(list));\n id = id.replace(/^(\\s|;)+|(\\s|;)+$/g, \"\");\n this.field.value = id;\n this.field.userName = val;\n this.dialogVisible = false;\n if (this.field.refreshOnChanged) {\n //判断是否需要刷新\n this.onChange();\n }\n\n //以下都是最近用户缓存\n let selectList = JSON.parse(JSON.stringify(this.selectedUsersList));\n let recentUsers = JSON.parse(\n localStorage.getItem(\"localRecentUsers\") || \"[]\"\n );\n let tempArray1 = []; //临时数组1\n let tempArray2 = []; //临时数组2\n if (recentUsers.length > 0) {\n for (let i = 0; i < recentUsers.length; i++) {\n tempArray1[recentUsers[i].id] = true;\n }\n }\n for (let i = 0; i < selectList.length; i++) {\n if (tempArray1[selectList[i].id]) {\n selectList.splice(i, 1);\n i--;\n }\n }\n let allLocalRecentUsers = selectList.concat(recentUsers);\n localStorage.setItem(\n \"localRecentUsers\",\n JSON.stringify(allLocalRecentUsers)\n ); //缓存最近的用户\n } else {\n this.field.data = [];\n this.field.value = \"\";\n this.dialogVisible = false;\n }\n if (this.field.instantValidate) {\n this.evenCheck();\n }\n },\n\n //去除重复数据\n removeDuplicateData(currentData) {\n let uniques = [];\n let stringify = {};\n for (let i = 0; i < currentData.length; i++) {\n let keys = Object.keys(currentData[i]);\n keys.sort(function (a, b) {\n return Number(a) - Number(b);\n });\n let str = \"\";\n for (let j = 0; j < keys.length; j++) {\n str += JSON.stringify(keys[j]);\n str += JSON.stringify(currentData[i][keys[j]]);\n }\n if (!stringify.hasOwnProperty(str)) {\n uniques.push(currentData[i]);\n stringify[str] = true;\n }\n }\n uniques = uniques;\n return uniques;\n },\n\n //角色分类加载\n rolesList(id, name) {\n this.keyWord = \"\";\n this.currentRoleName = name;\n this.searchData = [];\n this.roleCurrentId = id;\n this.roleId = id;\n let that = this;\n let appId = this.$root.appid; //this.$parent.$parent.getAppId();\n let type = 0;\n this.$api.getRoles(appId, id, type, 10, 1, {\n onSucess: (response) => {\n let list = response.data.data.datas;\n // if(that.selectedUsers && that.selectedUsers.length>0 && list && list.length>0) {\n // for(let i=0; i 0) {\n this.selectedUsersList = [];\n this.selectedUsers = [];\n for (let i = 0; i < this.field.data.length; i++) {\n this.selectedUsersList.push(this.field.data[i]);\n this.selectedUsers.push(this.field.data[i].id);\n }\n }\n this.singleOrDouble = both;\n let that = this;\n let appId = this.$root.appid; // this.$parent.$parent.getAppId();\n let type = 0;\n //角色的接口\n this.$api.getAllRoles(appId, type, {\n onSucess: (res) => {\n that.allRoles = res.data.data.datas;\n that.dialogVisible = true;\n },\n });\n },\n\n handleClose(done) {\n done();\n },\n //判断是否要刷新\n onChange() {\n this.$parent.refresh(this.id);\n },\n },\n};\n",null]}