bd9b6bdf8b5472da5cc54479db6d3536.json 7.7 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\layout\\navBars\\breadcrumb\\search.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\layout\\navBars\\breadcrumb\\search.vue","mtime":1761614938998},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyBtZW51c1NlYXJjaCB9IGZyb20gJ0AvYXBpL3NldHRpbmcnOw0KaW1wb3J0IHsgZ2V0QWxsU2lkZXJNZW51IH0gZnJvbSAnQC9saWJzL3N5c3RlbSc7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ2xheW91dEJyZWFkY3J1bWJTZWFyY2gnLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBpc1Nob3dTZWFyY2g6IGZhbHNlLA0KICAgICAgbWVudVF1ZXJ5OiAnJywNCiAgICAgIHRhZ3NWaWV3TGlzdDogW10sDQogICAgfTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8vIOaQnOe0ouW8ueeql+aJk+W8gA0KICAgIG9wZW5TZWFyY2goKSB7DQogICAgICB0aGlzLm1lbnVRdWVyeSA9ICcnOw0KICAgICAgdGhpcy5pc1Nob3dTZWFyY2ggPSB0cnVlOw0KICAgICAgdGhpcy5pbml0VGFnZVZpZXcoKTsNCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgdGhpcy4kcmVmcy5sYXlvdXRNZW51QXV0b2NvbXBsZXRlUmVmLmZvY3VzKCk7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOaQnOe0ouW8ueeql+WFs+mXrQ0KICAgIGNsb3NlU2VhcmNoKCkgew0KICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgIHRoaXMuJGVtaXQoJ2Nsb3NlJyk7DQogICAgICAgIHRoaXMuaXNTaG93U2VhcmNoID0gZmFsc2U7DQogICAgICB9LCAxNTApOw0KICAgIH0sDQogICAgLy8g6I+c5Y2V5pCc57Si5pWw5o2u6L+H5rukDQogICAgbWVudVNlYXJjaChxdWVyeVN0cmluZywgY2IpIHsNCiAgICAgIGlmICghcXVlcnlTdHJpbmcpIHsNCiAgICAgICAgbGV0IHJlc3VsdHMgPSBxdWVyeVN0cmluZyA/IHRoaXMudGFnc1ZpZXdMaXN0LmZpbHRlcih0aGlzLmNyZWF0ZUZpbHRlcihxdWVyeVN0cmluZykpIDogdGhpcy50YWdzVmlld0xpc3Q7DQogICAgICAgIGNiKHJlc3VsdHMpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgbGV0IHF1ZXJ5RGF0YSA9IHsNCiAgICAgICAgICBrZXl3b3JkOiBxdWVyeVN0cmluZywNCiAgICAgICAgfTsNCiAgICAgICAgbWVudXNTZWFyY2gocXVlcnlEYXRhKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICBjYihyZXMuZGF0YSk7DQogICAgICAgIH0pOw0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g6I+c5Y2V5pCc57Si6L+H5rukDQogICAgY3JlYXRlRmlsdGVyKHF1ZXJ5U3RyaW5nKSB7DQogICAgICByZXR1cm4gKHJlc3RhdXJhbnQpID0+IHsNCiAgICAgICAgcmV0dXJuICgNCiAgICAgICAgICByZXN0YXVyYW50LnBhdGgudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5U3RyaW5nLnRvTG93ZXJDYXNlKCkpID4gLTEgfHwNCiAgICAgICAgICByZXN0YXVyYW50LnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeVN0cmluZy50b0xvd2VyQ2FzZSgpKSA+IC0xIHx8DQogICAgICAgICAgdGhpcy4kdChyZXN0YXVyYW50LnRpdGxlKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnlTdHJpbmcudG9Mb3dlckNhc2UoKSkgPiAtMQ0KICAgICAgICApOw0KICAgICAgfTsNCiAgICB9LA0KICAgIC8vIOWIneWni+WMluiPnOWNleaVsOaNrg0KICAgIGluaXRUYWdlVmlldygpIHsNCiAgICAgIGlmICh0aGlzLnRhZ3NWaWV3TGlzdC5sZW5ndGggPiAwKSByZXR1cm4gZmFsc2U7DQogICAgICB0aGlzLnRhZ3NWaWV3TGlzdCA9IGdldEFsbFNpZGVyTWVudSh0aGlzLiRzdG9yZS5zdGF0ZS5yb3V0ZXNMaXN0LnJvdXRlc0xpc3QpOw0KICAgICAgLy8gdGhpcy4kc3RvcmUuc3RhdGUudGFnc1ZpZXdSb3V0ZXMudGFnc1ZpZXdSb3V0ZXMubWFwKCh2KSA9PiB7DQogICAgICAvLyAJaWYgKCF2LmlzSGlkZSkgdGhpcy50YWdzVmlld0xpc3QucHVzaCh7IC4uLnYgfSk7DQogICAgICAvLyB9KTsNCiAgICB9LA0KICAgIC8vIOW9k+WJjeiPnOWNlemAieS4reaXtg0KICAgIG9uSGFuZGxlU2VsZWN0KGl0ZW0pIHsNCiAgICAgIGxldCB7IHBhdGgsIHJlZGlyZWN0IH0gPSBpdGVtOw0KICAgICAgaWYgKGl0ZW0uaXNMaW5rICYmICFpdGVtLmlzSWZyYW1lKSB3aW5kb3cub3BlbihpdGVtLmlzTGluayk7DQogICAgICBlbHNlIGlmIChyZWRpcmVjdCkgdGhpcy4kcm91dGVyLnB1c2gocmVkaXJlY3QpOw0KICAgICAgZWxzZSB0aGlzLiRyb3V0ZXIucHVzaChwYXRoKTsNCiAgICAgIHRoaXMuY2xvc2VTZWFyY2goKTsNCiAgICB9LA0KICAgIC8vIGlucHV0IOWkseWOu+eEpueCueaXtg0KICAgIG9uU2VhcmNoQmx1cigpIHsNCiAgICAgIHRoaXMuY2xvc2VTZWFyY2goKTsNCiAgICB9LA0KICB9LA0KfTsNCg=="},{"version":3,"sources":["search.vue"],"names":[],"mappings":";AAmBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"search.vue","sourceRoot":"src/layout/navBars/breadcrumb","sourcesContent":["<template>\r\n <div class=\"layout-search-dialog\">\r\n <el-autocomplete\r\n v-model=\"menuQuery\"\r\n :fetch-suggestions=\"menuSearch\"\r\n :placeholder=\"$t('message.user.searchPlaceholder')\"\r\n prefix-icon=\"el-icon-search\"\r\n ref=\"layoutMenuAutocompleteRef\"\r\n @select=\"onHandleSelect\"\r\n @blur=\"onSearchBlur\"\r\n >\r\n <template slot-scope=\"{ item }\">\r\n <div><i :class=\"item.icon\" class=\"mr10\"></i>{{ $t(item.title) }}</div>\r\n </template>\r\n </el-autocomplete>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { menusSearch } from '@/api/setting';\r\nimport { getAllSiderMenu } from '@/libs/system';\r\n\r\nexport default {\r\n name: 'layoutBreadcrumbSearch',\r\n data() {\r\n return {\r\n isShowSearch: false,\r\n menuQuery: '',\r\n tagsViewList: [],\r\n };\r\n },\r\n methods: {\r\n // 搜索弹窗打开\r\n openSearch() {\r\n this.menuQuery = '';\r\n this.isShowSearch = true;\r\n this.initTageView();\r\n this.$nextTick(() => {\r\n this.$refs.layoutMenuAutocompleteRef.focus();\r\n });\r\n },\r\n // 搜索弹窗关闭\r\n closeSearch() {\r\n setTimeout(() => {\r\n this.$emit('close');\r\n this.isShowSearch = false;\r\n }, 150);\r\n },\r\n // 菜单搜索数据过滤\r\n menuSearch(queryString, cb) {\r\n if (!queryString) {\r\n let results = queryString ? this.tagsViewList.filter(this.createFilter(queryString)) : this.tagsViewList;\r\n cb(results);\r\n } else {\r\n let queryData = {\r\n keyword: queryString,\r\n };\r\n menusSearch(queryData).then((res) => {\r\n cb(res.data);\r\n });\r\n }\r\n },\r\n // 菜单搜索过滤\r\n createFilter(queryString) {\r\n return (restaurant) => {\r\n return (\r\n restaurant.path.toLowerCase().indexOf(queryString.toLowerCase()) > -1 ||\r\n restaurant.title.toLowerCase().indexOf(queryString.toLowerCase()) > -1 ||\r\n this.$t(restaurant.title).toLowerCase().indexOf(queryString.toLowerCase()) > -1\r\n );\r\n };\r\n },\r\n // 初始化菜单数据\r\n initTageView() {\r\n if (this.tagsViewList.length > 0) return false;\r\n this.tagsViewList = getAllSiderMenu(this.$store.state.routesList.routesList);\r\n // this.$store.state.tagsViewRoutes.tagsViewRoutes.map((v) => {\r\n // \tif (!v.isHide) this.tagsViewList.push({ ...v });\r\n // });\r\n },\r\n // 当前菜单选中时\r\n onHandleSelect(item) {\r\n let { path, redirect } = item;\r\n if (item.isLink && !item.isIframe) window.open(item.isLink);\r\n else if (redirect) this.$router.push(redirect);\r\n else this.$router.push(path);\r\n this.closeSearch();\r\n },\r\n // input 失去焦点时\r\n onSearchBlur() {\r\n this.closeSearch();\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.layout-search-dialog {\r\n ::v-deep .el-dialog {\r\n box-shadow: unset !important;\r\n border-radius: 0 !important;\r\n background: rgba(0, 0, 0, 0.5);\r\n }\r\n ::v-deep .el-autocomplete {\r\n width: 300px;\r\n // position: absolute;\r\n // top: 100px;\r\n // left: 50%;\r\n // transform: translateX(-50%);\r\n }\r\n}\r\n::v-deep .el-dialog__header {\r\n border: none !important;\r\n}\r\n::v-deep .el-input--small .el-input__inner {\r\n height: 36px;\r\n line-height: 36px;\r\n}\r\n</style>\r\n"]}]}