{"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/searchFile/MySearch.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/searchFile/MySearch.vue","mtime":1742796810167},{"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\";\nimport { getPreviewUrl, dateToTime, spliceHash, encodeHash, TimeToDate } from '@/utils/utils.js';\n//文件分享\nimport filesharedialog from '@/components/shared/FileShareDialog.vue';\n//收藏文件\nimport collectdialog from '@/components/shared/CollectDialog.vue';\n//标签对话框\nimport labelcategorydialog from '@/components/shared/LabelCategoryDialog.vue';\n//申请权限对话框\nimport applicationAuthority from '@/components/shared/ApplicationAuthority';\nexport default {\n name: \"mySearch\",\n components: {\n filesharedialog,\n collectdialog,\n labelcategorydialog,\n applicationAuthority\n },\n props:[\n \"searchName\"\n ],\n data () {\n return {\n // checkList: ['部门KM','团队KM','专委会KM'],\n kmsFilePath: kmsFilePath,\n list: [\"1\",\"2\",\"4\",\"8\"],\n checkList: [{\n name: this.$t('menu.department') + \"KM\",\n title: this.$t('placeholder.searches_department'),\n key: \"1\"\n },{\n name: this.$t('menu.team_KM'),\n title: this.$t('placeholder.searches_team'),\n key: \"2\"\n },{\n name: this.$t('Committee.oneself') + \"KM\",\n title: this.$t('placeholder.searches_panel'),\n key: \"4\"\n },{\n name: this.$t('menu.staff_KM'),\n title: this.$t('placeholder.earches_employee'),\n key: \"8\"\n }],\n searchText: '',\n restaurants: [],\n params:{\n keyWord: '',\n selectTitle: true, //标题是否搜索\n selectContent: true, //内容是否搜索\n creator: \"\", //创建人\n beginTime: \"\", //开始时间\n endTime: \"\", //结束时间\n categoryIds: [],\n scope: [],\n pageNo: 1,\n linesPerPage: 15,\n },\n dateString: [],\n timeout: null,\n searchList: [],\n shareTreeModalParams: { //分享弹出层\n fileId: \"\",\n diskId: \"\",\n folderId: \"\",\n shareTreeModalVisible: false,\n teamTreeData: []\n },\n collectTreeModalParams: { //文件收藏弹出层\n collectTreeModalVisible: false,\n fileId: \"\",\n },\n categorySettingsModalParams: { //贴标签弹出层\n fileId: \"\",\n defaultValue: [],\n categoryData: [], \n visible: false, \n },\n authorityModalParams: { //权限对话框\n fileId: \"\",\n authorityVisible: false, \n type: \"\" \n },\n categoryOkParams: [],\n advancedSearch: false,\n fileOriginType: \"\", //定义来源信息\n //文件源from哪个km\n resourceType : {\n \"ORIGIN_TYPE_DEPT_KM\" : 1, //部门KM\n \"ORIGIN_TYPE_DEPT_TEAMKM\" : 2, //团队KM\n \"ORIGIN_TYPE_DEPT_COMMITTEEKM\" : 4, //专委会KM\n \"ORIGIN_TYPE_DEPT_PERSON\" : 8, //个人\n \"ORIGIN_TYPE_DEPT_NETWORK\" : 9 //其他网盘\n },\n flag: true,\n scrollHeight: 0\n }\n },\n mounted(){\n /**\n * 获取滚动条的高度\n */\n setTimeout(() => {\n let clientHeight = document.documentElement.clientHeight || document.body.clientHeight;\n this.scrollHeight = clientHeight - 50 - 40 - 16 - 32 - 24 - 12 - 12 - 35 - 40\n }, 100)\n },\n methods: {\n //显示高级搜索\n handleModalToggle(){\n this.advancedSearch = !this.advancedSearch;\n if(this.advancedSearch){\n this.scrollHeight = this.scrollHeight - 44 - 62\n }else{\n this.scrollHeight = this.scrollHeight + 44 + 62\n }\n },\n\n // 根据关键字进行查询\n filesSearch(item) {\n if(this.dateString && this.dateString.length>0){\n let beginTime = \"\";\n let endTime =\"\";\n this.dateString.map((e,key) => {\n if(key == 0) {\n beginTime = e ? dateToTime(e) : \"\";\n }else if(key == 1)\n endTime = e ? dateToTime(e) : \"\";\n })\n this.params.beginTime = beginTime;\n this.params.endTime = endTime;\n }else if(this.dateString == null){ //当日期选择框清空时,把日期的时间清空\n this.params.beginTime = \"\";\n this.params.endTime = \"\";\n }\n this.params.scope = [];\n if(item && item.content){\n this.params.keyWord = item.content;\n }else{\n this.params.keyWord = this.searchText\n }\n for(let i=0;i {\n if(this.flag) this.flag = false;\n let data = resp.data.data;\n for(let i=0;i {\n if(this.flag) this.flag = false;\n let data = resp.data.data;\n for(let i=0;i {\n cb(results);\n }, 2000 * Math.random());\n }\n },\n createStateFilter(queryString) {\n return (state) => {\n return (state.content.toLowerCase().indexOf(queryString.toLowerCase()) === 0);\n };\n },\n //动态获取类名\n setClass(key) {\n let obj = \"item-icon icon-file32x32 icon-file-\"+ key;\n return obj;\n },\n // 点击搜索按钮进行查询\n handleClick() {\n this.filesSearch()\n },\n /**\n * 来源点击回到文件所在的网盘\n */\n handleBackToOrigin(file){\n let resourceType = this.resourceType;\n switch (parseInt(file.resourceType)) {\n case resourceType.ORIGIN_TYPE_DEPT_KM: //部门KM\n let deptHashParams = {\n fileName: \"\",\n diskId: file.diskId,\n folderId: file.folderId,\n pageNo: 1,\n linesPerPage: 15,\n }\n const deptHash = spliceHash(deptHashParams);\n location.hash = \"#/departmentKm?\"+ encodeHash(deptHash);\n break;\n case resourceType.ORIGIN_TYPE_DEPT_TEAMKM: //团队KM\n //团队下的阶段所需的的teamId跟diskId相同\n let teamHashParam = {\n \"teamId\" : file.diskId,\n \"diskId\" : file.diskId\n }\n const teamHash = spliceHash(teamHashParam);\n location.hash = \"#/teamKm?\"+encodeHash(teamHash);\n break;\n case resourceType.ORIGIN_TYPE_DEPT_COMMITTEEKM: //专委会KM\n let param = {\n id: file.id,\n }\n this.$router.push({\n path: \"/knowledgePreview\",\n query: {param}\n })\n break;\n case resourceType.ORIGIN_TYPE_DEPT_PERSON: //个人/员工km\n let personHashParams = {\n diskId: file.diskId,\n folderId: file.folderId,\n pageNo: 1,\n linesPerPage: 15,\n }\n const personHash = spliceHash(personHashParams);\n location.hash = \"#/personKm?\"+ encodeHash(personHash);\n break;\n case resourceType.ORIGIN_TYPE_DEPT_NETWORK: //其他网盘\n break;\n }\n },\n /**\n * 获取文件来源\n */\n getOriginType(file) {\n let fileOriginType = \"\";\n let resourceType = this.resourceType;\n switch (parseInt(file.resourceType)) {\n case resourceType.ORIGIN_TYPE_DEPT_KM :\n this.fileOriginType = file.folderName;\n // fileOriginType = \"部门KM\";\n break;\n case resourceType.ORIGIN_TYPE_DEPT_TEAMKM :\n this.fileOriginType = this.$t('menu.team_KM');\n break;\n case resourceType.ORIGIN_TYPE_DEPT_COMMITTEEKM :\n this.fileOriginType = this.$t('Committee.oneself') + \"KM\";\n break;\n case resourceType.ORIGIN_TYPE_DEPT_PERSON:\n this.fileOriginType = this.$t('menu.staff_KM');\n break;\n case resourceType.ORIGIN_TYPE_DEPT_NETWORK :\n this.fileOriginType = \"其他网盘\";\n default:\n break;\n }\n return this.fileOriginType;\n },\n /**\n * 打开文件分享对话框\n */\n async shawFileShareDialog(fileId, diskId, folderId){\n const result = (await API.getTeamtreeData()).data;\n const treeData = JSON.parse(result.data);\n let shareTreeModalParams= {\n fileId:fileId,\n diskId: diskId,\n folderId: folderId,\n shareTreeModalVisible: true, //移动弹出层\n teamTreeData: treeData\n }\n this.shareTreeModalParams = shareTreeModalParams;\n },\n\n /**\n * 取消文件分享对话框\n */\n handleFileShareDialogClose(){\n let shareTreeModalParams= {\n fileId: \"\",\n diskId: \"\",\n folderId: \"\",\n shareTreeModalVisible: false, \n teamTreeData: []\n }\n this.shareTreeModalParams = shareTreeModalParams;\n },\n\n /**\n * 无权限下载时的回调函数\n * @param {fileId} 公共使用的下载函数回调返回文件的id\n */\n downloadWithout() {\n this.$message({\n type: 'info',\n message: this.$t('msg.file_download_failed')\n });\n },\n\n /**\n * 单个下载\n */\n async handleSingleFileDownload(fileId,folder){\n let apiParams = {\n \"fileId\" : fileId,\n \"folder\" : folder\n }; \n API.handleSingleFileDownload(apiParams, {\n onSucess: resp => {\n if(resp.data.errcode == 0){\n let url = \"\"\n if(apiParams.folder) {\n url = kmsConfig.contextPath + \"/kms/downloads?folderIds=\"+apiParams.fileId+\"&fileIds=\";\n }else{\n url = kmsConfig.contextPath + \"/kms/download/\"+apiParams.fileId;\n }\n window.open(url);\n }\n },\n onError: error =>{\n if(error.response.data.errcode == 403) {\n let authorityModalParams = {\n ...this.authorityModalParams,\n authorityVisible: true,\n fileId: fileId,\n type: 'download'\n }\n this.authorityModalParams = authorityModalParams;\n }else{\n this.$message({\n type: 'warning',\n message: error.response.data.errmsg\n });\n }\n }\n })\n },\n\n /**\n * 显示收藏对话框\n */\n showCollectModal(fileId){\n const collectTreeModalParams = { //文件收藏弹出层\n \"collectTreeModalVisible\": true,\n \"fileId\" : fileId\n };\n this.collectTreeModalParams = collectTreeModalParams;\n },\n\n /**\n * 取消收藏\n */\n handleCollectDialogClose(){\n const collectTreeModalParams = { //文件收藏弹出层\n \"collectTreeModalVisible\": false,\n \"fileId\" : \"\"\n };\n this.collectTreeModalParams = collectTreeModalParams;\n },\n\n /**\n * 预览文件\n */\n async clickFileForPreview(row){\n const preview_params={\n id: row.id, //文件id\n diskId: row.diskId\n }\n\n let preview_url = (getPreviewUrl(preview_params)).substring(1);\n \n API.getFilePreviewAble(row.id, {\n onSucess: resp => {\n const newWin = window.open(); \n let url;\n if(resp.data.errcode == 0){\n \n if(row.type == \"mp4\" || row.type == \"mp3\"){\n url = kmsConfig.kmsFilePath + \"/uploads/kms/\" + row.url\n \n }else{\n if(kmsConfig.staticContextPath){\n url = kmsConfig.staticContextPath + kmsConfig.kmsFilePath + \"/asset\" + preview_url;\n }else{\n url = kmsConfig.kmsFilePath + \"/kms/asset\" + preview_url;\n }\n }\n newWin.location.href = url; \n }\n \n },\n onError: error =>{\n if(error.response.data.errcode == 403) {\n \n let authorityModalParams = {\n ...this.authorityModalParams,\n authorityVisible: true,\n fileId: row.id,\n type: 'preview'\n }\n this.authorityModalParams = authorityModalParams;\n }else{\n \n this.$message({\n type: 'warning',\n message: result.errmsg\n });\n }\n }\n })\n },\n /**\n * 申请权限确定\n */\n onAuthiority(value) {\n API.appAuthority(value,{\n onSucess: resp => {\n if(resp.data.errcode == 0){\n this.authorityModalParams.authorityVisible = false;\n this.$message(this.$t('msg.approval_admin_wa'));\n }\n },\n onError: error =>{\n this.$message({\n type: 'warning',\n message: error.response.data.errmsg\n });\n }\n })\n },\n\n /**\n * 打开标签对话框\n */\n async showLabelCategoryDialog(){\n let categoryIds = this.params.categoryIds;\n const categorySettingsData = (await API.getCategory()).data;\n const categoryData = categorySettingsData.data;\n // let defaultValueData = (await API.getFileCategorys(fileId)).data;\n // if(defaultValueData == undefined){\n // defaultValueData = [];\n // }\n let defaultValueData = [];\n {\n categoryIds.length >1 ?\n categoryIds.map((item)=>{\n\n defaultValueData.push(item);\n })\n : \"\"\n }\n if(!categoryData){\n this.$message({\n type: 'warning',\n message: this.$t('msg.created_tags_no')\n });\n }else{\n let arr = [];\n if(defaultValueData.data){\n defaultValueData.data.map((name)=>{\n categoryData.map((labelCate)=>{\n if(labelCate.name == name){\n arr.push(labelCate.id)\n }\n })\n })\n }\n let categorySettingsModalParams= {\n 'fileId' : false,\n 'defaultValue': defaultValueData,\n 'categoryData': categoryData,\n 'visible': true,\n 'labelCate': arr\n }\n this.categorySettingsModalParams = categorySettingsModalParams\n }\n },\n\n /**\n * 取消标签弹出层\n */\n handleCategoryDialogClose(){\n let categorySettingsModalParams= {\n fileId: \"\",\n defaultValue: [],\n categoryData: [],\n visible: false\n }\n this.categorySettingsModalParams = categorySettingsModalParams;\n },\n\n /**\n * 确定贴标签\n */ \n async handleCategoryOk(categorySettingsValue) {\n let categoryData = this.categorySettingsModalParams.categoryData;\n let categoryOkParams = [];\n let categoryIds = [];\n categoryData.map((item, index)=>{\n categorySettingsValue.map((e)=>{\n if(item.id === e){\n let option = {};\n option = {\n categoryId: item.id,\n categoryName: item.name,\n isAuto: false\n }\n categoryOkParams.push(option);\n categoryIds.push(item.id);\n }\n })\n })\n this.handleCategoryDialogClose()\n let params = {\n ...this.params,\n categoryIds: categoryIds\n }\n this.params = params;\n this.categoryOkParams = categoryOkParams;\n },\n\n /**\n * 删除标签\n */\n handleClose(tags){\n let categoryOkParams = this.categoryOkParams;\n let categoryIds = this.params.categoryIds;\n categoryOkParams.map((file, index) =>{\n if(file.categoryId == tags.categoryId){\n categoryOkParams.splice(index, 1);\n {\n categoryIds.length >1 ?\n categoryIds.map((tag, key)=>{\n if(tag == tags.categoryId){\n categoryIds.splice(key, 1);\n }\n })\n : \n categoryIds.splice(0, 1)\n }\n }\n })\n let params = {\n ...this.params,\n categoryIds: categoryIds\n }\n this.params = params;\n this.categoryOkParams = categoryOkParams;\n },\n },\n watch: {\n /**\n * 获取首页搜索的信息\n */\n searchName(val){\n this.searchText = val;\n this.filesSearch(val);\n }\n }\n}\n",null]}