112552c8871c4e17215521619dae92fb.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\\tagsView\\contextmenu.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\layout\\navBars\\tagsView\\contextmenu.vue","mtime":1761614938999},{"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:DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdsYXlvdXRUYWdzVmlld0NvbnRleHRtZW51JywNCiAgcHJvcHM6IHsNCiAgICBkcm9wZG93bjogew0KICAgICAgdHlwZTogT2JqZWN0LA0KICAgIH0sDQogIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIGlzU2hvdzogZmFsc2UsDQogICAgICBkcm9wZG93bkxpc3Q6IFsNCiAgICAgICAgeyBpZDogMCwgdHh0OiAnbWVzc2FnZS50YWdzVmlldy5yZWZyZXNoJywgYWZmaXg6IGZhbHNlLCBpY29uOiAnZWwtaWNvbi1yZWZyZXNoLXJpZ2h0JyB9LA0KICAgICAgICB7IGlkOiAxLCB0eHQ6ICdtZXNzYWdlLnRhZ3NWaWV3LmNsb3NlJywgYWZmaXg6IGZhbHNlLCBpY29uOiAnZWwtaWNvbi1jbG9zZScgfSwNCiAgICAgICAgeyBpZDogMiwgdHh0OiAnbWVzc2FnZS50YWdzVmlldy5jbG9zZU90aGVyJywgYWZmaXg6IGZhbHNlLCBpY29uOiAnZWwtaWNvbi1jaXJjbGUtY2xvc2UnIH0sDQogICAgICAgIHsgaWQ6IDMsIHR4dDogJ21lc3NhZ2UudGFnc1ZpZXcuY2xvc2VBbGwnLCBhZmZpeDogZmFsc2UsIGljb246ICdlbC1pY29uLWZvbGRlci1kZWxldGUnIH0sDQogICAgICBdLA0KICAgICAgcGF0aDoge30sDQogICAgICBhcnJvd0xlZnQ6IDUsDQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICBkcm9wZG93bnMoKSB7DQogICAgICAvLyA5OSDkuLogYERyb3Bkb3duIOS4i+aLieiPnOWNlWAg55qE5a695bqmDQogICAgICBpZiAodGhpcy5kcm9wZG93bi54ICsgOTkgPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpIHsNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICB4OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSA5OSAtIDUsDQogICAgICAgICAgeTogdGhpcy5kcm9wZG93bi55LA0KICAgICAgICB9Ow0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd247DQogICAgICB9DQogICAgfSwNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICAvLyDnm5HlkKzpobXpnaLnm5HlkKzov5vooYzlj7PplK7oj5zljZXnmoTlhbPpl60NCiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbG9zZUNvbnRleHRtZW51KTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8vIOW9k+WJjemhueiPnOWNleeCueWHuw0KICAgIG9uQ3VycmVudENvbnRleHRtZW51Q2xpY2soaWQpIHsNCiAgICAgIHRoaXMuJGVtaXQoJ2N1cnJlbnRDb250ZXh0bWVudUNsaWNrJywgeyBpZCwgcGF0aDogdGhpcy5wYXRoIH0pOw0KICAgIH0sDQogICAgLy8g5omT5byA5Y+z6ZSu6I+c5Y2V77ya5Yik5pat5piv5ZCm5Zu65a6a77yM5Zu65a6a5YiZ5LiN5pi+56S65YWz6Zet5oyJ6ZKuDQogICAgb3BlbkNvbnRleHRtZW51KGl0ZW0pIHsNCiAgICAgIHRoaXMucGF0aCA9IGl0ZW0ucGF0aDsNCiAgICAgIGl0ZW0ubWV0YS5pc0FmZml4ID8gKHRoaXMuZHJvcGRvd25MaXN0WzFdLmFmZml4ID0gdHJ1ZSkgOiAodGhpcy5kcm9wZG93bkxpc3RbMV0uYWZmaXggPSBmYWxzZSk7DQogICAgICB0aGlzLmNsb3NlQ29udGV4dG1lbnUoKTsNCiAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICB0aGlzLmlzU2hvdyA9IHRydWU7DQogICAgICB9LCA4MCk7DQogICAgfSwNCiAgICAvLyDlhbPpl63lj7PplK7oj5zljZUNCiAgICBjbG9zZUNvbnRleHRtZW51KCkgew0KICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTsNCiAgICB9LA0KICB9LA0KICBkZXN0cm95ZWQoKSB7DQogICAgLy8g6aG16Z2i5Y246L295pe277yM56e76Zmk5Y+z6ZSu6I+c5Y2V55uR5ZCs5LqL5Lu2DQogICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xvc2VDb250ZXh0bWVudSk7DQogIH0sDQogIC8vIOebkeWQrOS4i+aLieiPnOWNleS9jee9rg0KICB3YXRjaDogew0KICAgIGRyb3Bkb3duOiB7DQogICAgICBoYW5kbGVyKHsgeCB9KSB7DQogICAgICAgIGlmICh4ICsgOTkgPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpDQogICAgICAgICAgdGhpcy5hcnJvd0xlZnQgPSA5OSAtIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSB4KTsNCiAgICAgICAgZWxzZSB0aGlzLmFycm93TGVmdCA9IDEwOw0KICAgICAgfSwNCiAgICAgIGRlZXA6IHRydWUsDQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["contextmenu.vue"],"names":[],"mappings":";AA6BA;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":"contextmenu.vue","sourceRoot":"src/layout/navBars/tagsView","sourcesContent":["<template>\r\n <div>\r\n <transition name=\"el-zoom-in-center\">\r\n <ul\r\n class=\"el-dropdown-menu el-popper el-dropdown-menu--medium custom-contextmenu\"\r\n :style=\"`top: ${dropdowns.y}px;left: ${dropdowns.x}px;`\"\r\n x-placement=\"bottom-end\"\r\n id=\"contextmenu\"\r\n v-show=\"isShow\"\r\n >\r\n <li\r\n class=\"el-dropdown-menu__item\"\r\n v-for=\"(v, k) in dropdownList\"\r\n :key=\"k\"\r\n v-db-click\r\n @click=\"onCurrentContextmenuClick(v.id)\"\r\n >\r\n <template v-if=\"!v.affix\">\r\n <i :class=\"v.icon\"></i>\r\n <span>{{ $t(v.txt) }}</span>\r\n </template>\r\n </li>\r\n <div x-arrow class=\"popper__arrow\" :style=\"{ left: `${arrowLeft}px` }\"></div>\r\n </ul>\r\n </transition>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'layoutTagsViewContextmenu',\r\n props: {\r\n dropdown: {\r\n type: Object,\r\n },\r\n },\r\n data() {\r\n return {\r\n isShow: false,\r\n dropdownList: [\r\n { id: 0, txt: 'message.tagsView.refresh', affix: false, icon: 'el-icon-refresh-right' },\r\n { id: 1, txt: 'message.tagsView.close', affix: false, icon: 'el-icon-close' },\r\n { id: 2, txt: 'message.tagsView.closeOther', affix: false, icon: 'el-icon-circle-close' },\r\n { id: 3, txt: 'message.tagsView.closeAll', affix: false, icon: 'el-icon-folder-delete' },\r\n ],\r\n path: {},\r\n arrowLeft: 5,\r\n };\r\n },\r\n computed: {\r\n dropdowns() {\r\n // 99 为 `Dropdown 下拉菜单` 的宽度\r\n if (this.dropdown.x + 99 > document.documentElement.clientWidth) {\r\n return {\r\n x: document.documentElement.clientWidth - 99 - 5,\r\n y: this.dropdown.y,\r\n };\r\n } else {\r\n return this.dropdown;\r\n }\r\n },\r\n },\r\n mounted() {\r\n // 监听页面监听进行右键菜单的关闭\r\n document.body.addEventListener('click', this.closeContextmenu);\r\n },\r\n methods: {\r\n // 当前项菜单点击\r\n onCurrentContextmenuClick(id) {\r\n this.$emit('currentContextmenuClick', { id, path: this.path });\r\n },\r\n // 打开右键菜单:判断是否固定,固定则不显示关闭按钮\r\n openContextmenu(item) {\r\n this.path = item.path;\r\n item.meta.isAffix ? (this.dropdownList[1].affix = true) : (this.dropdownList[1].affix = false);\r\n this.closeContextmenu();\r\n setTimeout(() => {\r\n this.isShow = true;\r\n }, 80);\r\n },\r\n // 关闭右键菜单\r\n closeContextmenu() {\r\n this.isShow = false;\r\n },\r\n },\r\n destroyed() {\r\n // 页面卸载时,移除右键菜单监听事件\r\n document.body.removeEventListener('click', this.closeContextmenu);\r\n },\r\n // 监听下拉菜单位置\r\n watch: {\r\n dropdown: {\r\n handler({ x }) {\r\n if (x + 99 > document.documentElement.clientWidth)\r\n this.arrowLeft = 99 - (document.documentElement.clientWidth - x);\r\n else this.arrowLeft = 10;\r\n },\r\n deep: true,\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.custom-contextmenu {\r\n transform-origin: center top;\r\n z-index: 2190;\r\n position: fixed;\r\n .el-dropdown-menu__item {\r\n font-size: 12px !important;\r\n white-space: nowrap;\r\n i {\r\n font-size: 12px !important;\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]}