lw-cdp-ui 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"lw-cdp-ui.esm.js","sources":["../src/components/lwLayout/components/NavMenu.vue","../../../../../images/logo.jpg","../src/components/lwLayout/components/sideM.vue","../src/components/lwLayout/components/aside.vue","../src/components/lwLayout/components/topbar.vue","../src/components/lwLayout/components/tags.vue","../src/components/lwLayout/components/bu.vue","../src/components/lwLayout/components/userbar.vue","../src/utils/color.js","../src/components/lwLayout/components/lang.vue","../src/components/lwLayout/components/setting.vue","../src/components/lwLayout/components/iframeView.vue","../src/components/lwLayout/index.vue","../node_modules/.store/jsencrypt@3.3.2/node_modules/jsencrypt/bin/jsencrypt.min.js","../../../../../images/video-poster.png","../../../../../images/video-bg.mp4","../../../../../images/logo2.png","../src/components/lwLogin/index.vue","../src/components/lwSearch/input/input.vue","../src/components/lwSearch/select/select.vue","../src/components/lwSearch/date/date.vue","../src/components/lwSearch/dates/dates.vue","../src/components/lwSearch/dateRange/dateRange.vue","../node_modules/.store/dayjs@1.11.12/node_modules/dayjs/dayjs.min.js","../src/components/lwSearch/index.vue","../src/components/lwSvgIcon/index.vue","../src/components/lwTable/useFullscreen.js","../src/components/lwTable/index.js?vue&type=script&src=true&lang.js","../src/components/lwTable/index.vue","../src/components/lwUpload/index.vue","../src/components/lwForm/index.vue","../src/components/lwIconSelect/iconSelect.js","../src/components/lwIconSelect/index.vue","../src/components/lwTableSelect/tableSelect.js","../src/components/lwTableSelect/index.vue","../src/utils/i18n.js","../src/index.js"],"sourcesContent":["<template>\r\n\t<div v-if=\"navMenus.length<=0\" style=\"padding:20px;\">\r\n\t\t<el-alert title=\"无子集菜单\" center type=\"info\" :closable=\"false\"></el-alert>\r\n\t</div>\r\n\t<template v-for=\"navMenu in navMenus\" v-bind:key=\"navMenu\">\r\n\t\t<el-menu-item v-if=\"!hasChildren(navMenu)\" :index=\"navMenu.path\">\r\n\t\t\t<a v-if=\"navMenu.meta&&navMenu.meta.type=='link'\" :href=\"navMenu.path\" target=\"_blank\" @click.stop='()=>{}'></a>\r\n\t\t\t<el-icon v-if=\"navMenu.meta&&navMenu.meta.icon\"><component :is=\"navMenu.meta.icon || 'el-icon-menu'\"/></el-icon>\r\n\t\t\t<template #title>\r\n\t\t\t\t<span>{{navMenu.meta.title}}</span>\r\n\t\t\t</template>\r\n\t\t</el-menu-item>\r\n\t\t<el-sub-menu v-else :index=\"navMenu.path\">\r\n\t\t\t<template #title>\r\n\t\t\t\t<el-icon v-if=\"navMenu.meta&&navMenu.meta.icon\"><component :is=\"navMenu.meta.icon || 'el-icon-menu'\"/></el-icon>\r\n\t\t\t\t<span>{{navMenu.meta.title}}</span>\r\n\t\t\t</template>\r\n\t\t\t<NavMenu :navMenus=\"navMenu.children\"></NavMenu>\r\n\t\t</el-sub-menu>\r\n\t</template>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'NavMenu',\r\n\t\tprops: ['navMenus'],\r\n\t\tdata() {\r\n\t\t\treturn {}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\thasChildren(item) {\r\n\t\t\t\treturn item.children && !item.children.every(item => item.meta.hidden)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n","export default \"__VITE_PUBLIC_ASSET__220a3c9b__\"","<template>\r\n\t<div ref=\"\" class=\"mobile-nav-button\" @click=\"showMobileNav($event)\" v-drag draggable=\"false\"><el-icon><el-icon-menu /></el-icon></div>\r\n\r\n\t<el-drawer ref=\"mobileNavBox\" title=\"移动端菜单\" :size=\"240\" v-model=\"nav\" direction=\"ltr\" :with-header=\"false\" destroy-on-close>\r\n\t\t<el-container class=\"mobile-nav\">\r\n\t\t\t<el-header>\r\n\t\t\t\t<div class=\"logo-bar\"><img class=\"logo\" :src=\"logo\"><span>{{ $config.APP_NAME }}</span></div>\r\n\t\t\t</el-header>\r\n\t\t\t<el-main>\r\n\t\t\t\t<el-scrollbar>\r\n\t\t\t\t\t<el-menu :default-active=\"$route.meta.active || $route.fullPath\" @select=\"select\" router background-color=\"#212d3d\" text-color=\"#fff\" active-text-color=\"#409EFF\">\r\n\t\t\t\t\t\t<NavMenu :navMenus=\"menu\"></NavMenu>\r\n\t\t\t\t\t</el-menu>\r\n\t\t\t\t</el-scrollbar>\r\n\t\t\t</el-main>\r\n\t\t</el-container>\r\n\t</el-drawer>\r\n\r\n</template>\r\n\r\n<script>\r\n\timport NavMenu from './NavMenu.vue';\r\n\timport logo from '/images/logo.jpg';\r\n\texport default {\r\n\t\tcomponents: {\r\n\t\t\tNavMenu\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tlogo,\r\n\t\t\t\tnav: false,\r\n\t\t\t\tmenu: []\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomputed:{\r\n\r\n\t\t},\r\n\t\tcreated() {\r\n\t\t\tvar menu = this.$router.sc_getMenu()\r\n\t\t\tthis.menu = this.filterUrl(menu)\r\n\t\t},\r\n\r\n\t\twatch: {\r\n\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tshowMobileNav(e){\r\n\t\t\t\tvar isdrag = e.currentTarget.getAttribute('drag-flag')\r\n\t\t\t\tif (isdrag == 'true') {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tthis.nav = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t},\r\n\t\t\tselect(){\r\n\t\t\t\tthis.$refs.mobileNavBox.handleClose()\r\n\t\t\t},\r\n\t\t\t//转换外部链接的路由\r\n\t\t\tfilterUrl(map){\r\n\t\t\t\tvar newMap = []\r\n\t\t\t\tmap && map.forEach(item => {\r\n\t\t\t\t\titem.meta = item.meta?item.meta:{};\r\n\t\t\t\t\t//处理隐藏\r\n\t\t\t\t\tif(item.meta.hidden || item.meta.type==\"button\"){\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//处理http\r\n\t\t\t\t\tif(item.meta.type=='iframe'){\r\n\t\t\t\t\t\titem.path = `/i/${item.name}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//递归循环\r\n\t\t\t\t\tif(item.children&&item.children.length > 0){\r\n\t\t\t\t\t\titem.children = this.filterUrl(item.children);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewMap.push(item)\r\n\t\t\t\t})\r\n\t\t\t\treturn newMap;\r\n\t\t\t}\r\n\t\t},\r\n\t\tdirectives: {\r\n\t\t\tdrag(el){\r\n\t\t\t\tlet oDiv = el; //当前元素\r\n\t\t\t\tlet firstTime='',lastTime='';\r\n\t\t\t\t//禁止选择网页上的文字\r\n\t\t\t\t// document.onselectstart = function() {\r\n\t\t\t\t// \treturn false;\r\n\t\t\t\t// };\r\n\t\t\t\toDiv.onmousedown = function(e){\r\n\t\t\t\t\t//鼠标按下,计算当前元素距离可视区的距离\r\n\t\t\t\t\tlet disX = e.clientX - oDiv.offsetLeft;\r\n\t\t\t\t\tlet disY = e.clientY - oDiv.offsetTop;\r\n\t\t\t\t\tdocument.onmousemove = function(e){\r\n\t\t\t\t\t\toDiv.setAttribute('drag-flag', true);\r\n\t\t\t\t\t\tfirstTime = new Date().getTime();\r\n\t\t\t\t\t\t//通过事件委托,计算移动的距离\r\n\t\t\t\t\t\tlet l = e.clientX - disX;\r\n\t\t\t\t\t\tlet t = e.clientY - disY;\r\n\r\n\t\t\t\t\t\t//移动当前元素\r\n\r\n\t\t\t\t\t\tif(t > 0 && t < document.body.clientHeight - 50){\r\n\t\t\t\t\t\t\toDiv.style.top = t + \"px\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(l > 0 && l < document.body.clientWidth - 50){\r\n\t\t\t\t\t\t\toDiv.style.left = l + \"px\";\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdocument.onmouseup = function(){\r\n\t\t\t\t\t\tlastTime = new Date().getTime();\r\n\t\t\t\t\t\tif( (lastTime - firstTime)>200 ){\r\n\t\t\t\t\t\t\toDiv.setAttribute('drag-flag', false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdocument.onmousemove = null;\r\n\t\t\t\t\t\tdocument.onmouseup = null;\r\n\t\t\t\t\t};\r\n\t\t\t\t\t//return false不加的话可能导致黏连,就是拖到一个地方时div粘在鼠标上不下来,相当于onmouseup失效\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped>\r\n\t.mobile-nav-button {position: fixed;bottom:10px;left:10px;z-index: 10;width: 50px;height: 50px;background: #409EFF;box-shadow: 0 2px 12px 0 rgba(64, 158, 255, 1);border-radius: 50%;display: flex;align-items: center;justify-content: center;}\r\n\t.mobile-nav-button i {color: #fff;font-size: 20px;}\r\n\r\n\t.mobile-nav {background: #212d3d;}\r\n\t.mobile-nav .el-header {background: transparent;border: 0;}\r\n\t.mobile-nav .el-main {padding:0;}\r\n\t.mobile-nav .logo-bar {display: flex;align-items: center;font-weight: bold;font-size: 20px;color: #fff;}\r\n\t.mobile-nav .logo-bar img {width: 30px;margin-right: 10px;}\r\n\t.mobile-nav .el-submenu__title:hover {background: #fff!important;}\r\n</style>\r\n","<template>\r\n <div class=\"layout-aside\">\r\n\r\n <img class=\"logo\"\r\n :src=\"logo\"\r\n alt=\"\">\r\n\r\n <el-popover placement=\"right\"\r\n :width=\"180\"\r\n trigger=\"click\"\r\n :show-arrow=\"false\"\r\n :offset=\"3\"\r\n popper-class=\"app-popper\"\r\n ref=\"popoverRef\">\r\n <template #reference>\r\n <p>\r\n <el-icon class=\"menu-btn\">\r\n <component is=\"el-icon-grid\" />\r\n </el-icon>\r\n </p>\r\n </template>\r\n <div class=\"app-content\">\r\n <div class=\"app-title\">\r\n 应用中心\r\n <el-icon class=\"iconClose\"\r\n @click=\"closePopover\">\r\n <el-icon-close />\r\n </el-icon>\r\n </div>\r\n <el-divider style=\"margin: 5px 0;\" />\r\n <template v-if=\"grantedApplications.length > 0\">\r\n <div class=\"menu-item\"\r\n @click=\"switchMenu(item)\"\r\n v-for=\"item in grantedApplications\"\r\n :key=\"item.resourceId\">\r\n <i class=\"iconfont\"\r\n :class=\"item.icon\"\r\n style=\"margin-right: 5px;\"></i>\r\n {{ item.name}}\r\n </div>\r\n </template>\r\n\r\n </div>\r\n </el-popover>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport logo from '/images/logo.jpg';\r\nexport default {\r\n name: 'layoutAside',\r\n props: {\r\n },\r\n data() {\r\n return {\r\n logo,\r\n popVisible: false,\r\n grantedApplications: [],\r\n };\r\n },\r\n mounted() {\r\n let { grantedApplications } = this.$tool.data.get('userAuthInfo');\r\n this.grantedApplications = grantedApplications\r\n document.addEventListener('click', this.handleDocumentClick);\r\n },\r\n beforeDestroy() {\r\n document.removeEventListener('click', this.handleDocumentClick);\r\n },\r\n methods: {\r\n handleDocumentClick(ev) {\r\n let popover = document.getElementById('popover');\r\n if (this.popVisible && (ev.target !== popover) && !popover.contains(ev.target)) {\r\n this.popVisible = false;\r\n }\r\n },\r\n switchMenu(menuItem) {\r\n window.location.href = menuItem.url;\r\n },\r\n closePopover() {\r\n this.$refs.popoverRef.hide(); // 关闭 popover\r\n },\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.layout-aside {\r\n width: 100%;\r\n height: 100%;\r\n border-bottom: 1px solid var(--el-mask-color-extra-light);\r\n .logo {\r\n width: 100%;\r\n height: auto;\r\n display: block;\r\n }\r\n\r\n .menu-btn {\r\n font-size: 24px;\r\n color: #95989d;\r\n }\r\n .el-tooltip__trigger {\r\n text-align: center;\r\n padding: 10px;\r\n cursor: pointer;\r\n &:hover {\r\n background-color: var(--el-menu-hover-bg-color);\r\n .menu-btn {\r\n color: var(--el-menu-active-color);\r\n }\r\n }\r\n }\r\n\r\n .menu-container {\r\n display: flex;\r\n flex: 1;\r\n flex-direction: column;\r\n align-items: center;\r\n width: inherit;\r\n\r\n .logo {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: inherit;\r\n height: 50px;\r\n cursor: pointer;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n .fixed-menu-list {\r\n flex: 1;\r\n width: inherit;\r\n height: 100%;\r\n }\r\n .app-box {\r\n width: 50px;\r\n height: 50px;\r\n color: #95989d;\r\n }\r\n .app-box:hover {\r\n background: #eeeefc;\r\n color: #3d3ad9;\r\n }\r\n }\r\n\r\n .menu-container,\r\n .footer {\r\n p {\r\n width: 50px;\r\n height: 50px;\r\n margin: auto;\r\n line-height: 50px;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n\r\n .iconfont {\r\n color: inherit;\r\n font-size: 18px;\r\n padding: 15px;\r\n }\r\n }\r\n\r\n .setting {\r\n transform: rotate(180deg);\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.pop-menu {\r\n min-width: 104px;\r\n height: fit-content;\r\n padding: 10px 0;\r\n overflow-y: auto;\r\n border: 1px solid #eaeaeb;\r\n border-radius: 2px;\r\n box-shadow: 0 2px 4px rgba(39, 40, 42, 0.15);\r\n\r\n // &.side-popover {\r\n // top: 50px !important;\r\n // left: 50px !important;\r\n // max-height: calc(100vh - 80px);\r\n // }\r\n\r\n // &.header-popover {\r\n // top: 35px !important;\r\n // right: 76px !important;\r\n // left: auto !important;\r\n // max-height: calc(100vh - 80px);\r\n // }\r\n}\r\n\r\n.menu-item {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n height: 32px;\r\n padding: 0 8px;\r\n color: #6a6d73;\r\n cursor: pointer;\r\n\r\n &.fixed {\r\n color: #27282a;\r\n font-weight: bold;\r\n\r\n .iconfont {\r\n color: #3d3ad9;\r\n font-weight: normal;\r\n }\r\n\r\n .iconfont.iconMinus-Circle {\r\n color: #ccccf5;\r\n }\r\n }\r\n\r\n &:hover {\r\n background: #eeeefc;\r\n color: #3d3ad9;\r\n\r\n &.fixed .iconfont.iconFixed {\r\n display: none !important;\r\n }\r\n\r\n .iconfont {\r\n display: block !important;\r\n\r\n color: #3d3ad9;\r\n }\r\n }\r\n\r\n .iconfont {\r\n width: 16px;\r\n height: 16px;\r\n color: #95989d;\r\n line-height: 15px;\r\n\r\n &.iconFixed {\r\n display: none;\r\n color: #9a98eb;\r\n font-size: 14px;\r\n cursor: pointer;\r\n }\r\n\r\n &.iconDrag1 {\r\n display: none;\r\n margin-left: 8px;\r\n color: #9a98eb;\r\n font-size: 14px;\r\n cursor: grab;\r\n }\r\n }\r\n\r\n .name {\r\n flex: 1;\r\n margin-left: 8px;\r\n overflow: hidden;\r\n color: inherit;\r\n font-size: 12px;\r\n line-height: 32px;\r\n text-align: left;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n}\r\n\r\n.app-popper {\r\n padding: 10px 0 !important;\r\n top: 50px !important;\r\n .app-title {\r\n font-size: 12px;\r\n font-weight: bold;\r\n line-height: 19px;\r\n height: 19px;\r\n padding: 0 10px 2px;\r\n .iconClose {\r\n position: absolute;\r\n top: 10px;\r\n right: 8px;\r\n color: #d5d6d8;\r\n font-weight: normal;\r\n cursor: pointer;\r\n font-size: 16px;\r\n &:hover {\r\n color: #3d3ad9;\r\n }\r\n }\r\n }\r\n}\r\n\r\n</style>\r\n\r\n","<template>\r\n <div class=\"adminui-topbar\">\r\n <div class=\"left-panel\">\r\n <el-breadcrumb separator-icon=\"el-icon-arrow-right\"\r\n class=\"hidden-sm-and-down\">\r\n <transition-group name=\"breadcrumb\">\r\n <template v-for=\"item in breadList\"\r\n :key=\"item.title\">\r\n <el-breadcrumb-item v-if=\"item.path!='/' && !item.meta.hiddenBreadcrumb\"\r\n :key=\"item.meta.title\"><el-icon class=\"icon\"\r\n v-if=\"item.meta.icon\">\r\n <component :is=\"item.meta.icon\" />\r\n </el-icon>{{item.meta.title}}</el-breadcrumb-item>\r\n </template>\r\n </transition-group>\r\n </el-breadcrumb>\r\n </div>\r\n <div class=\"center-panel\"></div>\r\n <div class=\"right-panel\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data() {\r\n return {\r\n breadList: []\r\n }\r\n },\r\n created() {\r\n this.getBreadcrumb();\r\n },\r\n watch: {\r\n $route() {\r\n this.getBreadcrumb();\r\n },\r\n },\r\n methods: {\r\n getBreadcrumb() {\r\n let matched = this.$route.meta.breadcrumb;\r\n this.breadList = matched;\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.el-breadcrumb {\r\n margin-left: 15px;\r\n}\r\n.el-breadcrumb .el-breadcrumb__inner .icon {\r\n font-size: 14px;\r\n margin-right: 5px;\r\n float: left;\r\n}\r\n.breadcrumb-enter-active,\r\n.breadcrumb-leave-active {\r\n transition: all 0.3s;\r\n}\r\n.breadcrumb-enter-from,\r\n.breadcrumb-leave-active {\r\n opacity: 0;\r\n transform: translateX(20px);\r\n}\r\n.breadcrumb-leave-active {\r\n position: absolute;\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"adminui-tags\">\r\n <ul ref=\"tags\">\r\n <li v-for=\"tag in tagList\"\r\n v-bind:key=\"tag\"\r\n :class=\"[isActive(tag)?'active':'',tag.meta.affix?'affix':'' ]\"\r\n @contextmenu.prevent=\"openContextMenu($event, tag)\">\r\n <router-link :to=\"tag\">\r\n <span>{{ tag.meta.title }}</span>\r\n <el-icon v-if=\"!tag.meta.affix\"\r\n @click.prevent.stop='closeSelectedTag(tag)'><el-icon-close /></el-icon>\r\n </router-link>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <transition name=\"el-zoom-in-top\">\r\n <ul v-if=\"contextMenuVisible\"\r\n :style=\"{left:left+'px',top:top+'px'}\"\r\n class=\"contextmenu\"\r\n id=\"contextmenu\">\r\n <li @click=\"refreshTab()\"><el-icon><el-icon-refresh /></el-icon>刷新</li>\r\n <hr>\r\n <li @click=\"closeTabs()\"\r\n :class=\"contextMenuItem.meta.affix?'disabled':''\">\r\n <el-icon><el-icon-close /></el-icon>关闭标签\r\n </li>\r\n <li @click=\"closeOtherTabs()\">\r\n <el-icon><el-icon-folder-delete /></el-icon>关闭其他标签\r\n </li>\r\n <hr>\r\n <li @click=\"maximize()\"><el-icon><el-icon-full-screen /></el-icon>最大化</li>\r\n <li @click=\"openWindow()\">\r\n <el-icon><el-icon-copy-document /></el-icon>在新的窗口中打开\r\n </li>\r\n </ul>\r\n </transition>\r\n</template>\r\n\r\n<script>\r\nimport Sortable from 'sortablejs'\r\n\r\nexport default {\r\n name: \"tags\",\r\n data() {\r\n return {\r\n contextMenuVisible: false,\r\n contextMenuItem: null,\r\n left: 0,\r\n top: 0,\r\n tipVisible: false,\r\n tipDisplayed: false\r\n }\r\n },\r\n props: {},\r\n computed: {\r\n tagList() {\r\n return this.$store.state.viewTags.viewTags\r\n }\r\n },\r\n watch: {\r\n $route(e) {\r\n this.addViewTags(e);\r\n //判断标签容器是否出现滚动条\r\n this.$nextTick(() => {\r\n const tags = this.$refs.tags\r\n if (tags && tags.scrollWidth > tags.clientWidth) {\r\n //确保当前标签在可视范围内\r\n let targetTag = tags.querySelector(\".active\")\r\n targetTag.scrollIntoView()\r\n //显示提示\r\n if (!this.tipDisplayed) {\r\n this.tipVisible = true\r\n }\r\n }\r\n })\r\n },\r\n contextMenuVisible(value) {\r\n var _this = this;\r\n var cm = function (e) {\r\n let sp = document.getElementById(\"contextmenu\");\r\n if (sp && !sp.contains(e.target)) {\r\n _this.closeMenu()\r\n }\r\n }\r\n if (value) {\r\n document.body.addEventListener('click', e => cm(e))\r\n } else {\r\n document.body.removeEventListener('click', e => cm(e))\r\n }\r\n },\r\n\r\n },\r\n created() {\r\n this.init()\r\n },\r\n mounted() {\r\n this.tagDrop();\r\n this.scrollInit()\r\n },\r\n methods: {\r\n // 初始化\r\n init() {\r\n var menu = this.$router.sc_getMenu()\r\n var dashboardRoute = this.treeFind(menu, node => node.path == this.$config.DASHBOARD_URL)\r\n if (dashboardRoute) {\r\n dashboardRoute.fullPath = dashboardRoute.path\r\n this.addViewTags(dashboardRoute)\r\n this.addViewTags(this.$route)\r\n }\r\n },\r\n //查找树\r\n treeFind(tree, func) {\r\n for (const data of tree) {\r\n if (func(data)) return data\r\n if (data.children) {\r\n const res = this.treeFind(data.children, func)\r\n if (res) return res\r\n }\r\n }\r\n return null\r\n },\r\n //标签拖拽排序\r\n tagDrop() {\r\n const target = this.$refs.tags\r\n Sortable.create(target, {\r\n draggable: 'li',\r\n animation: 300\r\n })\r\n },\r\n //增加tag\r\n addViewTags(route) {\r\n if (route.name && !route.meta.fullpage) {\r\n this.$store.commit(\"pushViewTags\", route)\r\n this.$store.commit(\"pushKeepLive\", route.name)\r\n }\r\n },\r\n //高亮tag\r\n isActive(route) {\r\n return route.fullPath === this.$route.fullPath\r\n },\r\n //关闭tag\r\n closeSelectedTag(tag, autoPushLatestView = true) {\r\n this.$store.commit(\"removeViewTags\", tag)\r\n this.$store.commit(\"removeIframeList\", tag)\r\n this.$store.commit(\"removeKeepLive\", tag.name)\r\n if (autoPushLatestView && this.isActive(tag)) {\r\n const latestView = this.tagList.slice(-1)[0]\r\n if (latestView) {\r\n this.$router.push(latestView)\r\n } else {\r\n this.$router.push('/')\r\n }\r\n }\r\n },\r\n //tag右键\r\n openContextMenu(e, tag) {\r\n this.contextMenuItem = tag;\r\n this.contextMenuVisible = true;\r\n this.left = e.clientX + 1;\r\n this.top = e.clientY + 1;\r\n\r\n //FIX 右键菜单边缘化位置处理\r\n this.$nextTick(() => {\r\n let sp = document.getElementById(\"contextmenu\");\r\n if (document.body.offsetWidth - e.clientX < sp.offsetWidth) {\r\n this.left = document.body.offsetWidth - sp.offsetWidth + 1;\r\n this.top = e.clientY + 1;\r\n }\r\n })\r\n },\r\n //关闭右键菜单\r\n closeMenu() {\r\n this.contextMenuItem = null;\r\n this.contextMenuVisible = false\r\n },\r\n //TAB 刷新\r\n refreshTab() {\r\n var nowTag = this.contextMenuItem;\r\n this.contextMenuVisible = false\r\n //判断是否当前路由,否的话跳转\r\n if (this.$route.fullPath != nowTag.fullPath) {\r\n this.$router.push({\r\n path: nowTag.fullPath,\r\n query: nowTag.query\r\n })\r\n }\r\n this.$store.commit(\"refreshIframe\", nowTag)\r\n var _this = this;\r\n setTimeout(function () {\r\n _this.$store.commit(\"removeKeepLive\", nowTag.name)\r\n _this.$store.commit(\"setRouteShow\", false)\r\n _this.$nextTick(() => {\r\n _this.$store.commit(\"pushKeepLive\", nowTag.name)\r\n _this.$store.commit(\"setRouteShow\", true)\r\n })\r\n }, 0);\r\n },\r\n //TAB 关闭\r\n closeTabs() {\r\n var nowTag = this.contextMenuItem;\r\n if (!nowTag.meta.affix) {\r\n this.closeSelectedTag(nowTag)\r\n this.contextMenuVisible = false\r\n }\r\n },\r\n //TAB 关闭其他\r\n closeOtherTabs() {\r\n var nowTag = this.contextMenuItem;\r\n //判断是否当前路由,否的话跳转\r\n if (this.$route.fullPath != nowTag.fullPath) {\r\n this.$router.push({\r\n path: nowTag.fullPath,\r\n query: nowTag.query\r\n })\r\n }\r\n var tags = [...this.tagList];\r\n tags.forEach(tag => {\r\n if (tag.meta && tag.meta.affix || nowTag.fullPath == tag.fullPath) {\r\n return true\r\n } else {\r\n this.closeSelectedTag(tag, false)\r\n }\r\n })\r\n this.contextMenuVisible = false\r\n },\r\n //TAB 最大化\r\n maximize() {\r\n var nowTag = this.contextMenuItem;\r\n this.contextMenuVisible = false\r\n //判断是否当前路由,否的话跳转\r\n if (this.$route.fullPath != nowTag.fullPath) {\r\n this.$router.push({\r\n path: nowTag.fullPath,\r\n query: nowTag.query\r\n })\r\n }\r\n document.getElementById('app').classList.add('main-maximize')\r\n },\r\n //新窗口打开\r\n openWindow() {\r\n var nowTag = this.contextMenuItem;\r\n var url = nowTag.href || '/';\r\n if (!nowTag.meta.affix) {\r\n this.closeSelectedTag(nowTag)\r\n }\r\n window.open(url);\r\n this.contextMenuVisible = false\r\n },\r\n //横向滚动\r\n scrollInit() {\r\n const scrollDiv = this.$refs.tags;\r\n scrollDiv.addEventListener('mousewheel', handler, false) || scrollDiv.addEventListener(\"DOMMouseScroll\", handler, false)\r\n function handler(event) {\r\n const detail = event.wheelDelta || event.detail;\r\n //火狐上滚键值-3 下滚键值3,其他内核上滚键值120 下滚键值-120\r\n const moveForwardStep = 1;\r\n const moveBackStep = -1;\r\n let step = 0;\r\n if (detail == 3 || detail < 0 && detail != -3) {\r\n step = moveForwardStep * 50;\r\n } else {\r\n step = moveBackStep * 50;\r\n }\r\n scrollDiv.scrollLeft += step;\r\n }\r\n },\r\n hideTip() {\r\n this.tipVisible = false\r\n this.tipDisplayed = true\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style>\r\n.contextmenu {\r\n position: fixed;\r\n width: 200px;\r\n margin: 0;\r\n border-radius: 0px;\r\n background: var(--el-bg-color-overlay);\r\n border: 1px solid var(--el-border-color-light);\r\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);\r\n z-index: 3000;\r\n list-style-type: none;\r\n padding: 10px 0;\r\n}\r\n.contextmenu hr {\r\n margin: 5px 0;\r\n border: none;\r\n height: 1px;\r\n font-size: 0px;\r\n background-color: var(--el-border-color-light);\r\n}\r\n.contextmenu li {\r\n display: flex;\r\n align-items: center;\r\n margin: 0;\r\n cursor: pointer;\r\n line-height: 30px;\r\n padding: 0 17px;\r\n color: #606266;\r\n}\r\n.contextmenu li i {\r\n font-size: 14px;\r\n margin-right: 10px;\r\n}\r\n.contextmenu li:hover {\r\n background-color: #ecf5ff;\r\n color: #66b1ff;\r\n}\r\n.contextmenu li.disabled {\r\n cursor: not-allowed;\r\n color: #bbb;\r\n background: transparent;\r\n}\r\n\r\n.tags-tip {\r\n padding: 5px;\r\n}\r\n.tags-tip p {\r\n margin-bottom: 10px;\r\n}\r\n\r\n.dark .contextmenu li {\r\n color: var(--el-text-color-primary);\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"screen panel-item hidden-sm-and-down\"\r\n @click=\"screen\">\r\n\r\n <el-dropdown @command=\"changeBusinessUnit\">\r\n <div class=\"bu-list\">\r\n <el-icon><el-icon-help /></el-icon>{{buName}}\r\n </div>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-for=\"item in buList\"\r\n :key=\"item.id\"\r\n :command=\"item.code\">{{item.name}}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data() {\r\n return {\r\n buName: '',\r\n buList: [],\r\n }\r\n },\r\n props: {\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n },\r\n methods: {\r\n async changeBusinessUnit(command) {\r\n this.buName = command\r\n let item = this.buList.find(item => item.code === command)\r\n this.$store.commit('setRouteShow', true)\r\n this.$tool.data.set('buCode', command)\r\n this.$tool.data.set('tenantId', item.tenantId)\r\n // 检验是否初始化\r\n if (this.isInitialized) {\r\n let initialized = await this.$api.auth.initialized()\r\n this.$tool.data.set('zoneInitialized', initialized)\r\n if (!initialized) {\r\n this.$router.push(this.$config.INIT_URL);\r\n }\r\n \r\n this.$store.commit('setRouteShow', false)\r\n }\r\n }\r\n },\r\n created() {\r\n this.buList = this.$tool.data.get('buList')\r\n\r\n let buCode = this.$tool.data.get('buCode')\r\n let item = this.buList.find(item => item.code === buCode)\r\n this.buName = item ? item.name : ''\r\n this.changeBusinessUnit(buCode)\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n:deep(.el-dropdown) {\r\n height: 100%;\r\n}\r\n.bu-list {\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n height: 100%;\r\n}\r\n</style>","<template>\r\n <div class=\"user-bar\">\r\n <bu v-if=\"isShowBu\"\r\n :isInitialized=\"isInitialized\" />\r\n\r\n <el-dropdown class=\"user panel-item\"\r\n trigger=\"click\"\r\n @command=\"handleUser\">\r\n <div class=\"user-avatar\">\r\n <el-avatar :size=\"30\"\r\n :src=\"$store.state.user.username\"></el-avatar>\r\n </div>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item command=\"uc\">\r\n <div class=\"user-body\">\r\n <el-avatar :size=\"30\"\r\n :src=\"$store.state.user.username\"></el-avatar>\r\n <div class=\"user-name\">\r\n <label>{{ $store.state.user.realName }}</label>\r\n <label>{{ $store.state.user.username }}</label>\r\n </div>\r\n </div>\r\n </el-dropdown-item>\r\n <el-dropdown-item command=\"uc\"\r\n divided>{{$t('layout.userData')}}</el-dropdown-item>\r\n <el-dropdown-item\r\n command=\"clearCache\">{{$t('layout.clearCache')}}</el-dropdown-item>\r\n <el-dropdown-item divided\r\n command=\"outLogin\">{{$t('layout.outLogin')}}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n\r\n</template>\r\n\r\n<script>\r\nimport bu from './bu.vue'\r\n\r\nexport default {\r\n props: {\r\n isShowBu: {\r\n type: Boolean,\r\n default: true\r\n },\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n },\r\n components: {\r\n bu\r\n },\r\n data() {\r\n return {\r\n userName: \"\",\r\n userNameF: \"\",\r\n searchVisible: false,\r\n tasksVisible: false,\r\n msg: false,\r\n\r\n }\r\n },\r\n created() {\r\n this.$store.state.user = this.$tool.data.get('userAuthInfo')\r\n },\r\n methods: {\r\n //个人信息\r\n handleUser(command) {\r\n if (command == \"uc\") {\r\n this.$router.push({ path: '/user' });\r\n }\r\n if (command == \"cmd\") {\r\n this.$router.push({ path: '/cmd' });\r\n }\r\n if (command == \"clearCache\") {\r\n this.$confirm('清除缓存会将系统初始化,包括登录状态、主题、语言设置等,是否继续?', '提示', {\r\n type: 'info',\r\n }).then(() => {\r\n const loading = this.$loading()\r\n this.$tool.data.clear()\r\n this.$router.replace({ path: '/login' })\r\n setTimeout(() => {\r\n loading.close()\r\n location.reload()\r\n }, 1000)\r\n }).catch(() => {\r\n //取消\r\n })\r\n }\r\n if (command == \"outLogin\") {\r\n this.$confirm('确认是否退出当前用户?', '提示', {\r\n type: 'warning',\r\n confirmButtonText: '退出',\r\n confirmButtonClass: 'el-button--danger'\r\n }).then(() => {\r\n this.$router.replace({ path: '/login' });\r\n }).catch(() => {\r\n //取消退出\r\n })\r\n }\r\n },\r\n //全屏\r\n screen() {\r\n var element = document.documentElement;\r\n this.$tool.screen(element)\r\n },\r\n //显示短消息\r\n showMsg() {\r\n this.msg = true\r\n },\r\n //搜索\r\n search() {\r\n this.searchVisible = true\r\n },\r\n //任务\r\n tasks() {\r\n this.tasksVisible = true\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.user-bar {\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n}\r\n.user-bar .panel-item {\r\n padding: 0 10px;\r\n cursor: pointer;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n}\r\n.user-bar .panel-item i {\r\n font-size: 16px;\r\n}\r\n.user-bar .panel-item:hover {\r\n background: rgba(0, 0, 0, 0.1);\r\n}\r\n.user-bar .user-avatar {\r\n height: 49px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n.user-bar .user-avatar label {\r\n display: inline-block;\r\n margin-left: 5px;\r\n font-size: 12px;\r\n cursor: pointer;\r\n}\r\n\r\n.msg-list li {\r\n border-top: 1px solid #eee;\r\n}\r\n.msg-list li a {\r\n display: flex;\r\n padding: 20px;\r\n}\r\n.msg-list li a:hover {\r\n background: #ecf5ff;\r\n}\r\n.msg-list__icon {\r\n width: 40px;\r\n margin-right: 15px;\r\n}\r\n.msg-list__main {\r\n flex: 1;\r\n}\r\n.msg-list__main h2 {\r\n font-size: 15px;\r\n font-weight: normal;\r\n color: #333;\r\n}\r\n.msg-list__main p {\r\n font-size: 12px;\r\n color: #999;\r\n line-height: 1.8;\r\n margin-top: 5px;\r\n}\r\n.msg-list__time {\r\n width: 100px;\r\n text-align: right;\r\n color: #999;\r\n}\r\n\r\n.dark .msg-list__main h2 {\r\n color: #d0d0d0;\r\n}\r\n.dark .msg-list li {\r\n border-top: 1px solid #363636;\r\n}\r\n.dark .msg-list li a:hover {\r\n background: #383838;\r\n}\r\n\r\n.user-body {\r\n display: flex;\r\n align-items: center;\r\n gap: 20px;\r\n width: 150px;\r\n .user-name {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n}\r\n</style>\r\n","export default {\r\n\t//hex颜色转rgb颜色\r\n\tHexToRgb(str) {\r\n\t\tstr = str.replace(\"#\", \"\")\r\n\t\tlet hxs = str.match(/../g)\r\n\t\tfor (let i = 0; i < 3; i++) hxs[i] = parseInt(hxs[i], 16)\r\n\t\treturn hxs\r\n\t},\r\n\t//rgb颜色转hex颜色\r\n\tRgbToHex(a, b, c) {\r\n\t\tlet hexs = [a.toString(16), b.toString(16), c.toString(16)]\r\n\t\tfor (let i = 0; i < 3; i++) {\r\n\t\t\tif (hexs[i].length === 1) hexs[i] = \"0\" + hexs[i]\r\n\t\t}\r\n\t\treturn \"#\" + hexs.join(\"\");\r\n\t},\r\n\t//加深\r\n\tdarken(color, level) {\r\n\t\tlet rgbc = this.HexToRgb(color)\r\n\t\tfor (let i = 0; i < 3; i++) rgbc[i] = Math.floor(rgbc[i] * (1 - level))\r\n\t\treturn this.RgbToHex(rgbc[0], rgbc[1], rgbc[2])\r\n\t},\r\n\t//变淡\r\n\tlighten(color, level) {\r\n\t\tlet rgbc = this.HexToRgb(color)\r\n\t\tfor (let i = 0; i < 3; i++) rgbc[i] = Math.floor((255 - rgbc[i]) * level + rgbc[i])\r\n\t\treturn this.RgbToHex(rgbc[0], rgbc[1], rgbc[2])\r\n\t}\r\n}\r\n","<template>\r\n <el-dropdown trigger=\"click\"\r\n placement=\"bottom-end\"\r\n @command=\"configLang\">\r\n <el-button link>\r\n <template #icon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n role=\"img\"\r\n width=\"1em\"\r\n height=\"1em\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n viewBox=\"0 0 512 512\">\r\n <path d=\"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z\"\r\n fill=\"currentColor\"></path>\r\n <path d=\"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </template>\r\n {{ curLang }}\r\n </el-button>\r\n <template #dropdown>\r\n <el-dropdown-menu >\r\n <el-dropdown-item v-for=\"item in lang\"\r\n :key=\"item.value\"\r\n :command=\"item\"\r\n :class=\"{'selected':config.lang==item.value}\">{{item.name}}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n</template>\r\n\r\n<script>\r\nimport { computed } from 'vue';\r\nexport default {\r\n data() {\r\n return {\r\n config: {\r\n lang: this.$tool.data.get(\"APP_LANG\") || this.$config.LANG,\r\n },\r\n curLang: '',\r\n lang: [\r\n {\r\n name: \"简体中文\",\r\n value: \"zh-cn\",\r\n },\r\n {\r\n name: \"English\",\r\n value: \"en-us\",\r\n }\r\n ],\r\n }\r\n },\r\n watch: {\r\n \"config.lang\"(val) {\r\n this.$i18n.locale = val;\r\n this.$i18n.fallbackLocale = val;\r\n this.$tool.data.set(\"APP_LANG\", val);\r\n location.reload()\r\n },\r\n },\r\n methods: {\r\n configLang(command) {\r\n this.config.lang = command.value;\r\n }\r\n },\r\n computed: {\r\n curLang() {\r\n let l = this.lang.find(lang => lang.value === this.config.lang)\r\n return l.name\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style>\r\n</style>","<template>\r\n\t<el-form ref=\"form\" label-width=\"120px\" label-position=\"left\" style=\"padding:0 20px;\">\r\n\t\t<!-- <el-alert title=\"以下配置可实时预览,开发者可在 config/index.js 中配置默认值,非常不建议在生产环境下开放布局设置\" type=\"error\" :closable=\"false\"></el-alert> -->\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.nightmode')\">\r\n\t\t\t<el-switch v-model=\"dark\" active-value=\"dark\" inactive-value=\"default\"></el-switch>\r\n\t\t</el-form-item>\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.color')\">\r\n\t\t\t<el-color-picker v-model=\"colorPrimary\" :predefine=\"colorList\">></el-color-picker>\r\n\t\t</el-form-item>\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.layout')\">\r\n\t\t\t<el-select v-model=\"layout\" placeholder=\"请选择\">\r\n\t\t\t\t<el-option label=\"默认\" value=\"default\"></el-option>\r\n\t\t\t\t<el-option label=\"通栏\" value=\"header\"></el-option>\r\n\t\t\t\t<el-option label=\"经典\" value=\"menu\"></el-option>\r\n\t\t\t\t<el-option label=\"功能坞\" value=\"dock\"></el-option>\r\n\t\t\t</el-select>\r\n\t\t</el-form-item>\r\n\t\t<el-form-item :label=\"$t('user.menu')\">\r\n\t\t\t<el-switch v-model=\"menuIsCollapse\"></el-switch>\r\n\t\t</el-form-item>\r\n\t\t<el-form-item :label=\"$t('user.tag')\">\r\n\t\t\t<el-switch v-model=\"layoutTags\"></el-switch>\r\n\t\t</el-form-item>\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.lang')\">\r\n\t\t\t<Lang />\r\n\t\t</el-form-item>\r\n\t\t\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\n\timport colorTool from '@/utils/color'\r\n\timport Lang from './lang.vue'\r\n\r\n\texport default {\r\n\t\tcomponents: { Lang },\r\n\t\tdata(){\r\n\t\t\treturn {\r\n\t\t\t\tlayout: this.$store.state.global.layout,\r\n\t\t\t\tmenuIsCollapse: this.$store.state.global.menuIsCollapse,\r\n\t\t\t\tlayoutTags: this.$store.state.global.layoutTags,\r\n\t\t\t\tdark: this.$tool.data.get('APP_THEME'),\r\n\t\t\t\tcolorList: ['#409EFF', '#009688', '#536dfe', '#ff5c93', '#c62f2f', '#fd726d'],\r\n\t\t\t\tcolorPrimary: this.$tool.data.get('APP_COLOR') || this.$config.COLOR || '#409EFF'\r\n\t\t\t}\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tlayout(val) {\r\n\t\t\t\tthis.$store.commit(\"SET_layout\", val)\r\n\t\t\t},\r\n\t\t\tmenuIsCollapse(){\r\n\t\t\t\tthis.$store.commit(\"TOGGLE_menuIsCollapse\")\r\n\t\t\t},\r\n\t\t\tlayoutTags(){\r\n\t\t\t\tthis.$store.commit(\"TOGGLE_layoutTags\")\r\n\t\t\t},\r\n\t\t\tdark(val){\r\n\t\t\t\tdocument.body.setAttribute('data-theme', val)\r\n\t\t\t\tthis.$tool.data.set(\"APP_THEME\", val);\r\n\t\t\t},\r\n\t\t\tcolorPrimary(val){\r\n\t\t\t\tdocument.documentElement.style.setProperty('--el-color-primary', val);\r\n\t\t\t\tfor (let i = 1; i <= 9; i++) {\r\n\t\t\t\t\tdocument.documentElement.style.setProperty(`--el-color-primary-light-${i}`, colorTool.lighten(val,i/10));\r\n\t\t\t\t}\r\n\t\t\t\tfor (let i = 1; i <= 9; i++) {\r\n\t\t\t\t\tdocument.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, colorTool.darken(val,i/10));\r\n\t\t\t\t}\r\n\t\t\t\tthis.$tool.data.set(\"APP_COLOR\", val);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","<template>\r\n\t<div v-show=\"$route.meta.type=='iframe'\" class=\"iframe-pages\">\r\n\t\t<iframe v-for=\"item in iframeList\" :key=\"item.meta.url\" v-show=\"$route.meta.url==item.meta.url\" :src=\"item.meta.url\" frameborder='0'></iframe>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\r\n\t\t\t}\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\t$route(e) {\r\n\t\t\t\tthis.push(e)\r\n\t\t\t},\r\n\t\t},\r\n\t\tcreated() {\r\n\t\t\tthis.push(this.$route);\r\n\t\t},\r\n\t\tcomputed:{\r\n\t\t\tiframeList(){\r\n\t\t\t\treturn this.$store.state.iframe.iframeList\r\n\t\t\t},\r\n\t\t\tismobile(){\r\n\t\t\t\treturn this.$store.state.global.ismobile\r\n\t\t\t},\r\n\t\t\tlayoutTags(){\r\n\t\t\t\treturn this.$store.state.global.layoutTags\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tpush(route){\r\n\t\t\t\tif(route.meta.type == 'iframe'){\r\n\t\t\t\t\tif(this.ismobile || !this.layoutTags){\r\n\t\t\t\t\t\tthis.$store.commit(\"setIframeList\", route)\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tthis.$store.commit(\"pushIframeList\", route)\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(this.ismobile || !this.layoutTags){\r\n\t\t\t\t\t\tthis.$store.commit(\"clearIframeList\")\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped>\r\n\t.iframe-pages {width:100%;height:100%;background: #fff;}\r\n\tiframe {border:0;width:100%;height:100%;display: block;}\r\n</style>\r\n","<template>\r\n <!-- 通栏布局 -->\r\n <template v-if=\"layout=='header'\">\r\n <header class=\"adminui-header\">\r\n <div class=\"adminui-header-left\">\r\n <div class=\"logo-bar\">\r\n <img class=\"logo\"\r\n :src=\"logo\">\r\n <span>{{ $config.APP_NAME }}</span>\r\n </div>\r\n <ul v-if=\"!ismobile\"\r\n class=\"nav\">\r\n <li v-for=\"item in menu\"\r\n :key=\"item\"\r\n :class=\"pmenu.path==item.path?'active':''\"\r\n @click=\"showMenu(item)\">\r\n <el-icon>\r\n <component :is=\"item.meta.icon || 'el-icon-menu'\" />\r\n </el-icon>\r\n <span>{{ item.meta.title }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"adminui-header-right\">\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </div>\r\n </header>\r\n <section class=\"aminui-wrapper\">\r\n <div v-if=\"!ismobile && nextMenu.length>0 || !pmenu.component\"\r\n :class=\"menuIsCollapse?'aminui-side isCollapse':'aminui-side'\">\r\n <div v-if=\"!menuIsCollapse\"\r\n class=\"adminui-side-top\">\r\n <h2>{{ pmenu.meta.title }}</h2>\r\n </div>\r\n <div class=\"adminui-side-scroll\">\r\n <el-scrollbar>\r\n <el-menu :default-active=\"active\"\r\n router\r\n :collapse=\"menuIsCollapse\"\r\n :unique-opened=\"$config.MENU_UNIQUE_OPENED\">\r\n <NavMenu :navMenus=\"nextMenu\"></NavMenu>\r\n </el-menu>\r\n </el-scrollbar>\r\n </div>\r\n <div class=\"adminui-side-bottom\"\r\n @click=\"$store.commit('TOGGLE_menuIsCollapse')\">\r\n <el-icon><el-icon-expand v-if=\"menuIsCollapse\" /><el-icon-fold\r\n v-else /></el-icon>\r\n </div>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <div class=\"aminui-body el-container\">\r\n <Topbar v-if=\"!ismobile\"></Topbar>\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </template>\r\n\r\n <!-- 经典布局 -->\r\n <template v-else-if=\"layout=='menu'\">\r\n <section class=\"aminui-body-menu\">\r\n <div class=\"aminui-side-split-left\">\r\n <Aside></Aside>\r\n </div>\r\n\r\n <section class=\"aminui-wrapper\">\r\n <div v-if=\"!ismobile\"\r\n :class=\"menuIsCollapse?'aminui-side isCollapse':'aminui-side'\">\r\n <div class=\"adminui-side-scroll\">\r\n\r\n <el-scrollbar>\r\n <div class=\"title-name\">\r\n {{ menuIsCollapse ? $config.APP_NAME.charAt(0) : $config.APP_NAME }}\r\n </div>\r\n <el-menu :default-active=\"active\"\r\n router\r\n :collapse=\"menuIsCollapse\"\r\n :unique-opened=\"$config.MENU_UNIQUE_OPENED\">\r\n <NavMenu :navMenus=\"menu\"></NavMenu>\r\n </el-menu>\r\n </el-scrollbar>\r\n </div>\r\n <div class=\"adminui-side-bottom\"\r\n @click=\"$store.commit('TOGGLE_menuIsCollapse')\">\r\n <el-icon><el-icon-expand v-if=\"menuIsCollapse\" /><el-icon-fold\r\n v-else /></el-icon>\r\n </div>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <div class=\"aminui-body el-container\">\r\n <div class=\"aminui-body-menu-top\">\r\n <div class=\"top-bar-title\">\r\n <span class=\"title\">{{$t(\"layout.topbar\")}}:</span>\r\n <Topbar v-if=\"!ismobile\"></Topbar>\r\n </div>\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </div>\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive\r\n :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </section>\r\n </template>\r\n\r\n <!-- 功能坞布局 -->\r\n <template v-else-if=\"layout=='dock'\">\r\n <header class=\"adminui-header\">\r\n <div class=\"adminui-header-left\">\r\n <div class=\"logo-bar\">\r\n <img class=\"logo\"\r\n :src=\"logo\">\r\n <span>{{ $config.APP_NAME }}</span>\r\n </div>\r\n </div>\r\n <div class=\"adminui-header-right\">\r\n <div v-if=\"!ismobile\"\r\n class=\"adminui-header-menu\">\r\n <el-menu mode=\"horizontal\"\r\n :default-active=\"active\"\r\n router\r\n background-color=\"#222b45\"\r\n text-color=\"#fff\"\r\n active-text-color=\"var(--el-color-primary)\">\r\n <NavMenu :navMenus=\"menu\"></NavMenu>\r\n </el-menu>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </div>\r\n </header>\r\n <section class=\"aminui-wrapper\">\r\n <div class=\"aminui-body el-container\">\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </template>\r\n\r\n <!-- 默认布局 -->\r\n <template v-else>\r\n <section class=\"aminui-wrapper\">\r\n <div v-if=\"!ismobile\"\r\n class=\"aminui-side-split\">\r\n <div class=\"aminui-side-split-top\">\r\n <Aside></Aside>\r\n </div>\r\n\r\n <div class=\"adminui-side-split-scroll\">\r\n <el-scrollbar>\r\n <ul>\r\n <li v-for=\"item in menu\"\r\n :key=\"item\"\r\n :class=\"pmenu.path==item.path?'active':''\"\r\n @click=\"showMenu(item)\">\r\n <el-icon>\r\n <component :is=\"item.meta.icon || el-icon-menu\" />\r\n </el-icon>\r\n <p>{{ item.meta.title }}</p>\r\n </li>\r\n </ul>\r\n </el-scrollbar>\r\n </div>\r\n </div>\r\n <div v-if=\"!ismobile && nextMenu.length>0 || !pmenu.component\"\r\n :class=\"menuIsCollapse?'aminui-side isCollapse':'aminui-side'\">\r\n <div v-if=\"!menuIsCollapse\"\r\n class=\"adminui-side-top\">\r\n <h2>{{ pmenu.meta.title }}</h2>\r\n </div>\r\n <div class=\"adminui-side-scroll\">\r\n <el-scrollbar>\r\n <el-menu :default-active=\"active\"\r\n router\r\n :collapse=\"menuIsCollapse\"\r\n :unique-opened=\"$config.MENU_UNIQUE_OPENED\">\r\n <NavMenu :navMenus=\"nextMenu\"></NavMenu>\r\n </el-menu>\r\n </el-scrollbar>\r\n </div>\r\n <div class=\"adminui-side-bottom\"\r\n @click=\"$store.commit('TOGGLE_menuIsCollapse')\">\r\n <el-icon><el-icon-expand v-if=\"menuIsCollapse\" /><el-icon-fold\r\n v-else /></el-icon>\r\n </div>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <div class=\"aminui-body el-container\">\r\n <Topbar>\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </Topbar>\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </template>\r\n\r\n <div class=\"main-maximize-exit\"\r\n @click=\"exitMaximize\"><el-icon><el-icon-close /></el-icon></div>\r\n\r\n <div class=\"layout-setting\"\r\n @click=\"openSetting\"><el-icon><el-icon-brush-filled /></el-icon></div>\r\n\r\n <el-drawer title=\"布局实时演示\"\r\n v-model=\"settingDialog\"\r\n :size=\"400\"\r\n append-to-body\r\n destroy-on-close>\r\n <setting></setting>\r\n </el-drawer>\r\n</template>\r\n\r\n<script>\r\nimport SideM from './components/sideM.vue';\r\nimport Aside from './components/aside.vue';\r\nimport Topbar from './components/topbar.vue';\r\nimport Tags from './components/tags.vue';\r\nimport NavMenu from './components/NavMenu.vue';\r\nimport userbar from './components/userbar.vue';\r\nimport setting from './components/setting.vue';\r\nimport iframeView from './components/iframeView.vue';\r\nimport logo from '/images/logo.jpg';\r\nexport default {\r\n name: 'lwLayout',\r\n props: {\r\n isShowBu: {\r\n type: Boolean,\r\n default: true\r\n },\r\n // 是否要校验初始化\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n },\r\n components: {\r\n Aside,\r\n SideM,\r\n Topbar,\r\n Tags,\r\n NavMenu,\r\n userbar,\r\n setting,\r\n iframeView\r\n },\r\n data() {\r\n return {\r\n logo,\r\n settingDialog: false,\r\n menu: [],\r\n nextMenu: [],\r\n pmenu: {},\r\n active: ''\r\n }\r\n },\r\n computed: {\r\n ismobile() {\r\n return this.$store.state.global.ismobile\r\n },\r\n layout() {\r\n return this.$store.state.global.layout\r\n },\r\n layoutTags() {\r\n return this.$store.state.global.layoutTags\r\n },\r\n menuIsCollapse() {\r\n return this.$store.state.global.menuIsCollapse\r\n }\r\n },\r\n created() {\r\n this.onLayoutResize();\r\n window.addEventListener('resize', this.onLayoutResize);\r\n var menu = this.$router.sc_getMenu();\r\n this.menu = this.filterUrl(menu);\r\n this.showThis()\r\n this.$store.commit(\"LOAD_USER_FROM_LOCAL_STORAGE\")\r\n },\r\n watch: {\r\n $route() {\r\n this.showThis()\r\n var menu = this.$router.sc_getMenu();\r\n this.menu = this.filterUrl(menu);\r\n },\r\n '$i18n.locale'() {\r\n var menu = this.$router.sc_getMenu();\r\n this.menu = this.filterUrl(menu);\r\n },\r\n layout: {\r\n handler(val) {\r\n document.body.setAttribute('data-layout', val)\r\n },\r\n immediate: true,\r\n },\r\n\r\n },\r\n methods: {\r\n openSetting() {\r\n this.settingDialog = true;\r\n },\r\n onLayoutResize() {\r\n this.$store.commit(\"SET_ismobile\", document.body.clientWidth < 992)\r\n },\r\n //路由监听高亮\r\n showThis() {\r\n this.pmenu = this.$route.meta.breadcrumb ? this.$route.meta.breadcrumb[0] : {}\r\n this.nextMenu = this.filterUrl(this.pmenu.children);\r\n this.$nextTick(() => {\r\n this.active = this.$route.meta.active || this.$route.fullPath;\r\n })\r\n },\r\n //点击显示\r\n showMenu(route) {\r\n this.pmenu = route;\r\n this.nextMenu = this.filterUrl(route.children);\r\n if ((!route.children || route.children.length == 0) && route.component) {\r\n this.$router.push({ path: route.path })\r\n }\r\n },\r\n //转换外部链接的路由\r\n filterUrl(map) {\r\n var newMap = []\r\n map && map.forEach(item => {\r\n item.meta = item.meta ? item.meta : {};\r\n //处理隐藏\r\n if (item.meta.hidden || item.meta.type == \"button\") {\r\n return false\r\n }\r\n //处理http\r\n if (item.meta.type == 'iframe') {\r\n item.path = `/i/${item.name}`;\r\n }\r\n //递归循环\r\n if (item.children && item.children.length > 0) {\r\n item.children = this.filterUrl(item.children)\r\n }\r\n newMap.push(item)\r\n })\r\n return newMap;\r\n },\r\n //退出最大化\r\n exitMaximize() {\r\n document.getElementById('app').classList.remove('main-maximize')\r\n }\r\n }\r\n}\r\n</script>\r\n","/*! For license information please see jsencrypt.min.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.JSEncrypt=e():t.JSEncrypt=e()}(window,(()=>(()=>{var t={155:t=>{var e,i,r=t.exports={};function n(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(i){try{return e.call(null,t,0)}catch(i){return e.call(this,t,0)}}}!function(){try{e=\"function\"==typeof setTimeout?setTimeout:n}catch(t){e=n}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var h,a=[],u=!1,c=-1;function f(){u&&h&&(u=!1,h.length?a=h.concat(a):c=-1,a.length&&l())}function l(){if(!u){var t=o(f);u=!0;for(var e=a.length;e;){for(h=a,a=[];++c<e;)h&&h[c].run();c=-1,e=a.length}h=null,u=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{return i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];a.push(new p(t,e)),1!==a.length||u||o(l)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title=\"browser\",r.browser=!0,r.env={},r.argv=[],r.version=\"\",r.versions={},r.on=g,r.addListener=g,r.once=g,r.off=g,r.removeListener=g,r.removeAllListeners=g,r.emit=g,r.prependListener=g,r.prependOnceListener=g,r.listeners=function(t){return[]},r.binding=function(t){throw new Error(\"process.binding is not supported\")},r.cwd=function(){return\"/\"},r.chdir=function(t){throw new Error(\"process.chdir is not supported\")},r.umask=function(){return 0}}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var s=e[r]={exports:{}};return t[r](s,s.exports,i),s.exports}i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{\"use strict\";i.d(r,{default:()=>ct});var t=\"0123456789abcdefghijklmnopqrstuvwxyz\";function e(e){return t.charAt(e)}function n(t,e){return t&e}function s(t,e){return t|e}function o(t,e){return t^e}function h(t,e){return t&~e}function a(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function u(t){for(var e=0;0!=t;)t&=t-1,++e;return e}var c,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",l=\"=\";function p(t){var e,i,r=\"\";for(e=0;e+3<=t.length;e+=3)i=parseInt(t.substring(e,e+3),16),r+=f.charAt(i>>6)+f.charAt(63&i);for(e+1==t.length?(i=parseInt(t.substring(e,e+1),16),r+=f.charAt(i<<2)):e+2==t.length&&(i=parseInt(t.substring(e,e+2),16),r+=f.charAt(i>>2)+f.charAt((3&i)<<4));(3&r.length)>0;)r+=l;return r}function g(t){var i,r=\"\",n=0,s=0;for(i=0;i<t.length&&t.charAt(i)!=l;++i){var o=f.indexOf(t.charAt(i));o<0||(0==n?(r+=e(o>>2),s=3&o,n=1):1==n?(r+=e(s<<2|o>>4),s=15&o,n=2):2==n?(r+=e(s),r+=e(o>>2),s=3&o,n=3):(r+=e(s<<2|o>>4),r+=e(15&o),n=0))}return 1==n&&(r+=e(s<<2)),r}var d,v={decode:function(t){var e;if(void 0===d){var i=\"= \\f\\n\\r\\t \\u2028\\u2029\";for(d=Object.create(null),e=0;e<64;++e)d[\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(e)]=e;for(d[\"-\"]=62,d._=63,e=0;e<i.length;++e)d[i.charAt(e)]=-1}var r=[],n=0,s=0;for(e=0;e<t.length;++e){var o=t.charAt(e);if(\"=\"==o)break;if(-1!=(o=d[o])){if(void 0===o)throw new Error(\"Illegal character at offset \"+e);n|=o,++s>=4?(r[r.length]=n>>16,r[r.length]=n>>8&255,r[r.length]=255&n,n=0,s=0):n<<=6}}switch(s){case 1:throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");case 2:r[r.length]=n>>10;break;case 3:r[r.length]=n>>16,r[r.length]=n>>8&255}return r},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,unarmor:function(t){var e=v.re.exec(t);if(e)if(e[1])t=e[1];else{if(!e[2])throw new Error(\"RegExp out of sync\");t=e[2]}return v.decode(t)}},m=1e13,y=function(){function t(t){this.buf=[+t||0]}return t.prototype.mulAdd=function(t,e){var i,r,n=this.buf,s=n.length;for(i=0;i<s;++i)(r=n[i]*t+e)<m?e=0:r-=(e=0|r/m)*m,n[i]=r;e>0&&(n[i]=e)},t.prototype.sub=function(t){var e,i,r=this.buf,n=r.length;for(e=0;e<n;++e)(i=r[e]-t)<0?(i+=m,t=1):t=0,r[e]=i;for(;0===r[r.length-1];)r.pop()},t.prototype.toString=function(t){if(10!=(t||10))throw new Error(\"only base 10 is supported\");for(var e=this.buf,i=e[e.length-1].toString(),r=e.length-2;r>=0;--r)i+=(m+e[r]).toString().substring(1);return i},t.prototype.valueOf=function(){for(var t=this.buf,e=0,i=t.length-1;i>=0;--i)e=e*m+t[i];return e},t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this},t}(),b=\"…\",T=/^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/,S=/^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;function E(t,e){return t.length>e&&(t=t.substring(0,e)+b),t}var w,D=function(){function t(e,i){this.hexDigits=\"0123456789ABCDEF\",e instanceof t?(this.enc=e.enc,this.pos=e.pos):(this.enc=e,this.pos=i)}return t.prototype.get=function(t){if(void 0===t&&(t=this.pos++),t>=this.enc.length)throw new Error(\"Requesting byte offset \".concat(t,\" on a stream of length \").concat(this.enc.length));return\"string\"==typeof this.enc?this.enc.charCodeAt(t):this.enc[t]},t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)},t.prototype.hexDump=function(t,e,i){for(var r=\"\",n=t;n<e;++n)if(r+=this.hexByte(this.get(n)),!0!==i)switch(15&n){case 7:r+=\" \";break;case 15:r+=\"\\n\";break;default:r+=\" \"}return r},t.prototype.isASCII=function(t,e){for(var i=t;i<e;++i){var r=this.get(i);if(r<32||r>176)return!1}return!0},t.prototype.parseStringISO=function(t,e){for(var i=\"\",r=t;r<e;++r)i+=String.fromCharCode(this.get(r));return i},t.prototype.parseStringUTF=function(t,e){for(var i=\"\",r=t;r<e;){var n=this.get(r++);i+=n<128?String.fromCharCode(n):n>191&&n<224?String.fromCharCode((31&n)<<6|63&this.get(r++)):String.fromCharCode((15&n)<<12|(63&this.get(r++))<<6|63&this.get(r++))}return i},t.prototype.parseStringBMP=function(t,e){for(var i,r,n=\"\",s=t;s<e;)i=this.get(s++),r=this.get(s++),n+=String.fromCharCode(i<<8|r);return n},t.prototype.parseTime=function(t,e,i){var r=this.parseStringISO(t,e),n=(i?T:S).exec(r);return n?(i&&(n[1]=+n[1],n[1]+=+n[1]<70?2e3:1900),r=n[1]+\"-\"+n[2]+\"-\"+n[3]+\" \"+n[4],n[5]&&(r+=\":\"+n[5],n[6]&&(r+=\":\"+n[6],n[7]&&(r+=\".\"+n[7]))),n[8]&&(r+=\" UTC\",\"Z\"!=n[8]&&(r+=n[8],n[9]&&(r+=\":\"+n[9]))),r):\"Unrecognized time: \"+r},t.prototype.parseInteger=function(t,e){for(var i,r=this.get(t),n=r>127,s=n?255:0,o=\"\";r==s&&++t<e;)r=this.get(t);if(0==(i=e-t))return n?-1:0;if(i>4){for(o=r,i<<=3;0==(128&(+o^s));)o=+o<<1,--i;o=\"(\"+i+\" bit)\\n\"}n&&(r-=256);for(var h=new y(r),a=t+1;a<e;++a)h.mulAdd(256,this.get(a));return o+h.toString()},t.prototype.parseBitString=function(t,e,i){for(var r=this.get(t),n=\"(\"+((e-t-1<<3)-r)+\" bit)\\n\",s=\"\",o=t+1;o<e;++o){for(var h=this.get(o),a=o==e-1?r:0,u=7;u>=a;--u)s+=h>>u&1?\"1\":\"0\";if(s.length>i)return n+E(s,i)}return n+s},t.prototype.parseOctetString=function(t,e,i){if(this.isASCII(t,e))return E(this.parseStringISO(t,e),i);var r=e-t,n=\"(\"+r+\" byte)\\n\";r>(i/=2)&&(e=t+i);for(var s=t;s<e;++s)n+=this.hexByte(this.get(s));return r>i&&(n+=b),n},t.prototype.parseOID=function(t,e,i){for(var r=\"\",n=new y,s=0,o=t;o<e;++o){var h=this.get(o);if(n.mulAdd(128,127&h),s+=7,!(128&h)){if(\"\"===r)if((n=n.simplify())instanceof y)n.sub(80),r=\"2.\"+n.toString();else{var a=n<80?n<40?0:1:2;r=a+\".\"+(n-40*a)}else r+=\".\"+n.toString();if(r.length>i)return E(r,i);n=new y,s=0}}return s>0&&(r+=\".incomplete\"),r},t}(),x=function(){function t(t,e,i,r,n){if(!(r instanceof R))throw new Error(\"Invalid tag value.\");this.stream=t,this.header=e,this.length=i,this.tag=r,this.sub=n}return t.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return\"EOC\";case 1:return\"BOOLEAN\";case 2:return\"INTEGER\";case 3:return\"BIT_STRING\";case 4:return\"OCTET_STRING\";case 5:return\"NULL\";case 6:return\"OBJECT_IDENTIFIER\";case 7:return\"ObjectDescriptor\";case 8:return\"EXTERNAL\";case 9:return\"REAL\";case 10:return\"ENUMERATED\";case 11:return\"EMBEDDED_PDV\";case 12:return\"UTF8String\";case 16:return\"SEQUENCE\";case 17:return\"SET\";case 18:return\"NumericString\";case 19:return\"PrintableString\";case 20:return\"TeletexString\";case 21:return\"VideotexString\";case 22:return\"IA5String\";case 23:return\"UTCTime\";case 24:return\"GeneralizedTime\";case 25:return\"GraphicString\";case 26:return\"VisibleString\";case 27:return\"GeneralString\";case 28:return\"UniversalString\";case 30:return\"BMPString\"}return\"Universal_\"+this.tag.tagNumber.toString();case 1:return\"Application_\"+this.tag.tagNumber.toString();case 2:return\"[\"+this.tag.tagNumber.toString()+\"]\";case 3:return\"Private_\"+this.tag.tagNumber.toString()}},t.prototype.content=function(t){if(void 0===this.tag)return null;void 0===t&&(t=1/0);var e=this.posContent(),i=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?\"(\"+this.sub.length+\" elem)\":this.stream.parseOctetString(e,e+i,t);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?\"false\":\"true\";case 2:return this.stream.parseInteger(e,e+i);case 3:return this.sub?\"(\"+this.sub.length+\" elem)\":this.stream.parseBitString(e,e+i,t);case 4:return this.sub?\"(\"+this.sub.length+\" elem)\":this.stream.parseOctetString(e,e+i,t);case 6:return this.stream.parseOID(e,e+i,t);case 16:case 17:return null!==this.sub?\"(\"+this.sub.length+\" elem)\":\"(no elem)\";case 12:return E(this.stream.parseStringUTF(e,e+i),t);case 18:case 19:case 20:case 21:case 22:case 26:return E(this.stream.parseStringISO(e,e+i),t);case 30:return E(this.stream.parseStringBMP(e,e+i),t);case 23:case 24:return this.stream.parseTime(e,e+i,23==this.tag.tagNumber)}return null},t.prototype.toString=function(){return this.typeName()+\"@\"+this.stream.pos+\"[header:\"+this.header+\",length:\"+this.length+\",sub:\"+(null===this.sub?\"null\":this.sub.length)+\"]\"},t.prototype.toPrettyString=function(t){void 0===t&&(t=\"\");var e=t+this.typeName()+\" @\"+this.stream.pos;if(this.length>=0&&(e+=\"+\"),e+=this.length,this.tag.tagConstructed?e+=\" (constructed)\":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(e+=\" (encapsulates)\"),e+=\"\\n\",null!==this.sub){t+=\" \";for(var i=0,r=this.sub.length;i<r;++i)e+=this.sub[i].toPrettyString(t)}return e},t.prototype.posStart=function(){return this.stream.pos},t.prototype.posContent=function(){return this.stream.pos+this.header},t.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},t.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},t.decodeLength=function(t){var e=t.get(),i=127&e;if(i==e)return i;if(i>6)throw new Error(\"Length over 48 bits not supported at position \"+(t.pos-1));if(0===i)return null;e=0;for(var r=0;r<i;++r)e=256*e+t.get();return e},t.prototype.getHexStringValue=function(){var t=this.toHexString(),e=2*this.header,i=2*this.length;return t.substr(e,i)},t.decode=function(e){var i;i=e instanceof D?e:new D(e,0);var r=new D(i),n=new R(i),s=t.decodeLength(i),o=i.pos,h=o-r.pos,a=null,u=function(){var e=[];if(null!==s){for(var r=o+s;i.pos<r;)e[e.length]=t.decode(i);if(i.pos!=r)throw new Error(\"Content size is not correct for container starting at offset \"+o)}else try{for(;;){var n=t.decode(i);if(n.tag.isEOC())break;e[e.length]=n}s=o-i.pos}catch(t){throw new Error(\"Exception while decoding undefined length content: \"+t)}return e};if(n.tagConstructed)a=u();else if(n.isUniversal()&&(3==n.tagNumber||4==n.tagNumber))try{if(3==n.tagNumber&&0!=i.get())throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");a=u();for(var c=0;c<a.length;++c)if(a[c].tag.isEOC())throw new Error(\"EOC is not supposed to be actual content.\")}catch(t){a=null}if(null===a){if(null===s)throw new Error(\"We can't skip over an invalid tag with undefined length at offset \"+o);i.pos=o+Math.abs(s)}return new t(r,h,s,n,a)},t}(),R=function(){function t(t){var e=t.get();if(this.tagClass=e>>6,this.tagConstructed=0!=(32&e),this.tagNumber=31&e,31==this.tagNumber){var i=new y;do{e=t.get(),i.mulAdd(128,127&e)}while(128&e);this.tagNumber=i.simplify()}}return t.prototype.isUniversal=function(){return 0===this.tagClass},t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},t}(),B=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],O=(1<<26)/B[B.length-1],A=function(){function t(t,e,i){null!=t&&(\"number\"==typeof t?this.fromNumber(t,e,i):null==e&&\"string\"!=typeof t?this.fromString(t,256):this.fromString(t,e))}return t.prototype.toString=function(t){if(this.s<0)return\"-\"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var r,n=(1<<i)-1,s=!1,o=\"\",h=this.t,a=this.DB-h*this.DB%i;if(h-- >0)for(a<this.DB&&(r=this[h]>>a)>0&&(s=!0,o=e(r));h>=0;)a<i?(r=(this[h]&(1<<a)-1)<<i-a,r|=this[--h]>>(a+=this.DB-i)):(r=this[h]>>(a-=i)&n,a<=0&&(a+=this.DB,--h)),r>0&&(s=!0),s&&(o+=e(r));return s?o:\"0\"},t.prototype.negate=function(){var e=M();return t.ZERO.subTo(this,e),e},t.prototype.abs=function(){return this.s<0?this.negate():this},t.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var i=this.t;if(0!=(e=i-t.t))return this.s<0?-e:e;for(;--i>=0;)if(0!=(e=this[i]-t[i]))return e;return 0},t.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+K(this[this.t-1]^this.s&this.DM)},t.prototype.mod=function(e){var i=M();return this.abs().divRemTo(e,null,i),this.s<0&&i.compareTo(t.ZERO)>0&&e.subTo(i,i),i},t.prototype.modPowInt=function(t,e){var i;return i=t<256||e.isEven()?new I(e):new N(e),this.exp(t,i)},t.prototype.clone=function(){var t=M();return this.copyTo(t),t},t.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},t.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},t.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},t.prototype.toByteArray=function(){var t=this.t,e=[];e[0]=this.s;var i,r=this.DB-t*this.DB%8,n=0;if(t-- >0)for(r<this.DB&&(i=this[t]>>r)!=(this.s&this.DM)>>r&&(e[n++]=i|this.s<<this.DB-r);t>=0;)r<8?(i=(this[t]&(1<<r)-1)<<8-r,i|=this[--t]>>(r+=this.DB-8)):(i=this[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),0!=(128&i)&&(i|=-256),0==n&&(128&this.s)!=(128&i)&&++n,(n>0||i!=this.s)&&(e[n++]=i);return e},t.prototype.equals=function(t){return 0==this.compareTo(t)},t.prototype.min=function(t){return this.compareTo(t)<0?this:t},t.prototype.max=function(t){return this.compareTo(t)>0?this:t},t.prototype.and=function(t){var e=M();return this.bitwiseTo(t,n,e),e},t.prototype.or=function(t){var e=M();return this.bitwiseTo(t,s,e),e},t.prototype.xor=function(t){var e=M();return this.bitwiseTo(t,o,e),e},t.prototype.andNot=function(t){var e=M();return this.bitwiseTo(t,h,e),e},t.prototype.not=function(){for(var t=M(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t},t.prototype.shiftLeft=function(t){var e=M();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e},t.prototype.shiftRight=function(t){var e=M();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e},t.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+a(this[t]);return this.s<0?this.t*this.DB:-1},t.prototype.bitCount=function(){for(var t=0,e=this.s&this.DM,i=0;i<this.t;++i)t+=u(this[i]^e);return t},t.prototype.testBit=function(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:0!=(this[e]&1<<t%this.DB)},t.prototype.setBit=function(t){return this.changeBit(t,s)},t.prototype.clearBit=function(t){return this.changeBit(t,h)},t.prototype.flipBit=function(t){return this.changeBit(t,o)},t.prototype.add=function(t){var e=M();return this.addTo(t,e),e},t.prototype.subtract=function(t){var e=M();return this.subTo(t,e),e},t.prototype.multiply=function(t){var e=M();return this.multiplyTo(t,e),e},t.prototype.divide=function(t){var e=M();return this.divRemTo(t,e,null),e},t.prototype.remainder=function(t){var e=M();return this.divRemTo(t,null,e),e},t.prototype.divideAndRemainder=function(t){var e=M(),i=M();return this.divRemTo(t,e,i),[e,i]},t.prototype.modPow=function(t,e){var i,r,n=t.bitLength(),s=U(1);if(n<=0)return s;i=n<18?1:n<48?3:n<144?4:n<768?5:6,r=n<8?new I(e):e.isEven()?new P(e):new N(e);var o=[],h=3,a=i-1,u=(1<<i)-1;if(o[1]=r.convert(this),i>1){var c=M();for(r.sqrTo(o[1],c);h<=u;)o[h]=M(),r.mulTo(c,o[h-2],o[h]),h+=2}var f,l,p=t.t-1,g=!0,d=M();for(n=K(t[p])-1;p>=0;){for(n>=a?f=t[p]>>n-a&u:(f=(t[p]&(1<<n+1)-1)<<a-n,p>0&&(f|=t[p-1]>>this.DB+n-a)),h=i;0==(1&f);)f>>=1,--h;if((n-=h)<0&&(n+=this.DB,--p),g)o[f].copyTo(s),g=!1;else{for(;h>1;)r.sqrTo(s,d),r.sqrTo(d,s),h-=2;h>0?r.sqrTo(s,d):(l=s,s=d,d=l),r.mulTo(d,o[f],s)}for(;p>=0&&0==(t[p]&1<<n);)r.sqrTo(s,d),l=s,s=d,d=l,--n<0&&(n=this.DB-1,--p)}return r.revert(s)},t.prototype.modInverse=function(e){var i=e.isEven();if(this.isEven()&&i||0==e.signum())return t.ZERO;for(var r=e.clone(),n=this.clone(),s=U(1),o=U(0),h=U(0),a=U(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),i?(s.isEven()&&o.isEven()||(s.addTo(this,s),o.subTo(e,o)),s.rShiftTo(1,s)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),i?(h.isEven()&&a.isEven()||(h.addTo(this,h),a.subTo(e,a)),h.rShiftTo(1,h)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),i&&s.subTo(h,s),o.subTo(a,o)):(n.subTo(r,n),i&&h.subTo(s,h),a.subTo(o,a))}return 0!=n.compareTo(t.ONE)?t.ZERO:a.compareTo(e)>=0?a.subtract(e):a.signum()<0?(a.addTo(e,a),a.signum()<0?a.add(e):a):a},t.prototype.pow=function(t){return this.exp(t,new V)},t.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),i=t.s<0?t.negate():t.clone();if(e.compareTo(i)<0){var r=e;e=i,i=r}var n=e.getLowestSetBit(),s=i.getLowestSetBit();if(s<0)return e;for(n<s&&(s=n),s>0&&(e.rShiftTo(s,e),i.rShiftTo(s,i));e.signum()>0;)(n=e.getLowestSetBit())>0&&e.rShiftTo(n,e),(n=i.getLowestSetBit())>0&&i.rShiftTo(n,i),e.compareTo(i)>=0?(e.subTo(i,e),e.rShiftTo(1,e)):(i.subTo(e,i),i.rShiftTo(1,i));return s>0&&i.lShiftTo(s,i),i},t.prototype.isProbablePrime=function(t){var e,i=this.abs();if(1==i.t&&i[0]<=B[B.length-1]){for(e=0;e<B.length;++e)if(i[0]==B[e])return!0;return!1}if(i.isEven())return!1;for(e=1;e<B.length;){for(var r=B[e],n=e+1;n<B.length&&r<O;)r*=B[n++];for(r=i.modInt(r);e<n;)if(r%B[e++]==0)return!1}return i.millerRabin(t)},t.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},t.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},t.prototype.fromString=function(e,i){var r;if(16==i)r=4;else if(8==i)r=3;else if(256==i)r=8;else if(2==i)r=1;else if(32==i)r=5;else{if(4!=i)return void this.fromRadix(e,i);r=2}this.t=0,this.s=0;for(var n=e.length,s=!1,o=0;--n>=0;){var h=8==r?255&+e[n]:F(e,n);h<0?\"-\"==e.charAt(n)&&(s=!0):(s=!1,0==o?this[this.t++]=h:o+r>this.DB?(this[this.t-1]|=(h&(1<<this.DB-o)-1)<<o,this[this.t++]=h>>this.DB-o):this[this.t-1]|=h<<o,(o+=r)>=this.DB&&(o-=this.DB))}8==r&&0!=(128&+e[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),s&&t.ZERO.subTo(this,this)},t.prototype.clamp=function(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t},t.prototype.dlShiftTo=function(t,e){var i;for(i=this.t-1;i>=0;--i)e[i+t]=this[i];for(i=t-1;i>=0;--i)e[i]=0;e.t=this.t+t,e.s=this.s},t.prototype.drShiftTo=function(t,e){for(var i=t;i<this.t;++i)e[i-t]=this[i];e.t=Math.max(this.t-t,0),e.s=this.s},t.prototype.lShiftTo=function(t,e){for(var i=t%this.DB,r=this.DB-i,n=(1<<r)-1,s=Math.floor(t/this.DB),o=this.s<<i&this.DM,h=this.t-1;h>=0;--h)e[h+s+1]=this[h]>>r|o,o=(this[h]&n)<<i;for(h=s-1;h>=0;--h)e[h]=0;e[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()},t.prototype.rShiftTo=function(t,e){e.s=this.s;var i=Math.floor(t/this.DB);if(i>=this.t)e.t=0;else{var r=t%this.DB,n=this.DB-r,s=(1<<r)-1;e[0]=this[i]>>r;for(var o=i+1;o<this.t;++o)e[o-i-1]|=(this[o]&s)<<n,e[o-i]=this[o]>>r;r>0&&(e[this.t-i-1]|=(this.s&s)<<n),e.t=this.t-i,e.clamp()}},t.prototype.subTo=function(t,e){for(var i=0,r=0,n=Math.min(t.t,this.t);i<n;)r+=this[i]-t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r-=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r-=t[i],e[i++]=r&this.DM,r>>=this.DB;r-=t.s}e.s=r<0?-1:0,r<-1?e[i++]=this.DV+r:r>0&&(e[i++]=r),e.t=i,e.clamp()},t.prototype.multiplyTo=function(e,i){var r=this.abs(),n=e.abs(),s=r.t;for(i.t=s+n.t;--s>=0;)i[s]=0;for(s=0;s<n.t;++s)i[s+r.t]=r.am(0,n[s],i,s,0,r.t);i.s=0,i.clamp(),this.s!=e.s&&t.ZERO.subTo(i,i)},t.prototype.squareTo=function(t){for(var e=this.abs(),i=t.t=2*e.t;--i>=0;)t[i]=0;for(i=0;i<e.t-1;++i){var r=e.am(i,e[i],t,2*i,0,1);(t[i+e.t]+=e.am(i+1,2*e[i],t,2*i+1,r,e.t-i-1))>=e.DV&&(t[i+e.t]-=e.DV,t[i+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(i,e[i],t,2*i,0,1)),t.s=0,t.clamp()},t.prototype.divRemTo=function(e,i,r){var n=e.abs();if(!(n.t<=0)){var s=this.abs();if(s.t<n.t)return null!=i&&i.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=M());var o=M(),h=this.s,a=e.s,u=this.DB-K(n[n.t-1]);u>0?(n.lShiftTo(u,o),s.lShiftTo(u,r)):(n.copyTo(o),s.copyTo(r));var c=o.t,f=o[c-1];if(0!=f){var l=f*(1<<this.F1)+(c>1?o[c-2]>>this.F2:0),p=this.FV/l,g=(1<<this.F1)/l,d=1<<this.F2,v=r.t,m=v-c,y=null==i?M():i;for(o.dlShiftTo(m,y),r.compareTo(y)>=0&&(r[r.t++]=1,r.subTo(y,r)),t.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t<c;)o[o.t++]=0;for(;--m>=0;){var b=r[--v]==f?this.DM:Math.floor(r[v]*p+(r[v-1]+d)*g);if((r[v]+=o.am(0,b,r,m,0,c))<b)for(o.dlShiftTo(m,y),r.subTo(y,r);r[v]<--b;)r.subTo(y,r)}null!=i&&(r.drShiftTo(c,i),h!=a&&t.ZERO.subTo(i,i)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),h<0&&t.ZERO.subTo(r,r)}}},t.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},t.prototype.exp=function(e,i){if(e>4294967295||e<1)return t.ONE;var r=M(),n=M(),s=i.convert(this),o=K(e)-1;for(s.copyTo(r);--o>=0;)if(i.sqrTo(r,n),(e&1<<o)>0)i.mulTo(n,s,r);else{var h=r;r=n,n=h}return i.revert(r)},t.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},t.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return\"0\";var e=this.chunkSize(t),i=Math.pow(t,e),r=U(i),n=M(),s=M(),o=\"\";for(this.divRemTo(r,n,s);n.signum()>0;)o=(i+s.intValue()).toString(t).substr(1)+o,n.divRemTo(r,n,s);return s.intValue().toString(t)+o},t.prototype.fromRadix=function(e,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),n=Math.pow(i,r),s=!1,o=0,h=0,a=0;a<e.length;++a){var u=F(e,a);u<0?\"-\"==e.charAt(a)&&0==this.signum()&&(s=!0):(h=i*h+u,++o>=r&&(this.dMultiply(n),this.dAddOffset(h,0),o=0,h=0))}o>0&&(this.dMultiply(Math.pow(i,o)),this.dAddOffset(h,0)),s&&t.ZERO.subTo(this,this)},t.prototype.fromNumber=function(e,i,r){if(\"number\"==typeof i)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(t.ONE.shiftLeft(e-1),s,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(t.ONE.shiftLeft(e-1),this);else{var n=[],o=7&e;n.length=1+(e>>3),i.nextBytes(n),o>0?n[0]&=(1<<o)-1:n[0]=0,this.fromString(n,256)}},t.prototype.bitwiseTo=function(t,e,i){var r,n,s=Math.min(t.t,this.t);for(r=0;r<s;++r)i[r]=e(this[r],t[r]);if(t.t<this.t){for(n=t.s&this.DM,r=s;r<this.t;++r)i[r]=e(this[r],n);i.t=this.t}else{for(n=this.s&this.DM,r=s;r<t.t;++r)i[r]=e(n,t[r]);i.t=t.t}i.s=e(this.s,t.s),i.clamp()},t.prototype.changeBit=function(e,i){var r=t.ONE.shiftLeft(e);return this.bitwiseTo(r,i,r),r},t.prototype.addTo=function(t,e){for(var i=0,r=0,n=Math.min(t.t,this.t);i<n;)r+=this[i]+t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r+=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r+=t[i],e[i++]=r&this.DM,r>>=this.DB;r+=t.s}e.s=r<0?-1:0,r>0?e[i++]=r:r<-1&&(e[i++]=this.DV+r),e.t=i,e.clamp()},t.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},t.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},t.prototype.multiplyLowerTo=function(t,e,i){var r=Math.min(this.t+t.t,e);for(i.s=0,i.t=r;r>0;)i[--r]=0;for(var n=i.t-this.t;r<n;++r)i[r+this.t]=this.am(0,t[r],i,r,0,this.t);for(n=Math.min(t.t,e);r<n;++r)this.am(0,t[r],i,r,0,e-r);i.clamp()},t.prototype.multiplyUpperTo=function(t,e,i){--e;var r=i.t=this.t+t.t-e;for(i.s=0;--r>=0;)i[r]=0;for(r=Math.max(e-this.t,0);r<t.t;++r)i[this.t+r-e]=this.am(e-r,t[r],i,0,0,this.t+r-e);i.clamp(),i.drShiftTo(1,i)},t.prototype.modInt=function(t){if(t<=0)return 0;var e=this.DV%t,i=this.s<0?t-1:0;if(this.t>0)if(0==e)i=this[0]%t;else for(var r=this.t-1;r>=0;--r)i=(e*i+this[r])%t;return i},t.prototype.millerRabin=function(e){var i=this.subtract(t.ONE),r=i.getLowestSetBit();if(r<=0)return!1;var n=i.shiftRight(r);(e=e+1>>1)>B.length&&(e=B.length);for(var s=M(),o=0;o<e;++o){s.fromInt(B[Math.floor(Math.random()*B.length)]);var h=s.modPow(n,this);if(0!=h.compareTo(t.ONE)&&0!=h.compareTo(i)){for(var a=1;a++<r&&0!=h.compareTo(i);)if(0==(h=h.modPowInt(2,this)).compareTo(t.ONE))return!1;if(0!=h.compareTo(i))return!1}}return!0},t.prototype.square=function(){var t=M();return this.squareTo(t),t},t.prototype.gcda=function(t,e){var i=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(i.compareTo(r)<0){var n=i;i=r,r=n}var s=i.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)e(i);else{s<o&&(o=s),o>0&&(i.rShiftTo(o,i),r.rShiftTo(o,r));var h=function(){(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),i.compareTo(r)>=0?(i.subTo(r,i),i.rShiftTo(1,i)):(r.subTo(i,r),r.rShiftTo(1,r)),i.signum()>0?setTimeout(h,0):(o>0&&r.lShiftTo(o,r),setTimeout((function(){e(r)}),0))};setTimeout(h,10)}},t.prototype.fromNumberAsync=function(e,i,r,n){if(\"number\"==typeof i)if(e<2)this.fromInt(1);else{this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(t.ONE.shiftLeft(e-1),s,this),this.isEven()&&this.dAddOffset(1,0);var o=this,h=function(){o.dAddOffset(2,0),o.bitLength()>e&&o.subTo(t.ONE.shiftLeft(e-1),o),o.isProbablePrime(i)?setTimeout((function(){n()}),0):setTimeout(h,0)};setTimeout(h,0)}else{var a=[],u=7&e;a.length=1+(e>>3),i.nextBytes(a),u>0?a[0]&=(1<<u)-1:a[0]=0,this.fromString(a,256)}},t}(),V=function(){function t(){}return t.prototype.convert=function(t){return t},t.prototype.revert=function(t){return t},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i)},t.prototype.sqrTo=function(t,e){t.squareTo(e)},t}(),I=function(){function t(t){this.m=t}return t.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),N=function(){function t(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}return t.prototype.convert=function(t){var e=M();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(A.ZERO)>0&&this.m.subTo(e,e),e},t.prototype.revert=function(t){var e=M();return t.copyTo(e),this.reduce(e),e},t.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var i=32767&t[e],r=i*this.mpl+((i*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(t[i=e+this.m.t]+=this.m.am(0,r,t,e,0,this.m.t);t[i]>=t.DV;)t[i]-=t.DV,t[++i]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),P=function(){function t(t){this.m=t,this.r2=M(),this.q3=M(),A.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t)}return t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=M();return t.copyTo(e),this.reduce(e),e},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}();function M(){return new A(null)}function L(t,e){return new A(t,e)}var j=\"undefined\"!=typeof navigator;j&&\"Microsoft Internet Explorer\"==navigator.appName?(A.prototype.am=function(t,e,i,r,n,s){for(var o=32767&e,h=e>>15;--s>=0;){var a=32767&this[t],u=this[t++]>>15,c=h*a+u*o;n=((a=o*a+((32767&c)<<15)+i[r]+(1073741823&n))>>>30)+(c>>>15)+h*u+(n>>>30),i[r++]=1073741823&a}return n},w=30):j&&\"Netscape\"!=navigator.appName?(A.prototype.am=function(t,e,i,r,n,s){for(;--s>=0;){var o=e*this[t++]+i[r]+n;n=Math.floor(o/67108864),i[r++]=67108863&o}return n},w=26):(A.prototype.am=function(t,e,i,r,n,s){for(var o=16383&e,h=e>>14;--s>=0;){var a=16383&this[t],u=this[t++]>>14,c=h*a+u*o;n=((a=o*a+((16383&c)<<14)+i[r]+n)>>28)+(c>>14)+h*u,i[r++]=268435455&a}return n},w=28),A.prototype.DB=w,A.prototype.DM=(1<<w)-1,A.prototype.DV=1<<w,A.prototype.FV=Math.pow(2,52),A.prototype.F1=52-w,A.prototype.F2=2*w-52;var q,H,C=[];for(q=\"0\".charCodeAt(0),H=0;H<=9;++H)C[q++]=H;for(q=\"a\".charCodeAt(0),H=10;H<36;++H)C[q++]=H;for(q=\"A\".charCodeAt(0),H=10;H<36;++H)C[q++]=H;function F(t,e){var i=C[t.charCodeAt(e)];return null==i?-1:i}function U(t){var e=M();return e.fromInt(t),e}function K(t){var e,i=1;return 0!=(e=t>>>16)&&(t=e,i+=16),0!=(e=t>>8)&&(t=e,i+=8),0!=(e=t>>4)&&(t=e,i+=4),0!=(e=t>>2)&&(t=e,i+=2),0!=(e=t>>1)&&(t=e,i+=1),i}A.ZERO=U(0),A.ONE=U(1);var k,_,z=function(){function t(){this.i=0,this.j=0,this.S=[]}return t.prototype.init=function(t){var e,i,r;for(e=0;e<256;++e)this.S[e]=e;for(i=0,e=0;e<256;++e)i=i+this.S[e]+t[e%t.length]&255,r=this.S[e],this.S[e]=this.S[i],this.S[i]=r;this.i=0,this.j=0},t.prototype.next=function(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]},t}(),Z=256,G=null;if(null==G){G=[],_=0;var $=void 0;if(\"undefined\"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var Y=new Uint32Array(256);for(window.crypto.getRandomValues(Y),$=0;$<Y.length;++$)G[_++]=255&Y[$]}var J=0,X=function(t){if((J=J||0)>=256||_>=Z)window.removeEventListener?window.removeEventListener(\"mousemove\",X,!1):window.detachEvent&&window.detachEvent(\"onmousemove\",X);else try{var e=t.x+t.y;G[_++]=255&e,J+=1}catch(t){}};\"undefined\"!=typeof window&&(window.addEventListener?window.addEventListener(\"mousemove\",X,!1):window.attachEvent&&window.attachEvent(\"onmousemove\",X))}function Q(){if(null==k){for(k=new z;_<Z;){var t=Math.floor(65536*Math.random());G[_++]=255&t}for(k.init(G),_=0;_<G.length;++_)G[_]=0;_=0}return k.next()}var W=function(){function t(){}return t.prototype.nextBytes=function(t){for(var e=0;e<t.length;++e)t[e]=Q()},t}(),tt=function(){function t(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)},t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),i=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(i)<0;)e=e.add(this.p);return e.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)},t.prototype.setPublic=function(t,e){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=L(t,16),this.e=parseInt(e,16)):console.error(\"Invalid RSA public key\")},t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3,i=function(t,e){if(e<t.length+11)return console.error(\"Message too long for RSA\"),null;for(var i=[],r=t.length-1;r>=0&&e>0;){var n=t.charCodeAt(r--);n<128?i[--e]=n:n>127&&n<2048?(i[--e]=63&n|128,i[--e]=n>>6|192):(i[--e]=63&n|128,i[--e]=n>>6&63|128,i[--e]=n>>12|224)}i[--e]=0;for(var s=new W,o=[];e>2;){for(o[0]=0;0==o[0];)s.nextBytes(o);i[--e]=o[0]}return i[--e]=2,i[--e]=0,new A(i)}(t,e);if(null==i)return null;var r=this.doPublic(i);if(null==r)return null;for(var n=r.toString(16),s=n.length,o=0;o<2*e-s;o++)n=\"0\"+n;return n},t.prototype.setPrivate=function(t,e,i){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=L(t,16),this.e=parseInt(e,16),this.d=L(i,16)):console.error(\"Invalid RSA private key\")},t.prototype.setPrivateEx=function(t,e,i,r,n,s,o,h){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=L(t,16),this.e=parseInt(e,16),this.d=L(i,16),this.p=L(r,16),this.q=L(n,16),this.dmp1=L(s,16),this.dmq1=L(o,16),this.coeff=L(h,16)):console.error(\"Invalid RSA private key\")},t.prototype.generate=function(t,e){var i=new W,r=t>>1;this.e=parseInt(e,16);for(var n=new A(e,16);;){for(;this.p=new A(t-r,1,i),0!=this.p.subtract(A.ONE).gcd(n).compareTo(A.ONE)||!this.p.isProbablePrime(10););for(;this.q=new A(r,1,i),0!=this.q.subtract(A.ONE).gcd(n).compareTo(A.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q,this.q=s}var o=this.p.subtract(A.ONE),h=this.q.subtract(A.ONE),a=o.multiply(h);if(0==a.gcd(n).compareTo(A.ONE)){this.n=this.p.multiply(this.q),this.d=n.modInverse(a),this.dmp1=this.d.mod(o),this.dmq1=this.d.mod(h),this.coeff=this.q.modInverse(this.p);break}}},t.prototype.decrypt=function(t){var e=L(t,16),i=this.doPrivate(e);return null==i?null:function(t,e){for(var i=t.toByteArray(),r=0;r<i.length&&0==i[r];)++r;if(i.length-r!=e-1||2!=i[r])return null;for(++r;0!=i[r];)if(++r>=i.length)return null;for(var n=\"\";++r<i.length;){var s=255&i[r];s<128?n+=String.fromCharCode(s):s>191&&s<224?(n+=String.fromCharCode((31&s)<<6|63&i[r+1]),++r):(n+=String.fromCharCode((15&s)<<12|(63&i[r+1])<<6|63&i[r+2]),r+=2)}return n}(i,this.n.bitLength()+7>>3)},t.prototype.generateAsync=function(t,e,i){var r=new W,n=t>>1;this.e=parseInt(e,16);var s=new A(e,16),o=this,h=function(){var e=function(){if(o.p.compareTo(o.q)<=0){var t=o.p;o.p=o.q,o.q=t}var e=o.p.subtract(A.ONE),r=o.q.subtract(A.ONE),n=e.multiply(r);0==n.gcd(s).compareTo(A.ONE)?(o.n=o.p.multiply(o.q),o.d=s.modInverse(n),o.dmp1=o.d.mod(e),o.dmq1=o.d.mod(r),o.coeff=o.q.modInverse(o.p),setTimeout((function(){i()}),0)):setTimeout(h,0)},a=function(){o.q=M(),o.q.fromNumberAsync(n,1,r,(function(){o.q.subtract(A.ONE).gcda(s,(function(t){0==t.compareTo(A.ONE)&&o.q.isProbablePrime(10)?setTimeout(e,0):setTimeout(a,0)}))}))},u=function(){o.p=M(),o.p.fromNumberAsync(t-n,1,r,(function(){o.p.subtract(A.ONE).gcda(s,(function(t){0==t.compareTo(A.ONE)&&o.p.isProbablePrime(10)?setTimeout(a,0):setTimeout(u,0)}))}))};setTimeout(u,0)};setTimeout(h,0)},t.prototype.sign=function(t,e,i){var r=function(t,e){if(e<t.length+22)return console.error(\"Message too long for RSA\"),null;for(var i=e-t.length-6,r=\"\",n=0;n<i;n+=2)r+=\"ff\";return L(\"0001\"+r+\"00\"+t,16)}((et[i]||\"\")+e(t).toString(),this.n.bitLength()/4);if(null==r)return null;var n=this.doPrivate(r);if(null==n)return null;var s=n.toString(16);return 0==(1&s.length)?s:\"0\"+s},t.prototype.verify=function(t,e,i){var r=L(e,16),n=this.doPublic(r);return null==n?null:function(t){for(var e in et)if(et.hasOwnProperty(e)){var i=et[e],r=i.length;if(t.substr(0,r)==i)return t.substr(r)}return t}(n.toString(16).replace(/^1f+00/,\"\"))==i(t).toString()},t}(),et={md2:\"3020300c06082a864886f70d020205000410\",md5:\"3020300c06082a864886f70d020505000410\",sha1:\"3021300906052b0e03021a05000414\",sha224:\"302d300d06096086480165030402040500041c\",sha256:\"3031300d060960864801650304020105000420\",sha384:\"3041300d060960864801650304020205000430\",sha512:\"3051300d060960864801650304020305000440\",ripemd160:\"3021300906052b2403020105000414\"},it={};it.lang={extend:function(t,e,i){if(!e||!t)throw new Error(\"YAHOO.lang.extend failed, please check that all dependencies are included.\");var r=function(){};if(r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),i){var n;for(n in i)t.prototype[n]=i[n];var s=function(){},o=[\"toString\",\"valueOf\"];try{/MSIE/.test(navigator.userAgent)&&(s=function(t,e){for(n=0;n<o.length;n+=1){var i=o[n],r=e[i];\"function\"==typeof r&&r!=Object.prototype[i]&&(t[i]=r)}})}catch(t){}s(t.prototype,i)}}};var rt={};void 0!==rt.asn1&&rt.asn1||(rt.asn1={}),rt.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e=\"0\"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if(\"-\"!=e.substr(0,1))e.length%2==1?e=\"0\"+e:e.match(/^[0-7]/)||(e=\"00\"+e);else{var i=e.substr(1).length;i%2==1?i+=1:e.match(/^[0-7]/)||(i+=2);for(var r=\"\",n=0;n<i;n++)r+=\"f\";e=new A(r,16).xor(t).add(A.ONE).toString(16).replace(/^-/,\"\")}return e},this.getPEMStringFromHex=function(t,e){return hextopem(t,e)},this.newObject=function(t){var e=rt.asn1,i=e.DERBoolean,r=e.DERInteger,n=e.DERBitString,s=e.DEROctetString,o=e.DERNull,h=e.DERObjectIdentifier,a=e.DEREnumerated,u=e.DERUTF8String,c=e.DERNumericString,f=e.DERPrintableString,l=e.DERTeletexString,p=e.DERIA5String,g=e.DERUTCTime,d=e.DERGeneralizedTime,v=e.DERSequence,m=e.DERSet,y=e.DERTaggedObject,b=e.ASN1Util.newObject,T=Object.keys(t);if(1!=T.length)throw\"key of param shall be only one.\";var S=T[0];if(-1==\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\"+S+\":\"))throw\"undefined key: \"+S;if(\"bool\"==S)return new i(t[S]);if(\"int\"==S)return new r(t[S]);if(\"bitstr\"==S)return new n(t[S]);if(\"octstr\"==S)return new s(t[S]);if(\"null\"==S)return new o(t[S]);if(\"oid\"==S)return new h(t[S]);if(\"enum\"==S)return new a(t[S]);if(\"utf8str\"==S)return new u(t[S]);if(\"numstr\"==S)return new c(t[S]);if(\"prnstr\"==S)return new f(t[S]);if(\"telstr\"==S)return new l(t[S]);if(\"ia5str\"==S)return new p(t[S]);if(\"utctime\"==S)return new g(t[S]);if(\"gentime\"==S)return new d(t[S]);if(\"seq\"==S){for(var E=t[S],w=[],D=0;D<E.length;D++){var x=b(E[D]);w.push(x)}return new v({array:w})}if(\"set\"==S){for(E=t[S],w=[],D=0;D<E.length;D++)x=b(E[D]),w.push(x);return new m({array:w})}if(\"tag\"==S){var R=t[S];if(\"[object Array]\"===Object.prototype.toString.call(R)&&3==R.length){var B=b(R[2]);return new y({tag:R[0],explicit:R[1],obj:B})}var O={};if(void 0!==R.explicit&&(O.explicit=R.explicit),void 0!==R.tag&&(O.tag=R.tag),void 0===R.obj)throw\"obj shall be specified for 'tag'.\";return O.obj=b(R.obj),new y(O)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},rt.asn1.ASN1Util.oidHexToInt=function(t){for(var e=\"\",i=parseInt(t.substr(0,2),16),r=(e=Math.floor(i/40)+\".\"+i%40,\"\"),n=2;n<t.length;n+=2){var s=(\"00000000\"+parseInt(t.substr(n,2),16).toString(2)).slice(-8);r+=s.substr(1,7),\"0\"==s.substr(0,1)&&(e=e+\".\"+new A(r,2).toString(10),r=\"\")}return e},rt.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e=\"0\"+e),e},i=function(t){var i=\"\",r=new A(t,10).toString(2),n=7-r.length%7;7==n&&(n=0);for(var s=\"\",o=0;o<n;o++)s+=\"0\";for(r=s+r,o=0;o<r.length-1;o+=7){var h=r.substr(o,7);o!=r.length-7&&(h=\"1\"+h),i+=e(parseInt(h,2))}return i};if(!t.match(/^[0-9.]+$/))throw\"malformed oid string: \"+t;var r=\"\",n=t.split(\".\"),s=40*parseInt(n[0])+parseInt(n[1]);r+=e(s),n.splice(0,2);for(var o=0;o<n.length;o++)r+=i(n[o]);return r},rt.asn1.ASN1Object=function(){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw\"this.hV is null or undefined.\";if(this.hV.length%2==1)throw\"value hex must be even length: n=\"+\"\".length+\",v=\"+this.hV;var t=this.hV.length/2,e=t.toString(16);if(e.length%2==1&&(e=\"0\"+e),t<128)return e;var i=e.length/2;if(i>15)throw\"ASN.1 length too long to represent by 8x: n = \"+t.toString(16);return(128+i).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return\"\"}},rt.asn1.DERAbstractString=function(t){rt.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},it.lang.extend(rt.asn1.DERAbstractString,rt.asn1.ASN1Object),rt.asn1.DERAbstractTime=function(t){rt.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){return utc=t.getTime()+6e4*t.getTimezoneOffset(),new Date(utc)},this.formatDate=function(t,e,i){var r=this.zeroPadding,n=this.localDateToUTC(t),s=String(n.getFullYear());\"utc\"==e&&(s=s.substr(2,2));var o=s+r(String(n.getMonth()+1),2)+r(String(n.getDate()),2)+r(String(n.getHours()),2)+r(String(n.getMinutes()),2)+r(String(n.getSeconds()),2);if(!0===i){var h=n.getMilliseconds();if(0!=h){var a=r(String(h),3);o=o+\".\"+(a=a.replace(/[0]+$/,\"\"))}}return o+\"Z\"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(t)},this.setByDateValue=function(t,e,i,r,n,s){var o=new Date(Date.UTC(t,e-1,i,r,n,s,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},it.lang.extend(rt.asn1.DERAbstractTime,rt.asn1.ASN1Object),rt.asn1.DERAbstractStructured=function(t){rt.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},it.lang.extend(rt.asn1.DERAbstractStructured,rt.asn1.ASN1Object),rt.asn1.DERBoolean=function(){rt.asn1.DERBoolean.superclass.constructor.call(this),this.hT=\"01\",this.hTLV=\"0101ff\"},it.lang.extend(rt.asn1.DERBoolean,rt.asn1.ASN1Object),rt.asn1.DERInteger=function(t){rt.asn1.DERInteger.superclass.constructor.call(this),this.hT=\"02\",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=rt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new A(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):\"number\"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},it.lang.extend(rt.asn1.DERInteger,rt.asn1.ASN1Object),rt.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=rt.asn1.ASN1Util.newObject(t.obj);t.hex=\"00\"+e.getEncodedHex()}rt.asn1.DERBitString.superclass.constructor.call(this),this.hT=\"03\",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw\"unused bits shall be from 0 to 7: u = \"+t;var i=\"0\"+t;this.hTLV=null,this.isModified=!0,this.hV=i+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,\"\")).length%8;8==e&&(e=0);for(var i=0;i<=e;i++)t+=\"0\";var r=\"\";for(i=0;i<t.length-1;i+=8){var n=t.substr(i,8),s=parseInt(n,2).toString(16);1==s.length&&(s=\"0\"+s),r+=s}this.hTLV=null,this.isModified=!0,this.hV=\"0\"+e+r},this.setByBooleanArray=function(t){for(var e=\"\",i=0;i<t.length;i++)1==t[i]?e+=\"1\":e+=\"0\";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),i=0;i<t;i++)e[i]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},it.lang.extend(rt.asn1.DERBitString,rt.asn1.ASN1Object),rt.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=rt.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}rt.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT=\"04\"},it.lang.extend(rt.asn1.DEROctetString,rt.asn1.DERAbstractString),rt.asn1.DERNull=function(){rt.asn1.DERNull.superclass.constructor.call(this),this.hT=\"05\",this.hTLV=\"0500\"},it.lang.extend(rt.asn1.DERNull,rt.asn1.ASN1Object),rt.asn1.DERObjectIdentifier=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e=\"0\"+e),e},i=function(t){var i=\"\",r=new A(t,10).toString(2),n=7-r.length%7;7==n&&(n=0);for(var s=\"\",o=0;o<n;o++)s+=\"0\";for(r=s+r,o=0;o<r.length-1;o+=7){var h=r.substr(o,7);o!=r.length-7&&(h=\"1\"+h),i+=e(parseInt(h,2))}return i};rt.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT=\"06\",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw\"malformed oid string: \"+t;var r=\"\",n=t.split(\".\"),s=40*parseInt(n[0])+parseInt(n[1]);r+=e(s),n.splice(0,2);for(var o=0;o<n.length;o++)r+=i(n[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=r},this.setValueName=function(t){var e=rt.asn1.x509.OID.name2oid(t);if(\"\"===e)throw\"DERObjectIdentifier oidName undefined: \"+t;this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t?t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t):void 0!==t.oid?this.setValueOidString(t.oid):void 0!==t.hex?this.setValueHex(t.hex):void 0!==t.name&&this.setValueName(t.name))},it.lang.extend(rt.asn1.DERObjectIdentifier,rt.asn1.ASN1Object),rt.asn1.DEREnumerated=function(t){rt.asn1.DEREnumerated.superclass.constructor.call(this),this.hT=\"0a\",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=rt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new A(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):\"number\"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},it.lang.extend(rt.asn1.DEREnumerated,rt.asn1.ASN1Object),rt.asn1.DERUTF8String=function(t){rt.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT=\"0c\"},it.lang.extend(rt.asn1.DERUTF8String,rt.asn1.DERAbstractString),rt.asn1.DERNumericString=function(t){rt.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT=\"12\"},it.lang.extend(rt.asn1.DERNumericString,rt.asn1.DERAbstractString),rt.asn1.DERPrintableString=function(t){rt.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT=\"13\"},it.lang.extend(rt.asn1.DERPrintableString,rt.asn1.DERAbstractString),rt.asn1.DERTeletexString=function(t){rt.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT=\"14\"},it.lang.extend(rt.asn1.DERTeletexString,rt.asn1.DERAbstractString),rt.asn1.DERIA5String=function(t){rt.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT=\"16\"},it.lang.extend(rt.asn1.DERIA5String,rt.asn1.DERAbstractString),rt.asn1.DERUTCTime=function(t){rt.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT=\"17\",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,\"utc\"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,\"utc\"),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):\"string\"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},it.lang.extend(rt.asn1.DERUTCTime,rt.asn1.DERAbstractTime),rt.asn1.DERGeneralizedTime=function(t){rt.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT=\"18\",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,\"gen\",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,\"gen\",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):\"string\"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},it.lang.extend(rt.asn1.DERGeneralizedTime,rt.asn1.DERAbstractTime),rt.asn1.DERSequence=function(t){rt.asn1.DERSequence.superclass.constructor.call(this,t),this.hT=\"30\",this.getFreshValueHex=function(){for(var t=\"\",e=0;e<this.asn1Array.length;e++)t+=this.asn1Array[e].getEncodedHex();return this.hV=t,this.hV}},it.lang.extend(rt.asn1.DERSequence,rt.asn1.DERAbstractStructured),rt.asn1.DERSet=function(t){rt.asn1.DERSet.superclass.constructor.call(this,t),this.hT=\"31\",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t.push(i.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(\"\"),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},it.lang.extend(rt.asn1.DERSet,rt.asn1.DERAbstractStructured),rt.asn1.DERTaggedObject=function(t){rt.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT=\"a0\",this.hV=\"\",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,i){this.hT=e,this.isExplicit=t,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.tag&&(this.hT=t.tag),void 0!==t.explicit&&(this.isExplicit=t.explicit),void 0!==t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},it.lang.extend(rt.asn1.DERTaggedObject,rt.asn1.ASN1Object);var nt,st,ot=(nt=function(t,e){return nt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},nt(t,e)},function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}nt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),ht=function(t){function e(i){var r=t.call(this)||this;return i&&(\"string\"==typeof i?r.parseKey(i):(e.hasPrivateKeyProperty(i)||e.hasPublicKeyProperty(i))&&r.parsePropertiesFrom(i)),r}return ot(e,t),e.prototype.parseKey=function(t){try{var e=0,i=0,r=/^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/.test(t)?function(t){var e;if(void 0===c){var i=\"0123456789ABCDEF\",r=\" \\f\\n\\r\\t \\u2028\\u2029\";for(c={},e=0;e<16;++e)c[i.charAt(e)]=e;for(i=i.toLowerCase(),e=10;e<16;++e)c[i.charAt(e)]=e;for(e=0;e<r.length;++e)c[r.charAt(e)]=-1}var n=[],s=0,o=0;for(e=0;e<t.length;++e){var h=t.charAt(e);if(\"=\"==h)break;if(-1!=(h=c[h])){if(void 0===h)throw new Error(\"Illegal character at offset \"+e);s|=h,++o>=2?(n[n.length]=s,s=0,o=0):s<<=4}}if(o)throw new Error(\"Hex encoding incomplete: 4 bits missing\");return n}(t):v.unarmor(t),n=x.decode(r);if(3===n.sub.length&&(n=n.sub[2].sub[0]),9===n.sub.length){e=n.sub[1].getHexStringValue(),this.n=L(e,16),i=n.sub[2].getHexStringValue(),this.e=parseInt(i,16);var s=n.sub[3].getHexStringValue();this.d=L(s,16);var o=n.sub[4].getHexStringValue();this.p=L(o,16);var h=n.sub[5].getHexStringValue();this.q=L(h,16);var a=n.sub[6].getHexStringValue();this.dmp1=L(a,16);var u=n.sub[7].getHexStringValue();this.dmq1=L(u,16);var f=n.sub[8].getHexStringValue();this.coeff=L(f,16)}else{if(2!==n.sub.length)return!1;if(n.sub[0].sub){var l=n.sub[1].sub[0];e=l.sub[0].getHexStringValue(),this.n=L(e,16),i=l.sub[1].getHexStringValue(),this.e=parseInt(i,16)}else e=n.sub[0].getHexStringValue(),this.n=L(e,16),i=n.sub[1].getHexStringValue(),this.e=parseInt(i,16)}return!0}catch(t){return!1}},e.prototype.getPrivateBaseKey=function(){var t={array:[new rt.asn1.DERInteger({int:0}),new rt.asn1.DERInteger({bigint:this.n}),new rt.asn1.DERInteger({int:this.e}),new rt.asn1.DERInteger({bigint:this.d}),new rt.asn1.DERInteger({bigint:this.p}),new rt.asn1.DERInteger({bigint:this.q}),new rt.asn1.DERInteger({bigint:this.dmp1}),new rt.asn1.DERInteger({bigint:this.dmq1}),new rt.asn1.DERInteger({bigint:this.coeff})]};return new rt.asn1.DERSequence(t).getEncodedHex()},e.prototype.getPrivateBaseKeyB64=function(){return p(this.getPrivateBaseKey())},e.prototype.getPublicBaseKey=function(){var t=new rt.asn1.DERSequence({array:[new rt.asn1.DERObjectIdentifier({oid:\"1.2.840.113549.1.1.1\"}),new rt.asn1.DERNull]}),e=new rt.asn1.DERSequence({array:[new rt.asn1.DERInteger({bigint:this.n}),new rt.asn1.DERInteger({int:this.e})]}),i=new rt.asn1.DERBitString({hex:\"00\"+e.getEncodedHex()});return new rt.asn1.DERSequence({array:[t,i]}).getEncodedHex()},e.prototype.getPublicBaseKeyB64=function(){return p(this.getPublicBaseKey())},e.wordwrap=function(t,e){if(!t)return t;var i=\"(.{1,\"+(e=e||64)+\"})( +|$\\n?)|(.{1,\"+e+\"})\";return t.match(RegExp(i,\"g\")).join(\"\\n\")},e.prototype.getPrivateKey=function(){var t=\"-----BEGIN RSA PRIVATE KEY-----\\n\";return(t+=e.wordwrap(this.getPrivateBaseKeyB64())+\"\\n\")+\"-----END RSA PRIVATE KEY-----\"},e.prototype.getPublicKey=function(){var t=\"-----BEGIN PUBLIC KEY-----\\n\";return(t+=e.wordwrap(this.getPublicBaseKeyB64())+\"\\n\")+\"-----END PUBLIC KEY-----\"},e.hasPublicKeyProperty=function(t){return(t=t||{}).hasOwnProperty(\"n\")&&t.hasOwnProperty(\"e\")},e.hasPrivateKeyProperty=function(t){return(t=t||{}).hasOwnProperty(\"n\")&&t.hasOwnProperty(\"e\")&&t.hasOwnProperty(\"d\")&&t.hasOwnProperty(\"p\")&&t.hasOwnProperty(\"q\")&&t.hasOwnProperty(\"dmp1\")&&t.hasOwnProperty(\"dmq1\")&&t.hasOwnProperty(\"coeff\")},e.prototype.parsePropertiesFrom=function(t){this.n=t.n,this.e=t.e,t.hasOwnProperty(\"d\")&&(this.d=t.d,this.p=t.p,this.q=t.q,this.dmp1=t.dmp1,this.dmq1=t.dmq1,this.coeff=t.coeff)},e}(tt),at=i(155),ut=void 0!==at?null===(st=at.env)||void 0===st?void 0:\"3.3.2\":void 0;const ct=function(){function t(t){void 0===t&&(t={}),t=t||{},this.default_key_size=t.default_key_size?parseInt(t.default_key_size,10):1024,this.default_public_exponent=t.default_public_exponent||\"010001\",this.log=t.log||!1,this.key=null}return t.prototype.setKey=function(t){this.log&&this.key&&console.warn(\"A key was already set, overriding existing.\"),this.key=new ht(t)},t.prototype.setPrivateKey=function(t){this.setKey(t)},t.prototype.setPublicKey=function(t){this.setKey(t)},t.prototype.decrypt=function(t){try{return this.getKey().decrypt(g(t))}catch(t){return!1}},t.prototype.encrypt=function(t){try{return p(this.getKey().encrypt(t))}catch(t){return!1}},t.prototype.sign=function(t,e,i){try{return p(this.getKey().sign(t,e,i))}catch(t){return!1}},t.prototype.verify=function(t,e,i){try{return this.getKey().verify(t,g(e),i)}catch(t){return!1}},t.prototype.getKey=function(t){if(!this.key){if(this.key=new ht,t&&\"[object Function]\"==={}.toString.call(t))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},t.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},t.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},t.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},t.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},t.version=ut,t}()})(),r.default})()));","export default \"__VITE_PUBLIC_ASSET__baaaef43__\"","export default \"__VITE_PUBLIC_ASSET__396c0d45__\"","export default \"__VITE_PUBLIC_ASSET__819195cb__\"","<template>\r\n <div v-show=\"isShow\" class=\"login_bg\">\r\n <div class=\"video-container\">\r\n <img class=\"mask\"\r\n :src=\"poster\"\r\n alt=\"videoMask\" />\r\n <video autoplay\r\n loop\r\n class=\"video\"\r\n muted>\r\n <source :src=\"video\"\r\n type=\"video/mp4\" />\r\n </video>\r\n </div>\r\n <div class=\"login_main\">\r\n <div class=\"login_config\">\r\n <Lang />\r\n </div>\r\n <div class=\"login-form\">\r\n <div class=\"login-header\">\r\n <div class=\"logo\">\r\n <img :alt=\"$config.APP_NAME\"\r\n :src=\"logo2\">\r\n </div>\r\n </div>\r\n <el-form ref=\"loginForm\"\r\n class=\"form-body\"\r\n :model=\"ruleForm\"\r\n :rules=\"rules\"\r\n label-width=\"0\"\r\n size=\"large\">\r\n <el-form-item>\r\n <div class=\"title-name\">{{$t('login.accountLogin')}}</div>\r\n </el-form-item>\r\n <el-form-item prop=\"user\">\r\n <el-input v-model=\"ruleForm.user\"\r\n prefix-icon=\"el-icon-user\"\r\n clearable\r\n :placeholder=\"$t('login.userPlaceholder')\">\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <el-input v-model=\"ruleForm.password\"\r\n prefix-icon=\"el-icon-lock\"\r\n clearable\r\n show-password\r\n :placeholder=\"$t('login.PWPlaceholder')\">\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item style=\"margin-bottom: 10px\">\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <el-checkbox :label=\"$t('login.rememberMe')\"\r\n v-model=\"ruleForm.autologin\"></el-checkbox>\r\n </el-col>\r\n <el-col :span=\"12\"\r\n style=\"text-align: right\">\r\n <el-button type=\"primary\"\r\n text>{{ $t(\"login.forgetPassword\") }}?\r\n </el-button>\r\n </el-col>\r\n </el-row>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\"\r\n style=\"width: 100%\"\r\n :loading=\"islogin\"\r\n @click=\"login\">{{ $t(\"login.signIn\") }}</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</template>\r\n\r\n<script>\r\nimport JSEncrypt from 'jsencrypt/bin/jsencrypt.min'\r\nimport Lang from '../lwLayout/components/lang.vue'\r\n\r\nimport poster from '/images/video-poster.png';\r\nimport video from '/images/video-bg.mp4';\r\nimport logo2 from '/images/logo2.png';\r\nexport default {\r\n name: 'lwLogin',\r\n props: {\r\n // 是否要校验初始化\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n // 是否手动合并菜单到同一个项目\r\n isCombined: {\r\n type: Boolean,\r\n default: true\r\n },\r\n\r\n },\r\n components: {\r\n Lang,\r\n },\r\n data() {\r\n return {\r\n poster,\r\n video,\r\n logo2,\r\n ruleForm: {\r\n user: \"\",\r\n password: \"\",\r\n role: 0,\r\n autologin: false,\r\n },\r\n rules: {\r\n user: [\r\n {\r\n required: true,\r\n message: this.$t(\"login.userError\"),\r\n trigger: \"blur\",\r\n },\r\n ],\r\n password: [\r\n {\r\n required: true,\r\n message: this.$t(\"login.PWError\"),\r\n trigger: \"blur\",\r\n },\r\n ],\r\n },\r\n islogin: false,\r\n isShow: false,\r\n\r\n };\r\n },\r\n\r\n created: function () {\r\n this.$tool.data.clear();\r\n this.$store.commit(\"clearViewTags\");\r\n this.$store.commit(\"clearKeepLive\");\r\n this.$store.commit(\"clearIframeList\");\r\n sessionStorage.clear()\r\n\r\n // 旧项目处理兼容 后期要去掉\r\n this.getOldData()\r\n },\r\n methods: {\r\n // 旧项目处理兼容\r\n getOldData() {\r\n let curret_user = sessionStorage.getItem('easyweb_session_passport_current_user')\r\n let curret_bu = sessionStorage.getItem('easyweb_session_passport_bu')\r\n let curret_list = sessionStorage.getItem('easyweb_session_passport_bu_list')\r\n function getCookie(name) {\r\n // 构建目标 cookie 名称的前缀\r\n const nameEQ = name + \"=\";\r\n // 获取所有 cookies\r\n const cookies = document.cookie.split(';');\r\n\r\n // 遍历所有 cookies\r\n for (let i = 0; i < cookies.length; i++) {\r\n // 去掉 cookies 字符串的开头和结尾的空白字符\r\n let cookie = cookies[i].trim();\r\n\r\n // 检查这个 cookie 是否以目标名称开头\r\n if (cookie.indexOf(nameEQ) === 0) {\r\n // 如果是,返回 cookie 的值\r\n return cookie.substring(nameEQ.length, cookie.length);\r\n }\r\n }\r\n\r\n // 如果没有找到,返回 null\r\n return null;\r\n }\r\n\r\n if (curret_user) {\r\n\r\n const authorization = getCookie('Authorization')\r\n const decodedToken = decodeURIComponent(authorization)\r\n const parts = decodedToken.split(' ');\r\n this.$tool.data.set('TOKEN', parts[1])\r\n\r\n let user = JSON.parse(curret_user)\r\n let bu = JSON.parse(curret_bu)\r\n let bu_list = JSON.parse(curret_list)\r\n\r\n console.log(parts, user, bu, bu_list)\r\n\r\n this.$tool.data.set('userAuthInfo', user.v.userAuthInfo)\r\n this.$tool.data.set('MenuPath', user.v.userAuthInfo.grantedApplications)\r\n this.$tool.data.set('buCode', bu.v.code)\r\n this.$tool.data.set('tenantId', bu.v.tenantId)\r\n this.$tool.data.set('buList', bu_list.v)\r\n\r\n this.$router.push(this.$config.DASHBOARD_URL);\r\n } else {\r\n this.isShow = true;\r\n }\r\n },\r\n // 加密\r\n encrypt(publicKey, txt) {\r\n const encryptor = new JSEncrypt()\r\n encryptor.setPublicKey(publicKey) // 设置公钥\r\n return encryptor.encrypt(txt) // 对数据进行加密\r\n },\r\n async login() {\r\n let validate = await this.$refs.loginForm\r\n .validate()\r\n .catch(() => { });\r\n if (!validate) {\r\n return false;\r\n }\r\n\r\n this.islogin = true;\r\n const publicKey = await this.$api.auth.key()\r\n let data = {\r\n username: this.encrypt(publicKey, this.ruleForm.user),\r\n password: this.encrypt(publicKey, this.ruleForm.password),\r\n };\r\n //获取token\r\n let token = await this.$api.auth.token(data);\r\n this.$tool.data.set(\"TOKEN\", token);\r\n\r\n\r\n // 获取所有bu\r\n let bu = await this.$api.auth.bu()\r\n this.$tool.data.set('buList', bu)\r\n this.$tool.data.set('buCode', bu[0].code)\r\n\r\n // 获取用户信息\r\n let user = await this.$api.auth.user()\r\n this.$tool.data.set('tenantId', user.userAuthInfo.tenantId)\r\n this.$tool.data.set('userAuthInfo', user.userAuthInfo)\r\n this.$tool.data.set('MenuPath', user.userAuthInfo.grantedApplications)\r\n this.$store.state.user = user.userAuthInfo\r\n\r\n // 获取合并菜单信息 isCombined 这参数后期要加是否要合并菜单展示 现在默认tue\r\n /**\r\n * 此处进行 获取的数据路由router文件进行合并\r\n * 需要开发一个接口返回 权限与具体页面路径映射数据 (这个功能要开发)\r\n * 需要在 platform 菜单管理中 配置isCombined参数 用于标识是否合并项目菜单\r\n * 原有的数据要加两个配置项 icon path\r\n * 返回的数据是\r\n * [\r\n * {\r\n \"id\": \"ma_menu.workplace\",\r\n \"tenantId\": \"connext\",\r\n \"name\": \"工作台\",\r\n \"type\": \"MENU\",\r\n ...\r\n \"applications\": [\"ma\"],\r\n \"icon\": 'el-icon-discount', // icon\r\n \"path\": '/reach/flow-template/, // 菜单路径\r\n \"authority\": [\r\n \"ma.marketing_center.locate\",\r\n \"ma.marketing_center_operation.locate\",\r\n ]\r\n }\r\n * ]\r\n */\r\n if (user.combined || this.isCombined) {\r\n let menu = await this.$api.auth.menu();\r\n this.$tool.data.set(\"MENUCOMBINED\", menu);\r\n // 注入 用于判断子项目 是否扁平化\r\n this.$tool.data.set(\"MENUCOMBINEDNMAE\", this.$config.APP_NAME);\r\n } else {\r\n this.$tool.data.remove(\"MENUCOMBINED\");\r\n this.$tool.data.remove(\"MENUCOMBINEDNMAE\");\r\n }\r\n\r\n // 检验是否初始化\r\n\r\n if (this.isInitialized) {\r\n let initialized = await this.$api.auth.initialized()\r\n this.$tool.data.set('zoneInitialized', initialized)\r\n if (initialized) {\r\n this.$router.push(this.$config.DASHBOARD_URL);\r\n } else {\r\n this.$router.push(this.$config.INIT_URL);\r\n }\r\n } else {\r\n this.$router.push(this.$config.DASHBOARD_URL);\r\n }\r\n\r\n\r\n this.$message.success(\"登录成功\");\r\n this.islogin = false;\r\n },\r\n\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.login_bg {\r\n width: 100%;\r\n height: 100%;\r\n background: #fff;\r\n display: flex;\r\n}\r\n\r\n.video-container {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n\r\n .mask {\r\n position: fixed;\r\n z-index: 1;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n }\r\n\r\n .video {\r\n position: absolute;\r\n z-index: 0;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n }\r\n}\r\n\r\n.login_main {\r\n flex: 1;\r\n overflow: auto;\r\n display: flex;\r\n}\r\n.login-form {\r\n margin: auto;\r\n padding: 20px 0;\r\n position: relative;\r\n z-index: 9;\r\n display: flex;\r\n align-items: center;\r\n gap: 150px;\r\n}\r\n.login-header {\r\n margin-bottom: 40px;\r\n}\r\n.login-header .logo {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.login-header .logo img {\r\n width: auto;\r\n height: 40px;\r\n vertical-align: bottom;\r\n margin-right: 10px;\r\n}\r\n.login-header .logo label {\r\n font-size: 26px;\r\n font-weight: bold;\r\n}\r\n.login-oauth {\r\n display: flex;\r\n justify-content: space-around;\r\n}\r\n.login-form .el-divider {\r\n margin-top: 40px;\r\n}\r\n\r\n.form-body {\r\n width: 364px;\r\n height: 324px;\r\n padding: 24px;\r\n overflow: hidden;\r\n border-radius: 4px;\r\n background-color: #fff;\r\n box-shadow: 0 4px 16px rgba(39, 40, 42, 0.5);\r\n color: #27282a;\r\n .title-name {\r\n font-size: 20px;\r\n font-weight: 500;\r\n line-height: 28px;\r\n }\r\n}\r\n\r\n.login-form:deep(.el-tabs) .el-tabs__header {\r\n margin-bottom: 25px;\r\n}\r\n.login-form:deep(.el-tabs) .el-tabs__header .el-tabs__item {\r\n font-size: 14px;\r\n}\r\n\r\n.login-form:deep(.login-forgot) {\r\n text-align: right;\r\n}\r\n.login-form:deep(.login-forgot) a {\r\n color: var(--el-color-primary);\r\n}\r\n.login-form:deep(.login-forgot) a:hover {\r\n color: var(--el-color-primary-light-3);\r\n}\r\n.login-form:deep(.login-reg) {\r\n font-size: 14px;\r\n color: var(--el-text-color-primary);\r\n}\r\n.login-form:deep(.login-reg) a {\r\n color: var(--el-color-primary);\r\n}\r\n.login-form:deep(.login-reg) a:hover {\r\n color: var(--el-color-primary-light-3);\r\n}\r\n\r\n.login_config {\r\n position: absolute;\r\n top: 20px;\r\n right: 20px;\r\n}\r\n\r\n.login-form:deep(.login-msg-yzm) {\r\n display: flex;\r\n width: 100%;\r\n}\r\n.login-form:deep(.login-msg-yzm) .el-button {\r\n margin-left: 10px;\r\n --el-button-size: 42px;\r\n}\r\n\r\n.qrCodeLogin {\r\n text-align: center;\r\n position: relative;\r\n padding: 20px 0;\r\n}\r\n.qrCodeLogin img.qrCode {\r\n background: #fff;\r\n padding: 20px;\r\n border-radius: 10px;\r\n}\r\n.qrCodeLogin p.msg {\r\n margin-top: 15px;\r\n}\r\n.qrCodeLogin .qrCodeLogin-result {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n text-align: center;\r\n background: var(--el-mask-color);\r\n}\r\n</style>\r\n","<template>\r\n <div>\r\n <el-input\r\n :type=\"item.type || 'text'\"\r\n :disabled=\"item.disabled\"\r\n :placeholder=\"item.label || $t('lwSearch.please_input')\"\r\n :maxlength=\"item.maxlength\"\r\n :minlength=\"item.minlength\"\r\n :show-word-limit=\"item.showWordLimit\"\r\n :autosize=\"item.autosize || { minRows: 2 }\"\r\n allow-clear\r\n v-model=\"value\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"Input\",\r\n props: {\r\n disabled: { // 是否禁止操作\r\n type: Boolean,\r\n default: false\r\n },\r\n modelValue: { // 绑定的结果\r\n type: [String, Number],\r\n default: \"\"\r\n },\r\n item: { // 配置项\r\n type: Object,\r\n default: () => ({})\r\n },\r\n },\r\n data() {\r\n return {\r\n value: this.modelValue\r\n };\r\n },\r\n watch: {\r\n modelValue(newVal) {\r\n this.value = newVal;\r\n },\r\n value(newVal) {\r\n const filter = this.item.filter ?? false;\r\n if (filter) {\r\n newVal = newVal.replace(/ /g, ',').replace(/\\,/g, ',').replace(/\\,/g, ',').replace(/\\n/g, ',');\r\n }\r\n this.$emit('update:modelValue', newVal);\r\n this.$emit('change', newVal);\r\n }\r\n }\r\n};\r\n</script>\r\n","<template>\r\n <div>\r\n <el-select :disabled=\"item.disabled\" :placeholder=\"item.label || '请选择'\" :popper-append-to-body=\"item.appendToBody\" v-model=\"value\" clearable filterable :multiple=\"item.multiple\" collapse-tags allow-search size=\"\" style=\"width: 100%;\">\r\n <el-option v-for=\"(items, index) in item.options\" :disabled=\"items.disabled\" :key=\"item.key ? item.key : item.valueKey ? items[item.valueKey] + items[item.labelKey] + index : items.code + items.name + index\" :label=\"item.isCodeAndName ? ((item.valueKey ? items[item.valueKey] : items.code) + ' - ' + (item.labelKey ? items[item.labelKey] : items.name)) : (item.labelKey ? items[item.labelKey] : items.name)\" :value=\"item.valueKey ? items[item.valueKey] : items.code\">\r\n <el-tooltip :content=\"item.isCodeAndName ? ((item.valueKey ? items[item.valueKey] : items.code) + ' - ' + (item.labelKey ? items[item.labelKey] : items.name)) : (item.labelKey ? items[item.labelKey] : items.name)\">\r\n <span>{{ item.isCodeAndName ? ((item.valueKey ? items[item.valueKey] : items.code) + ' - ' + (item.labelKey ? items[item.labelKey] : items.name)) : (item.labelKey ? items[item.labelKey] : items.name) }}</span>\r\n </el-tooltip>\r\n </el-option>\r\n </el-select>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"Select\",\r\n props: {\r\n disabled: {\r\n // 是否禁止操作\r\n type: Boolean,\r\n default: false,\r\n },\r\n modelValue: {\r\n // 绑定的结果\r\n type: [String, Number, Boolean, Object],\r\n default: \"\",\r\n },\r\n item: {\r\n // 配置项\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n },\r\n data() {\r\n return {\r\n value: this.modelValue,\r\n };\r\n },\r\n watch: {\r\n modelValue(newVal) {\r\n this.value = newVal;\r\n },\r\n value(newVal) {\r\n this.$emit(\"update:modelValue\", newVal);\r\n this.$emit(\"change\", newVal);\r\n this.callback(newVal, this.item);\r\n },\r\n },\r\n methods: {\r\n // 条件变更回调\r\n callback(val, item) {\r\n if (!item.callback) return;\r\n item.callback(val);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n","<template>\r\n <div>\r\n <el-date-picker\r\n :type=\"item.type || 'date'\"\r\n :disabled=\"item.disabled\"\r\n :format=\"item.format || 'YYYY-MM-DD'\"\r\n :value-format=\"item.valueFormat\"\r\n :placeholder=\"item.placeholder || $t('lwSearch.please_select')\"\r\n clearable\r\n v-model=\"value\"\r\n :disabled-date=\"disabledDate\"\r\n style=\"width: 100%\"\r\n >\r\n </el-date-picker>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, reactive, toRefs, watch } from 'vue'\r\n\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"Date\",\r\n props: {\r\n disabled: { // 是否禁止操作\r\n type: Boolean,\r\n default() {\r\n return false;\r\n }\r\n },\r\n modelValue: { // 绑定的结果\r\n default() {\r\n return \"\";\r\n }\r\n },\r\n item: { // 配置项\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n },\r\n disabledDate: { // 禁止日期\r\n type: Function,\r\n default() {\r\n return null;\r\n }\r\n },\r\n propValueFormat: { // 格式化日期\r\n type: String,\r\n default() {\r\n return null;\r\n }\r\n },\r\n },\r\n setup(props, context) {\r\n const state = reactive({});\r\n\r\n // 最新的结果推送到父组件\r\n // watch(\r\n // () => props.modelValue,\r\n // (newVal, prevVal) => {\r\n // context.emit(\"update:modelValue\", newVal);\r\n // context.emit(\"change\", newVal);\r\n // },\r\n // { deep: true, immediate: true }\r\n // );\r\n\r\n const valueFormat = computed(() => {\r\n if (props.propValueFormat) {\r\n return props.propValueFormat;\r\n }\r\n if (props.item.valueFormat) {\r\n return props.item.valueFormat;\r\n }\r\n if (props.item.dateSection) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withZero) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withLast) {\r\n return \"YYYY-MM-DD 23:59:59\";\r\n }\r\n return \"YYYY-MM-DD\";\r\n });\r\n\r\n const value = computed({\r\n get() {\r\n return props.modelValue;\r\n },\r\n set(value) {\r\n context.emit('update:modelValue', value);\r\n context.emit('change', value);\r\n },\r\n });\r\n\r\n // 禁止选择日期\r\n const disabledDate = (date) => {\r\n return date.getTime() < Date.now();\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n valueFormat,\r\n value\r\n };\r\n },\r\n};\r\n</script>\r\n\r\n","<template>\r\n <div class=\"dates-container\">\r\n <!-- 输入框 -->\r\n <el-input\r\n class=\"default-input\"\r\n size=\"small\"\r\n type=\"text\"\r\n :disabled=\"item.disabled\"\r\n :placeholder=\"item.placeholder || '请选择'\"\r\n clearable\r\n :model-value=\"displayValue\"\r\n @clear=\"handleClear\"\r\n @click=\"togglePanel\"\r\n style=\"width: 100%\"\r\n >\r\n <template #suffix>\r\n <el-icon><el-icon-calendar /></el-icon>\r\n </template>\r\n </el-input>\r\n\r\n <!-- 日期选择面板 -->\r\n <div v-show=\"isPanelShow\" class=\"dates-panel\">\r\n <el-tabs v-model=\"activeName\" class=\"dates-panel-tabs\" @tab-click=\"handleTabClick\">\r\n <!-- 单日选择 -->\r\n <el-tab-pane label=\"单日\" name=\"single\">\r\n <div class=\"panel-label\">\r\n <span>单日</span>\r\n <el-date-picker\r\n size=\"small\"\r\n :type=\"item.singleType || 'date'\"\r\n :disabled=\"item.disabled\"\r\n :format=\"item.format || 'yyyy-MM-dd'\"\r\n :value-format=\"item.valueFormat || 'yyyy-MM-dd'\"\r\n :placeholder=\"item.placeholder || $t('lwSearch.please_select')\"\r\n :shortcuts=\"shortcuts\"\r\n v-model=\"value\"\r\n :clearable=\"false\"\r\n @blur=\"pickerBlur\"\r\n @change=\"pickerChange\"\r\n ref=\"singlePicker\"\r\n :popper-class=\"'single-picker single-picker-' + item.prop\"\r\n />\r\n <teleport v-if=\"isSidebarShow && activeName === 'single'\" :to=\"'.single-picker-' + item.prop + ' .el-picker-panel__sidebar'\">\r\n <div class=\"dates-side\">\r\n <div class=\"sidebar-title\">所选时间列表</div>\r\n <div class=\"sidebar-list\">\r\n <div class=\"item\" v-for=\"(date, index) in value\" :key=\"index\">\r\n <div class=\"text\">{{ date }}</div>\r\n <div class=\"button\" @click=\"deleteSingleDate(index)\">\r\n <el-icon><Close /></el-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </teleport>\r\n </div>\r\n </el-tab-pane>\r\n\r\n <!-- 日期范围选择 -->\r\n <el-tab-pane label=\"日期范围\" name=\"range\">\r\n <div class=\"panel-label\">\r\n <span>日期范围</span>\r\n <el-date-picker\r\n size=\"small\"\r\n :type=\"item.rangeType || 'daterange'\"\r\n :disabled=\"item.disabled\"\r\n :format=\"item.format || 'yyyy-MM-dd'\"\r\n :value-format=\"item.valueFormat || 'yyyy-MM-dd'\"\r\n :placeholder=\"item.placeholder || $t('lwSearch.please_select')\"\r\n :unlink-panels=\"item.unlinkPanels ?? false\"\r\n :shortcuts=\"shortcuts\"\r\n v-model=\"value\"\r\n :clearable=\"false\"\r\n @blur=\"pickerBlur\"\r\n @change=\"pickerChange\"\r\n ref=\"rangePicker\"\r\n :popper-class=\"'range-picker range-picker-' + item.prop\"\r\n />\r\n <teleport v-if=\"isSidebarShow && activeName === 'range'\" :to=\"'.range-picker-' + item.prop + ' .el-picker-panel__sidebar'\">\r\n <div class=\"dates-side-top\">\r\n <div class=\"sidebar-list\">\r\n <div class=\"item\" v-show=\"value.length === 2\">\r\n <div class=\"text\">{{ value[0] }}~{{ value[1] }}</div>\r\n <div class=\"button\" @click=\"handleClear\">\r\n <el-icon><el-icon-close /></el-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </teleport>\r\n </div>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, nextTick, reactive, ref, toRefs, watch } from 'vue'\r\n\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"Date\",\r\n props: {\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n modelValue: {\r\n type: [String, Array],\r\n default: \"\"\r\n },\r\n item: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n },\r\n setup(props, context) {\r\n const state = reactive({\r\n isSidebarShow: false,\r\n activeName: \"single\",\r\n isPanelShow: false,\r\n value: [],\r\n shortcuts: [{ text: \"\", value: \"\" }]\r\n })\r\n\r\n // 监听 modelValue 变化\r\n watch(\r\n () => props.modelValue,\r\n (newVal) => {\r\n if (newVal) {\r\n state.activeName = Array.isArray(newVal) ? \"range\" : \"single\"\r\n state.value = Array.isArray(newVal) ? newVal : newVal.split(\",\")\r\n } else {\r\n state.value = []\r\n }\r\n },\r\n { deep: true }\r\n )\r\n\r\n // 监听 value 变化并更新父组件\r\n watch(\r\n () => state.value,\r\n (newVal) => {\r\n const formattedValue = state.activeName === 'single' ? newVal.join(\",\") : newVal\r\n if (formattedValue !== props.modelValue) {\r\n context.emit(\"update:modelValue\", formattedValue)\r\n context.emit(\"change\", formattedValue)\r\n }\r\n },\r\n { deep: true, immediate: true }\r\n )\r\n\r\n const displayValue = computed(() => state.value.join(\",\"))\r\n\r\n const togglePanel = () => {\r\n state.isPanelShow = !state.isPanelShow\r\n }\r\n\r\n const handleTabClick = () => {\r\n nextTick(() => {\r\n state.isSidebarShow = true\r\n })\r\n }\r\n\r\n const pickerChange = () => {\r\n nextTick(() => {\r\n state.isPanelShow = false\r\n })\r\n }\r\n\r\n const deleteSingleDate = (index) => {\r\n state.value.splice(index, 1)\r\n }\r\n\r\n const pickerBlur = () => {\r\n state.isSidebarShow = false\r\n nextTick(() => {\r\n state.isPanelShow = false\r\n })\r\n }\r\n\r\n const handleClear = () => {\r\n state.value = []\r\n }\r\n \r\n return {\r\n ...toRefs(state),\r\n togglePanel,\r\n handleTabClick,\r\n pickerChange,\r\n deleteSingleDate,\r\n pickerBlur,\r\n handleClear,\r\n displayValue\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.dates-container {\r\n position: relative;\r\n .default-input {\r\n cursor: pointer;\r\n .el-input__inner {\r\n cursor: pointer;\r\n }\r\n }\r\n .dates-panel {\r\n position: absolute;\r\n top: 35px;\r\n background: #ffffff;\r\n width: 100%;\r\n min-width: max-content;\r\n z-index: 9;\r\n .panel-label {\r\n width: 60px;\r\n height: 40px;\r\n position: relative;\r\n & > span {\r\n width: 100%;\r\n height: 40px;\r\n display: inline-block;\r\n text-align: center;\r\n }\r\n .el-date-editor {\r\n width: 100%;\r\n height: 40px;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n opacity: 0;\r\n cursor: pointer;\r\n .el-input__inner {\r\n width: 100%;\r\n height: 40px;\r\n cursor: pointer;\r\n }\r\n .el-input__prefix {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.single-picker {\r\n .el-picker-panel [slot=sidebar]+.el-picker-panel__body, .el-picker-panel__sidebar+.el-picker-panel__body {\r\n margin: 0 160px 0 0;\r\n }\r\n .el-picker-panel [slot=sidebar], .el-picker-panel__sidebar {\r\n right: 0;\r\n border-left: 1px solid var(--el-datepicker-inner-border-color);\r\n width: 160px;\r\n }\r\n .el-date-picker.has-sidebar {\r\n width: 488px;\r\n }\r\n .dates-side {\r\n box-sizing: border-box;\r\n padding: 0 10px;\r\n width: 100%;\r\n .sidebar-title {\r\n font-size: 14px;\r\n color: var(--el-text-color-regular);\r\n margin-bottom: 5px;\r\n }\r\n .sidebar-list {\r\n width: 100%;\r\n .item {\r\n width: 100%;\r\n height: 30px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n padding: 2px 10px;\r\n background: #155752;\r\n margin-bottom: 2px;\r\n .text {\r\n font-size: 12px;\r\n color: #ffffff;\r\n }\r\n .button {\r\n width: 16px;\r\n height: 16px;\r\n border: 1px solid #cccccc;\r\n border-radius: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n &:hover {\r\n border-color: #ffffff;\r\n .el-icon--close {\r\n color: #ffffff;\r\n }\r\n }\r\n .el-icon--close {\r\n font-size: 12px;\r\n color: #cccccc;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.range-picker {\r\n .el-picker-panel [slot=sidebar]+.el-picker-panel__body, .el-picker-panel__sidebar+.el-picker-panel__body {\r\n margin: 40px 0 0 0;\r\n }\r\n .el-picker-panel [slot=sidebar], .el-picker-panel__sidebar {\r\n bottom: unset;\r\n border-bottom: 1px solid var(--el-datepicker-inner-border-color);\r\n width: 100%;\r\n height: 40px;\r\n }\r\n .el-date-range-picker.has-sidebar {\r\n width: 646px;\r\n }\r\n .dates-side-top {\r\n box-sizing: border-box;\r\n padding: 0 10px;\r\n width: max-content;\r\n .sidebar-list {\r\n width: 100%;\r\n .item {\r\n width: 100%;\r\n height: 30px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n padding: 2px 10px;\r\n background: #155752;\r\n margin-bottom: 2px;\r\n .text {\r\n font-size: 12px;\r\n color: #ffffff;\r\n padding-right: 10px;\r\n }\r\n .button {\r\n width: 16px;\r\n height: 16px;\r\n border: 1px solid #cccccc;\r\n border-radius: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n &:hover {\r\n border-color: #ffffff;\r\n .el-icon--close {\r\n color: #ffffff;\r\n }\r\n }\r\n .el-icon--close {\r\n font-size: 12px;\r\n color: #cccccc;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n","<template>\r\n <div>\r\n <el-date-picker\r\n :showTime=\"item.showTime\"\r\n :format=\"item.format || 'YYYY-MM-DD HH:mm:ss'\"\r\n :value-format=\"item.valueFormat\"\r\n clearable\r\n v-model=\"value\"\r\n style=\"width: 100%\"\r\n type=\"datetimerange\"\r\n :start-placeholder=\"$t('lwSearch.dateRange.startPlaceholder')\"\r\n :end-placeholder=\"$t('lwSearch.dateRange.endPlaceholder')\"\r\n size=\"\"\r\n >\r\n </el-date-picker>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, reactive, toRefs, watch } from 'vue'\r\n\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"dateRange\",\r\n props: {\r\n disabled: { // 是否禁止操作\r\n type: Boolean,\r\n default() {\r\n return false;\r\n }\r\n },\r\n modelValue: { // 绑定的结果\r\n default() {\r\n return [];\r\n }\r\n },\r\n item: { // 配置项\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n },\r\n disabledDate: { // 禁止日期\r\n type: Function,\r\n default() {\r\n return null;\r\n }\r\n },\r\n propValueFormat: { // 格式化日期\r\n type: String,\r\n default() {\r\n return null;\r\n }\r\n },\r\n },\r\n setup(props, context) {\r\n const state = reactive({});\r\n\r\n // 最新的结果推送到父组件\r\n // watch(\r\n // () => props.modelValue,\r\n // (newVal, prevVal) => {\r\n // context.emit(\"update:modelValue\", newVal);\r\n // context.emit(\"change\", newVal);\r\n // },\r\n // { deep: true, immediate: true }\r\n // );\r\n\r\n const valueFormat = computed(() => {\r\n if (props.propValueFormat) {\r\n return props.propValueFormat;\r\n }\r\n if (props.item.valueFormat) {\r\n return props.item.valueFormat;\r\n }\r\n if (props.item.dateSection) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withZero) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withLast) {\r\n return \"YYYY-MM-DD 23:59:59\";\r\n }\r\n return \"YYYY-MM-DD\";\r\n });\r\n\r\n const value = computed({\r\n get() {\r\n return props.modelValue;\r\n },\r\n set(value) {\r\n context.emit('update:modelValue', value);\r\n context.emit('change', value);\r\n },\r\n });\r\n\r\n // 禁止选择日期\r\n const disabledDate = (date) => {\r\n return date.getTime() < Date.now();\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n valueFormat,\r\n value\r\n };\r\n },\r\n};\r\n</script>\r\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","<template>\r\n <div id=\"search-wrap\">\r\n <div class=\"search-content\">\r\n <el-form ref=\"searchForm\" :model=\"form\" @submit.prevent :label-align=\"labelAlign\" style=\"width: 100%\">\r\n <el-row :class=\"(options.length - expandNumber === 0) ? 'expand-row' : (options.length - expandNumber < columnNumber) ? '' : isExpandStatus ? ((options.length % columnNumber === 0) ? 'expand-row' : '') : (options.length >= expandNumber ? 'expand-row' : '')\" type=\"flex\" justify=\"start\" :gutter=\"0\">\r\n <template v-for=\"(item, index) in options\" :key=\"item.prop\">\r\n <el-col :class=\"(!isExpandStatus && item.isExpand) ? '' : (options.length - expandNumber < columnNumber) ? '' : (!isExpandStatus && index > (expandNumber - 1) ? 'hide' : '')\" :span=\"columnNumber ? 24/columnNumber : (item.span || 8)\">\r\n <el-form-item :label-width=\"hideLabel ? 0 : labelWidth\" :required=\"item.required\" :label=\"hideLabel ? '' : $t(item.label)\">\r\n <template v-if=\"item.dateSection && item.prop && item.prop.length === 2\">\r\n <el-row :gutter=\"10\" class=\"date-section\">\r\n <el-col :span=\"12\" :style=\"{ width: '45%', flex: '0 0 45%' }\">\r\n <component :is=\"setComponent(item.renderType)\" :disabled=\"item.disabled\" :item=\"item\" v-model=\"form[item.prop[0]]\" :disabled-date=\"(date) => disabledDate(date, 'prev', form[item.prop[1]])\" :propValueFormat=\"item.valueFormat || 'YYYY-MM-DD 00:00:00'\" />\r\n </el-col>\r\n <span class=\"date-section-line\"> - </span>\r\n <el-col :span=\"12\" :style=\"{ width: '45%', flex: '0 0 45%' }\">\r\n <component :is=\"setComponent(item.renderType)\" :disabled=\"item.disabled\" :item=\"item\" v-model=\"form[item.prop[1]]\" :disabled-date=\"(date) => disabledDate(date, 'next', form[item.prop[0]])\" :propValueFormat=\"item.valueFormat || 'YYYY-MM-DD 23:59:59'\" />\r\n </el-col>\r\n </el-row>\r\n </template>\r\n <template v-else>\r\n <component v-model=\"form[item.prop]\" :is=\"setComponent(item.renderType)\" :disabled=\"item.disabled\" :item=\"item\" style=\"width: 100%\" />\r\n </template>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n </el-row>\r\n\r\n <div class=\"control\" :style=\"{bottom: ((options.length%columnNumber === 0) ? '0px' : '16px')}\">\r\n <el-button class=\"reset\" @click=\"resetForm('searchForm')\">\r\n {{$t('btn.reset')}}\r\n </el-button>\r\n <el-button class=\"submit\" type=\"primary\" @click=\"submitForm('searchForm')\">\r\n {{$t('btn.query')}}\r\n </el-button>\r\n\r\n <div :class=\"options.length - expandNumber >= columnNumber ? 'expand-button' : 'hidden'\" @click=\"isExpandStatus = !isExpandStatus\">\r\n <span>{{ isExpandStatus ? \"收起\" : \"展开\" }}</span>\r\n </div>\r\n </div>\r\n </el-form>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport SearchInput from \"./input/input.vue\";\r\nimport SearchSelect from \"./select/select.vue\";\r\nimport SearchDate from \"./date/date.vue\";\r\nimport SearchDates from \"./dates/dates.vue\";\r\nimport SearchDateRange from \"./dateRange/dateRange.vue\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport default {\r\n components: {\r\n SearchInput,\r\n SearchSelect,\r\n SearchDate,\r\n SearchDates,\r\n SearchDateRange,\r\n },\r\n name: \"lwSearch\",\r\n props: {\r\n options: {\r\n // 配置项\r\n type: Array,\r\n default: () => [],\r\n },\r\n modelValue: {\r\n // 绑定的结果对象\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n labelWidth: {\r\n // label全局宽度\r\n type: String,\r\n default: \"70px\",\r\n },\r\n labelPosition: {\r\n // label全局位置\r\n type: String,\r\n default: \"left\",\r\n },\r\n columnNumber: {\r\n // 每行列数量\r\n type: Number,\r\n default: 4,\r\n },\r\n isSave: {\r\n // 是否保存功能\r\n type: Boolean,\r\n default: false,\r\n },\r\n isCloud: {\r\n // 是否保存功能\r\n type: Boolean,\r\n default: false,\r\n },\r\n saveKey: {\r\n // 保存功能指定localStorage searchSaveData对象中key\r\n type: String,\r\n default: \"\",\r\n },\r\n isExpand: {\r\n // 默认是否展开\r\n type: Boolean,\r\n default: false,\r\n },\r\n expandNumber: {\r\n // 默认收起展示数量\r\n type: Number,\r\n default: 4,\r\n },\r\n hasExpandAll: {\r\n // 默认收起展示数量\r\n type: Boolean,\r\n default: false,\r\n },\r\n hideLabel: {\r\n // 是否隐藏标签\r\n type: Boolean,\r\n default: false,\r\n },\r\n labelAlign: {\r\n //标签对齐方式\r\n type: String,\r\n default: \"right\",\r\n },\r\n },\r\n data() {\r\n return {\r\n form: {}, // 内部维护数据\r\n defaultForm: {}, // 原始数据\r\n isExpandStatus: false, // 是否展开搜索条件\r\n isChange: false, // 是否展示变式下拉框\r\n saveList: [], // 搜索保存数据列表\r\n saveFormName: \"\", // 当前保存数据名称\r\n isSaveShow: false, // 是否展示保存操作\r\n isSelectShow: false, // 是否展示选择操作\r\n selectForm: \"\", // 当前选中数据\r\n currentExpandNumber: 4, // 当前收起展示数量\r\n isExpandAll: true,\r\n currentTemplate: {},\r\n variantList: [],\r\n varianId: [],\r\n systemName: \"shopManagement\",\r\n };\r\n },\r\n watch: {\r\n modelValue: {\r\n handler(newVal) {\r\n if (JSON.stringify(newVal) !== JSON.stringify(this.form)) {\r\n this.form = JSON.parse(JSON.stringify(newVal));\r\n }\r\n },\r\n deep: true,\r\n },\r\n form: {\r\n handler(newVal) {\r\n if (JSON.stringify(newVal) !== JSON.stringify(this.modelValue)) {\r\n this.$emit(\"update:modelValue\", newVal);\r\n }\r\n },\r\n deep: true,\r\n },\r\n },\r\n mounted() {\r\n this.isExpandStatus = this.isExpand;\r\n this.currentExpandNumber = this.expandNumber || this.columnNumber;\r\n this.form = JSON.parse(JSON.stringify(this.modelValue));\r\n this.defaultForm =\r\n JSON.stringify(this.defaultForm) === \"{}\"\r\n ? JSON.parse(JSON.stringify(this.modelValue))\r\n : this.defaultForm;\r\n },\r\n methods: {\r\n // 根据renderType设置对应组件\r\n setComponent(type) {\r\n const typeList = {\r\n input: \"SearchInput\",\r\n select: \"SearchSelect\",\r\n date: \"SearchDate\",\r\n dates: \"SearchDates\",\r\n dateRange: \"SearchDateRange\",\r\n };\r\n return typeList[type] || \"SearchInput\";\r\n },\r\n // 触发提交\r\n submitForm(formEl) {\r\n if (!this.$refs[formEl]) return;\r\n this.$refs[formEl].validate((valid) => {\r\n if (valid) {\r\n this.$emit(\"search\");\r\n }\r\n });\r\n },\r\n // 重置条件\r\n resetForm(formEl) {\r\n if (!this.$refs[formEl]) return;\r\n this.$refs[formEl].resetFields();\r\n this.form = JSON.parse(JSON.stringify(this.defaultForm));\r\n // 保留页面table分页数据\r\n this.form.size = this.modelValue.size;\r\n this.form.page = this.modelValue.page;\r\n this.$emit(\"reset\");\r\n },\r\n\r\n // 关闭变式\r\n handleChangeHide(vis) {\r\n if (vis === false) {\r\n this.isChange = false;\r\n this.isSaveShow = false;\r\n this.isSelectShow = false;\r\n this.saveFormName = \"\";\r\n this.selectForm = \"\";\r\n }\r\n },\r\n // 保存搜索表单\r\n handleSaveSearchForm() {\r\n if (this.saveKey && this.isSave) {\r\n if (Object.keys(this.form).length === 0) {\r\n this.$message.error(\"搜索条件为空!\");\r\n return;\r\n }\r\n let tempObj = Object.assign({}, this.form, {\r\n searchSaveName: this.saveFormName,\r\n id: dayjs().valueOf() + Math.random() + \"\",\r\n });\r\n let obj = {\r\n route: this.$route.name,\r\n system: this.systemName,\r\n variant: [tempObj],\r\n };\r\n let resObj = this.variantList.find((it) => {\r\n return it.route === this.$route.name;\r\n });\r\n if (resObj) {\r\n resObj.variant.push(tempObj);\r\n } else {\r\n this.variantList.push(obj);\r\n }\r\n if (this.isCloud) {\r\n let params = {\r\n id: this.varianId,\r\n username: JSON.parse(sessionStorage.userAuthInfo).username,\r\n system: this.systemName,\r\n menu: this.saveKey,\r\n content: JSON.stringify(this.variantList),\r\n };\r\n } else {\r\n localStorage.setItem(\"variantList\", JSON.stringify(this.variantList));\r\n }\r\n }\r\n },\r\n // 选择保存过的搜索历史\r\n handleSearchSelect(val) {\r\n let obj = this.saveList.find((it) => {\r\n return it.id === val;\r\n });\r\n if (obj) {\r\n let rObj = JSON.parse(JSON.stringify(obj));\r\n delete rObj.id;\r\n delete rObj.searchSaveName;\r\n this.$emit(\"update:modelValue\", rObj);\r\n }\r\n },\r\n // 删除保存过的搜索历史\r\n handleDeleteSearchList(index) {\r\n let tempList = JSON.parse(JSON.stringify(this.saveList));\r\n tempList.splice(index, 1);\r\n if (this.saveKey && this.isSave) {\r\n // 更新逻辑,视具体API而定\r\n }\r\n },\r\n // 禁止选择日期\r\n disabledDate(date, currentSource, limitDate = \"\") {\r\n if (limitDate) {\r\n if (currentSource === \"prev\") {\r\n return dayjs(date.getTime()).isAfter(dayjs(limitDate), \"day\");\r\n }\r\n if (currentSource === \"next\") {\r\n return dayjs(date.getTime()).isBefore(dayjs(limitDate), \"day\");\r\n }\r\n }\r\n },\r\n // 一键收缩展开\r\n expandAll() {\r\n this.isExpandAll = !this.isExpandAll;\r\n },\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@keyframes slide-animation {\r\n from {\r\n width: 100%;\r\n height: auto;\r\n margin-top: 0;\r\n padding: 15px 60px 0 15px;\r\n // transform: scale(1);\r\n opacity: 1;\r\n }\r\n\r\n to {\r\n width: 0;\r\n height: 0;\r\n margin-top: -10px;\r\n padding: 0;\r\n // transform: scale(0);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n#search-wrap {\r\n width: 100%;\r\n background: var(--color-bg-2);\r\n // position: relative;\r\n overflow: hidden;\r\n .arco-col {\r\n margin: 5px 0;\r\n padding: 0 !important;\r\n }\r\n\r\n .arco-form-item-label {\r\n padding-right: 10px;\r\n }\r\n\r\n .el-col-6 {\r\n margin: 5px 0;\r\n padding: 0 10px !important;\r\n }\r\n .el-col-6:first-child {\r\n padding-left: 0px !important;\r\n }\r\n\r\n .el-col-6:nth-child(4n) {\r\n padding-right: 0px !important;\r\n }\r\n\r\n .control-button {\r\n position: absolute;\r\n top: 10px;\r\n right: 20px;\r\n z-index: 99;\r\n cursor: pointer;\r\n\r\n .expand-img {\r\n width: 24px;\r\n height: 24px;\r\n cursor: pointer;\r\n transition: all 0.5s linear;\r\n\r\n &.close {\r\n transform: rotate(180deg);\r\n }\r\n }\r\n }\r\n\r\n .arco-form-item-content-flex {\r\n display: block;\r\n }\r\n\r\n .search-content {\r\n position: relative;\r\n // border: 1px solid #e5e5e5;\r\n box-sizing: border-box;\r\n width: 100%;\r\n // transition: width .3s linear;\r\n margin-top: 0;\r\n padding: 0 0 0px 0;\r\n\r\n &.close {\r\n width: 0;\r\n height: 0;\r\n margin-top: -10px;\r\n padding: 0;\r\n overflow: hidden;\r\n opacity: 0;\r\n animation: slide-animation 0.3s;\r\n }\r\n\r\n .expand-row {\r\n padding-bottom: 44px;\r\n }\r\n\r\n .control {\r\n position: absolute;\r\n right: 0;\r\n bottom: 5px;\r\n z-index: 9;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: flex-end;\r\n .reset {\r\n width: 90px;\r\n height: 32px;\r\n margin-right: 0px;\r\n border: none;\r\n background-color: #eeeefc;\r\n color: #3d3ad9;\r\n border-radius: 2px;\r\n font-size: 12px;\r\n & > span {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n .el-icon--left {\r\n margin-right: 5px;\r\n }\r\n }\r\n }\r\n\r\n .submit {\r\n width: 90px;\r\n height: 32px;\r\n background-color: #3d3ad9;\r\n border: none;\r\n border-radius: 2px;\r\n & > span {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n .el-icon--left {\r\n margin-right: 5px;\r\n }\r\n }\r\n }\r\n\r\n .expand-button {\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n width: 40px;\r\n padding-right: 5px;\r\n cursor: pointer;\r\n\r\n & > span {\r\n color: #505050;\r\n font-size: 12px;\r\n }\r\n }\r\n\r\n .hidden {\r\n visibility: hidden;\r\n width: 0px;\r\n }\r\n\r\n .save {\r\n position: relative;\r\n // width: 84px;\r\n height: 30px;\r\n padding: 0;\r\n padding: 0 10px;\r\n // background: #bda87c;\r\n\r\n .save-text {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 84px;\r\n height: 30px;\r\n\r\n & > span {\r\n padding-right: 10px;\r\n padding-left: 10px;\r\n border-right: 1px solid #fff;\r\n }\r\n\r\n & > i {\r\n padding-left: 10px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .el-form {\r\n position: relative;\r\n }\r\n\r\n .el-form-item {\r\n margin-bottom: 10px;\r\n\r\n .el-form-item__label {\r\n padding-right: 5px;\r\n font-size: 12px;\r\n user-select: none;\r\n }\r\n // .arco-select__tags-text {\r\n // max-width: 80px !important;\r\n // }\r\n .select-trigger {\r\n width: 100%;\r\n\r\n .el-select__tags {\r\n // max-width: calc(100% - 0px) !important;\r\n & > span {\r\n max-width: 100%;\r\n\r\n .el-tag--info {\r\n max-width: 100% !important;\r\n\r\n &:first-child {\r\n .el-select__tags-text {\r\n max-width: 100% !important;\r\n }\r\n }\r\n\r\n &:nth-child(2) {\r\n // display: none;\r\n .arco-select__tags-text {\r\n max-width: 100% !important;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .el-date-editor.el-input,\r\n .el-date-editor.el-input__inner {\r\n width: 100%;\r\n }\r\n\r\n .el-select .el-select__tags {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n\r\n & > span {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n }\r\n }\r\n\r\n .date-section {\r\n position: relative;\r\n margin-bottom: 0 !important;\r\n\r\n .el-input--small .el-input__inner {\r\n padding-right: 20px;\r\n padding-left: 15px;\r\n }\r\n\r\n .el-input__prefix {\r\n display: none;\r\n }\r\n\r\n .date-section-line {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.hide {\r\n display: none !important;\r\n}\r\n\r\n.search-panel-popover {\r\n // background: red;\r\n box-sizing: border-box;\r\n position: relative;\r\n .save-controls {\r\n & > div {\r\n & > span {\r\n cursor: pointer;\r\n display: block;\r\n padding: 5px 0;\r\n &:hover {\r\n color: #155752;\r\n }\r\n }\r\n }\r\n .save-form {\r\n width: 160px;\r\n height: 40px;\r\n background: #ffffff;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n transform: translateX(-14px);\r\n .save-form-button {\r\n margin-left: 10px;\r\n }\r\n .save-form-input {\r\n width: 84px;\r\n }\r\n .el-button--primary.is-disabled {\r\n background: #155752;\r\n opacity: 0.6;\r\n }\r\n .save-form-select {\r\n width: 160px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.select-popper {\r\n .el-select-dropdown__item {\r\n padding: 0 10px;\r\n }\r\n .select-content {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n .select-content-button {\r\n border: none;\r\n background: none;\r\n flex-shrink: 0;\r\n box-sizing: border-box;\r\n padding: 7px;\r\n border-radius: 100%;\r\n &:hover {\r\n .el-icon--close {\r\n opacity: 1;\r\n }\r\n }\r\n .el-icon--close {\r\n opacity: 0.6;\r\n display: block;\r\n color: #155752;\r\n width: 12px;\r\n height: 12px;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n\r\n","<template>\r\n <svg class=\"svg-icon\">\r\n <use :xlink:href=\"symbolId\" />\r\n </svg>\r\n</template>\r\n\r\n<!-- SvgIcon组件,可将svg图标直接当组件使用 -->\r\n<script setup>\r\nimport { defineProps, computed } from 'vue'\r\nconst props = defineProps({\r\n name: {\r\n type: String,\r\n required: true\r\n }\r\n})\r\n\r\n// 获取svg图标名称,需要和vite.config.js中的配置保持一致\r\nconst symbolId = computed(() => `#${props.name}`)\r\n</script>\r\n\r\n<style scoped>\r\n.svg-icon {\r\n width: 1em;\r\n height: 1em;\r\n vertical-align: -0.15em;\r\n fill: currentColor;\r\n overflow: hidden;\r\n}\r\n</style>","// useFullscreen.js - 全屏功能实现\r\nimport { ref, onMounted, onUnmounted } from 'vue'\r\n\r\nexport function useFullscreen() {\r\n\tconst isFullscreen = ref(false)\r\n\r\n\t// 进入全屏\r\n\tconst enterFullscreen = (element) => {\r\n\t\tif (element.requestFullscreen) {\r\n\t\t\telement.requestFullscreen()\r\n\t\t} else if (element.mozRequestFullScreen) {\r\n\t\t\t// Firefox\r\n\t\t\telement.mozRequestFullScreen()\r\n\t\t} else if (element.webkitRequestFullscreen) {\r\n\t\t\t// Chrome, Safari and Opera\r\n\t\t\telement.webkitRequestFullscreen()\r\n\t\t} else if (element.msRequestFullscreen) {\r\n\t\t\t// IE/Edge\r\n\t\t\telement.msRequestFullscreen()\r\n\t\t}\r\n\t}\r\n\r\n\t// 退出全屏\r\n\tconst exitFullscreen = () => {\r\n\t\tif (document.exitFullscreen) {\r\n\t\t\tdocument.exitFullscreen()\r\n\t\t} else if (document.mozCancelFullScreen) {\r\n\t\t\t// Firefox\r\n\t\t\tdocument.mozCancelFullScreen()\r\n\t\t} else if (document.webkitExitFullscreen) {\r\n\t\t\t// Chrome, Safari and Opera\r\n\t\t\tdocument.webkitExitFullscreen()\r\n\t\t} else if (document.msExitFullscreen) {\r\n\t\t\t// IE/Edge\r\n\t\t\tdocument.msExitFullscreen()\r\n\t\t}\r\n\t}\r\n\r\n\t// 全屏切换\r\n\tconst toggleFullScreen = () => {\r\n\t\tif (isFullscreen.value) {\r\n\t\t\texitFullscreen()\r\n\t\t} else {\r\n\t\t\tenterFullscreen(document.documentElement)\r\n\t\t}\r\n\t}\r\n\r\n\t// 检查全屏状态\r\n\tconst handleFullscreenChange = () => {\r\n\t\tisFullscreen.value = Boolean(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement)\r\n\t}\r\n\r\n\t// 监听全屏状态变化\r\n\tonMounted(() => {\r\n\t\tdocument.addEventListener('fullscreenchange', handleFullscreenChange)\r\n\t\tdocument.addEventListener('webkitfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.addEventListener('mozfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.addEventListener('MSFullscreenChange', handleFullscreenChange)\r\n\t})\r\n\r\n\t// 清理监听器\r\n\tonUnmounted(() => {\r\n\t\tdocument.removeEventListener('fullscreenchange', handleFullscreenChange)\r\n\t\tdocument.removeEventListener('webkitfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.removeEventListener('mozfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.removeEventListener('MSFullscreenChange', handleFullscreenChange)\r\n\t})\r\n\r\n\treturn {\r\n\t\tisFullscreen,\r\n\t\ttoggle: toggleFullScreen\r\n\t}\r\n}\r\n","import { useFullscreen } from './useFullscreen'\r\nimport { onBeforeMount, reactive, ref, watch, toRefs, getCurrentInstance } from 'vue'\r\nimport dayjs from 'dayjs'\r\n\r\nexport default {\r\n\tname: 'lwTable',\r\n\tprops: {\r\n\t\trefName: { type: String, default: 'multipleTableRef' },\r\n\t\ttableName: { type: String, default: '' },\r\n\t\tisRadio: { type: Boolean, default: false },\r\n\t\tbordered: { type: Boolean, default: true },\r\n\t\tstripe: { type: Boolean, default: false },\r\n\t\tsummaryMethod: { type: Function, default: () => [] },\r\n\t\trowKey: { type: String, default: 'id' },\r\n\t\tdefaultSelectData: { type: Array, default: () => [] },\r\n\t\tsearchParams: { type: Object, default: () => ({ page: 1, size: 20 }) },\r\n\t\tselectStatus: { type: Function, default: () => true },\r\n\t\tpageSizes: { type: Array, default: () => [10, 20, 30, 40, 50] },\r\n\t\tisShowPagination: { type: Boolean, default: true },\r\n\t\ttableData: { type: Array, default: [] },\r\n\t\ttotalCount: { type: Number, default: 0 },\r\n\t\ttableColumns: { type: Array, default: [] },\r\n\t\thoverable: { type: Boolean, default: true },\r\n\t\tdefaultExpandAll: { type: Boolean, default: false },\r\n\t\tisSetting: { type: Boolean, default: false },\r\n\t\tsaveKey: { type: String, default: '' },\r\n\t\torderPage: { type: Boolean, default: false },\r\n\t\ttableSize: { type: String, default: 'large' },\r\n\t\tloading: { type: Boolean, default: false },\r\n\t\trowSelection: { type: Object },\r\n\t\tselectedKeys: { type: Array },\r\n\t\tselectDatas: { type: Array },\r\n\t\thideTool: { type: Boolean, default: true },\r\n\t\tvirtualListProps: { type: Object, default: undefined },\r\n\t\tdraggable: { type: Object },\r\n\t\tmaxHeight: { type: String }\r\n\t},\r\n\tsetup(props, context) {\r\n\t\tconst multipleTable = ref()\r\n\t\tconst {\r\n\t\t\tproxy: { $bus, $tool }\r\n\t\t} = getCurrentInstance()\r\n\t\tconst { isFullscreen, toggle: toggleFullScreen } = useFullscreen()\r\n\t\tconst state = reactive({\r\n\t\t\tdialogVisible: false,\r\n\t\t\ttableSettingTitle: '选择字段',\r\n\r\n\t\t\ttableHeaderListAll: [],\r\n\t\t\tcheckedList: [],\r\n\t\t\tdefaultProps: {\r\n\t\t\t\tchildren: 'children',\r\n\t\t\t\tlabel: 'label'\r\n\t\t\t},\r\n\t\t\tnum: 0,\r\n\t\t\tendFixed: false,\r\n\t\t\tfilterHeader: [],\r\n\t\t\ttableSize: props.tableSize,\r\n\r\n\t\t\tcheckedKeys: [],\r\n\t\t\ttreeData: [],\r\n\t\t\tallCheck: true,\r\n\t\t\tlastColumsFixed: true,\r\n\t\t\ttableHeaders: [],\r\n\t\t\tfixNum: 0\r\n\t\t})\r\n\r\n\t\tonBeforeMount(async () => {\r\n\t\t\tlet list = props.tableColumns\r\n\r\n\t\t\tstate.checkedKeys = []\r\n\r\n\t\t\tlist.forEach((item, index) => {\r\n\t\t\t\tif (!item.key) {\r\n\t\t\t\t\titem.key = $tool.getUUID()\r\n\t\t\t\t}\r\n\t\t\t\tstate.checkedKeys.push(item.key)\r\n\t\t\t\titem.checked = true\r\n\t\t\t})\r\n\t\t\tstate.treeData = list\r\n\t\t\tstate.tableHeaders = state.treeData\r\n\r\n\t\t\twindow.addEventListener('resize', () => {\r\n\t\t\t\tlet isFull =\r\n\t\t\t\t\tdocument.mozFullScreen || document.fullScreen || document.webkitIsFullScreen || document.webkitRequestFullScreen || document.mozRequestFullScreen || document.msFullscreenEnabled\r\n\t\t\t\tif (isFull === undefined) {\r\n\t\t\t\t\tisFull = false\r\n\t\t\t\t}\r\n\t\t\t\tif (isFull == false) {\r\n\t\t\t\t\t$bus.$emit('tableFullScreen', false)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\twatch(\r\n\t\t\t() => props.tableColumns,\r\n\t\t\t(newVal) => {\r\n\t\t\t\tlet list = props.tableColumns\r\n\r\n\t\t\t\tstate.checkedKeys = []\r\n\t\t\t\tlet arr = []\r\n\t\t\t\tlist.forEach((item, index) => {\r\n\t\t\t\t\tif (!item.key) {\r\n\t\t\t\t\t\titem.key = $tool.getUUID()\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!!item.checked || item.checked == undefined) {\r\n\t\t\t\t\t\tstate.checkedKeys.push(item.key)\r\n\t\t\t\t\t\tarr.push(item)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tstate.treeData = list\r\n\t\t\t\tstate.tableHeaders = arr\r\n\t\t\t},\r\n\t\t\t{ deep: true, immediate: true }\r\n\t\t)\r\n\r\n\t\tconst selectedKeysForm = ref([])\r\n\t\tconst selectGoodsDatas = ref([])\r\n\t\tconst selectAllGoods = ref([])\r\n\r\n\t\twatch(\r\n\t\t\t() => props.tableData,\r\n\t\t\t(newVal) => {\r\n\t\t\t\tconst allArr = [...newVal, ...selectAllGoods.value]\r\n\t\t\t\tconst allObj = {}\r\n\t\t\t\tconst newAllArr = allArr.reduce((cur, next) => {\r\n\t\t\t\t\tallObj[next[props.rowKey]] ? '' : (allObj[next[props.rowKey]] = true && cur.push(next))\r\n\t\t\t\t\treturn cur\r\n\t\t\t\t}, [])\r\n\t\t\t\tselectAllGoods.value = newAllArr || []\r\n\t\t\t},\r\n\t\t\t{ deep: true, immediate: true }\r\n\t\t)\r\n\r\n\t\twatch(\r\n\t\t\t() => props.selectedKeys,\r\n\t\t\t(newVal) => {\r\n\t\t\t\tselectedKeysForm.value = newVal\r\n\t\t\t\tselectGoodsDatas.value = []\r\n\r\n\t\t\t\tif (selectAllGoods.value.length && !!newVal) {\r\n\t\t\t\t\tconst data = selectAllGoods.value.filter((item) => {\r\n\t\t\t\t\t\treturn newVal.includes(item[props.rowKey])\r\n\t\t\t\t\t})\r\n\t\t\t\t\tconst arr = [...data, ...selectGoodsDatas.value]\r\n\t\t\t\t\tconst obj = {}\r\n\t\t\t\t\tconst newArr = arr.reduce((cur, next) => {\r\n\t\t\t\t\t\tobj[next[props.rowKey]] ? '' : (obj[next[props.rowKey]] = true && cur.push(next))\r\n\t\t\t\t\t\treturn cur\r\n\t\t\t\t\t}, [])\r\n\t\t\t\t\tselectGoodsDatas.value = newArr || []\r\n\t\t\t\t\tcontext.emit('update:selectDatas', newArr)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ deep: true, immediate: true }\r\n\t\t)\r\n\r\n\t\tconst handleChange = (currentData) => {\r\n\t\t\tcontext.emit('draggable', currentData)\r\n\t\t}\r\n\r\n\t\tconst handleSelectionChange = (val) => {\r\n\t\t\tcontext.emit('multipleSelection', val)\r\n\t\t}\r\n\r\n\t\tconst handleCurrentChange = (val) => {\r\n\t\t\tcontext.emit('currentChange', val)\r\n\t\t}\r\n\r\n\t\tconst sizeChange = (val) => {\r\n\t\t\tprops.searchParams.size = val\r\n\t\t\tconst data = { ...props.searchParams }\r\n\t\t\tcontext.emit('getTableData', data)\r\n\t\t}\r\n\r\n\t\tconst currentChange = (page) => {\r\n\t\t\tprops.searchParams.page = page - 1\r\n\r\n\t\t\tconst data = { ...props.searchParams }\r\n\t\t\tif (!props.reserveSelection) {\r\n\t\t\t}\r\n\t\t\tcontext.emit('getTableData', props.searchParams.page)\r\n\t\t}\r\n\r\n\t\tconst refresh = () => {\r\n\t\t\tcurrentChange(1)\r\n\t\t}\r\n\r\n\t\tconst toggleRowChange = (row, status) => {\r\n\t\t\tmultipleTable.value.toggleRowSelection(row, status)\r\n\t\t}\r\n\r\n\t\tconst clearTableSelection = (row, status) => {\r\n\t\t\tmultipleTable.value.clearSelection()\r\n\t\t}\r\n\r\n\t\tconst allowDrop = (draggingNode, dropNode, type) => {\r\n\t\t\treturn type !== 'inner'\r\n\t\t}\r\n\r\n\t\tconst allowDrag = (draggingNode) => {\r\n\t\t\treturn draggingNode.data.label.indexOf('Level three 3-1-1') === -1\r\n\t\t}\r\n\r\n\t\tconst tableSetting = () => {\r\n\t\t\tstate.tableSettingTitle = '选择字段'\r\n\t\t\tstate.dialogVisible = true\r\n\t\t}\r\n\r\n\t\tconst next = () => {\r\n\t\t\tif (state.checkedList.length === 0) {\r\n\t\t\t\tMessage.error('选择字段不可以为空!')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tstate.tableSettingTitle = '排序'\r\n\r\n\t\t\tstate.treeData = []\r\n\t\t\tlet num = 0\r\n\t\t\tlet list = JSON.parse(JSON.stringify(state.checkedList))\r\n\t\t\tlist.forEach((item, index) => {\r\n\t\t\t\tprops.tableHeader.forEach((it) => {\r\n\t\t\t\t\tif (item === it.label) {\r\n\t\t\t\t\t\tlet obj = {\r\n\t\t\t\t\t\t\tlabel: item,\r\n\t\t\t\t\t\t\tchildren: [],\r\n\t\t\t\t\t\t\tindex: index,\r\n\t\t\t\t\t\t\tfixed: it.fixed ? it.fixed : ''\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tstate.treeData.push(obj)\r\n\t\t\t\t\t\tif (it.fixed === 'left') {\r\n\t\t\t\t\t\t\tnum++\r\n\t\t\t\t\t\t} else if (it.fixed === 'right') {\r\n\t\t\t\t\t\t\tstate.endFixed = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tstate.num = num\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst prev = () => {\r\n\t\t\tstate.tableSettingTitle = '选择字段'\r\n\t\t}\r\n\r\n\t\tconst tableHeaderConfirm = () => {\r\n\t\t\tif ((state.num > 2 && state.endFixed) || (state.num > 3 && !state.endFixed)) {\r\n\t\t\t\tMessage.error('固定列最多只能选择3列!')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tstate.tableHeaderList = []\r\n\t\t\tstate.treeData.forEach((item, index) => {\r\n\t\t\t\tif (state.num > 0 && state.num > index) {\r\n\t\t\t\t\titem.fixed = 'left'\r\n\t\t\t\t} else if (state.endFixed && index === state.treeData.length - 1) {\r\n\t\t\t\t\titem.fixed = 'right'\r\n\t\t\t\t} else {\r\n\t\t\t\t\titem.fixed = ''\r\n\t\t\t\t}\r\n\t\t\t\tstate.tableHeaderList.push(item)\r\n\t\t\t})\r\n\t\t\tstate.dialogVisible = false\r\n\t\t\tlet obj = {\r\n\t\t\t\tuserId: 1,\r\n\t\t\t\tjson: state.tableHeaderList\r\n\t\t\t}\r\n\t\t\tlocalStorage.setItem('userTable', JSON.stringify(obj))\r\n\t\t}\r\n\r\n\t\tconst download = (url) => {\r\n\t\t\tlet fileUrl =\r\n\t\t\t\t(process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') && location.hostname !== 'localhost' ? location.origin + url : 'http://dev.yihai.lianwei.com.cn' + url\r\n\t\t\twindow.open(fileUrl, '_blank')\r\n\t\t}\r\n\r\n\t\tconst sortChange = ({ column, prop, order }) => {\r\n\t\t\tprops.searchParams.sortField = prop?.split(',')[0]\r\n\t\t\tprops.searchParams.sortType = order\r\n\t\t\tconst data = { ...props.searchParams }\r\n\t\t\tcontext.emit('getTableData', data)\r\n\t\t}\r\n\r\n\t\tconst getHeader = (header) => {\r\n\t\t\tcontext.emit('getHeader', header)\r\n\t\t}\r\n\r\n\t\tconst handleSelect = (v) => {\r\n\t\t\tstate.tableSize = v\r\n\t\t}\r\n\r\n\t\tconst onDrop = (info) => {\r\n\t\t\tlet dropPosition = info.dropPosition\r\n\t\t\tlet dragNode = info.dragNode\r\n\t\t\tlet dropNode = info.dropNode\r\n\t\t\tconst data = state.treeData\r\n\t\t\tconst loop = (data, key, callback) => {\r\n\t\t\t\tdata.some((item, index, arr) => {\r\n\t\t\t\t\tif (item.title === key) {\r\n\t\t\t\t\t\tcallback(item, index, arr)\r\n\t\t\t\t\t\treturn true\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\treturn loop(item.children, key, callback)\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tif (dropPosition === 0) {\r\n\t\t\t} else {\r\n\t\t\t\tloop(data, dragNode.title, (_, index, arr) => {\r\n\t\t\t\t\tarr.splice(index, 1)\r\n\t\t\t\t})\r\n\t\t\t\tloop(data, dropNode.title, (_, index, arr) => {\r\n\t\t\t\t\tarr.splice(dropPosition < 0 ? index : index + 1, 0, dragNode)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tstate.tableHeaders = state.treeData\r\n\t\t}\r\n\r\n\t\tconst checkAll = (selected) => {\r\n\t\t\tif (selected) {\r\n\t\t\t\tstate.tableHeaders = JSON.parse(JSON.stringify(props.tableColumns))\r\n\t\t\t\tstate.tableHeaders.forEach((item, index) => {\r\n\t\t\t\t\tif (!item.key) {\r\n\t\t\t\t\t\titem.key = $tool.getUUID()\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstate.checkedKeys.push(item.key)\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tstate.tableHeaders = []\r\n\t\t\t\tstate.checkedKeys = []\r\n\t\t\t}\r\n\r\n\t\t\tstate.treeData.forEach((item) => {\r\n\t\t\t\titem.checked = selected\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst treeCheck = () => {\r\n\t\t\tlet list = state.treeData.filter((t) => state.checkedKeys.includes(t.key))\r\n\t\t\tstate.tableHeaders = list\r\n\t\t}\r\n\r\n\t\tconst tableToggleFullScreen = () => {\r\n\t\t\t$bus.$emit('tableFullScreen', !isFullscreen.value)\r\n\t\t\ttoggleFullScreen()\r\n\t\t}\r\n\r\n\t\tconst fixNumChange = () => {\r\n\t\t\tlet num = state.fixNum\r\n\t\t\tif (num > 0) {\r\n\t\t\t\tstate.tableHeaders.forEach((item, index) => {\r\n\t\t\t\t\tif (index < num) {\r\n\t\t\t\t\t\titem.fixed = 'left'\r\n\t\t\t\t\t\titem.width = item.width ?? '120'\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tstate.tableHeaders.forEach((item) => {\r\n\t\t\t\t\tif (item.fixed === 'left') {\r\n\t\t\t\t\t\tdelete item.fixed\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst setSelectAll = (status) => {\r\n\t\t\tmultipleTable.value.selectAll(status)\r\n\t\t\tcontext.emit('update:selectedKeys', status ? props.tableData.map((item) => item.id) : [])\r\n\t\t}\r\n\r\n\t\tconst setSelect = (rowKey, status) => {\r\n\t\t\tmultipleTable.value.select(rowKey, status)\r\n\t\t\tconst selectedKeys = [...props.selectedKeys]\r\n\t\t\tcontext.emit('update:selectedKeys', status ? selectedKeys.push(rowKey) : selectedKeys.filter((item) => item !== rowKey))\r\n\t\t}\r\n\r\n\t\tconst selectAll = (status) => {\r\n\t\t\tcontext.emit('update:selectedKeys', status ? props.tableData.map((item) => item[props.rowKey]) : [])\r\n\t\t}\r\n\r\n\t\tconst select = (rowKeys, rowKey, record) => {\r\n\t\t\tcontext.emit('update:selectedKeys', rowKeys)\r\n\t\t}\r\n\r\n\t\tconst changeColWidth = (newWidth, oldWidth, { property }) => {}\r\n\r\n\t\treturn {\r\n\t\t\t...toRefs(state),\r\n\t\t\trefresh,\r\n\t\t\tdayjs,\r\n\t\t\thandleChange,\r\n\t\t\thandleSelectionChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tsizeChange,\r\n\t\t\tcurrentChange,\r\n\t\t\tmultipleTable,\r\n\t\t\tallowDrop,\r\n\t\t\tallowDrag,\r\n\t\t\ttableSetting,\r\n\t\t\tnext,\r\n\t\t\tprev,\r\n\t\t\ttableHeaderConfirm,\r\n\t\t\ttoggleRowChange,\r\n\t\t\tclearTableSelection,\r\n\t\t\tdownload,\r\n\t\t\tsortChange,\r\n\t\t\tgetHeader,\r\n\t\t\thandleSelect,\r\n\t\t\tonDrop,\r\n\t\t\tcheckAll,\r\n\t\t\ttableToggleFullScreen,\r\n\t\t\tisFullscreen,\r\n\t\t\ttreeCheck,\r\n\t\t\tfixNumChange,\r\n\t\t\tsetSelectAll,\r\n\t\t\tsetSelect,\r\n\t\t\tselectedKeysForm,\r\n\t\t\tselectGoodsDatas,\r\n\t\t\tselectAll,\r\n\t\t\tselect,\r\n\t\t\tchangeColWidth\r\n\t\t}\r\n\t}\r\n}\r\n","<template>\r\n <div class=\"baseTablePage-wrap\">\r\n <el-table ref=\"multipleTable\" column-resizable v-loading=\"loading\" :columns=\"tableHeaders\" :stripe=\"stripe\" :data=\"tableData\" :row-key=\"rowKey\" :hoverable=\"hoverable\" :default-expand-all-rows=\"defaultExpandAll\" :size=\"tableSize\" highlight-current-row :max-height=\"maxHeight\" scrollbar-always-on :scroll=\"{ x: '100%', y: '100%' }\" :virtual-list-props=\"virtualListProps\" @current-change=\"handleCurrentChange\" @selection-change=\"handleSelectionChange\">\r\n <el-table-column fixed=\"left\" type=\"selection\" width=\"55\" v-if=\"rowSelection\" />\r\n <el-table-column v-for=\"t in tableHeaders\" :label=\"t.title\" :prop=\"t.dataIndex\" :min-width=\"t.width\" :align=\"t.align ?? 'center'\" :fixed=\"t.fixed\" :sortable=\"t.sortable\" :show-overflow-tooltip=\"t.tooltip\" :key=\"t\">\r\n <template #default=\"scope\">\r\n <!-- 操作 -->\r\n <div v-if=\"t.operation\">\r\n <div v-if=\"t.ellipsis\">\r\n <!-- 操作按钮少于3个 -->\r\n <div v-if=\"t.operation.length <= 3\">\r\n <span v-for=\"(o,i) in t.operation\" :key=\"o\" v-show=\"o.isShow ? o.isShow(scope.row) : true\">\r\n <span v-if=\"i <= 2\">\r\n <el-tooltip v-if=\"!!o.icon\" :content=\"o.label\" placement=\"top\">\r\n <el-button class=\"table-button\" size=\"small\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\" :icon=\"o.icon\" circle></el-button>\r\n </el-tooltip>\r\n <el-button class=\"table-button-2\" v-else text size=\"small\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\">\r\n {{ o.label }}\r\n </el-button>\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <!-- 操作按钮多于2个 -->\r\n <div v-if=\"t.operation.length > 3\">\r\n <span v-for=\"(o,i) in t.operation\" :key=\"o\">\r\n <span v-if=\"i < 3 && (o.isShow ? o.isShow(scope.row) : true)\">\r\n <el-tooltip v-if=\"!!o.icon\" :content=\"o.label\" placement=\"top\">\r\n <el-button class=\"table-button\" size=\"mini\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\" :icon=\"o.icon\" circle></el-button>\r\n </el-tooltip>\r\n <el-button class=\"table-button-2\" v-else text size=\"mini\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\">\r\n {{ o.label }}\r\n </el-button>\r\n </span>\r\n\r\n </span>\r\n\r\n <span>\r\n <!-- @command=\"(command) => addChildrenHandleCommand(command,data)\" -->\r\n <el-dropdown>\r\n <el-icon class=\"icon-more\"><el-icon-more /></el-icon>\r\n <template #dropdown>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <div v-for=\"(o,i) in t.operation\" :key=\"o\">\r\n <el-dropdown-item command=\"addNewChildren\" v-if=\"i >= 3 && (o.isShow ? o.isShow(scope.row) : true)\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\">{{o.label}}</el-dropdown-item>\r\n </div>\r\n\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </span>\r\n\r\n </div>\r\n </div>\r\n\r\n <div v-else>\r\n <span v-for=\"(o,i) in t.operation\" :key=\"o\" v-show=\"o.isShow ? o.isShow(scope.row) : true\">\r\n <span>\r\n <el-tooltip v-if=\"!!o.icon\" :content=\"o.label\" placement=\"top\">\r\n <el-button class=\"table-button\" size=\"mini\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\" :icon=\"o.icon\" circle></el-button>\r\n </el-tooltip>\r\n <el-button class=\"table-button-2\" v-else text size=\"small\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\">\r\n {{ o.label }}\r\n </el-button>\r\n </span>\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- render -->\r\n <div v-else-if=\"t.eleRender\">\r\n <span v-html=\"t.eleRender(scope.row, scope.$index)\"></span>\r\n </div>\r\n\r\n <div v-else-if=\"t.type === 'img'\">\r\n <el-image style=\"height: 28px\" fit=\"cover\" :max-scale=\"7\" :min-scale=\"0.2\" :z-index=\"99\" :preview-teleported=\"true\" :previewSrcList=\"[scope.row[t.dataIndex]]\" :src=\"scope.row[t.dataIndex] ? scope.row[t.dataIndex] : '/images/empty.jpg'\" />\r\n </div>\r\n\r\n <!-- 枚举options -->\r\n <div v-else-if=\"!t.switch && t.options && t.options.length > 0\">\r\n <template v-if=\"scope.row.isEdit && t.canEdit\">\r\n <el-select class=\"select-select number\" :value-key=\"t.editValue || 'code'\" v-model=\"scope.row[t.editSource]\" placeholder=\"\" allow-clear allow-search filter-option @change=\"(val) => {t.callback(val, scope.row)}\">\r\n <el-option :value=\"item\" v-for=\"item in t.options\" :key=\"item\">{{ t.editValue ? item[t.editValue] : item.name }}</el-option>\r\n </el-select>\r\n </template>\r\n <template v-else>\r\n <span v-for=\"(item, index) in t.options\" :key=\"item + index\">\r\n <span v-if=\"scope.row[t.dataIndex] == item[t.editValue || 'code']\"><span v-if=\"item.statusColor\" :style=\"`background-color: ${item.statusColor}; border-radius: 100%; padding: 4px; display: inline-block; margin-right: 5px;`\"></span>{{ t.editValue ? item[t.editValue] : item.name }}</span>\r\n </span>\r\n </template>\r\n </div>\r\n\r\n <!-- 日期起始 -->\r\n <div v-else-if=\"t.type === 'startToEnd'\">\r\n <div style=\"margin-bottom: 5px\">\r\n <span class=\"start-span\">起</span>\r\n {{ scope.row[t.dataIndexList[0]] ? dayjs(scope.row[t.dataIndexList[0]]).format('YYYY-MM-DD HH:mm:ss') : '--' }}\r\n </div>\r\n <div>\r\n <span class=\"end-span\">止</span>\r\n {{ scope.row[t.dataIndexList[1]] ? dayjs(scope.row[t.dataIndexList[1]]).format('YYYY-MM-DD HH:mm:ss') : '--' }}\r\n </div>\r\n </div>\r\n\r\n <!-- 日期转换 -->\r\n <div v-else-if=\"t.dataType\">\r\n {{ $fermitTime(scope.row[t.dataIndex]) }}\r\n </div>\r\n\r\n <!-- 开关 -->\r\n <div v-else-if=\"t.switch\">\r\n <el-switch :inline-prompt=\"t.isShowMessage\" :active-text=\"t.isShowMessage ? t.activeText : ''\" :inactive-text=\"t.isShowMessage ? t.inactiveText : ''\" style=\"--el-switch-on-color: #3d3ad9; --el-switch-off-color: #c6c6c6\" v-model=\"scope.row[t.dataIndex]\" :active-value=\"t.activeValue ?? true\" :inactive-value=\"t.inactiveValue ?? false\" :disabled=\"t.disabled ? t.disabled(scope.row) : false\" @change=\"(v) => {t.clickFun(v, scope.row)}\" />\r\n </div>\r\n\r\n <!-- 视频 -->\r\n <div v-else-if=\"t.isVideo\">\r\n <video width=\"40\" :src=\"scope.row[t.dataIndex]\" style=\"margin: 5px 0\" />\r\n </div>\r\n\r\n <!-- 图片 -->\r\n <div v-else-if=\"t.pictureCard\">\r\n <el-image width=\"40\" :src=\"scope.row[t.dataIndex]\" style=\"margin: 5px 0\" />\r\n </div>\r\n\r\n <!-- 数组转string -->\r\n <div v-else-if=\"t.arrayList\">\r\n <span>{{ scope.row[t.dataIndex] !== null && scope.row[t.dataIndex].length > 0 ? scope.row[t.dataIndex].toString() : '' }}</span>\r\n </div>\r\n\r\n <!-- 链接跳转 -->\r\n <span v-else-if=\"t.skip\">\r\n <el-tooltip v-if=\"scope.row[t.dataIndex] && scope.row[t.dataIndex].toString().split(',').length > 1\">\r\n <span :style=\"`color: ${theme};cursor: pointer;width: 100%;display: inline-block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;`\">\r\n {{ scope.row[t.dataIndex] ? scope.row[t.dataIndex] : '' }}\r\n </span>\r\n <template #content>\r\n <div v-for=\"(item, index) in scope.row[t.dataIndex].split(',')\" :key=\"index\" :style=\"`color: ${theme}; cursor: pointer`\" @click=\"t.clickFun ? t.clickFun(item, scope.row, scope.$index) : () => {}\">\r\n {{ item }}\r\n </div>\r\n </template>\r\n </el-tooltip>\r\n\r\n <span v-else>\r\n <span style=\"color: var(--el-color-primary); cursor: pointer; text-decoration: underline;\" @click=\"t.clickFun ? t.clickFun(scope.row[t.dataIndex], scope.row, scope.$index) : () => {}\">\r\n {{ (scope.row[t.dataIndex] || scope.row[t.dataIndex] === 0) ? scope.row[t.dataIndex] : '' }}\r\n </span>\r\n </span>\r\n </span>\r\n\r\n <!-- 进度条 -->\r\n <span v-else-if=\"t.isProgress\">\r\n <el-progress :percentage=\"scope.row[t.dataIndex]\" color=\"#3d3ad9\" />\r\n </span>\r\n\r\n <!-- 常规渲染 -->\r\n <div v-else>\r\n {{ scope.row[t.dataIndex] ? scope.row[t.dataIndex] :scope.row[t.dataIndex] === 0?'0':'' }}\r\n </div>\r\n\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <!-- 分页 -->\r\n <div v-if=\"isShowPagination\" class=\"pagination-block\">\r\n\r\n <div class=\"tool-block\">\r\n <template v-if=\"!hideTool\">\r\n <el-tooltip :content=\"$t('btn.refresh')\">\r\n <el-icon size=\"20\" @click=\"refresh\"><el-icon-refresh></el-icon-refresh></el-icon>\r\n </el-tooltip>\r\n\r\n <el-dropdown @command=\"handleSelect\">\r\n <span class=\"dropdown-trigger\">\r\n <el-tooltip :content=\"$t('lwTable.tools.lineHeightName')\">\r\n <el-icon size=\"20\"><el-icon-set-up></el-icon-set-up></el-icon>\r\n </el-tooltip>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item command=\"mini\">{{ $t('lwTable.tools.lineHeight.mini') }}</el-dropdown-item>\r\n <el-dropdown-item command=\"small\">{{ $t('lwTable.tools.lineHeight.small') }}</el-dropdown-item>\r\n <el-dropdown-item command=\"medium\">{{ $t('lwTable.tools.lineHeight.medium') }}</el-dropdown-item>\r\n <el-dropdown-item command=\"large\">{{ $t('lwTable.tools.lineHeight.large') }}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n\r\n <el-popover placement=\"top-start\" :title=\"$t('lwTable.tools.columnsSetting')\" :width=\"400\" trigger=\"hover\">\r\n <template #reference>\r\n <el-icon size=\"20\"><el-icon-setting></el-icon-setting></el-icon>\r\n </template>\r\n <el-checkbox v-model=\"allCheck\" @change=\"checkAll\">\r\n {{ $t('lwTable.tools.allCheck') }},{{ $t('lwTable.tools.hasChecked') }}{{ checkedKeys.length }}/{{ treeData.length }}\r\n </el-checkbox>\r\n <el-checkbox-group v-model=\"checkedKeys\" @change=\"treeCheck\">\r\n <el-checkbox v-for=\"item in treeData\" :key=\"item.key\" :label=\"item.title\" :value=\"item.key\">\r\n {{ item.title }}\r\n </el-checkbox>\r\n </el-checkbox-group>\r\n\r\n <div class=\"fix-num\">\r\n {{$t('lwTable.tools.table_before')}}\r\n <el-input-number v-model=\"fixNum\" @change=\"fixNumChange\" :min=\"0\" :max=\"10\" size=\"small\" />\r\n {{$t('lwTable.tools.column_fixed')}}\r\n </div>\r\n\r\n </el-popover>\r\n\r\n <el-tooltip :content=\"isFullscreen ? $t('lwTable.tools.cancel') : $t('lwTable.tools.fullScreen')\">\r\n <el-icon v-if=\"!isFullscreen\" class=\"icon-fullscreen\" @click=\"tableToggleFullScreen\"><el-icon-full-screen /></el-icon>\r\n <el-icon v-if=\"isFullscreen\" class=\"icon-fullscreen-exit\" @click=\"tableToggleFullScreen\"><el-icon-full-screen /></el-icon>\r\n </el-tooltip>\r\n </template>\r\n </div>\r\n <el-pagination background small=\"true\" :current-page.sync=\"parseFloat(searchParams.page).toString() == 'NaN' ? 1 : searchParams.page\" :page-size=\"searchParams.size ? searchParams.size : 10\" layout=\"total, prev, pager, next, sizes, jumper\" :total=\"totalCount\" :page-sizes=\"pageSizes\" @size-change=\"sizeChange\" @current-change=\"currentChange\" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script src=\"./index.js\"></script>\r\n<style lang=\"scss\" scoped>\r\n@import \"./index.scss\";\r\n</style>\r\n","<template>\r\n <div class=\"lw-upload\"\r\n :class=\"{'lw-upload-round':round}\"\r\n :style=\"style\">\r\n <div v-if=\"file && file.status != 'success'\"\r\n class=\"lw-upload__uploading\">\r\n <div class=\"lw-upload__progress\">\r\n <el-progress :percentage=\"file.percentage\"\r\n :text-inside=\"true\"\r\n :stroke-width=\"16\" />\r\n </div>\r\n <el-image class=\"image\"\r\n :src=\"file.tempFile\"\r\n fit=\"cover\"></el-image>\r\n </div>\r\n <div v-if=\"file && file.status=='success'\"\r\n class=\"lw-upload__img\">\r\n <el-image class=\"image\"\r\n :src=\"file.url\"\r\n :preview-src-list=\"[file.url]\"\r\n fit=\"cover\"\r\n hide-on-click-modal\r\n append-to-body\r\n :z-index=\"9999\">\r\n <template #placeholder>\r\n <div class=\"lw-upload__img-slot\">\r\n Loading...\r\n </div>\r\n </template>\r\n </el-image>\r\n <div class=\"lw-upload__img-actions\"\r\n v-if=\"!disabled\">\r\n <span class=\"del\"\r\n @click=\"handleRemove()\"><el-icon><el-icon-delete /></el-icon></span>\r\n </div>\r\n </div>\r\n <el-upload v-if=\"!file\"\r\n class=\"uploader\"\r\n ref=\"uploader\"\r\n :auto-upload=\"cropper?false:autoUpload\"\r\n :disabled=\"disabled\"\r\n :show-file-list=\"showFileList\"\r\n :action=\"action\"\r\n :name=\"name\"\r\n :data=\"data\"\r\n :accept=\"accept\"\r\n :limit=\"1\"\r\n :http-request=\"request\"\r\n :on-change=\"change\"\r\n :before-upload=\"before\"\r\n :on-success=\"success\"\r\n :on-error=\"error\"\r\n :on-exceed=\"handleExceed\">\r\n <slot>\r\n <div class=\"el-upload--picture-card\">\r\n <div class=\"file-empty\">\r\n <el-icon>\r\n <component :is=\"icon\" />\r\n </el-icon>\r\n <h4 v-if=\"title\">{{title}}</h4>\r\n </div>\r\n </div>\r\n </slot>\r\n </el-upload>\r\n <span style=\"display:none!important\"><el-input\r\n v-model=\"value\"></el-input></span>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n props: {\r\n modelValue: { type: String, default: \"\" },\r\n height: { type: Number, default: 148 },\r\n width: { type: Number, default: 148 },\r\n title: { type: String, default: \"\" },\r\n icon: { type: String, default: \"el-icon-plus\" },\r\n action: { type: String, default: () => {} },\r\n apiObj: { type: Object, default: () => { } },\r\n name: { type: String, default: \"file\" },\r\n data: { type: Object, default: () => { } },\r\n accept: { type: String, default: \"image/gif, image/jpeg, image/png\" },\r\n maxSize: { type: Number, default: 10 },\r\n limit: { type: Number, default: 1 },\r\n autoUpload: { type: Boolean, default: true },\r\n showFileList: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n round: { type: Boolean, default: false },\r\n onSuccess: { type: Function, default: () => { return true } },\r\n\r\n cropper: { type: Boolean, default: false },\r\n compress: { type: Number, default: 1 },\r\n aspectRatio: { type: Number, default: NaN }\r\n },\r\n\r\n data() {\r\n return {\r\n value: \"\",\r\n file: null,\r\n style: {\r\n width: this.width + \"px\",\r\n height: this.height + \"px\"\r\n },\r\n cropperDialogVisible: false,\r\n cropperFile: null\r\n }\r\n },\r\n watch: {\r\n modelValue(val) {\r\n this.value = val\r\n this.newFile(val)\r\n },\r\n value(val) {\r\n this.$emit('update:modelValue', val)\r\n }\r\n },\r\n mounted() {\r\n this.value = this.modelValue\r\n this.newFile(this.modelValue)\r\n },\r\n methods: {\r\n newFile(url) {\r\n if (url) {\r\n this.file = {\r\n status: \"success\",\r\n url: url\r\n }\r\n } else {\r\n this.file = null\r\n }\r\n },\r\n handleRemove() {\r\n this.clearFiles()\r\n },\r\n clearFiles() {\r\n URL.revokeObjectURL(this.file.tempFile)\r\n this.value = \"\"\r\n this.file = null\r\n this.$nextTick(() => {\r\n this.$refs.uploader.clearFiles()\r\n })\r\n },\r\n change(file, files) {\r\n if (files.length > 1) {\r\n files.splice(0, 1)\r\n }\r\n if (this.cropper && file.status == 'ready') {\r\n const acceptIncludes = [\"image/gif\", \"image/jpeg\", \"image/png\"].includes(file.raw.type)\r\n if (!acceptIncludes) {\r\n this.$notify.warning({\r\n title: '上传文件警告',\r\n message: '选择的文件非图像类文件'\r\n })\r\n return false\r\n }\r\n this.cropperFile = file\r\n this.cropperFile.tempCropperFile = URL.createObjectURL(file.raw)\r\n this.cropperDialogVisible = true\r\n return false\r\n }\r\n this.file = file\r\n if (file.status == 'ready') {\r\n file.tempFile = URL.createObjectURL(file.raw)\r\n }\r\n },\r\n before(file) {\r\n const acceptIncludes = this.accept.replace(/\\s/g, \"\").split(\",\").includes(file.type)\r\n if (!acceptIncludes) {\r\n this.$notify.warning({\r\n title: '上传文件警告',\r\n message: '选择的文件非图像类文件'\r\n })\r\n this.clearFiles()\r\n return false\r\n }\r\n const maxSize = file.size / 1024 / 1024 < this.maxSize;\r\n if (!maxSize) {\r\n this.$message.warning(`上传文件大小不能超过 ${this.maxSize}MB!`);\r\n this.clearFiles()\r\n return false\r\n }\r\n },\r\n handleExceed(files) {\r\n const file = files[0]\r\n file.uid = this.$tool.getUUID('file, 16')\r\n this.$refs.uploader.handleStart(file)\r\n },\r\n parseData(res) {\r\n return {\r\n code: 200,\t\t\t\t//分析状态字段结构\r\n fileName: res.fileName,//分析文件名称\r\n src: res.previewInfo.url,\t\t\t//分析图片远程地址结构\r\n msg: res.message\t\t\t//分析描述字段结构\r\n }\r\n },\r\n success(res, file) {\r\n //释放内存删除blob\r\n URL.revokeObjectURL(file.tempFile)\r\n delete file.tempFile\r\n var os = this.onSuccess(res, file)\r\n if (os != undefined && os == false) {\r\n this.$nextTick(() => {\r\n this.file = null\r\n this.value = \"\"\r\n })\r\n return false\r\n }\r\n var response = this.parseData(res)\r\n file.url = response.src\r\n this.value = file.url\r\n },\r\n error(err) {\r\n this.$nextTick(() => {\r\n this.clearFiles()\r\n })\r\n this.$notify.error({\r\n title: '上传文件未成功',\r\n message: err\r\n })\r\n },\r\n request(param) {\r\n let apiObj = this.apiObj || this.$api.auth.upload\r\n const data = new FormData();\r\n data.append(param.filename, param.file);\r\n for (const key in param.data) {\r\n data.append(key, param.data[key]);\r\n }\r\n console.log(data)\r\n apiObj(data, {\r\n onUploadProgress: e => {\r\n const complete = parseInt(((e.loaded / e.total) * 100) | 0, 10)\r\n param.onProgress({ percent: complete })\r\n }\r\n }).then(res => {\r\n var response = this.parseData(res);\r\n if (response.code == 200) {\r\n param.onSuccess(res)\r\n } else {\r\n param.onError(response.msg || \"未知错误\")\r\n }\r\n }).catch(err => {\r\n param.onError(err)\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lwoped>\r\n.el-form-item.is-error .lw-upload .el-upload--picture-card {\r\n border-color: var(--el-color-danger);\r\n}\r\n.lw-upload .el-upload--picture-card {\r\n border-radius: 0;\r\n}\r\n\r\n.lw-upload .uploader,\r\n.lw-upload:deep(.el-upload) {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.lw-upload__img {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n}\r\n.lw-upload__img .image {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.lw-upload__img-actions {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n display: none;\r\n}\r\n.lw-upload__img-actions span {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 25px;\r\n height: 25px;\r\n cursor: pointer;\r\n color: #fff;\r\n}\r\n.lw-upload__img-actions span i {\r\n font-size: 12px;\r\n}\r\n.lw-upload__img-actions .del {\r\n background: #f56c6c;\r\n}\r\n.lw-upload__img:hover .lw-upload__img-actions {\r\n display: block;\r\n}\r\n.lw-upload__img-slot {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 12px;\r\n background-color: var(--el-fill-color-lighter);\r\n}\r\n\r\n.lw-upload__uploading {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n}\r\n.lw-upload__progress {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n background-color: var(--el-overlay-color-lighter);\r\n z-index: 1;\r\n padding: 10px;\r\n}\r\n.lw-upload__progress .el-progress {\r\n width: 100%;\r\n}\r\n.lw-upload__uploading .image {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.lw-upload .file-empty {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n}\r\n.lw-upload .file-empty i {\r\n font-size: 28px;\r\n}\r\n.lw-upload .file-empty h4 {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #8c939d;\r\n margin-top: 8px;\r\n}\r\n\r\n.lw-upload.lw-upload-round {\r\n border-radius: 50%;\r\n overflow: hidden;\r\n}\r\n.lw-upload.lw-upload-round .el-upload--picture-card {\r\n border-radius: 50%;\r\n}\r\n.lw-upload.lw-upload-round .lw-upload__img-actions {\r\n top: auto;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n}\r\n.lw-upload.lw-upload-round .lw-upload__img-actions span {\r\n width: 100%;\r\n}\r\n</style>\r\n","<template>\r\n <el-skeleton v-if=\"renderLoading || Object.keys(form).length==0\"\r\n animated />\r\n\r\n <el-form v-else\r\n ref=\"form\"\r\n :model=\"form\"\r\n :label-width=\"config.labelWidth\"\r\n :label-position=\"config.labelPosition\"\r\n v-loading=\"loading\"\r\n element-loading-text=\"Loading...\">\r\n <el-row :gutter=\"15\">\r\n <template v-for=\"(item, index) in config.formItems\"\r\n :key=\"index\">\r\n <el-col :span=\"item.span || 24\"\r\n v-if=\"!hideHandle(item)\">\r\n <el-form-item :prop=\"item.name\"\r\n :rules=\"rulesHandle(item)\">\r\n <template #label>\r\n {{item.label}}\r\n <el-tooltip v-if=\"item.tips\"\r\n :content=\"item.tips\">\r\n <el-icon><el-icon-question-filled /></el-icon>\r\n </el-tooltip>\r\n </template>\r\n <!-- input -->\r\n <template v-if=\"item.component=='input'\">\r\n <el-input v-model=\"form[item.name]\"\r\n :placeholder=\"item.options.placeholder\"\r\n clearable\r\n :type=\"item.options.type\"\r\n :disabled=\"item.options.disabled\"\r\n :maxlength=\"item.options.maxlength\"\r\n show-word-limit></el-input>\r\n </template>\r\n <!-- upload -->\r\n <template v-else-if=\"item.component=='upload'\">\r\n <el-col v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\">\r\n <el-form-item :prop=\"_item.name\">\r\n <lw-upload v-model=\"form[_item.name]\"\r\n :title=\"_item.label\"></lw-upload>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n <!-- checkbox -->\r\n <template v-else-if=\"item.component=='checkbox'\">\r\n <template v-if=\"item.name\">\r\n <el-checkbox v-model=\"form[item.name][_item.name]\"\r\n :label=\"_item.label\"\r\n v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\"></el-checkbox>\r\n </template>\r\n <template v-else>\r\n <el-checkbox v-model=\"form[_item.name]\"\r\n :label=\"_item.label\"\r\n v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\"></el-checkbox>\r\n </template>\r\n </template>\r\n <!-- checkboxGroup -->\r\n <template v-else-if=\"item.component=='checkboxGroup'\">\r\n <el-checkbox-group v-model=\"form[item.name]\">\r\n <el-checkbox v-for=\"_item in item.options.items\"\r\n :key=\"_item.value\"\r\n :label=\"_item.value\">{{_item.label}}</el-checkbox>\r\n </el-checkbox-group>\r\n </template>\r\n <!-- upload -->\r\n <template v-else-if=\"item.component=='upload'\">\r\n <el-col v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\">\r\n <el-form-item :prop=\"_item.name\">\r\n <sc-upload v-model=\"form[_item.name]\"\r\n :title=\"_item.label\"></sc-upload>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n <!-- switch -->\r\n <template v-else-if=\"item.component=='switch'\">\r\n <el-switch v-model=\"form[item.name]\" />\r\n </template>\r\n <!-- select -->\r\n <template v-else-if=\"item.component=='select'\">\r\n <el-select v-model=\"form[item.name]\"\r\n :multiple=\"item.options.multiple\"\r\n :placeholder=\"item.options.placeholder\"\r\n clearable\r\n filterable\r\n style=\"width: 100%;\">\r\n <el-option v-for=\"option in item.options.items\"\r\n :key=\"option.value\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"></el-option>\r\n </el-select>\r\n </template>\r\n <!-- cascader -->\r\n <template v-else-if=\"item.component=='cascader'\">\r\n <el-cascader v-model=\"form[item.name]\"\r\n :options=\"item.options.items\"\r\n clearable></el-cascader>\r\n </template>\r\n <!-- date -->\r\n <template v-else-if=\"item.component=='date'\">\r\n <el-date-picker v-model=\"form[item.name]\"\r\n style=\"width: 100%;\"\r\n :type=\"item.options.type\"\r\n :shortcuts=\"item.options.shortcuts\"\r\n :default-time=\"item.options.defaultTime\"\r\n :value-format=\"item.options.valueFormat\"\r\n :placeholder=\"item.options.placeholder || '请选择'\"></el-date-picker>\r\n </template>\r\n <!-- number -->\r\n <template v-else-if=\"item.component=='number'\">\r\n <el-input-number v-model=\"form[item.name]\"\r\n controls-position=\"right\"></el-input-number>\r\n </template>\r\n <!-- radio -->\r\n <template v-else-if=\"item.component=='radio'\">\r\n <el-radio-group v-model=\"form[item.name]\">\r\n <el-radio v-for=\"_item in item.options.items\"\r\n :key=\"_item.value\"\r\n :label=\"_item.value\">{{_item.label}}</el-radio>\r\n </el-radio-group>\r\n </template>\r\n <!-- color -->\r\n <template v-else-if=\"item.component=='color'\">\r\n <el-color-picker v-model=\"form[item.name]\" />\r\n </template>\r\n <!-- rate -->\r\n <template v-else-if=\"item.component=='rate'\">\r\n <el-rate style=\"margin-top: 6px;\"\r\n v-model=\"form[item.name]\"></el-rate>\r\n </template>\r\n <!-- slider -->\r\n <template v-else-if=\"item.component=='slider'\">\r\n <el-slider v-model=\"form[item.name]\"\r\n :marks=\"item.options.marks\"></el-slider>\r\n </template>\r\n <!-- 没有组件是component值 就是插槽名称 -->\r\n <template v-else>\r\n <slot :name=\"item.component\">\r\n <el-tag type=\"danger\">[{{item.component}}]\r\n 没有这个默认组件也未自定义插槽内容</el-tag>\r\n </slot>\r\n </template>\r\n <div v-if=\"item.message\"\r\n class=\"el-form-item-msg\">{{item.message}}</div>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n <el-col :span=\"24\">\r\n <el-form-item>\r\n <slot>\r\n <el-button type=\"primary\"\r\n @click=\"submit\">提交</el-button>\r\n </slot>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n</template>\r\n\r\n<script>\r\nimport lwUpload from '../lwUpload'\r\nexport default {\r\n components: {\r\n lwUpload\r\n },\r\n props: {\r\n modelValue: { type: Object, default: () => { } },\r\n config: { type: Object, default: () => { } },\r\n loading: { type: Boolean, default: false },\r\n },\r\n data() {\r\n return {\r\n form: {},\r\n renderLoading: false\r\n }\r\n },\r\n watch: {\r\n modelValue() {\r\n if (this.hasConfig) {\r\n this.deepMerge(this.form, this.modelValue)\r\n }\r\n },\r\n config() {\r\n this.render()\r\n },\r\n form: {\r\n handler(val) {\r\n this.$emit(\"update:modelValue\", val)\r\n },\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n hasConfig() {\r\n return Object.keys(this.config).length > 0\r\n },\r\n hasValue() {\r\n return Object.keys(this.modelValue).length > 0\r\n }\r\n },\r\n created() {\r\n\r\n },\r\n mounted() {\r\n if (this.hasConfig) {\r\n this.render()\r\n }\r\n },\r\n methods: {\r\n //构建form对象\r\n render() {\r\n this.config.formItems.forEach((item) => {\r\n if (item.component == 'checkbox') {\r\n if (item.name) {\r\n const value = {}\r\n item.options.items.forEach((option) => {\r\n value[option.name] = option.value\r\n })\r\n this.form[item.name] = value\r\n } else {\r\n item.options.items.forEach((option) => {\r\n this.form[option.name] = option.value\r\n })\r\n }\r\n } else if (item.component == 'upload') {\r\n if (item.name) {\r\n const value = {}\r\n item.options.items.forEach((option) => {\r\n value[option.name] = option.value\r\n })\r\n this.form[item.name] = value\r\n } else {\r\n item.options.items.forEach((option) => {\r\n this.form[option.name] = option.value\r\n })\r\n }\r\n } else {\r\n this.form[item.name] = item.value\r\n }\r\n })\r\n if (this.hasValue) {\r\n this.form = this.deepMerge(this.form, this.modelValue)\r\n }\r\n this.getData()\r\n },\r\n //处理远程选项数据\r\n getData() {\r\n this.renderLoading = true\r\n var remoteData = []\r\n this.config.formItems.forEach((item) => {\r\n if (item.options && item.options.remote) {\r\n var req = this.$http.get(item.options.remote.api, item.options.remote.data).then(res => {\r\n item.options.items = res.data\r\n })\r\n remoteData.push(req)\r\n }\r\n })\r\n Promise.all(remoteData).then(() => {\r\n this.renderLoading = false\r\n })\r\n },\r\n //合并深结构对象\r\n deepMerge(obj1, obj2) {\r\n let key;\r\n for (key in obj2) {\r\n obj1[key] = obj1[key] && obj1[key].toString() === \"[object Object]\" && (obj2[key] && obj2[key].toString() === \"[object Object]\") ? this.deepMerge(obj1[key], obj2[key]) : (obj1[key] = obj2[key])\r\n }\r\n return obj1\r\n //return JSON.parse(JSON.stringify(obj1))\r\n },\r\n //处理动态隐藏\r\n hideHandle(item) {\r\n\r\n if (typeof item.hideHandle === 'string') {\r\n const exp = eval(item.hideHandle.replace(/\\$/g, \"this.form\"))\r\n return exp\r\n } else if (typeof item.hideHandle === 'boolean') {\r\n return item.hideHandle\r\n }\r\n return false\r\n },\r\n //处理动态必填\r\n rulesHandle(item) {\r\n if (item.requiredHandle) {\r\n const exp = eval(item.requiredHandle.replace(/\\$/g, \"this.form\"))\r\n var requiredRule = item.rules.find(t => 'required' in t)\r\n requiredRule.required = exp\r\n }\r\n return item.rules\r\n },\r\n //数据验证\r\n validate(valid, obj) {\r\n return this.$refs.form.validate(valid, obj)\r\n },\r\n scrollToField(prop) {\r\n return this.$refs.form.scrollToField(prop)\r\n },\r\n resetFields() {\r\n return this.$refs.form.resetFields()\r\n },\r\n //提交\r\n submit() {\r\n this.$emit(\"submit\", this.form)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n","export default {\r\n icons: [{\r\n name: '默认',\r\n key: 'element',\r\n icons: [\r\n \"el-icon-aim\",\r\n \"el-icon-add-location\",\r\n \"el-icon-apple\",\r\n \"el-icon-alarm-clock\",\r\n \"el-icon-arrow-down\",\r\n \"el-icon-arrow-down-bold\",\r\n \"el-icon-arrow-left\",\r\n \"el-icon-arrow-left-bold\",\r\n \"el-icon-arrow-right-bold\",\r\n \"el-icon-arrow-up\",\r\n \"el-icon-back\",\r\n \"el-icon-bell\",\r\n \"el-icon-baseball\",\r\n \"el-icon-bicycle\",\r\n \"el-icon-bell-filled\",\r\n \"el-icon-basketball\",\r\n \"el-icon-bottom\",\r\n \"el-icon-box\",\r\n \"el-icon-briefcase\",\r\n \"el-icon-brush-filled\",\r\n \"el-icon-bowl\",\r\n \"el-icon-avatar\",\r\n \"el-icon-brush\",\r\n \"el-icon-burger\",\r\n \"el-icon-camera\",\r\n \"el-icon-bottom-left\",\r\n \"el-icon-calendar\",\r\n \"el-icon-caret-bottom\",\r\n \"el-icon-caret-left\",\r\n \"el-icon-caret-right\",\r\n \"el-icon-caret-top\",\r\n \"el-icon-chat-dot-square\",\r\n \"el-icon-cellphone\",\r\n \"el-icon-chat-dot-round\",\r\n \"el-icon-chat-line-square\",\r\n \"el-icon-chat-line-round\",\r\n \"el-icon-chat-round\",\r\n \"el-icon-check\",\r\n \"el-icon-chat-square\",\r\n \"el-icon-cherry\",\r\n \"el-icon-chicken\",\r\n \"el-icon-circle-check-filled\",\r\n \"el-icon-circle-check\",\r\n \"el-icon-checked\",\r\n \"el-icon-circle-close-filled\",\r\n \"el-icon-circle-close\",\r\n \"el-icon-arrow-right\",\r\n \"el-icon-circle-plus\",\r\n \"el-icon-clock\",\r\n \"el-icon-close-bold\",\r\n \"el-icon-close\",\r\n \"el-icon-cloudy\",\r\n \"el-icon-circle-plus-filled\",\r\n \"el-icon-coffee-cup\",\r\n \"el-icon-cold-drink\",\r\n \"el-icon-coin\",\r\n \"el-icon-arrow-up-bold\",\r\n \"el-icon-collection-tag\",\r\n \"el-icon-bottom-right\",\r\n \"el-icon-coffee\",\r\n \"el-icon-camera-filled\",\r\n \"el-icon-collection\",\r\n \"el-icon-cpu\",\r\n \"el-icon-crop\",\r\n \"el-icon-coordinate\",\r\n \"el-icon-d-arrow-left\",\r\n \"el-icon-compass\",\r\n \"el-icon-connection\",\r\n \"el-icon-credit-card\",\r\n \"el-icon-data-board\",\r\n \"el-icon-d-arrow-right\",\r\n \"el-icon-dessert\",\r\n \"el-icon-delete-location\",\r\n \"el-icon-d-caret\",\r\n \"el-icon-delete\",\r\n \"el-icon-dish\",\r\n \"el-icon-dish-dot\",\r\n \"el-icon-document-copy\",\r\n \"el-icon-discount\",\r\n \"el-icon-document-checked\",\r\n \"el-icon-document-add\",\r\n \"el-icon-document-remove\",\r\n \"el-icon-data-analysis\",\r\n \"el-icon-delete-filled\",\r\n \"el-icon-download\",\r\n \"el-icon-drizzling\",\r\n \"el-icon-eleme\",\r\n \"el-icon-eleme-filled\",\r\n \"el-icon-edit\",\r\n \"el-icon-failed\",\r\n \"el-icon-expand\",\r\n \"el-icon-female\",\r\n \"el-icon-document\",\r\n \"el-icon-film\",\r\n \"el-icon-finished\",\r\n \"el-icon-data-line\",\r\n \"el-icon-filter\",\r\n \"el-icon-flag\",\r\n \"el-icon-folder-checked\",\r\n \"el-icon-first-aid-kit\",\r\n \"el-icon-folder-add\",\r\n \"el-icon-fold\",\r\n \"el-icon-folder-delete\",\r\n \"el-icon-document-delete\",\r\n \"el-icon-folder\",\r\n \"el-icon-food\",\r\n \"el-icon-folder-opened\",\r\n \"el-icon-football\",\r\n \"el-icon-folder-remove\",\r\n \"el-icon-fries\",\r\n \"el-icon-full-screen\",\r\n \"el-icon-fork-spoon\",\r\n \"el-icon-goblet\",\r\n \"el-icon-goblet-full\",\r\n \"el-icon-goods\",\r\n \"el-icon-goblet-square-full\",\r\n \"el-icon-goods-filled\",\r\n \"el-icon-grid\",\r\n \"el-icon-grape\",\r\n \"el-icon-goblet-square\",\r\n \"el-icon-headset\",\r\n \"el-icon-comment\",\r\n \"el-icon-help-filled\",\r\n \"el-icon-histogram\",\r\n \"el-icon-home-filled\",\r\n \"el-icon-help\",\r\n \"el-icon-house\",\r\n \"el-icon-ice-cream-round\",\r\n \"el-icon-hot-water\",\r\n \"el-icon-ice-cream\",\r\n \"el-icon-files\",\r\n \"el-icon-ice-cream-square\",\r\n \"el-icon-key\",\r\n \"el-icon-ice-tea\",\r\n \"el-icon-knife-fork\",\r\n \"el-icon-iphone\",\r\n \"el-icon-info-filled\",\r\n \"el-icon-link\",\r\n \"el-icon-ice-drink\",\r\n \"el-icon-lightning\",\r\n \"el-icon-loading\",\r\n \"el-icon-lollipop\",\r\n \"el-icon-location-information\",\r\n \"el-icon-lock\",\r\n \"el-icon-location-filled\",\r\n \"el-icon-magnet\",\r\n \"el-icon-male\",\r\n \"el-icon-location\",\r\n \"el-icon-menu\",\r\n \"el-icon-magic-stick\",\r\n \"el-icon-message-box\",\r\n \"el-icon-map-location\",\r\n \"el-icon-mic\",\r\n \"el-icon-message\",\r\n \"el-icon-medal\",\r\n \"el-icon-milk-tea\",\r\n \"el-icon-microphone\",\r\n \"el-icon-minus\",\r\n \"el-icon-money\",\r\n \"el-icon-moon-night\",\r\n \"el-icon-monitor\",\r\n \"el-icon-moon\",\r\n \"el-icon-more\",\r\n \"el-icon-mostly-cloudy\",\r\n \"el-icon-more-filled\",\r\n \"el-icon-mouse\",\r\n \"el-icon-mug\",\r\n \"el-icon-mute\",\r\n \"el-icon-no-smoking\",\r\n \"el-icon-mute-notification\",\r\n \"el-icon-notification\",\r\n \"el-icon-notebook\",\r\n \"el-icon-odometer\",\r\n \"el-icon-office-building\",\r\n \"el-icon-operation\",\r\n \"el-icon-opportunity\",\r\n \"el-icon-orange\",\r\n \"el-icon-open\",\r\n \"el-icon-paperclip\",\r\n \"el-icon-pear\",\r\n \"el-icon-partly-cloudy\",\r\n \"el-icon-phone\",\r\n \"el-icon-picture-filled\",\r\n \"el-icon-phone-filled\",\r\n \"el-icon-picture-rounded\",\r\n \"el-icon-guide\",\r\n \"el-icon-place\",\r\n \"el-icon-platform\",\r\n \"el-icon-pie-chart\",\r\n \"el-icon-pointer\",\r\n \"el-icon-plus\",\r\n \"el-icon-position\",\r\n \"el-icon-postcard\",\r\n \"el-icon-present\",\r\n \"el-icon-price-tag\",\r\n \"el-icon-promotion\",\r\n \"el-icon-pouring\",\r\n \"el-icon-reading-lamp\",\r\n \"el-icon-question-filled\",\r\n \"el-icon-printer\",\r\n \"el-icon-picture\",\r\n \"el-icon-refresh-right\",\r\n \"el-icon-reading\",\r\n \"el-icon-refresh-left\",\r\n \"el-icon-refresh\",\r\n \"el-icon-refrigerator\",\r\n \"el-icon-remove-filled\",\r\n \"el-icon-right\",\r\n \"el-icon-scale-to-original\",\r\n \"el-icon-school\",\r\n \"el-icon-remove\",\r\n \"el-icon-scissor\",\r\n \"el-icon-select\",\r\n \"el-icon-management\",\r\n \"el-icon-search\",\r\n \"el-icon-sell\",\r\n \"el-icon-semi-select\",\r\n \"el-icon-share\",\r\n \"el-icon-setting\",\r\n \"el-icon-service\",\r\n \"el-icon-ship\",\r\n \"el-icon-set-up\",\r\n \"el-icon-shopping-bag\",\r\n \"el-icon-shop\",\r\n \"el-icon-shopping-cart\",\r\n \"el-icon-shopping-cart-full\",\r\n \"el-icon-soccer\",\r\n \"el-icon-sold-out\",\r\n \"el-icon-smoking\",\r\n \"el-icon-sort-down\",\r\n \"el-icon-sort\",\r\n \"el-icon-sort-up\",\r\n \"el-icon-star\",\r\n \"el-icon-stamp\",\r\n \"el-icon-star-filled\",\r\n \"el-icon-stopwatch\",\r\n \"el-icon-success-filled\",\r\n \"el-icon-suitcase\",\r\n \"el-icon-sugar\",\r\n \"el-icon-sunny\",\r\n \"el-icon-sunrise\",\r\n \"el-icon-switch\",\r\n \"el-icon-ticket\",\r\n \"el-icon-sunset\",\r\n \"el-icon-tickets\",\r\n \"el-icon-switch-button\",\r\n \"el-icon-takeaway-box\",\r\n \"el-icon-toilet-paper\",\r\n \"el-icon-timer\",\r\n \"el-icon-tools\",\r\n \"el-icon-top-left\",\r\n \"el-icon-top\",\r\n \"el-icon-top-right\",\r\n \"el-icon-trend-charts\",\r\n \"el-icon-turn-off\",\r\n \"el-icon-unlock\",\r\n \"el-icon-trophy\",\r\n \"el-icon-umbrella\",\r\n \"el-icon-upload-filled\",\r\n \"el-icon-user-filled\",\r\n \"el-icon-upload\",\r\n \"el-icon-user\",\r\n \"el-icon-van\",\r\n \"el-icon-copy-document\",\r\n \"el-icon-video-pause\",\r\n \"el-icon-video-camera-filled\",\r\n \"el-icon-view\",\r\n \"el-icon-wallet\",\r\n \"el-icon-warning-filled\",\r\n \"el-icon-watch\",\r\n \"el-icon-video-play\",\r\n \"el-icon-watermelon\",\r\n \"el-icon-video-camera\",\r\n \"el-icon-wallet-filled\",\r\n \"el-icon-warning\",\r\n \"el-icon-list\",\r\n \"el-icon-zoom-in\",\r\n \"el-icon-zoom-out\",\r\n \"el-icon-rank\",\r\n \"el-icon-wind-power\"\r\n ]\r\n }\r\n ]\r\n}","<template>\r\n <div class=\"lw-icon-select\">\r\n <el-input v-model=\"defaultValue\"\r\n :prefix-icon=\"defaultValue||'none'\"\r\n :placeholder=\"placeholder\"\r\n :clearable=\"clearable\"\r\n :disabled=\"disabled\">\r\n <template #append>\r\n <el-button icon=\"el-icon-more-filled\"\r\n @click=\"open\"></el-button>\r\n </template>\r\n </el-input>\r\n <el-dialog title=\"图标选择器\"\r\n v-model=\"dialogVisible\"\r\n :width=\"780\"\r\n destroy-on-close>\r\n <el-tabs style=\"margin-top: -30px;\" v-model=\"activeName\">\r\n <el-tab-pane v-for=\"item in data\"\r\n :key=\"item.name\"\r\n :name=\"item.key\"\r\n lazy>\r\n <template #label>\r\n {{item.name}} <el-tag size=\"small\"\r\n type=\"info\">{{item.icons.length}}</el-tag>\r\n </template>\r\n <div class=\"lw-icon-select__list\">\r\n <el-scrollbar>\r\n <ul @click=\"selectIcon\">\r\n <li v-for=\"icon in item.icons\"\r\n :key=\"icon\">\r\n <span :data-icon=\"icon\"></span>\r\n <el-icon>\r\n <component :is=\"icon\" />\r\n </el-icon>\r\n </li>\r\n </ul>\r\n </el-scrollbar>\r\n </div>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport config from \"./iconSelect\"\r\n\r\nexport default {\r\n props: {\r\n modelValue: { type: String, default: \"\" },\r\n placeholder: { type: String, default: \"请输入或者选择图标\" },\r\n clearable: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n },\r\n data () {\r\n return {\r\n defaultValue: '',\r\n activeName: 'element',\r\n dialogVisible: false,\r\n data: []\r\n }\r\n },\r\n watch: {\r\n modelValue (val) {\r\n this.defaultValue = val\r\n },\r\n defaultValue (val) {\r\n this.$emit('update:modelValue', val)\r\n }\r\n },\r\n mounted () {\r\n this.defaultValue = this.modelValue\r\n this.data.push(...config.icons)\r\n },\r\n methods: {\r\n open () {\r\n if (this.disabled) {\r\n return false\r\n }\r\n this.dialogVisible = true\r\n },\r\n selectIcon (e) {\r\n if (e.target.tagName != 'SPAN') {\r\n return false\r\n }\r\n this.defaultValue = e.target.dataset.icon\r\n this.dialogVisible = false\r\n this.$emit('update:modelValue', this.defaultValue);\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.lw-icon-select {\r\n display: inline-block;\r\n}\r\n.lw-icon-select__list {\r\n height: 360px;\r\n overflow: auto;\r\n}\r\n.lw-icon-select__list ul {\r\n}\r\n.lw-icon-select__list li {\r\n display: inline-block;\r\n width: 80px;\r\n height: 80px;\r\n margin: 5px;\r\n vertical-align: top;\r\n box-shadow: 0 0 0 1px #eee;\r\n transition: all 0.1s;\r\n border-radius: 4px;\r\n position: relative;\r\n}\r\n.lw-icon-select__list li span {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 1;\r\n cursor: pointer;\r\n}\r\n.lw-icon-select__list li i {\r\n display: inline-block;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 26px;\r\n color: #6d7882;\r\n background: #fff;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 4px;\r\n}\r\n.lw-icon-select__list li:hover {\r\n box-shadow: 0 0 1px 4px rgba(64, 158, 255, 1);\r\n}\r\n.lw-icon-select__list li:hover i {\r\n color: #409eff;\r\n}\r\n</style>\r\n","//表格选择器配置\r\n\r\nexport default {\r\n\tpageSize: 20, //表格每一页条数\r\n\tparseData: function (res) {\r\n\t\treturn {\r\n\t\t\tdata: res,\r\n\t\t\trows: res.content, //分析行数据字段结构\r\n\t\t\ttotal: res.totalElements, //分析总数字段结构\r\n\t\t\tmsg: res.message, //分析描述字段结构\r\n\t\t\tcode: res.code //分析状态字段结构\r\n\t\t}\r\n\t},\r\n\trequest: {\r\n\t\tpage: 'page', //规定当前分页字段\r\n\t\tpageSize: 'size', //规定一页条数字段\r\n\t\tkeyword: 'keyword' //规定搜索字段\r\n\t},\r\n\tprops: {\r\n\t\tlabel: 'label', //映射label显示字段\r\n\t\tvalue: 'value' //映射value值字段\r\n\t}\r\n}\r\n","<template>\r\n <el-select ref=\"select\"\r\n v-model=\"defaultValue\"\r\n :size=\"size\"\r\n :clearable=\"clearable\"\r\n :multiple=\"multiple\"\r\n :collapse-tags=\"collapseTags\"\r\n :collapse-tags-tooltip=\"collapseTagsTooltip\"\r\n :filterable=\"filterable\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :filter-method=\"filterMethod\"\r\n @remove-tag=\"removeTag\"\r\n @visible-change=\"visibleChange\"\r\n @clear=\"clear\">\r\n <template #empty>\r\n <div class=\"lw-table-select__table\"\r\n style=\"width: 100%;\"\r\n v-loading=\"loading\">\r\n <div class=\"lw-table-select__header\">\r\n <slot name=\"header\"\r\n :form=\"formData\"\r\n :submit=\"formSubmit\"></slot>\r\n </div>\r\n <el-table ref=\"table\"\r\n :data=\"tableData\"\r\n :max-height=\"245\"\r\n :highlight-current-row=\"!multiple\"\r\n @row-click=\"click\"\r\n @select=\"select\"\r\n @select-all=\"selectAll\">\r\n <el-table-column v-if=\"multiple\"\r\n type=\"selection\"\r\n width=\"45\"></el-table-column>\r\n <el-table-column v-else\r\n type=\"index\"\r\n width=\"45\">\r\n <template\r\n #default=\"scope\"><span>{{scope.$index+(currentPage - 1) * pageSize + 1}}</span></template>\r\n </el-table-column>\r\n <slot></slot>\r\n </el-table>\r\n <div class=\"lw-table-select__page\">\r\n <el-pagination small\r\n background\r\n layout=\"prev, pager, next\"\r\n :total=\"total\"\r\n :page-size=\"pageSize\"\r\n v-model:currentPage=\"currentPage\"\r\n @current-change=\"reload\"></el-pagination>\r\n </div>\r\n </div>\r\n </template>\r\n </el-select>\r\n</template>\r\n\r\n<script>\r\nimport config from \"./tableSelect\";\r\n\r\nexport default {\r\n props: {\r\n modelValue: null,\r\n apiObj: { type: Object, default: () => { } },\r\n params: { type: Object, default: () => { } },\r\n placeholder: { type: String, default: \"请选择\" },\r\n size: { type: String, default: \"default\" },\r\n clearable: { type: Boolean, default: false },\r\n multiple: { type: Boolean, default: false },\r\n filterable: { type: Boolean, default: false },\r\n collapseTags: { type: Boolean, default: false },\r\n collapseTagsTooltip: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n tableWidth: { type: Number, default: 400 },\r\n mode: { type: String, default: \"popover\" },\r\n\r\n // 定义什么参数就返回什么 value label 为 必须字段\r\n props: { type: Object, default: () => { } }\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n keyword: null,\r\n defaultValue: [],\r\n tableData: [],\r\n pageSize: config.pageSize,\r\n total: 0,\r\n currentPage: 1,\r\n defaultProps: {\r\n label: config.props.label,\r\n value: config.props.value,\r\n page: config.request.page,\r\n pageSize: config.request.pageSize,\r\n keyword: config.request.keyword\r\n },\r\n formData: {}\r\n }\r\n },\r\n computed: {\r\n\r\n },\r\n watch: {\r\n modelValue: {\r\n handler() {\r\n this.defaultValue = this.modelValue\r\n },\r\n deep: true\r\n }\r\n },\r\n mounted() {\r\n this.defaultProps = Object.assign(this.defaultProps, this.props);\r\n this.defaultValue = this.modelValue\r\n },\r\n methods: {\r\n //表格显示隐藏回调\r\n visibleChange(visible) {\r\n if (visible) {\r\n this.currentPage = 1\r\n this.keyword = null\r\n this.formData = {}\r\n this.getData()\r\n }\r\n },\r\n //获取表格数据\r\n async getData() {\r\n this.loading = true;\r\n var reqData = {\r\n [this.defaultProps.page]: this.currentPage - 1,\r\n [this.defaultProps.pageSize]: this.pageSize,\r\n [this.defaultProps.keyword]: this.keyword\r\n }\r\n Object.assign(reqData, this.params, this.formData)\r\n var res = await this.apiObj(reqData);\r\n var parseData = config.parseData(res)\r\n this.tableData = parseData.rows;\r\n this.total = parseData.total;\r\n this.loading = false;\r\n //表格默认赋值\r\n this.$nextTick(() => {\r\n if (this.multiple) {\r\n this.defaultValue.forEach(row => {\r\n var setrow = this.tableData.filter(item => item[this.defaultProps.value] === row['value'])\r\n if (setrow.length > 0) {\r\n this.$refs.table.toggleRowSelection(setrow[0], true);\r\n }\r\n })\r\n } else {\r\n var setrow = this.tableData.filter(item => item[this.defaultProps.value] === this.defaultValue['value'])\r\n this.$refs.table.setCurrentRow(setrow[0]);\r\n }\r\n this.$refs.table.setScrollTop(0)\r\n })\r\n },\r\n //插糟表单提交\r\n formSubmit() {\r\n this.currentPage = 1\r\n this.keyword = null\r\n this.getData()\r\n },\r\n //分页刷新表格\r\n reload() {\r\n this.getData()\r\n },\r\n // 处理选中值\r\n getCurVlaue(row) {\r\n const filteredRow = {};\r\n // 遍历 this.defaultProps 中定义的字段并保留对应的值\r\n Object.entries(this.defaultProps).forEach(([key, propKey]) => {\r\n\r\n if (row[propKey]) {\r\n filteredRow[key] = row[propKey]\r\n }\r\n\r\n });\r\n return filteredRow\r\n },\r\n //表格勾选事件\r\n select(rows, row) {\r\n var isSelect = rows.length && rows.indexOf(row) !== -1\r\n if (isSelect) {\r\n this.defaultValue.push(this.getCurVlaue(row))\r\n } else {\r\n this.defaultValue.splice(this.defaultValue.findIndex(item => item['value'] == row[this.defaultProps.value]), 1)\r\n }\r\n\r\n },\r\n //表格全选事件\r\n selectAll(rows) {\r\n var isAllSelect = rows.length > 0\r\n if (isAllSelect) {\r\n rows.forEach(row => {\r\n var isHas = this.defaultValue.find(item => item['value'] == row[this.defaultProps.value])\r\n if (!isHas) {\r\n this.defaultValue.push(this.getCurVlaue(row))\r\n }\r\n\r\n })\r\n } else {\r\n this.defaultValue = []\r\n }\r\n this.$emit('update:modelValue', this.defaultValue);\r\n this.$emit('change', this.defaultValue);\r\n },\r\n click(row) {\r\n if (this.multiple) {\r\n //处理多选点击行\r\n } else {\r\n this.defaultValue = this.getCurVlaue(row)\r\n this.$refs.select.blur()\r\n this.$emit('update:modelValue', this.defaultValue);\r\n this.$emit('change', this.defaultValue);\r\n }\r\n },\r\n //tags删除后回调\r\n removeTag(tag) {\r\n var row = this.findRowByKey(tag[this.defaultProps.value])\r\n this.$refs.table.toggleRowSelection(row, false);\r\n this.$emit('update:modelValue', this.defaultValue);\r\n },\r\n //清空后的回调\r\n clear() {\r\n this.$emit('update:modelValue', this.defaultValue);\r\n },\r\n // 关键值查询表格数据行\r\n findRowByKey(value) {\r\n return this.tableData.find(item => item[this.defaultProps.value] === value)\r\n },\r\n filterMethod(keyword) {\r\n if (!keyword) {\r\n this.keyword = null;\r\n return false;\r\n }\r\n this.keyword = keyword;\r\n this.getData()\r\n },\r\n // 触发select隐藏\r\n blur() {\r\n this.$refs.select.blur();\r\n },\r\n // 触发select显示\r\n focus() {\r\n this.$refs.select.focus();\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.lw-table-select__table {\r\n padding: 12px;\r\n}\r\n.lw-table-select__page {\r\n padding-top: 12px;\r\n}\r\n</style>\r\n","let langJson = localStorage.getItem('langMessageUi')\r\nlet lang = JSON.parse(langJson)\r\nlet messages = { ...lang }\r\n\r\n// 动态加载 locale 文件并合并到 messages 中\r\nconst loadLocaleMessages = async () => {\r\n\tconst locales = import.meta.glob('../components/**/locale/*.(js|ts)')\r\n\tconst paths = Object.keys(locales)\r\n\tfor (const path of paths) {\r\n\t\tconst matched = path.match(/locale\\/([a-z-]+)\\.(js|ts)$/i)\r\n\t\tif (matched && matched[1]) {\r\n\t\t\tconst locale = matched[1].toLowerCase()\r\n\t\t\tconst module = await locales[path]()\r\n\t\t\tif (!messages[locale]) {\r\n\t\t\t\tmessages[locale] = {}\r\n\t\t\t}\r\n\t\t\tObject.assign(messages[locale], module.default)\r\n\t\t}\r\n\t}\r\n\tlocalStorage.setItem('langMessageUi', JSON.stringify(messages))\r\n\treturn messages\r\n}\r\n\r\nloadLocaleMessages()\r\nexport default messages\r\n","import '@/assets/scss/index.scss'\r\nimport lwLayout from './components/lwLayout/index.vue'\r\nimport lwLogin from './components/lwLogin/index.vue'\r\nimport lwSearch from './components/lwSearch/index.vue'\r\nimport lwSvgIcon from './components/lwSvgIcon/index.vue'\r\nimport lwTable from './components/lwTable/index.vue'\r\nimport lwForm from './components/lwForm/index.vue'\r\nimport lwUpload from './components/lwUpload/index.vue'\r\nimport lwIconSelect from './components/lwIconSelect/index.vue'\r\nimport lwTableSelect from './components/lwTableSelect/index.vue'\r\n\r\n// 国际化配置内容\r\nimport uiI18n from './utils/i18n'\r\n\r\nfunction install(app, options = {}) {\r\n\t// 如果没有前置在组件库前面的全局变量 可以手动注入\r\n\tif (options) {\r\n\t\tfor (const key in options) {\r\n\t\t\tif (options.hasOwnProperty(key)) {\r\n\t\t\t\tapp.config.globalProperties[`$${key.toUpperCase()}`] = options[key]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tapp.component('lwLayout', lwLayout)\r\n\tapp.component('lwLogin', lwLogin)\r\n\tapp.component('lwSearch', lwSearch)\r\n\tapp.component('lwSvgIcon', lwSvgIcon)\r\n\tapp.component('lwTable', lwTable)\r\n\tapp.component('lwForm', lwForm)\r\n\tapp.component('lwUpload', lwUpload)\r\n\tapp.component('lwIconSelect', lwIconSelect)\r\n\tapp.component('lwTableSelect', lwTableSelect)\r\n}\r\nexport { lwLayout, lwLogin, lwSearch, lwSvgIcon, lwTable, lwForm, lwUpload, lwIconSelect, lwTableSelect, uiI18n }\r\nexport default {\r\n\tinstall,\r\n\tuiI18n\r\n}\r\n"],"names":["_sfc_main","item","_hoisted_2","_openBlock","_createElementBlock","_Fragment","$props","_hoisted_1","_createVNode","_component_el_alert","_createCommentVNode","_renderList","navMenu","$options","_createBlock","_component_el_sub_menu","_component_el_icon","_withCtx","_resolveDynamicComponent","_createElementVNode","_toDisplayString","_component_NavMenu","_component_el_menu_item","_withModifiers","menu","e","isdrag","map","newMap","el","oDiv","firstTime","lastTime","disX","disY","l","t","_cache","$event","_component_el_icon_menu","_component_el_drawer","$data","_component_el_container","_component_el_header","_ctx","_component_el_main","_component_el_scrollbar","_component_el_menu","grantedApplications","ev","popover","menuItem","_hoisted_3","_hoisted_4","_hoisted_5","_component_el_popover","_createTextVNode","_component_el_icon_close","_component_el_divider","_normalizeClass","matched","_component_el_breadcrumb","_TransitionGroup","_component_el_breadcrumb_item","_renderSlot","tags","value","_this","cm","sp","dashboardRoute","node","tree","func","data","res","target","route","tag","autoPushLatestView","latestView","nowTag","url","scrollDiv","handler","event","detail","moveForwardStep","moveBackStep","step","_component_router_link","_Transition","_normalizeStyle","_component_el_icon_refresh","_component_el_icon_folder_delete","_component_el_icon_full_screen","_component_el_icon_copy_document","command","initialized","buCode","args","_component_el_dropdown","_component_el_dropdown_menu","_component_el_dropdown_item","_component_el_icon_help","loading","element","_component_bu","_component_el_avatar","str","hxs","i","a","b","c","hexs","color","level","rgbc","val","lang","_component_el_button","_component_el_form","_component_el_form_item","_component_el_switch","_component_el_color_picker","_component_el_select","_component_el_option","_component_Lang","_withDirectives","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","_hoisted_11","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_29","_hoisted_30","_component_userbar","_hoisted_9","_component_el_icon_expand","_component_el_icon_fold","_component_Side_m","_component_Topbar","_component_Tags","_hoisted_12","_component_router_view","Component","_KeepAlive","_component_iframe_view","_hoisted_13","_component_Aside","_hoisted_22","_hoisted_28","_hoisted_31","_hoisted_32","_hoisted_33","_component_el_icon_brush_filled","_component_setting","module","r","n","s","o","h","u","f","p","g","ct","d","v","m","y","T","S","E","w","D","x","R","B","O","A","M","K","I","N","U","P","V","F","L","j","q","H","C","k","_","z","Z","G","$","Y","J","X","Q","W","tt","et","it","rt","nt","st","ot","ht","at","ut","curret_user","curret_bu","curret_list","getCookie","name","nameEQ","cookies","cookie","authorization","parts","user","bu","bu_list","publicKey","txt","encryptor","token","_component_el_input","_component_el_row","_component_el_col","_component_el_checkbox","newVal","items","index","_component_el_tooltip","props","context","state","valueFormat","_component_el_date_picker","$setup","formattedValue","displayValue","togglePanel","handleTabClick","pickerChange","deleteSingleDate","pickerBlur","handleClear","_component_el_icon_calendar","_component_el_tabs","_component_el_tab_pane","_Teleport","date","_component_Close","_vShow","this","type","formEl","valid","vis","tempObj","obj","resObj","rObj","currentSource","limitDate","_withScopeId","__props","symbolId","isFullscreen","enterFullscreen","exitFullscreen","toggleFullScreen","handleFullscreenChange","multipleTable","$bus","$tool","list","isFull","arr","selectedKeysForm","selectGoodsDatas","selectAllGoods","allArr","allObj","newAllArr","cur","next","newArr","handleChange","currentData","handleSelectionChange","handleCurrentChange","sizeChange","currentChange","page","refresh","toggleRowChange","row","status","clearTableSelection","allowDrop","draggingNode","dropNode","allowDrag","tableSetting","num","prev","tableHeaderConfirm","download","fileUrl","sortChange","column","prop","order","getHeader","header","handleSelect","onDrop","info","dropPosition","dragNode","loop","key","callback","checkAll","selected","treeCheck","tableToggleFullScreen","fixNumChange","setSelectAll","setSelect","rowKey","selectedKeys","selectAll","select","rowKeys","record","changeColWidth","newWidth","oldWidth","property","_pushScopeId","_popScopeId","_directive_loading","_resolveDirective","_component_el_table","hoverable","_component_el_table_column","scope","_component_el_icon_more","_component_el_image","_component_el_progress","_component_el_icon_set_up","_component_el_icon_setting","_component_el_checkbox_group","$t","_component_el_input_number","_component_el_pagination","file","files","os","response","err","param","apiObj","complete","_component_el_icon_delete","_component_el_upload","option","remoteData","req","obj1","obj2","_component_el_skeleton","_component_el_icon_question_filled","_item","_index","_component_lw_upload","_component_sc_upload","_component_el_cascader","_component_el_radio_group","_component_el_radio","_component_el_rate","_component_el_slider","_component_el_tag","config","_component_el_dialog","icon","visible","reqData","parseData","setrow","filteredRow","propKey","rows","isSelect","isAllSelect","isHas","keyword","locales","paths","path","locale","app","options","uiI18n"],"mappings":"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AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;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","x_google_ignoreList":[13,23]}
1
+ {"version":3,"file":"lw-cdp-ui.esm.js","sources":["../src/components/lwLayout/components/NavMenu.vue","../../../../../images/logo.jpg","../src/components/lwLayout/components/sideM.vue","../src/components/lwLayout/components/aside.vue","../src/components/lwLayout/components/topbar.vue","../src/components/lwLayout/components/tags.vue","../src/components/lwLayout/components/bu.vue","../src/components/lwLayout/components/userbar.vue","../src/utils/color.js","../src/components/lwLayout/components/lang.vue","../src/components/lwLayout/components/setting.vue","../src/components/lwLayout/components/iframeView.vue","../src/components/lwLayout/index.vue","../node_modules/.store/jsencrypt@3.3.2/node_modules/jsencrypt/bin/jsencrypt.min.js","../../../../../images/video-poster.png","../../../../../images/video-bg.mp4","../../../../../images/logo2.png","../src/components/lwLogin/index.vue","../src/components/lwSearch/input/input.vue","../src/components/lwSearch/select/select.vue","../src/components/lwSearch/date/date.vue","../src/components/lwSearch/dates/dates.vue","../src/components/lwSearch/dateRange/dateRange.vue","../node_modules/.store/dayjs@1.11.12/node_modules/dayjs/dayjs.min.js","../src/components/lwSearch/index.vue","../src/components/lwSvgIcon/index.vue","../src/components/lwTable/useFullscreen.js","../src/components/lwTable/index.js?vue&type=script&src=true&lang.js","../src/components/lwTable/index.vue","../src/components/lwUpload/index.vue","../src/components/lwForm/index.vue","../src/components/lwIconSelect/iconSelect.js","../src/components/lwIconSelect/index.vue","../src/components/lwTableSelect/tableSelect.js","../src/components/lwTableSelect/index.vue","../src/utils/i18n.js","../src/index.js"],"sourcesContent":["<template>\r\n\t<div v-if=\"navMenus.length<=0\" style=\"padding:20px;\">\r\n\t\t<el-alert title=\"无子集菜单\" center type=\"info\" :closable=\"false\"></el-alert>\r\n\t</div>\r\n\t<template v-for=\"navMenu in navMenus\" v-bind:key=\"navMenu\">\r\n\t\t<el-menu-item v-if=\"!hasChildren(navMenu)\" :index=\"navMenu.path\">\r\n\t\t\t<a v-if=\"navMenu.meta&&navMenu.meta.type=='link'\" :href=\"navMenu.path\" target=\"_blank\" @click.stop='()=>{}'></a>\r\n\t\t\t<el-icon v-if=\"navMenu.meta&&navMenu.meta.icon\"><component :is=\"navMenu.meta.icon || 'el-icon-menu'\"/></el-icon>\r\n\t\t\t<template #title>\r\n\t\t\t\t<span>{{navMenu.meta.title}}</span>\r\n\t\t\t</template>\r\n\t\t</el-menu-item>\r\n\t\t<el-sub-menu v-else :index=\"navMenu.path\">\r\n\t\t\t<template #title>\r\n\t\t\t\t<el-icon v-if=\"navMenu.meta&&navMenu.meta.icon\"><component :is=\"navMenu.meta.icon || 'el-icon-menu'\"/></el-icon>\r\n\t\t\t\t<span>{{navMenu.meta.title}}</span>\r\n\t\t\t</template>\r\n\t\t\t<NavMenu :navMenus=\"navMenu.children\"></NavMenu>\r\n\t\t</el-sub-menu>\r\n\t</template>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'NavMenu',\r\n\t\tprops: ['navMenus'],\r\n\t\tdata() {\r\n\t\t\treturn {}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\thasChildren(item) {\r\n\t\t\t\treturn item.children && !item.children.every(item => item.meta.hidden)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n","export default \"__VITE_PUBLIC_ASSET__220a3c9b__\"","<template>\r\n\t<div ref=\"\" class=\"mobile-nav-button\" @click=\"showMobileNav($event)\" v-drag draggable=\"false\"><el-icon><el-icon-menu /></el-icon></div>\r\n\r\n\t<el-drawer ref=\"mobileNavBox\" title=\"移动端菜单\" :size=\"240\" v-model=\"nav\" direction=\"ltr\" :with-header=\"false\" destroy-on-close>\r\n\t\t<el-container class=\"mobile-nav\">\r\n\t\t\t<el-header>\r\n\t\t\t\t<div class=\"logo-bar\"><img class=\"logo\" :src=\"logo\"><span>{{ $config.APP_NAME }}</span></div>\r\n\t\t\t</el-header>\r\n\t\t\t<el-main>\r\n\t\t\t\t<el-scrollbar>\r\n\t\t\t\t\t<el-menu :default-active=\"$route.meta.active || $route.fullPath\" @select=\"select\" router background-color=\"#212d3d\" text-color=\"#fff\" active-text-color=\"#409EFF\">\r\n\t\t\t\t\t\t<NavMenu :navMenus=\"menu\"></NavMenu>\r\n\t\t\t\t\t</el-menu>\r\n\t\t\t\t</el-scrollbar>\r\n\t\t\t</el-main>\r\n\t\t</el-container>\r\n\t</el-drawer>\r\n\r\n</template>\r\n\r\n<script>\r\n\timport NavMenu from './NavMenu.vue';\r\n\timport logo from '/images/logo.jpg';\r\n\texport default {\r\n\t\tcomponents: {\r\n\t\t\tNavMenu\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tlogo,\r\n\t\t\t\tnav: false,\r\n\t\t\t\tmenu: []\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomputed:{\r\n\r\n\t\t},\r\n\t\tcreated() {\r\n\t\t\tvar menu = this.$router.sc_getMenu()\r\n\t\t\tthis.menu = this.filterUrl(menu)\r\n\t\t},\r\n\r\n\t\twatch: {\r\n\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tshowMobileNav(e){\r\n\t\t\t\tvar isdrag = e.currentTarget.getAttribute('drag-flag')\r\n\t\t\t\tif (isdrag == 'true') {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tthis.nav = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t},\r\n\t\t\tselect(){\r\n\t\t\t\tthis.$refs.mobileNavBox.handleClose()\r\n\t\t\t},\r\n\t\t\t//转换外部链接的路由\r\n\t\t\tfilterUrl(map){\r\n\t\t\t\tvar newMap = []\r\n\t\t\t\tmap && map.forEach(item => {\r\n\t\t\t\t\titem.meta = item.meta?item.meta:{};\r\n\t\t\t\t\t//处理隐藏\r\n\t\t\t\t\tif(item.meta.hidden || item.meta.type==\"button\"){\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//处理http\r\n\t\t\t\t\tif(item.meta.type=='iframe'){\r\n\t\t\t\t\t\titem.path = `/i/${item.name}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//递归循环\r\n\t\t\t\t\tif(item.children&&item.children.length > 0){\r\n\t\t\t\t\t\titem.children = this.filterUrl(item.children);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewMap.push(item)\r\n\t\t\t\t})\r\n\t\t\t\treturn newMap;\r\n\t\t\t}\r\n\t\t},\r\n\t\tdirectives: {\r\n\t\t\tdrag(el){\r\n\t\t\t\tlet oDiv = el; //当前元素\r\n\t\t\t\tlet firstTime='',lastTime='';\r\n\t\t\t\t//禁止选择网页上的文字\r\n\t\t\t\t// document.onselectstart = function() {\r\n\t\t\t\t// \treturn false;\r\n\t\t\t\t// };\r\n\t\t\t\toDiv.onmousedown = function(e){\r\n\t\t\t\t\t//鼠标按下,计算当前元素距离可视区的距离\r\n\t\t\t\t\tlet disX = e.clientX - oDiv.offsetLeft;\r\n\t\t\t\t\tlet disY = e.clientY - oDiv.offsetTop;\r\n\t\t\t\t\tdocument.onmousemove = function(e){\r\n\t\t\t\t\t\toDiv.setAttribute('drag-flag', true);\r\n\t\t\t\t\t\tfirstTime = new Date().getTime();\r\n\t\t\t\t\t\t//通过事件委托,计算移动的距离\r\n\t\t\t\t\t\tlet l = e.clientX - disX;\r\n\t\t\t\t\t\tlet t = e.clientY - disY;\r\n\r\n\t\t\t\t\t\t//移动当前元素\r\n\r\n\t\t\t\t\t\tif(t > 0 && t < document.body.clientHeight - 50){\r\n\t\t\t\t\t\t\toDiv.style.top = t + \"px\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(l > 0 && l < document.body.clientWidth - 50){\r\n\t\t\t\t\t\t\toDiv.style.left = l + \"px\";\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdocument.onmouseup = function(){\r\n\t\t\t\t\t\tlastTime = new Date().getTime();\r\n\t\t\t\t\t\tif( (lastTime - firstTime)>200 ){\r\n\t\t\t\t\t\t\toDiv.setAttribute('drag-flag', false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdocument.onmousemove = null;\r\n\t\t\t\t\t\tdocument.onmouseup = null;\r\n\t\t\t\t\t};\r\n\t\t\t\t\t//return false不加的话可能导致黏连,就是拖到一个地方时div粘在鼠标上不下来,相当于onmouseup失效\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped>\r\n\t.mobile-nav-button {position: fixed;bottom:10px;left:10px;z-index: 10;width: 50px;height: 50px;background: #409EFF;box-shadow: 0 2px 12px 0 rgba(64, 158, 255, 1);border-radius: 50%;display: flex;align-items: center;justify-content: center;}\r\n\t.mobile-nav-button i {color: #fff;font-size: 20px;}\r\n\r\n\t.mobile-nav {background: #212d3d;}\r\n\t.mobile-nav .el-header {background: transparent;border: 0;}\r\n\t.mobile-nav .el-main {padding:0;}\r\n\t.mobile-nav .logo-bar {display: flex;align-items: center;font-weight: bold;font-size: 20px;color: #fff;}\r\n\t.mobile-nav .logo-bar img {width: 30px;margin-right: 10px;}\r\n\t.mobile-nav .el-submenu__title:hover {background: #fff!important;}\r\n</style>\r\n","<template>\r\n <div class=\"layout-aside\">\r\n\r\n <img class=\"logo\"\r\n :src=\"logo\"\r\n alt=\"\">\r\n\r\n <el-popover placement=\"right\"\r\n :width=\"180\"\r\n trigger=\"click\"\r\n :show-arrow=\"false\"\r\n :offset=\"3\"\r\n popper-class=\"app-popper\"\r\n ref=\"popoverRef\">\r\n <template #reference>\r\n <p>\r\n <el-icon class=\"menu-btn\">\r\n <component is=\"el-icon-grid\" />\r\n </el-icon>\r\n </p>\r\n </template>\r\n <div class=\"app-content\">\r\n <div class=\"app-title\">\r\n 应用中心\r\n <el-icon class=\"iconClose\"\r\n @click=\"closePopover\">\r\n <el-icon-close />\r\n </el-icon>\r\n </div>\r\n <el-divider style=\"margin: 5px 0;\" />\r\n <template v-if=\"grantedApplications.length > 0\">\r\n <div class=\"menu-item\"\r\n @click=\"switchMenu(item)\"\r\n v-for=\"item in grantedApplications\"\r\n :key=\"item.resourceId\">\r\n <i class=\"iconfont\"\r\n :class=\"item.icon\"\r\n style=\"margin-right: 5px;\"></i>\r\n {{ item.name}}\r\n </div>\r\n </template>\r\n\r\n </div>\r\n </el-popover>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport logo from '/images/logo.jpg';\r\nexport default {\r\n name: 'layoutAside',\r\n props: {\r\n },\r\n data() {\r\n return {\r\n logo,\r\n popVisible: false,\r\n grantedApplications: [],\r\n };\r\n },\r\n mounted() {\r\n let { grantedApplications } = this.$tool.data.get('userAuthInfo');\r\n this.grantedApplications = grantedApplications\r\n document.addEventListener('click', this.handleDocumentClick);\r\n },\r\n beforeDestroy() {\r\n document.removeEventListener('click', this.handleDocumentClick);\r\n },\r\n methods: {\r\n handleDocumentClick(ev) {\r\n let popover = document.getElementById('popover');\r\n if (this.popVisible && (ev.target !== popover) && !popover.contains(ev.target)) {\r\n this.popVisible = false;\r\n }\r\n },\r\n switchMenu(menuItem) {\r\n window.location.href = menuItem.url;\r\n },\r\n closePopover() {\r\n this.$refs.popoverRef.hide(); // 关闭 popover\r\n },\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.layout-aside {\r\n width: 100%;\r\n height: 100%;\r\n border-bottom: 1px solid var(--el-mask-color-extra-light);\r\n .logo {\r\n width: 100%;\r\n height: auto;\r\n display: block;\r\n }\r\n\r\n .menu-btn {\r\n font-size: 24px;\r\n color: #95989d;\r\n }\r\n .el-tooltip__trigger {\r\n text-align: center;\r\n padding: 10px;\r\n cursor: pointer;\r\n &:hover {\r\n background-color: var(--el-menu-hover-bg-color);\r\n .menu-btn {\r\n color: var(--el-menu-active-color);\r\n }\r\n }\r\n }\r\n\r\n .menu-container {\r\n display: flex;\r\n flex: 1;\r\n flex-direction: column;\r\n align-items: center;\r\n width: inherit;\r\n\r\n .logo {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: inherit;\r\n height: 50px;\r\n cursor: pointer;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n .fixed-menu-list {\r\n flex: 1;\r\n width: inherit;\r\n height: 100%;\r\n }\r\n .app-box {\r\n width: 50px;\r\n height: 50px;\r\n color: #95989d;\r\n }\r\n .app-box:hover {\r\n background: #eeeefc;\r\n color: #3d3ad9;\r\n }\r\n }\r\n\r\n .menu-container,\r\n .footer {\r\n p {\r\n width: 50px;\r\n height: 50px;\r\n margin: auto;\r\n line-height: 50px;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n\r\n .iconfont {\r\n color: inherit;\r\n font-size: 18px;\r\n padding: 15px;\r\n }\r\n }\r\n\r\n .setting {\r\n transform: rotate(180deg);\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.pop-menu {\r\n min-width: 104px;\r\n height: fit-content;\r\n padding: 10px 0;\r\n overflow-y: auto;\r\n border: 1px solid #eaeaeb;\r\n border-radius: 2px;\r\n box-shadow: 0 2px 4px rgba(39, 40, 42, 0.15);\r\n\r\n // &.side-popover {\r\n // top: 50px !important;\r\n // left: 50px !important;\r\n // max-height: calc(100vh - 80px);\r\n // }\r\n\r\n // &.header-popover {\r\n // top: 35px !important;\r\n // right: 76px !important;\r\n // left: auto !important;\r\n // max-height: calc(100vh - 80px);\r\n // }\r\n}\r\n\r\n.menu-item {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n height: 32px;\r\n padding: 0 8px;\r\n color: #6a6d73;\r\n cursor: pointer;\r\n\r\n &.fixed {\r\n color: #27282a;\r\n font-weight: bold;\r\n\r\n .iconfont {\r\n color: #3d3ad9;\r\n font-weight: normal;\r\n }\r\n\r\n .iconfont.iconMinus-Circle {\r\n color: #ccccf5;\r\n }\r\n }\r\n\r\n &:hover {\r\n background: #eeeefc;\r\n color: #3d3ad9;\r\n\r\n &.fixed .iconfont.iconFixed {\r\n display: none !important;\r\n }\r\n\r\n .iconfont {\r\n display: block !important;\r\n\r\n color: #3d3ad9;\r\n }\r\n }\r\n\r\n .iconfont {\r\n width: 16px;\r\n height: 16px;\r\n color: #95989d;\r\n line-height: 15px;\r\n\r\n &.iconFixed {\r\n display: none;\r\n color: #9a98eb;\r\n font-size: 14px;\r\n cursor: pointer;\r\n }\r\n\r\n &.iconDrag1 {\r\n display: none;\r\n margin-left: 8px;\r\n color: #9a98eb;\r\n font-size: 14px;\r\n cursor: grab;\r\n }\r\n }\r\n\r\n .name {\r\n flex: 1;\r\n margin-left: 8px;\r\n overflow: hidden;\r\n color: inherit;\r\n font-size: 12px;\r\n line-height: 32px;\r\n text-align: left;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n}\r\n\r\n.app-popper {\r\n padding: 10px 0 !important;\r\n top: 50px !important;\r\n .app-title {\r\n font-size: 12px;\r\n font-weight: bold;\r\n line-height: 19px;\r\n height: 19px;\r\n padding: 0 10px 2px;\r\n .iconClose {\r\n position: absolute;\r\n top: 10px;\r\n right: 8px;\r\n color: #d5d6d8;\r\n font-weight: normal;\r\n cursor: pointer;\r\n font-size: 16px;\r\n &:hover {\r\n color: #3d3ad9;\r\n }\r\n }\r\n }\r\n}\r\n\r\n</style>\r\n\r\n","<template>\r\n <div class=\"adminui-topbar\">\r\n <div class=\"left-panel\">\r\n <el-breadcrumb separator-icon=\"el-icon-arrow-right\"\r\n class=\"hidden-sm-and-down\">\r\n <transition-group name=\"breadcrumb\">\r\n <template v-for=\"item in breadList\"\r\n :key=\"item.title\">\r\n <el-breadcrumb-item v-if=\"item.path!='/' && !item.meta.hiddenBreadcrumb\"\r\n :key=\"item.meta.title\"><el-icon class=\"icon\"\r\n v-if=\"item.meta.icon\">\r\n <component :is=\"item.meta.icon\" />\r\n </el-icon>{{item.meta.title}}</el-breadcrumb-item>\r\n </template>\r\n </transition-group>\r\n </el-breadcrumb>\r\n </div>\r\n <div class=\"center-panel\"></div>\r\n <div class=\"right-panel\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data() {\r\n return {\r\n breadList: []\r\n }\r\n },\r\n created() {\r\n this.getBreadcrumb();\r\n },\r\n watch: {\r\n $route() {\r\n this.getBreadcrumb();\r\n },\r\n },\r\n methods: {\r\n getBreadcrumb() {\r\n let matched = this.$route.meta.breadcrumb;\r\n this.breadList = matched;\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.el-breadcrumb {\r\n margin-left: 15px;\r\n}\r\n.el-breadcrumb .el-breadcrumb__inner .icon {\r\n font-size: 14px;\r\n margin-right: 5px;\r\n float: left;\r\n}\r\n.breadcrumb-enter-active,\r\n.breadcrumb-leave-active {\r\n transition: all 0.3s;\r\n}\r\n.breadcrumb-enter-from,\r\n.breadcrumb-leave-active {\r\n opacity: 0;\r\n transform: translateX(20px);\r\n}\r\n.breadcrumb-leave-active {\r\n position: absolute;\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"adminui-tags\">\r\n <ul ref=\"tags\">\r\n <li v-for=\"tag in tagList\"\r\n v-bind:key=\"tag\"\r\n :class=\"[isActive(tag)?'active':'',tag.meta.affix?'affix':'' ]\"\r\n @contextmenu.prevent=\"openContextMenu($event, tag)\">\r\n <router-link :to=\"tag\">\r\n <span>{{ tag.meta.title }}</span>\r\n <el-icon v-if=\"!tag.meta.affix\"\r\n @click.prevent.stop='closeSelectedTag(tag)'><el-icon-close /></el-icon>\r\n </router-link>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <transition name=\"el-zoom-in-top\">\r\n <ul v-if=\"contextMenuVisible\"\r\n :style=\"{left:left+'px',top:top+'px'}\"\r\n class=\"contextmenu\"\r\n id=\"contextmenu\">\r\n <li @click=\"refreshTab()\"><el-icon><el-icon-refresh /></el-icon>刷新</li>\r\n <hr>\r\n <li @click=\"closeTabs()\"\r\n :class=\"contextMenuItem.meta.affix?'disabled':''\">\r\n <el-icon><el-icon-close /></el-icon>关闭标签\r\n </li>\r\n <li @click=\"closeOtherTabs()\">\r\n <el-icon><el-icon-folder-delete /></el-icon>关闭其他标签\r\n </li>\r\n <hr>\r\n <li @click=\"maximize()\"><el-icon><el-icon-full-screen /></el-icon>最大化</li>\r\n <li @click=\"openWindow()\">\r\n <el-icon><el-icon-copy-document /></el-icon>在新的窗口中打开\r\n </li>\r\n </ul>\r\n </transition>\r\n</template>\r\n\r\n<script>\r\nimport Sortable from 'sortablejs'\r\n\r\nexport default {\r\n name: \"tags\",\r\n data() {\r\n return {\r\n contextMenuVisible: false,\r\n contextMenuItem: null,\r\n left: 0,\r\n top: 0,\r\n tipVisible: false,\r\n tipDisplayed: false\r\n }\r\n },\r\n props: {},\r\n computed: {\r\n tagList() {\r\n return this.$store.state.viewTags.viewTags\r\n }\r\n },\r\n watch: {\r\n $route(e) {\r\n this.addViewTags(e);\r\n //判断标签容器是否出现滚动条\r\n this.$nextTick(() => {\r\n const tags = this.$refs.tags\r\n if (tags && tags.scrollWidth > tags.clientWidth) {\r\n //确保当前标签在可视范围内\r\n let targetTag = tags.querySelector(\".active\")\r\n targetTag.scrollIntoView()\r\n //显示提示\r\n if (!this.tipDisplayed) {\r\n this.tipVisible = true\r\n }\r\n }\r\n })\r\n },\r\n contextMenuVisible(value) {\r\n var _this = this;\r\n var cm = function (e) {\r\n let sp = document.getElementById(\"contextmenu\");\r\n if (sp && !sp.contains(e.target)) {\r\n _this.closeMenu()\r\n }\r\n }\r\n if (value) {\r\n document.body.addEventListener('click', e => cm(e))\r\n } else {\r\n document.body.removeEventListener('click', e => cm(e))\r\n }\r\n },\r\n\r\n },\r\n created() {\r\n this.init()\r\n },\r\n mounted() {\r\n this.tagDrop();\r\n this.scrollInit()\r\n },\r\n methods: {\r\n // 初始化\r\n init() {\r\n var menu = this.$router.sc_getMenu()\r\n var dashboardRoute = this.treeFind(menu, node => node.path == this.$config.DASHBOARD_URL)\r\n if (dashboardRoute) {\r\n dashboardRoute.fullPath = dashboardRoute.path\r\n this.addViewTags(dashboardRoute)\r\n this.addViewTags(this.$route)\r\n }\r\n },\r\n //查找树\r\n treeFind(tree, func) {\r\n for (const data of tree) {\r\n if (func(data)) return data\r\n if (data.children) {\r\n const res = this.treeFind(data.children, func)\r\n if (res) return res\r\n }\r\n }\r\n return null\r\n },\r\n //标签拖拽排序\r\n tagDrop() {\r\n const target = this.$refs.tags\r\n Sortable.create(target, {\r\n draggable: 'li',\r\n animation: 300\r\n })\r\n },\r\n //增加tag\r\n addViewTags(route) {\r\n if (route.name && !route.meta.fullpage) {\r\n this.$store.commit(\"pushViewTags\", route)\r\n this.$store.commit(\"pushKeepLive\", route.name)\r\n }\r\n },\r\n //高亮tag\r\n isActive(route) {\r\n return route.fullPath === this.$route.fullPath\r\n },\r\n //关闭tag\r\n closeSelectedTag(tag, autoPushLatestView = true) {\r\n this.$store.commit(\"removeViewTags\", tag)\r\n this.$store.commit(\"removeIframeList\", tag)\r\n this.$store.commit(\"removeKeepLive\", tag.name)\r\n if (autoPushLatestView && this.isActive(tag)) {\r\n const latestView = this.tagList.slice(-1)[0]\r\n if (latestView) {\r\n this.$router.push(latestView)\r\n } else {\r\n this.$router.push('/')\r\n }\r\n }\r\n },\r\n //tag右键\r\n openContextMenu(e, tag) {\r\n this.contextMenuItem = tag;\r\n this.contextMenuVisible = true;\r\n this.left = e.clientX + 1;\r\n this.top = e.clientY + 1;\r\n\r\n //FIX 右键菜单边缘化位置处理\r\n this.$nextTick(() => {\r\n let sp = document.getElementById(\"contextmenu\");\r\n if (document.body.offsetWidth - e.clientX < sp.offsetWidth) {\r\n this.left = document.body.offsetWidth - sp.offsetWidth + 1;\r\n this.top = e.clientY + 1;\r\n }\r\n })\r\n },\r\n //关闭右键菜单\r\n closeMenu() {\r\n this.contextMenuItem = null;\r\n this.contextMenuVisible = false\r\n },\r\n //TAB 刷新\r\n refreshTab() {\r\n var nowTag = this.contextMenuItem;\r\n this.contextMenuVisible = false\r\n //判断是否当前路由,否的话跳转\r\n if (this.$route.fullPath != nowTag.fullPath) {\r\n this.$router.push({\r\n path: nowTag.fullPath,\r\n query: nowTag.query\r\n })\r\n }\r\n this.$store.commit(\"refreshIframe\", nowTag)\r\n var _this = this;\r\n setTimeout(function () {\r\n _this.$store.commit(\"removeKeepLive\", nowTag.name)\r\n _this.$store.commit(\"setRouteShow\", false)\r\n _this.$nextTick(() => {\r\n _this.$store.commit(\"pushKeepLive\", nowTag.name)\r\n _this.$store.commit(\"setRouteShow\", true)\r\n })\r\n }, 0);\r\n },\r\n //TAB 关闭\r\n closeTabs() {\r\n var nowTag = this.contextMenuItem;\r\n if (!nowTag.meta.affix) {\r\n this.closeSelectedTag(nowTag)\r\n this.contextMenuVisible = false\r\n }\r\n },\r\n //TAB 关闭其他\r\n closeOtherTabs() {\r\n var nowTag = this.contextMenuItem;\r\n //判断是否当前路由,否的话跳转\r\n if (this.$route.fullPath != nowTag.fullPath) {\r\n this.$router.push({\r\n path: nowTag.fullPath,\r\n query: nowTag.query\r\n })\r\n }\r\n var tags = [...this.tagList];\r\n tags.forEach(tag => {\r\n if (tag.meta && tag.meta.affix || nowTag.fullPath == tag.fullPath) {\r\n return true\r\n } else {\r\n this.closeSelectedTag(tag, false)\r\n }\r\n })\r\n this.contextMenuVisible = false\r\n },\r\n //TAB 最大化\r\n maximize() {\r\n var nowTag = this.contextMenuItem;\r\n this.contextMenuVisible = false\r\n //判断是否当前路由,否的话跳转\r\n if (this.$route.fullPath != nowTag.fullPath) {\r\n this.$router.push({\r\n path: nowTag.fullPath,\r\n query: nowTag.query\r\n })\r\n }\r\n document.getElementById('app').classList.add('main-maximize')\r\n },\r\n //新窗口打开\r\n openWindow() {\r\n var nowTag = this.contextMenuItem;\r\n var url = nowTag.href || '/';\r\n if (!nowTag.meta.affix) {\r\n this.closeSelectedTag(nowTag)\r\n }\r\n window.open(url);\r\n this.contextMenuVisible = false\r\n },\r\n //横向滚动\r\n scrollInit() {\r\n const scrollDiv = this.$refs.tags;\r\n scrollDiv.addEventListener('mousewheel', handler, false) || scrollDiv.addEventListener(\"DOMMouseScroll\", handler, false)\r\n function handler(event) {\r\n const detail = event.wheelDelta || event.detail;\r\n //火狐上滚键值-3 下滚键值3,其他内核上滚键值120 下滚键值-120\r\n const moveForwardStep = 1;\r\n const moveBackStep = -1;\r\n let step = 0;\r\n if (detail == 3 || detail < 0 && detail != -3) {\r\n step = moveForwardStep * 50;\r\n } else {\r\n step = moveBackStep * 50;\r\n }\r\n scrollDiv.scrollLeft += step;\r\n }\r\n },\r\n hideTip() {\r\n this.tipVisible = false\r\n this.tipDisplayed = true\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style>\r\n.contextmenu {\r\n position: fixed;\r\n width: 200px;\r\n margin: 0;\r\n border-radius: 0px;\r\n background: var(--el-bg-color-overlay);\r\n border: 1px solid var(--el-border-color-light);\r\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);\r\n z-index: 3000;\r\n list-style-type: none;\r\n padding: 10px 0;\r\n}\r\n.contextmenu hr {\r\n margin: 5px 0;\r\n border: none;\r\n height: 1px;\r\n font-size: 0px;\r\n background-color: var(--el-border-color-light);\r\n}\r\n.contextmenu li {\r\n display: flex;\r\n align-items: center;\r\n margin: 0;\r\n cursor: pointer;\r\n line-height: 30px;\r\n padding: 0 17px;\r\n color: #606266;\r\n}\r\n.contextmenu li i {\r\n font-size: 14px;\r\n margin-right: 10px;\r\n}\r\n.contextmenu li:hover {\r\n background-color: #ecf5ff;\r\n color: #66b1ff;\r\n}\r\n.contextmenu li.disabled {\r\n cursor: not-allowed;\r\n color: #bbb;\r\n background: transparent;\r\n}\r\n\r\n.tags-tip {\r\n padding: 5px;\r\n}\r\n.tags-tip p {\r\n margin-bottom: 10px;\r\n}\r\n\r\n.dark .contextmenu li {\r\n color: var(--el-text-color-primary);\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"screen panel-item hidden-sm-and-down\"\r\n @click=\"screen\">\r\n\r\n <el-dropdown @command=\"changeBusinessUnit\">\r\n <div class=\"bu-list\">\r\n <el-icon><el-icon-help /></el-icon>{{buName}}\r\n </div>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-for=\"item in buList\"\r\n :key=\"item.id\"\r\n :command=\"item.code\">{{item.name}}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data() {\r\n return {\r\n buName: '',\r\n buList: [],\r\n }\r\n },\r\n props: {\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n },\r\n methods: {\r\n async changeBusinessUnit(command) {\r\n this.buName = command\r\n let item = this.buList.find(item => item.code === command)\r\n this.$store.commit('setRouteShow', true)\r\n this.$tool.data.set('buCode', command)\r\n this.$tool.data.set('tenantId', item.tenantId)\r\n // 检验是否初始化\r\n if (this.isInitialized) {\r\n let initialized = await this.$api.auth.initialized()\r\n this.$tool.data.set('zoneInitialized', initialized)\r\n if (!initialized) {\r\n this.$router.push(this.$config.INIT_URL);\r\n }\r\n \r\n this.$store.commit('setRouteShow', false)\r\n }\r\n }\r\n },\r\n created() {\r\n this.buList = this.$tool.data.get('buList')\r\n\r\n let buCode = this.$tool.data.get('buCode')\r\n let item = this.buList.find(item => item.code === buCode)\r\n this.buName = item ? item.name : ''\r\n this.changeBusinessUnit(buCode)\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n:deep(.el-dropdown) {\r\n height: 100%;\r\n}\r\n.bu-list {\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n height: 100%;\r\n}\r\n</style>","<template>\r\n <div class=\"user-bar\">\r\n <bu v-if=\"isShowBu\"\r\n :isInitialized=\"isInitialized\" />\r\n\r\n <el-dropdown class=\"user panel-item\"\r\n trigger=\"click\"\r\n @command=\"handleUser\">\r\n <div class=\"user-avatar\">\r\n <el-avatar :size=\"30\"\r\n :src=\"$store.state.user.username\"></el-avatar>\r\n </div>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item command=\"uc\">\r\n <div class=\"user-body\">\r\n <el-avatar :size=\"30\"\r\n :src=\"$store.state.user.username\"></el-avatar>\r\n <div class=\"user-name\">\r\n <label>{{ $store.state.user.realName }}</label>\r\n <label>{{ $store.state.user.username }}</label>\r\n </div>\r\n </div>\r\n </el-dropdown-item>\r\n <el-dropdown-item command=\"uc\"\r\n divided>{{$t('layout.userData')}}</el-dropdown-item>\r\n <el-dropdown-item\r\n command=\"clearCache\">{{$t('layout.clearCache')}}</el-dropdown-item>\r\n <el-dropdown-item divided\r\n command=\"outLogin\">{{$t('layout.outLogin')}}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n\r\n</template>\r\n\r\n<script>\r\nimport bu from './bu.vue'\r\n\r\nexport default {\r\n props: {\r\n isShowBu: {\r\n type: Boolean,\r\n default: true\r\n },\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n },\r\n components: {\r\n bu\r\n },\r\n data() {\r\n return {\r\n userName: \"\",\r\n userNameF: \"\",\r\n searchVisible: false,\r\n tasksVisible: false,\r\n msg: false,\r\n\r\n }\r\n },\r\n created() {\r\n this.$store.state.user = this.$tool.data.get('userAuthInfo')\r\n },\r\n methods: {\r\n //个人信息\r\n handleUser(command) {\r\n if (command == \"uc\") {\r\n this.$router.push({ path: '/user' });\r\n }\r\n if (command == \"cmd\") {\r\n this.$router.push({ path: '/cmd' });\r\n }\r\n if (command == \"clearCache\") {\r\n this.$confirm('清除缓存会将系统初始化,包括登录状态、主题、语言设置等,是否继续?', '提示', {\r\n type: 'info',\r\n }).then(() => {\r\n const loading = this.$loading()\r\n this.$tool.data.clear()\r\n this.$router.replace({ path: '/login' })\r\n setTimeout(() => {\r\n loading.close()\r\n location.reload()\r\n }, 1000)\r\n }).catch(() => {\r\n //取消\r\n })\r\n }\r\n if (command == \"outLogin\") {\r\n this.$confirm('确认是否退出当前用户?', '提示', {\r\n type: 'warning',\r\n confirmButtonText: '退出',\r\n confirmButtonClass: 'el-button--danger'\r\n }).then(() => {\r\n sessionStorage.clear()\r\n this.$router.replace({ path: '/login' });\r\n }).catch(() => {\r\n //取消退出\r\n })\r\n }\r\n },\r\n //全屏\r\n screen() {\r\n var element = document.documentElement;\r\n this.$tool.screen(element)\r\n },\r\n //显示短消息\r\n showMsg() {\r\n this.msg = true\r\n },\r\n //搜索\r\n search() {\r\n this.searchVisible = true\r\n },\r\n //任务\r\n tasks() {\r\n this.tasksVisible = true\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.user-bar {\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n}\r\n.user-bar .panel-item {\r\n padding: 0 10px;\r\n cursor: pointer;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n}\r\n.user-bar .panel-item i {\r\n font-size: 16px;\r\n}\r\n.user-bar .panel-item:hover {\r\n background: rgba(0, 0, 0, 0.1);\r\n}\r\n.user-bar .user-avatar {\r\n height: 49px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n.user-bar .user-avatar label {\r\n display: inline-block;\r\n margin-left: 5px;\r\n font-size: 12px;\r\n cursor: pointer;\r\n}\r\n\r\n.msg-list li {\r\n border-top: 1px solid #eee;\r\n}\r\n.msg-list li a {\r\n display: flex;\r\n padding: 20px;\r\n}\r\n.msg-list li a:hover {\r\n background: #ecf5ff;\r\n}\r\n.msg-list__icon {\r\n width: 40px;\r\n margin-right: 15px;\r\n}\r\n.msg-list__main {\r\n flex: 1;\r\n}\r\n.msg-list__main h2 {\r\n font-size: 15px;\r\n font-weight: normal;\r\n color: #333;\r\n}\r\n.msg-list__main p {\r\n font-size: 12px;\r\n color: #999;\r\n line-height: 1.8;\r\n margin-top: 5px;\r\n}\r\n.msg-list__time {\r\n width: 100px;\r\n text-align: right;\r\n color: #999;\r\n}\r\n\r\n.dark .msg-list__main h2 {\r\n color: #d0d0d0;\r\n}\r\n.dark .msg-list li {\r\n border-top: 1px solid #363636;\r\n}\r\n.dark .msg-list li a:hover {\r\n background: #383838;\r\n}\r\n\r\n.user-body {\r\n display: flex;\r\n align-items: center;\r\n gap: 20px;\r\n width: 150px;\r\n .user-name {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n}\r\n</style>\r\n","export default {\r\n\t//hex颜色转rgb颜色\r\n\tHexToRgb(str) {\r\n\t\tstr = str.replace(\"#\", \"\")\r\n\t\tlet hxs = str.match(/../g)\r\n\t\tfor (let i = 0; i < 3; i++) hxs[i] = parseInt(hxs[i], 16)\r\n\t\treturn hxs\r\n\t},\r\n\t//rgb颜色转hex颜色\r\n\tRgbToHex(a, b, c) {\r\n\t\tlet hexs = [a.toString(16), b.toString(16), c.toString(16)]\r\n\t\tfor (let i = 0; i < 3; i++) {\r\n\t\t\tif (hexs[i].length === 1) hexs[i] = \"0\" + hexs[i]\r\n\t\t}\r\n\t\treturn \"#\" + hexs.join(\"\");\r\n\t},\r\n\t//加深\r\n\tdarken(color, level) {\r\n\t\tlet rgbc = this.HexToRgb(color)\r\n\t\tfor (let i = 0; i < 3; i++) rgbc[i] = Math.floor(rgbc[i] * (1 - level))\r\n\t\treturn this.RgbToHex(rgbc[0], rgbc[1], rgbc[2])\r\n\t},\r\n\t//变淡\r\n\tlighten(color, level) {\r\n\t\tlet rgbc = this.HexToRgb(color)\r\n\t\tfor (let i = 0; i < 3; i++) rgbc[i] = Math.floor((255 - rgbc[i]) * level + rgbc[i])\r\n\t\treturn this.RgbToHex(rgbc[0], rgbc[1], rgbc[2])\r\n\t}\r\n}\r\n","<template>\r\n <el-dropdown trigger=\"click\"\r\n placement=\"bottom-end\"\r\n @command=\"configLang\">\r\n <el-button link>\r\n <template #icon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n role=\"img\"\r\n width=\"1em\"\r\n height=\"1em\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n viewBox=\"0 0 512 512\">\r\n <path d=\"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z\"\r\n fill=\"currentColor\"></path>\r\n <path d=\"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </template>\r\n {{ curLang }}\r\n </el-button>\r\n <template #dropdown>\r\n <el-dropdown-menu >\r\n <el-dropdown-item v-for=\"item in lang\"\r\n :key=\"item.value\"\r\n :command=\"item\"\r\n :class=\"{'selected':config.lang==item.value}\">{{item.name}}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n</template>\r\n\r\n<script>\r\nimport { computed } from 'vue';\r\nexport default {\r\n data() {\r\n return {\r\n config: {\r\n lang: this.$tool.data.get(\"APP_LANG\") || this.$config.LANG,\r\n },\r\n curLang: '',\r\n lang: [\r\n {\r\n name: \"简体中文\",\r\n value: \"zh-cn\",\r\n },\r\n {\r\n name: \"English\",\r\n value: \"en-us\",\r\n }\r\n ],\r\n }\r\n },\r\n watch: {\r\n \"config.lang\"(val) {\r\n this.$i18n.locale = val;\r\n this.$i18n.fallbackLocale = val;\r\n this.$tool.data.set(\"APP_LANG\", val);\r\n location.reload()\r\n },\r\n },\r\n methods: {\r\n configLang(command) {\r\n this.config.lang = command.value;\r\n }\r\n },\r\n computed: {\r\n curLang() {\r\n let l = this.lang.find(lang => lang.value === this.config.lang)\r\n return l.name\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style>\r\n</style>","<template>\r\n\t<el-form ref=\"form\" label-width=\"120px\" label-position=\"left\" style=\"padding:0 20px;\">\r\n\t\t<!-- <el-alert title=\"以下配置可实时预览,开发者可在 config/index.js 中配置默认值,非常不建议在生产环境下开放布局设置\" type=\"error\" :closable=\"false\"></el-alert> -->\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.nightmode')\">\r\n\t\t\t<el-switch v-model=\"dark\" active-value=\"dark\" inactive-value=\"default\"></el-switch>\r\n\t\t</el-form-item>\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.color')\">\r\n\t\t\t<el-color-picker v-model=\"colorPrimary\" :predefine=\"colorList\">></el-color-picker>\r\n\t\t</el-form-item>\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.layout')\">\r\n\t\t\t<el-select v-model=\"layout\" placeholder=\"请选择\">\r\n\t\t\t\t<el-option label=\"默认\" value=\"default\"></el-option>\r\n\t\t\t\t<el-option label=\"通栏\" value=\"header\"></el-option>\r\n\t\t\t\t<el-option label=\"经典\" value=\"menu\"></el-option>\r\n\t\t\t\t<el-option label=\"功能坞\" value=\"dock\"></el-option>\r\n\t\t\t</el-select>\r\n\t\t</el-form-item>\r\n\t\t<el-form-item :label=\"$t('user.menu')\">\r\n\t\t\t<el-switch v-model=\"menuIsCollapse\"></el-switch>\r\n\t\t</el-form-item>\r\n\t\t<el-form-item :label=\"$t('user.tag')\">\r\n\t\t\t<el-switch v-model=\"layoutTags\"></el-switch>\r\n\t\t</el-form-item>\r\n\t\t<el-divider></el-divider>\r\n\t\t<el-form-item :label=\"$t('user.lang')\">\r\n\t\t\t<Lang />\r\n\t\t</el-form-item>\r\n\t\t\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\n\timport colorTool from '@/utils/color'\r\n\timport Lang from './lang.vue'\r\n\r\n\texport default {\r\n\t\tcomponents: { Lang },\r\n\t\tdata(){\r\n\t\t\treturn {\r\n\t\t\t\tlayout: this.$store.state.global.layout,\r\n\t\t\t\tmenuIsCollapse: this.$store.state.global.menuIsCollapse,\r\n\t\t\t\tlayoutTags: this.$store.state.global.layoutTags,\r\n\t\t\t\tdark: this.$tool.data.get('APP_THEME'),\r\n\t\t\t\tcolorList: ['#409EFF', '#009688', '#536dfe', '#ff5c93', '#c62f2f', '#fd726d'],\r\n\t\t\t\tcolorPrimary: this.$tool.data.get('APP_COLOR') || this.$config.COLOR || '#409EFF'\r\n\t\t\t}\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tlayout(val) {\r\n\t\t\t\tthis.$store.commit(\"SET_layout\", val)\r\n\t\t\t},\r\n\t\t\tmenuIsCollapse(){\r\n\t\t\t\tthis.$store.commit(\"TOGGLE_menuIsCollapse\")\r\n\t\t\t},\r\n\t\t\tlayoutTags(){\r\n\t\t\t\tthis.$store.commit(\"TOGGLE_layoutTags\")\r\n\t\t\t},\r\n\t\t\tdark(val){\r\n\t\t\t\tdocument.body.setAttribute('data-theme', val)\r\n\t\t\t\tthis.$tool.data.set(\"APP_THEME\", val);\r\n\t\t\t},\r\n\t\t\tcolorPrimary(val){\r\n\t\t\t\tdocument.documentElement.style.setProperty('--el-color-primary', val);\r\n\t\t\t\tfor (let i = 1; i <= 9; i++) {\r\n\t\t\t\t\tdocument.documentElement.style.setProperty(`--el-color-primary-light-${i}`, colorTool.lighten(val,i/10));\r\n\t\t\t\t}\r\n\t\t\t\tfor (let i = 1; i <= 9; i++) {\r\n\t\t\t\t\tdocument.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, colorTool.darken(val,i/10));\r\n\t\t\t\t}\r\n\t\t\t\tthis.$tool.data.set(\"APP_COLOR\", val);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","<template>\r\n\t<div v-show=\"$route.meta.type=='iframe'\" class=\"iframe-pages\">\r\n\t\t<iframe v-for=\"item in iframeList\" :key=\"item.meta.url\" v-show=\"$route.meta.url==item.meta.url\" :src=\"item.meta.url\" frameborder='0'></iframe>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\r\n\t\t\t}\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\t$route(e) {\r\n\t\t\t\tthis.push(e)\r\n\t\t\t},\r\n\t\t},\r\n\t\tcreated() {\r\n\t\t\tthis.push(this.$route);\r\n\t\t},\r\n\t\tcomputed:{\r\n\t\t\tiframeList(){\r\n\t\t\t\treturn this.$store.state.iframe.iframeList\r\n\t\t\t},\r\n\t\t\tismobile(){\r\n\t\t\t\treturn this.$store.state.global.ismobile\r\n\t\t\t},\r\n\t\t\tlayoutTags(){\r\n\t\t\t\treturn this.$store.state.global.layoutTags\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tpush(route){\r\n\t\t\t\tif(route.meta.type == 'iframe'){\r\n\t\t\t\t\tif(this.ismobile || !this.layoutTags){\r\n\t\t\t\t\t\tthis.$store.commit(\"setIframeList\", route)\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tthis.$store.commit(\"pushIframeList\", route)\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(this.ismobile || !this.layoutTags){\r\n\t\t\t\t\t\tthis.$store.commit(\"clearIframeList\")\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped>\r\n\t.iframe-pages {width:100%;height:100%;background: #fff;}\r\n\tiframe {border:0;width:100%;height:100%;display: block;}\r\n</style>\r\n","<template>\r\n <!-- 通栏布局 -->\r\n <template v-if=\"layout=='header'\">\r\n <header class=\"adminui-header\">\r\n <div class=\"adminui-header-left\">\r\n <div class=\"logo-bar\">\r\n <img class=\"logo\"\r\n :src=\"logo\">\r\n <span>{{ $config.APP_NAME }}</span>\r\n </div>\r\n <ul v-if=\"!ismobile\"\r\n class=\"nav\">\r\n <li v-for=\"item in menu\"\r\n :key=\"item\"\r\n :class=\"pmenu.path==item.path?'active':''\"\r\n @click=\"showMenu(item)\">\r\n <el-icon>\r\n <component :is=\"item.meta.icon || 'el-icon-menu'\" />\r\n </el-icon>\r\n <span>{{ item.meta.title }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"adminui-header-right\">\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </div>\r\n </header>\r\n <section class=\"aminui-wrapper\">\r\n <div v-if=\"!ismobile && nextMenu.length>0 || !pmenu.component\"\r\n :class=\"menuIsCollapse?'aminui-side isCollapse':'aminui-side'\">\r\n <div v-if=\"!menuIsCollapse\"\r\n class=\"adminui-side-top\">\r\n <h2>{{ pmenu.meta.title }}</h2>\r\n </div>\r\n <div class=\"adminui-side-scroll\">\r\n <el-scrollbar>\r\n <el-menu :default-active=\"active\"\r\n router\r\n :collapse=\"menuIsCollapse\"\r\n :unique-opened=\"$config.MENU_UNIQUE_OPENED\">\r\n <NavMenu :navMenus=\"nextMenu\"></NavMenu>\r\n </el-menu>\r\n </el-scrollbar>\r\n </div>\r\n <div class=\"adminui-side-bottom\"\r\n @click=\"$store.commit('TOGGLE_menuIsCollapse')\">\r\n <el-icon><el-icon-expand v-if=\"menuIsCollapse\" /><el-icon-fold\r\n v-else /></el-icon>\r\n </div>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <div class=\"aminui-body el-container\">\r\n <Topbar v-if=\"!ismobile\"></Topbar>\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </template>\r\n\r\n <!-- 经典布局 -->\r\n <template v-else-if=\"layout=='menu'\">\r\n <section class=\"aminui-body-menu\">\r\n <div class=\"aminui-side-split-left\">\r\n <Aside></Aside>\r\n </div>\r\n\r\n <section class=\"aminui-wrapper\">\r\n <div v-if=\"!ismobile\"\r\n :class=\"menuIsCollapse?'aminui-side isCollapse':'aminui-side'\">\r\n <div class=\"adminui-side-scroll\">\r\n\r\n <el-scrollbar>\r\n <div class=\"title-name\">\r\n {{ menuIsCollapse ? $config.APP_NAME.charAt(0) : $config.APP_NAME }}\r\n </div>\r\n <el-menu :default-active=\"active\"\r\n router\r\n :collapse=\"menuIsCollapse\"\r\n :unique-opened=\"$config.MENU_UNIQUE_OPENED\">\r\n <NavMenu :navMenus=\"menu\"></NavMenu>\r\n </el-menu>\r\n </el-scrollbar>\r\n </div>\r\n <div class=\"adminui-side-bottom\"\r\n @click=\"$store.commit('TOGGLE_menuIsCollapse')\">\r\n <el-icon><el-icon-expand v-if=\"menuIsCollapse\" /><el-icon-fold\r\n v-else /></el-icon>\r\n </div>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <div class=\"aminui-body el-container\">\r\n <div class=\"aminui-body-menu-top\">\r\n <div class=\"top-bar-title\">\r\n <span class=\"title\">{{$t(\"layout.topbar\")}}:</span>\r\n <Topbar v-if=\"!ismobile\"></Topbar>\r\n </div>\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </div>\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive\r\n :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </section>\r\n </template>\r\n\r\n <!-- 功能坞布局 -->\r\n <template v-else-if=\"layout=='dock'\">\r\n <header class=\"adminui-header\">\r\n <div class=\"adminui-header-left\">\r\n <div class=\"logo-bar\">\r\n <img class=\"logo\"\r\n :src=\"logo\">\r\n <span>{{ $config.APP_NAME }}</span>\r\n </div>\r\n </div>\r\n <div class=\"adminui-header-right\">\r\n <div v-if=\"!ismobile\"\r\n class=\"adminui-header-menu\">\r\n <el-menu mode=\"horizontal\"\r\n :default-active=\"active\"\r\n router\r\n background-color=\"#222b45\"\r\n text-color=\"#fff\"\r\n active-text-color=\"var(--el-color-primary)\">\r\n <NavMenu :navMenus=\"menu\"></NavMenu>\r\n </el-menu>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </div>\r\n </header>\r\n <section class=\"aminui-wrapper\">\r\n <div class=\"aminui-body el-container\">\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </template>\r\n\r\n <!-- 默认布局 -->\r\n <template v-else>\r\n <section class=\"aminui-wrapper\">\r\n <div v-if=\"!ismobile\"\r\n class=\"aminui-side-split\">\r\n <div class=\"aminui-side-split-top\">\r\n <Aside></Aside>\r\n </div>\r\n\r\n <div class=\"adminui-side-split-scroll\">\r\n <el-scrollbar>\r\n <ul>\r\n <li v-for=\"item in menu\"\r\n :key=\"item\"\r\n :class=\"pmenu.path==item.path?'active':''\"\r\n @click=\"showMenu(item)\">\r\n <el-icon>\r\n <component :is=\"item.meta.icon || el-icon-menu\" />\r\n </el-icon>\r\n <p>{{ item.meta.title }}</p>\r\n </li>\r\n </ul>\r\n </el-scrollbar>\r\n </div>\r\n </div>\r\n <div v-if=\"!ismobile && nextMenu.length>0 || !pmenu.component\"\r\n :class=\"menuIsCollapse?'aminui-side isCollapse':'aminui-side'\">\r\n <div v-if=\"!menuIsCollapse\"\r\n class=\"adminui-side-top\">\r\n <h2>{{ pmenu.meta.title }}</h2>\r\n </div>\r\n <div class=\"adminui-side-scroll\">\r\n <el-scrollbar>\r\n <el-menu :default-active=\"active\"\r\n router\r\n :collapse=\"menuIsCollapse\"\r\n :unique-opened=\"$config.MENU_UNIQUE_OPENED\">\r\n <NavMenu :navMenus=\"nextMenu\"></NavMenu>\r\n </el-menu>\r\n </el-scrollbar>\r\n </div>\r\n <div class=\"adminui-side-bottom\"\r\n @click=\"$store.commit('TOGGLE_menuIsCollapse')\">\r\n <el-icon><el-icon-expand v-if=\"menuIsCollapse\" /><el-icon-fold\r\n v-else /></el-icon>\r\n </div>\r\n </div>\r\n <Side-m v-if=\"ismobile\"></Side-m>\r\n <div class=\"aminui-body el-container\">\r\n <Topbar>\r\n <userbar :isShowBu=\"isShowBu\"\r\n :isInitialized=\"isInitialized\"></userbar>\r\n </Topbar>\r\n <Tags v-if=\"!ismobile && layoutTags\"></Tags>\r\n <div class=\"adminui-main\"\r\n id=\"adminui-main\">\r\n <slot name=\"routerView\">\r\n <router-view v-slot=\"{ Component }\">\r\n <keep-alive :include=\"this.$store.state.keepAlive.keepLiveRoute\">\r\n <component :is=\"Component\"\r\n :key=\"$route.fullPath\"\r\n v-if=\"$store.state.keepAlive.routeShow\" />\r\n </keep-alive>\r\n </router-view>\r\n </slot>\r\n <iframe-view></iframe-view>\r\n </div>\r\n </div>\r\n </section>\r\n </template>\r\n\r\n <div class=\"main-maximize-exit\"\r\n @click=\"exitMaximize\"><el-icon><el-icon-close /></el-icon></div>\r\n\r\n <div class=\"layout-setting\"\r\n @click=\"openSetting\"><el-icon><el-icon-brush-filled /></el-icon></div>\r\n\r\n <el-drawer title=\"布局实时演示\"\r\n v-model=\"settingDialog\"\r\n :size=\"400\"\r\n append-to-body\r\n destroy-on-close>\r\n <setting></setting>\r\n </el-drawer>\r\n</template>\r\n\r\n<script>\r\nimport SideM from './components/sideM.vue';\r\nimport Aside from './components/aside.vue';\r\nimport Topbar from './components/topbar.vue';\r\nimport Tags from './components/tags.vue';\r\nimport NavMenu from './components/NavMenu.vue';\r\nimport userbar from './components/userbar.vue';\r\nimport setting from './components/setting.vue';\r\nimport iframeView from './components/iframeView.vue';\r\nimport logo from '/images/logo.jpg';\r\nexport default {\r\n name: 'lwLayout',\r\n props: {\r\n isShowBu: {\r\n type: Boolean,\r\n default: true\r\n },\r\n // 是否要校验初始化\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n },\r\n components: {\r\n Aside,\r\n SideM,\r\n Topbar,\r\n Tags,\r\n NavMenu,\r\n userbar,\r\n setting,\r\n iframeView\r\n },\r\n data() {\r\n return {\r\n logo,\r\n settingDialog: false,\r\n menu: [],\r\n nextMenu: [],\r\n pmenu: {},\r\n active: ''\r\n }\r\n },\r\n computed: {\r\n ismobile() {\r\n return this.$store.state.global.ismobile\r\n },\r\n layout() {\r\n return this.$store.state.global.layout\r\n },\r\n layoutTags() {\r\n return this.$store.state.global.layoutTags\r\n },\r\n menuIsCollapse() {\r\n return this.$store.state.global.menuIsCollapse\r\n }\r\n },\r\n created() {\r\n this.onLayoutResize();\r\n window.addEventListener('resize', this.onLayoutResize);\r\n var menu = this.$router.sc_getMenu();\r\n this.menu = this.filterUrl(menu);\r\n this.showThis()\r\n this.$store.commit(\"LOAD_USER_FROM_LOCAL_STORAGE\")\r\n },\r\n watch: {\r\n $route() {\r\n this.showThis()\r\n var menu = this.$router.sc_getMenu();\r\n this.menu = this.filterUrl(menu);\r\n },\r\n '$i18n.locale'() {\r\n var menu = this.$router.sc_getMenu();\r\n this.menu = this.filterUrl(menu);\r\n },\r\n layout: {\r\n handler(val) {\r\n document.body.setAttribute('data-layout', val)\r\n },\r\n immediate: true,\r\n },\r\n\r\n },\r\n methods: {\r\n openSetting() {\r\n this.settingDialog = true;\r\n },\r\n onLayoutResize() {\r\n this.$store.commit(\"SET_ismobile\", document.body.clientWidth < 992)\r\n },\r\n //路由监听高亮\r\n showThis() {\r\n this.pmenu = this.$route.meta.breadcrumb ? this.$route.meta.breadcrumb[0] : {}\r\n this.nextMenu = this.filterUrl(this.pmenu.children);\r\n this.$nextTick(() => {\r\n this.active = this.$route.meta.active || this.$route.fullPath;\r\n })\r\n },\r\n //点击显示\r\n showMenu(route) {\r\n this.pmenu = route;\r\n this.nextMenu = this.filterUrl(route.children);\r\n if ((!route.children || route.children.length == 0) && route.component) {\r\n this.$router.push({ path: route.path })\r\n }\r\n },\r\n //转换外部链接的路由\r\n filterUrl(map) {\r\n var newMap = []\r\n map && map.forEach(item => {\r\n item.meta = item.meta ? item.meta : {};\r\n //处理隐藏\r\n if (item.meta.hidden || item.meta.type == \"button\") {\r\n return false\r\n }\r\n //处理http\r\n if (item.meta.type == 'iframe') {\r\n item.path = `/i/${item.name}`;\r\n }\r\n //递归循环\r\n if (item.children && item.children.length > 0) {\r\n item.children = this.filterUrl(item.children)\r\n }\r\n newMap.push(item)\r\n })\r\n return newMap;\r\n },\r\n //退出最大化\r\n exitMaximize() {\r\n document.getElementById('app').classList.remove('main-maximize')\r\n }\r\n }\r\n}\r\n</script>\r\n","/*! For license information please see jsencrypt.min.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.JSEncrypt=e():t.JSEncrypt=e()}(window,(()=>(()=>{var t={155:t=>{var e,i,r=t.exports={};function n(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(i){try{return e.call(null,t,0)}catch(i){return e.call(this,t,0)}}}!function(){try{e=\"function\"==typeof setTimeout?setTimeout:n}catch(t){e=n}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var h,a=[],u=!1,c=-1;function f(){u&&h&&(u=!1,h.length?a=h.concat(a):c=-1,a.length&&l())}function l(){if(!u){var t=o(f);u=!0;for(var e=a.length;e;){for(h=a,a=[];++c<e;)h&&h[c].run();c=-1,e=a.length}h=null,u=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{return i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];a.push(new p(t,e)),1!==a.length||u||o(l)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title=\"browser\",r.browser=!0,r.env={},r.argv=[],r.version=\"\",r.versions={},r.on=g,r.addListener=g,r.once=g,r.off=g,r.removeListener=g,r.removeAllListeners=g,r.emit=g,r.prependListener=g,r.prependOnceListener=g,r.listeners=function(t){return[]},r.binding=function(t){throw new Error(\"process.binding is not supported\")},r.cwd=function(){return\"/\"},r.chdir=function(t){throw new Error(\"process.chdir is not supported\")},r.umask=function(){return 0}}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var s=e[r]={exports:{}};return t[r](s,s.exports,i),s.exports}i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{\"use strict\";i.d(r,{default:()=>ct});var t=\"0123456789abcdefghijklmnopqrstuvwxyz\";function e(e){return t.charAt(e)}function n(t,e){return t&e}function s(t,e){return t|e}function o(t,e){return t^e}function h(t,e){return t&~e}function a(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function u(t){for(var e=0;0!=t;)t&=t-1,++e;return e}var c,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",l=\"=\";function p(t){var e,i,r=\"\";for(e=0;e+3<=t.length;e+=3)i=parseInt(t.substring(e,e+3),16),r+=f.charAt(i>>6)+f.charAt(63&i);for(e+1==t.length?(i=parseInt(t.substring(e,e+1),16),r+=f.charAt(i<<2)):e+2==t.length&&(i=parseInt(t.substring(e,e+2),16),r+=f.charAt(i>>2)+f.charAt((3&i)<<4));(3&r.length)>0;)r+=l;return r}function g(t){var i,r=\"\",n=0,s=0;for(i=0;i<t.length&&t.charAt(i)!=l;++i){var o=f.indexOf(t.charAt(i));o<0||(0==n?(r+=e(o>>2),s=3&o,n=1):1==n?(r+=e(s<<2|o>>4),s=15&o,n=2):2==n?(r+=e(s),r+=e(o>>2),s=3&o,n=3):(r+=e(s<<2|o>>4),r+=e(15&o),n=0))}return 1==n&&(r+=e(s<<2)),r}var d,v={decode:function(t){var e;if(void 0===d){var i=\"= \\f\\n\\r\\t \\u2028\\u2029\";for(d=Object.create(null),e=0;e<64;++e)d[\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(e)]=e;for(d[\"-\"]=62,d._=63,e=0;e<i.length;++e)d[i.charAt(e)]=-1}var r=[],n=0,s=0;for(e=0;e<t.length;++e){var o=t.charAt(e);if(\"=\"==o)break;if(-1!=(o=d[o])){if(void 0===o)throw new Error(\"Illegal character at offset \"+e);n|=o,++s>=4?(r[r.length]=n>>16,r[r.length]=n>>8&255,r[r.length]=255&n,n=0,s=0):n<<=6}}switch(s){case 1:throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");case 2:r[r.length]=n>>10;break;case 3:r[r.length]=n>>16,r[r.length]=n>>8&255}return r},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,unarmor:function(t){var e=v.re.exec(t);if(e)if(e[1])t=e[1];else{if(!e[2])throw new Error(\"RegExp out of sync\");t=e[2]}return v.decode(t)}},m=1e13,y=function(){function t(t){this.buf=[+t||0]}return t.prototype.mulAdd=function(t,e){var i,r,n=this.buf,s=n.length;for(i=0;i<s;++i)(r=n[i]*t+e)<m?e=0:r-=(e=0|r/m)*m,n[i]=r;e>0&&(n[i]=e)},t.prototype.sub=function(t){var e,i,r=this.buf,n=r.length;for(e=0;e<n;++e)(i=r[e]-t)<0?(i+=m,t=1):t=0,r[e]=i;for(;0===r[r.length-1];)r.pop()},t.prototype.toString=function(t){if(10!=(t||10))throw new Error(\"only base 10 is supported\");for(var e=this.buf,i=e[e.length-1].toString(),r=e.length-2;r>=0;--r)i+=(m+e[r]).toString().substring(1);return i},t.prototype.valueOf=function(){for(var t=this.buf,e=0,i=t.length-1;i>=0;--i)e=e*m+t[i];return e},t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this},t}(),b=\"…\",T=/^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/,S=/^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;function E(t,e){return t.length>e&&(t=t.substring(0,e)+b),t}var w,D=function(){function t(e,i){this.hexDigits=\"0123456789ABCDEF\",e instanceof t?(this.enc=e.enc,this.pos=e.pos):(this.enc=e,this.pos=i)}return t.prototype.get=function(t){if(void 0===t&&(t=this.pos++),t>=this.enc.length)throw new Error(\"Requesting byte offset \".concat(t,\" on a stream of length \").concat(this.enc.length));return\"string\"==typeof this.enc?this.enc.charCodeAt(t):this.enc[t]},t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)},t.prototype.hexDump=function(t,e,i){for(var r=\"\",n=t;n<e;++n)if(r+=this.hexByte(this.get(n)),!0!==i)switch(15&n){case 7:r+=\" \";break;case 15:r+=\"\\n\";break;default:r+=\" \"}return r},t.prototype.isASCII=function(t,e){for(var i=t;i<e;++i){var r=this.get(i);if(r<32||r>176)return!1}return!0},t.prototype.parseStringISO=function(t,e){for(var i=\"\",r=t;r<e;++r)i+=String.fromCharCode(this.get(r));return i},t.prototype.parseStringUTF=function(t,e){for(var i=\"\",r=t;r<e;){var n=this.get(r++);i+=n<128?String.fromCharCode(n):n>191&&n<224?String.fromCharCode((31&n)<<6|63&this.get(r++)):String.fromCharCode((15&n)<<12|(63&this.get(r++))<<6|63&this.get(r++))}return i},t.prototype.parseStringBMP=function(t,e){for(var i,r,n=\"\",s=t;s<e;)i=this.get(s++),r=this.get(s++),n+=String.fromCharCode(i<<8|r);return n},t.prototype.parseTime=function(t,e,i){var r=this.parseStringISO(t,e),n=(i?T:S).exec(r);return n?(i&&(n[1]=+n[1],n[1]+=+n[1]<70?2e3:1900),r=n[1]+\"-\"+n[2]+\"-\"+n[3]+\" \"+n[4],n[5]&&(r+=\":\"+n[5],n[6]&&(r+=\":\"+n[6],n[7]&&(r+=\".\"+n[7]))),n[8]&&(r+=\" UTC\",\"Z\"!=n[8]&&(r+=n[8],n[9]&&(r+=\":\"+n[9]))),r):\"Unrecognized time: \"+r},t.prototype.parseInteger=function(t,e){for(var i,r=this.get(t),n=r>127,s=n?255:0,o=\"\";r==s&&++t<e;)r=this.get(t);if(0==(i=e-t))return n?-1:0;if(i>4){for(o=r,i<<=3;0==(128&(+o^s));)o=+o<<1,--i;o=\"(\"+i+\" bit)\\n\"}n&&(r-=256);for(var h=new y(r),a=t+1;a<e;++a)h.mulAdd(256,this.get(a));return o+h.toString()},t.prototype.parseBitString=function(t,e,i){for(var r=this.get(t),n=\"(\"+((e-t-1<<3)-r)+\" bit)\\n\",s=\"\",o=t+1;o<e;++o){for(var h=this.get(o),a=o==e-1?r:0,u=7;u>=a;--u)s+=h>>u&1?\"1\":\"0\";if(s.length>i)return n+E(s,i)}return n+s},t.prototype.parseOctetString=function(t,e,i){if(this.isASCII(t,e))return E(this.parseStringISO(t,e),i);var r=e-t,n=\"(\"+r+\" byte)\\n\";r>(i/=2)&&(e=t+i);for(var s=t;s<e;++s)n+=this.hexByte(this.get(s));return r>i&&(n+=b),n},t.prototype.parseOID=function(t,e,i){for(var r=\"\",n=new y,s=0,o=t;o<e;++o){var h=this.get(o);if(n.mulAdd(128,127&h),s+=7,!(128&h)){if(\"\"===r)if((n=n.simplify())instanceof y)n.sub(80),r=\"2.\"+n.toString();else{var a=n<80?n<40?0:1:2;r=a+\".\"+(n-40*a)}else r+=\".\"+n.toString();if(r.length>i)return E(r,i);n=new y,s=0}}return s>0&&(r+=\".incomplete\"),r},t}(),x=function(){function t(t,e,i,r,n){if(!(r instanceof R))throw new Error(\"Invalid tag value.\");this.stream=t,this.header=e,this.length=i,this.tag=r,this.sub=n}return t.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return\"EOC\";case 1:return\"BOOLEAN\";case 2:return\"INTEGER\";case 3:return\"BIT_STRING\";case 4:return\"OCTET_STRING\";case 5:return\"NULL\";case 6:return\"OBJECT_IDENTIFIER\";case 7:return\"ObjectDescriptor\";case 8:return\"EXTERNAL\";case 9:return\"REAL\";case 10:return\"ENUMERATED\";case 11:return\"EMBEDDED_PDV\";case 12:return\"UTF8String\";case 16:return\"SEQUENCE\";case 17:return\"SET\";case 18:return\"NumericString\";case 19:return\"PrintableString\";case 20:return\"TeletexString\";case 21:return\"VideotexString\";case 22:return\"IA5String\";case 23:return\"UTCTime\";case 24:return\"GeneralizedTime\";case 25:return\"GraphicString\";case 26:return\"VisibleString\";case 27:return\"GeneralString\";case 28:return\"UniversalString\";case 30:return\"BMPString\"}return\"Universal_\"+this.tag.tagNumber.toString();case 1:return\"Application_\"+this.tag.tagNumber.toString();case 2:return\"[\"+this.tag.tagNumber.toString()+\"]\";case 3:return\"Private_\"+this.tag.tagNumber.toString()}},t.prototype.content=function(t){if(void 0===this.tag)return null;void 0===t&&(t=1/0);var e=this.posContent(),i=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?\"(\"+this.sub.length+\" elem)\":this.stream.parseOctetString(e,e+i,t);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?\"false\":\"true\";case 2:return this.stream.parseInteger(e,e+i);case 3:return this.sub?\"(\"+this.sub.length+\" elem)\":this.stream.parseBitString(e,e+i,t);case 4:return this.sub?\"(\"+this.sub.length+\" elem)\":this.stream.parseOctetString(e,e+i,t);case 6:return this.stream.parseOID(e,e+i,t);case 16:case 17:return null!==this.sub?\"(\"+this.sub.length+\" elem)\":\"(no elem)\";case 12:return E(this.stream.parseStringUTF(e,e+i),t);case 18:case 19:case 20:case 21:case 22:case 26:return E(this.stream.parseStringISO(e,e+i),t);case 30:return E(this.stream.parseStringBMP(e,e+i),t);case 23:case 24:return this.stream.parseTime(e,e+i,23==this.tag.tagNumber)}return null},t.prototype.toString=function(){return this.typeName()+\"@\"+this.stream.pos+\"[header:\"+this.header+\",length:\"+this.length+\",sub:\"+(null===this.sub?\"null\":this.sub.length)+\"]\"},t.prototype.toPrettyString=function(t){void 0===t&&(t=\"\");var e=t+this.typeName()+\" @\"+this.stream.pos;if(this.length>=0&&(e+=\"+\"),e+=this.length,this.tag.tagConstructed?e+=\" (constructed)\":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(e+=\" (encapsulates)\"),e+=\"\\n\",null!==this.sub){t+=\" \";for(var i=0,r=this.sub.length;i<r;++i)e+=this.sub[i].toPrettyString(t)}return e},t.prototype.posStart=function(){return this.stream.pos},t.prototype.posContent=function(){return this.stream.pos+this.header},t.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},t.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},t.decodeLength=function(t){var e=t.get(),i=127&e;if(i==e)return i;if(i>6)throw new Error(\"Length over 48 bits not supported at position \"+(t.pos-1));if(0===i)return null;e=0;for(var r=0;r<i;++r)e=256*e+t.get();return e},t.prototype.getHexStringValue=function(){var t=this.toHexString(),e=2*this.header,i=2*this.length;return t.substr(e,i)},t.decode=function(e){var i;i=e instanceof D?e:new D(e,0);var r=new D(i),n=new R(i),s=t.decodeLength(i),o=i.pos,h=o-r.pos,a=null,u=function(){var e=[];if(null!==s){for(var r=o+s;i.pos<r;)e[e.length]=t.decode(i);if(i.pos!=r)throw new Error(\"Content size is not correct for container starting at offset \"+o)}else try{for(;;){var n=t.decode(i);if(n.tag.isEOC())break;e[e.length]=n}s=o-i.pos}catch(t){throw new Error(\"Exception while decoding undefined length content: \"+t)}return e};if(n.tagConstructed)a=u();else if(n.isUniversal()&&(3==n.tagNumber||4==n.tagNumber))try{if(3==n.tagNumber&&0!=i.get())throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");a=u();for(var c=0;c<a.length;++c)if(a[c].tag.isEOC())throw new Error(\"EOC is not supposed to be actual content.\")}catch(t){a=null}if(null===a){if(null===s)throw new Error(\"We can't skip over an invalid tag with undefined length at offset \"+o);i.pos=o+Math.abs(s)}return new t(r,h,s,n,a)},t}(),R=function(){function t(t){var e=t.get();if(this.tagClass=e>>6,this.tagConstructed=0!=(32&e),this.tagNumber=31&e,31==this.tagNumber){var i=new y;do{e=t.get(),i.mulAdd(128,127&e)}while(128&e);this.tagNumber=i.simplify()}}return t.prototype.isUniversal=function(){return 0===this.tagClass},t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},t}(),B=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],O=(1<<26)/B[B.length-1],A=function(){function t(t,e,i){null!=t&&(\"number\"==typeof t?this.fromNumber(t,e,i):null==e&&\"string\"!=typeof t?this.fromString(t,256):this.fromString(t,e))}return t.prototype.toString=function(t){if(this.s<0)return\"-\"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var r,n=(1<<i)-1,s=!1,o=\"\",h=this.t,a=this.DB-h*this.DB%i;if(h-- >0)for(a<this.DB&&(r=this[h]>>a)>0&&(s=!0,o=e(r));h>=0;)a<i?(r=(this[h]&(1<<a)-1)<<i-a,r|=this[--h]>>(a+=this.DB-i)):(r=this[h]>>(a-=i)&n,a<=0&&(a+=this.DB,--h)),r>0&&(s=!0),s&&(o+=e(r));return s?o:\"0\"},t.prototype.negate=function(){var e=M();return t.ZERO.subTo(this,e),e},t.prototype.abs=function(){return this.s<0?this.negate():this},t.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var i=this.t;if(0!=(e=i-t.t))return this.s<0?-e:e;for(;--i>=0;)if(0!=(e=this[i]-t[i]))return e;return 0},t.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+K(this[this.t-1]^this.s&this.DM)},t.prototype.mod=function(e){var i=M();return this.abs().divRemTo(e,null,i),this.s<0&&i.compareTo(t.ZERO)>0&&e.subTo(i,i),i},t.prototype.modPowInt=function(t,e){var i;return i=t<256||e.isEven()?new I(e):new N(e),this.exp(t,i)},t.prototype.clone=function(){var t=M();return this.copyTo(t),t},t.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},t.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},t.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},t.prototype.toByteArray=function(){var t=this.t,e=[];e[0]=this.s;var i,r=this.DB-t*this.DB%8,n=0;if(t-- >0)for(r<this.DB&&(i=this[t]>>r)!=(this.s&this.DM)>>r&&(e[n++]=i|this.s<<this.DB-r);t>=0;)r<8?(i=(this[t]&(1<<r)-1)<<8-r,i|=this[--t]>>(r+=this.DB-8)):(i=this[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),0!=(128&i)&&(i|=-256),0==n&&(128&this.s)!=(128&i)&&++n,(n>0||i!=this.s)&&(e[n++]=i);return e},t.prototype.equals=function(t){return 0==this.compareTo(t)},t.prototype.min=function(t){return this.compareTo(t)<0?this:t},t.prototype.max=function(t){return this.compareTo(t)>0?this:t},t.prototype.and=function(t){var e=M();return this.bitwiseTo(t,n,e),e},t.prototype.or=function(t){var e=M();return this.bitwiseTo(t,s,e),e},t.prototype.xor=function(t){var e=M();return this.bitwiseTo(t,o,e),e},t.prototype.andNot=function(t){var e=M();return this.bitwiseTo(t,h,e),e},t.prototype.not=function(){for(var t=M(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t},t.prototype.shiftLeft=function(t){var e=M();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e},t.prototype.shiftRight=function(t){var e=M();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e},t.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+a(this[t]);return this.s<0?this.t*this.DB:-1},t.prototype.bitCount=function(){for(var t=0,e=this.s&this.DM,i=0;i<this.t;++i)t+=u(this[i]^e);return t},t.prototype.testBit=function(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:0!=(this[e]&1<<t%this.DB)},t.prototype.setBit=function(t){return this.changeBit(t,s)},t.prototype.clearBit=function(t){return this.changeBit(t,h)},t.prototype.flipBit=function(t){return this.changeBit(t,o)},t.prototype.add=function(t){var e=M();return this.addTo(t,e),e},t.prototype.subtract=function(t){var e=M();return this.subTo(t,e),e},t.prototype.multiply=function(t){var e=M();return this.multiplyTo(t,e),e},t.prototype.divide=function(t){var e=M();return this.divRemTo(t,e,null),e},t.prototype.remainder=function(t){var e=M();return this.divRemTo(t,null,e),e},t.prototype.divideAndRemainder=function(t){var e=M(),i=M();return this.divRemTo(t,e,i),[e,i]},t.prototype.modPow=function(t,e){var i,r,n=t.bitLength(),s=U(1);if(n<=0)return s;i=n<18?1:n<48?3:n<144?4:n<768?5:6,r=n<8?new I(e):e.isEven()?new P(e):new N(e);var o=[],h=3,a=i-1,u=(1<<i)-1;if(o[1]=r.convert(this),i>1){var c=M();for(r.sqrTo(o[1],c);h<=u;)o[h]=M(),r.mulTo(c,o[h-2],o[h]),h+=2}var f,l,p=t.t-1,g=!0,d=M();for(n=K(t[p])-1;p>=0;){for(n>=a?f=t[p]>>n-a&u:(f=(t[p]&(1<<n+1)-1)<<a-n,p>0&&(f|=t[p-1]>>this.DB+n-a)),h=i;0==(1&f);)f>>=1,--h;if((n-=h)<0&&(n+=this.DB,--p),g)o[f].copyTo(s),g=!1;else{for(;h>1;)r.sqrTo(s,d),r.sqrTo(d,s),h-=2;h>0?r.sqrTo(s,d):(l=s,s=d,d=l),r.mulTo(d,o[f],s)}for(;p>=0&&0==(t[p]&1<<n);)r.sqrTo(s,d),l=s,s=d,d=l,--n<0&&(n=this.DB-1,--p)}return r.revert(s)},t.prototype.modInverse=function(e){var i=e.isEven();if(this.isEven()&&i||0==e.signum())return t.ZERO;for(var r=e.clone(),n=this.clone(),s=U(1),o=U(0),h=U(0),a=U(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),i?(s.isEven()&&o.isEven()||(s.addTo(this,s),o.subTo(e,o)),s.rShiftTo(1,s)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),i?(h.isEven()&&a.isEven()||(h.addTo(this,h),a.subTo(e,a)),h.rShiftTo(1,h)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),i&&s.subTo(h,s),o.subTo(a,o)):(n.subTo(r,n),i&&h.subTo(s,h),a.subTo(o,a))}return 0!=n.compareTo(t.ONE)?t.ZERO:a.compareTo(e)>=0?a.subtract(e):a.signum()<0?(a.addTo(e,a),a.signum()<0?a.add(e):a):a},t.prototype.pow=function(t){return this.exp(t,new V)},t.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),i=t.s<0?t.negate():t.clone();if(e.compareTo(i)<0){var r=e;e=i,i=r}var n=e.getLowestSetBit(),s=i.getLowestSetBit();if(s<0)return e;for(n<s&&(s=n),s>0&&(e.rShiftTo(s,e),i.rShiftTo(s,i));e.signum()>0;)(n=e.getLowestSetBit())>0&&e.rShiftTo(n,e),(n=i.getLowestSetBit())>0&&i.rShiftTo(n,i),e.compareTo(i)>=0?(e.subTo(i,e),e.rShiftTo(1,e)):(i.subTo(e,i),i.rShiftTo(1,i));return s>0&&i.lShiftTo(s,i),i},t.prototype.isProbablePrime=function(t){var e,i=this.abs();if(1==i.t&&i[0]<=B[B.length-1]){for(e=0;e<B.length;++e)if(i[0]==B[e])return!0;return!1}if(i.isEven())return!1;for(e=1;e<B.length;){for(var r=B[e],n=e+1;n<B.length&&r<O;)r*=B[n++];for(r=i.modInt(r);e<n;)if(r%B[e++]==0)return!1}return i.millerRabin(t)},t.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},t.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},t.prototype.fromString=function(e,i){var r;if(16==i)r=4;else if(8==i)r=3;else if(256==i)r=8;else if(2==i)r=1;else if(32==i)r=5;else{if(4!=i)return void this.fromRadix(e,i);r=2}this.t=0,this.s=0;for(var n=e.length,s=!1,o=0;--n>=0;){var h=8==r?255&+e[n]:F(e,n);h<0?\"-\"==e.charAt(n)&&(s=!0):(s=!1,0==o?this[this.t++]=h:o+r>this.DB?(this[this.t-1]|=(h&(1<<this.DB-o)-1)<<o,this[this.t++]=h>>this.DB-o):this[this.t-1]|=h<<o,(o+=r)>=this.DB&&(o-=this.DB))}8==r&&0!=(128&+e[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),s&&t.ZERO.subTo(this,this)},t.prototype.clamp=function(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t},t.prototype.dlShiftTo=function(t,e){var i;for(i=this.t-1;i>=0;--i)e[i+t]=this[i];for(i=t-1;i>=0;--i)e[i]=0;e.t=this.t+t,e.s=this.s},t.prototype.drShiftTo=function(t,e){for(var i=t;i<this.t;++i)e[i-t]=this[i];e.t=Math.max(this.t-t,0),e.s=this.s},t.prototype.lShiftTo=function(t,e){for(var i=t%this.DB,r=this.DB-i,n=(1<<r)-1,s=Math.floor(t/this.DB),o=this.s<<i&this.DM,h=this.t-1;h>=0;--h)e[h+s+1]=this[h]>>r|o,o=(this[h]&n)<<i;for(h=s-1;h>=0;--h)e[h]=0;e[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()},t.prototype.rShiftTo=function(t,e){e.s=this.s;var i=Math.floor(t/this.DB);if(i>=this.t)e.t=0;else{var r=t%this.DB,n=this.DB-r,s=(1<<r)-1;e[0]=this[i]>>r;for(var o=i+1;o<this.t;++o)e[o-i-1]|=(this[o]&s)<<n,e[o-i]=this[o]>>r;r>0&&(e[this.t-i-1]|=(this.s&s)<<n),e.t=this.t-i,e.clamp()}},t.prototype.subTo=function(t,e){for(var i=0,r=0,n=Math.min(t.t,this.t);i<n;)r+=this[i]-t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r-=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r-=t[i],e[i++]=r&this.DM,r>>=this.DB;r-=t.s}e.s=r<0?-1:0,r<-1?e[i++]=this.DV+r:r>0&&(e[i++]=r),e.t=i,e.clamp()},t.prototype.multiplyTo=function(e,i){var r=this.abs(),n=e.abs(),s=r.t;for(i.t=s+n.t;--s>=0;)i[s]=0;for(s=0;s<n.t;++s)i[s+r.t]=r.am(0,n[s],i,s,0,r.t);i.s=0,i.clamp(),this.s!=e.s&&t.ZERO.subTo(i,i)},t.prototype.squareTo=function(t){for(var e=this.abs(),i=t.t=2*e.t;--i>=0;)t[i]=0;for(i=0;i<e.t-1;++i){var r=e.am(i,e[i],t,2*i,0,1);(t[i+e.t]+=e.am(i+1,2*e[i],t,2*i+1,r,e.t-i-1))>=e.DV&&(t[i+e.t]-=e.DV,t[i+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(i,e[i],t,2*i,0,1)),t.s=0,t.clamp()},t.prototype.divRemTo=function(e,i,r){var n=e.abs();if(!(n.t<=0)){var s=this.abs();if(s.t<n.t)return null!=i&&i.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=M());var o=M(),h=this.s,a=e.s,u=this.DB-K(n[n.t-1]);u>0?(n.lShiftTo(u,o),s.lShiftTo(u,r)):(n.copyTo(o),s.copyTo(r));var c=o.t,f=o[c-1];if(0!=f){var l=f*(1<<this.F1)+(c>1?o[c-2]>>this.F2:0),p=this.FV/l,g=(1<<this.F1)/l,d=1<<this.F2,v=r.t,m=v-c,y=null==i?M():i;for(o.dlShiftTo(m,y),r.compareTo(y)>=0&&(r[r.t++]=1,r.subTo(y,r)),t.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t<c;)o[o.t++]=0;for(;--m>=0;){var b=r[--v]==f?this.DM:Math.floor(r[v]*p+(r[v-1]+d)*g);if((r[v]+=o.am(0,b,r,m,0,c))<b)for(o.dlShiftTo(m,y),r.subTo(y,r);r[v]<--b;)r.subTo(y,r)}null!=i&&(r.drShiftTo(c,i),h!=a&&t.ZERO.subTo(i,i)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),h<0&&t.ZERO.subTo(r,r)}}},t.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},t.prototype.exp=function(e,i){if(e>4294967295||e<1)return t.ONE;var r=M(),n=M(),s=i.convert(this),o=K(e)-1;for(s.copyTo(r);--o>=0;)if(i.sqrTo(r,n),(e&1<<o)>0)i.mulTo(n,s,r);else{var h=r;r=n,n=h}return i.revert(r)},t.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},t.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return\"0\";var e=this.chunkSize(t),i=Math.pow(t,e),r=U(i),n=M(),s=M(),o=\"\";for(this.divRemTo(r,n,s);n.signum()>0;)o=(i+s.intValue()).toString(t).substr(1)+o,n.divRemTo(r,n,s);return s.intValue().toString(t)+o},t.prototype.fromRadix=function(e,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),n=Math.pow(i,r),s=!1,o=0,h=0,a=0;a<e.length;++a){var u=F(e,a);u<0?\"-\"==e.charAt(a)&&0==this.signum()&&(s=!0):(h=i*h+u,++o>=r&&(this.dMultiply(n),this.dAddOffset(h,0),o=0,h=0))}o>0&&(this.dMultiply(Math.pow(i,o)),this.dAddOffset(h,0)),s&&t.ZERO.subTo(this,this)},t.prototype.fromNumber=function(e,i,r){if(\"number\"==typeof i)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(t.ONE.shiftLeft(e-1),s,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(t.ONE.shiftLeft(e-1),this);else{var n=[],o=7&e;n.length=1+(e>>3),i.nextBytes(n),o>0?n[0]&=(1<<o)-1:n[0]=0,this.fromString(n,256)}},t.prototype.bitwiseTo=function(t,e,i){var r,n,s=Math.min(t.t,this.t);for(r=0;r<s;++r)i[r]=e(this[r],t[r]);if(t.t<this.t){for(n=t.s&this.DM,r=s;r<this.t;++r)i[r]=e(this[r],n);i.t=this.t}else{for(n=this.s&this.DM,r=s;r<t.t;++r)i[r]=e(n,t[r]);i.t=t.t}i.s=e(this.s,t.s),i.clamp()},t.prototype.changeBit=function(e,i){var r=t.ONE.shiftLeft(e);return this.bitwiseTo(r,i,r),r},t.prototype.addTo=function(t,e){for(var i=0,r=0,n=Math.min(t.t,this.t);i<n;)r+=this[i]+t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r+=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r+=t[i],e[i++]=r&this.DM,r>>=this.DB;r+=t.s}e.s=r<0?-1:0,r>0?e[i++]=r:r<-1&&(e[i++]=this.DV+r),e.t=i,e.clamp()},t.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},t.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},t.prototype.multiplyLowerTo=function(t,e,i){var r=Math.min(this.t+t.t,e);for(i.s=0,i.t=r;r>0;)i[--r]=0;for(var n=i.t-this.t;r<n;++r)i[r+this.t]=this.am(0,t[r],i,r,0,this.t);for(n=Math.min(t.t,e);r<n;++r)this.am(0,t[r],i,r,0,e-r);i.clamp()},t.prototype.multiplyUpperTo=function(t,e,i){--e;var r=i.t=this.t+t.t-e;for(i.s=0;--r>=0;)i[r]=0;for(r=Math.max(e-this.t,0);r<t.t;++r)i[this.t+r-e]=this.am(e-r,t[r],i,0,0,this.t+r-e);i.clamp(),i.drShiftTo(1,i)},t.prototype.modInt=function(t){if(t<=0)return 0;var e=this.DV%t,i=this.s<0?t-1:0;if(this.t>0)if(0==e)i=this[0]%t;else for(var r=this.t-1;r>=0;--r)i=(e*i+this[r])%t;return i},t.prototype.millerRabin=function(e){var i=this.subtract(t.ONE),r=i.getLowestSetBit();if(r<=0)return!1;var n=i.shiftRight(r);(e=e+1>>1)>B.length&&(e=B.length);for(var s=M(),o=0;o<e;++o){s.fromInt(B[Math.floor(Math.random()*B.length)]);var h=s.modPow(n,this);if(0!=h.compareTo(t.ONE)&&0!=h.compareTo(i)){for(var a=1;a++<r&&0!=h.compareTo(i);)if(0==(h=h.modPowInt(2,this)).compareTo(t.ONE))return!1;if(0!=h.compareTo(i))return!1}}return!0},t.prototype.square=function(){var t=M();return this.squareTo(t),t},t.prototype.gcda=function(t,e){var i=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(i.compareTo(r)<0){var n=i;i=r,r=n}var s=i.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)e(i);else{s<o&&(o=s),o>0&&(i.rShiftTo(o,i),r.rShiftTo(o,r));var h=function(){(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),i.compareTo(r)>=0?(i.subTo(r,i),i.rShiftTo(1,i)):(r.subTo(i,r),r.rShiftTo(1,r)),i.signum()>0?setTimeout(h,0):(o>0&&r.lShiftTo(o,r),setTimeout((function(){e(r)}),0))};setTimeout(h,10)}},t.prototype.fromNumberAsync=function(e,i,r,n){if(\"number\"==typeof i)if(e<2)this.fromInt(1);else{this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(t.ONE.shiftLeft(e-1),s,this),this.isEven()&&this.dAddOffset(1,0);var o=this,h=function(){o.dAddOffset(2,0),o.bitLength()>e&&o.subTo(t.ONE.shiftLeft(e-1),o),o.isProbablePrime(i)?setTimeout((function(){n()}),0):setTimeout(h,0)};setTimeout(h,0)}else{var a=[],u=7&e;a.length=1+(e>>3),i.nextBytes(a),u>0?a[0]&=(1<<u)-1:a[0]=0,this.fromString(a,256)}},t}(),V=function(){function t(){}return t.prototype.convert=function(t){return t},t.prototype.revert=function(t){return t},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i)},t.prototype.sqrTo=function(t,e){t.squareTo(e)},t}(),I=function(){function t(t){this.m=t}return t.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),N=function(){function t(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}return t.prototype.convert=function(t){var e=M();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(A.ZERO)>0&&this.m.subTo(e,e),e},t.prototype.revert=function(t){var e=M();return t.copyTo(e),this.reduce(e),e},t.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var i=32767&t[e],r=i*this.mpl+((i*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(t[i=e+this.m.t]+=this.m.am(0,r,t,e,0,this.m.t);t[i]>=t.DV;)t[i]-=t.DV,t[++i]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),P=function(){function t(t){this.m=t,this.r2=M(),this.q3=M(),A.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t)}return t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=M();return t.copyTo(e),this.reduce(e),e},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}();function M(){return new A(null)}function L(t,e){return new A(t,e)}var j=\"undefined\"!=typeof navigator;j&&\"Microsoft Internet Explorer\"==navigator.appName?(A.prototype.am=function(t,e,i,r,n,s){for(var o=32767&e,h=e>>15;--s>=0;){var a=32767&this[t],u=this[t++]>>15,c=h*a+u*o;n=((a=o*a+((32767&c)<<15)+i[r]+(1073741823&n))>>>30)+(c>>>15)+h*u+(n>>>30),i[r++]=1073741823&a}return n},w=30):j&&\"Netscape\"!=navigator.appName?(A.prototype.am=function(t,e,i,r,n,s){for(;--s>=0;){var o=e*this[t++]+i[r]+n;n=Math.floor(o/67108864),i[r++]=67108863&o}return n},w=26):(A.prototype.am=function(t,e,i,r,n,s){for(var o=16383&e,h=e>>14;--s>=0;){var a=16383&this[t],u=this[t++]>>14,c=h*a+u*o;n=((a=o*a+((16383&c)<<14)+i[r]+n)>>28)+(c>>14)+h*u,i[r++]=268435455&a}return n},w=28),A.prototype.DB=w,A.prototype.DM=(1<<w)-1,A.prototype.DV=1<<w,A.prototype.FV=Math.pow(2,52),A.prototype.F1=52-w,A.prototype.F2=2*w-52;var q,H,C=[];for(q=\"0\".charCodeAt(0),H=0;H<=9;++H)C[q++]=H;for(q=\"a\".charCodeAt(0),H=10;H<36;++H)C[q++]=H;for(q=\"A\".charCodeAt(0),H=10;H<36;++H)C[q++]=H;function F(t,e){var i=C[t.charCodeAt(e)];return null==i?-1:i}function U(t){var e=M();return e.fromInt(t),e}function K(t){var e,i=1;return 0!=(e=t>>>16)&&(t=e,i+=16),0!=(e=t>>8)&&(t=e,i+=8),0!=(e=t>>4)&&(t=e,i+=4),0!=(e=t>>2)&&(t=e,i+=2),0!=(e=t>>1)&&(t=e,i+=1),i}A.ZERO=U(0),A.ONE=U(1);var k,_,z=function(){function t(){this.i=0,this.j=0,this.S=[]}return t.prototype.init=function(t){var e,i,r;for(e=0;e<256;++e)this.S[e]=e;for(i=0,e=0;e<256;++e)i=i+this.S[e]+t[e%t.length]&255,r=this.S[e],this.S[e]=this.S[i],this.S[i]=r;this.i=0,this.j=0},t.prototype.next=function(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]},t}(),Z=256,G=null;if(null==G){G=[],_=0;var $=void 0;if(\"undefined\"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var Y=new Uint32Array(256);for(window.crypto.getRandomValues(Y),$=0;$<Y.length;++$)G[_++]=255&Y[$]}var J=0,X=function(t){if((J=J||0)>=256||_>=Z)window.removeEventListener?window.removeEventListener(\"mousemove\",X,!1):window.detachEvent&&window.detachEvent(\"onmousemove\",X);else try{var e=t.x+t.y;G[_++]=255&e,J+=1}catch(t){}};\"undefined\"!=typeof window&&(window.addEventListener?window.addEventListener(\"mousemove\",X,!1):window.attachEvent&&window.attachEvent(\"onmousemove\",X))}function Q(){if(null==k){for(k=new z;_<Z;){var t=Math.floor(65536*Math.random());G[_++]=255&t}for(k.init(G),_=0;_<G.length;++_)G[_]=0;_=0}return k.next()}var W=function(){function t(){}return t.prototype.nextBytes=function(t){for(var e=0;e<t.length;++e)t[e]=Q()},t}(),tt=function(){function t(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)},t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),i=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(i)<0;)e=e.add(this.p);return e.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)},t.prototype.setPublic=function(t,e){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=L(t,16),this.e=parseInt(e,16)):console.error(\"Invalid RSA public key\")},t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3,i=function(t,e){if(e<t.length+11)return console.error(\"Message too long for RSA\"),null;for(var i=[],r=t.length-1;r>=0&&e>0;){var n=t.charCodeAt(r--);n<128?i[--e]=n:n>127&&n<2048?(i[--e]=63&n|128,i[--e]=n>>6|192):(i[--e]=63&n|128,i[--e]=n>>6&63|128,i[--e]=n>>12|224)}i[--e]=0;for(var s=new W,o=[];e>2;){for(o[0]=0;0==o[0];)s.nextBytes(o);i[--e]=o[0]}return i[--e]=2,i[--e]=0,new A(i)}(t,e);if(null==i)return null;var r=this.doPublic(i);if(null==r)return null;for(var n=r.toString(16),s=n.length,o=0;o<2*e-s;o++)n=\"0\"+n;return n},t.prototype.setPrivate=function(t,e,i){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=L(t,16),this.e=parseInt(e,16),this.d=L(i,16)):console.error(\"Invalid RSA private key\")},t.prototype.setPrivateEx=function(t,e,i,r,n,s,o,h){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=L(t,16),this.e=parseInt(e,16),this.d=L(i,16),this.p=L(r,16),this.q=L(n,16),this.dmp1=L(s,16),this.dmq1=L(o,16),this.coeff=L(h,16)):console.error(\"Invalid RSA private key\")},t.prototype.generate=function(t,e){var i=new W,r=t>>1;this.e=parseInt(e,16);for(var n=new A(e,16);;){for(;this.p=new A(t-r,1,i),0!=this.p.subtract(A.ONE).gcd(n).compareTo(A.ONE)||!this.p.isProbablePrime(10););for(;this.q=new A(r,1,i),0!=this.q.subtract(A.ONE).gcd(n).compareTo(A.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q,this.q=s}var o=this.p.subtract(A.ONE),h=this.q.subtract(A.ONE),a=o.multiply(h);if(0==a.gcd(n).compareTo(A.ONE)){this.n=this.p.multiply(this.q),this.d=n.modInverse(a),this.dmp1=this.d.mod(o),this.dmq1=this.d.mod(h),this.coeff=this.q.modInverse(this.p);break}}},t.prototype.decrypt=function(t){var e=L(t,16),i=this.doPrivate(e);return null==i?null:function(t,e){for(var i=t.toByteArray(),r=0;r<i.length&&0==i[r];)++r;if(i.length-r!=e-1||2!=i[r])return null;for(++r;0!=i[r];)if(++r>=i.length)return null;for(var n=\"\";++r<i.length;){var s=255&i[r];s<128?n+=String.fromCharCode(s):s>191&&s<224?(n+=String.fromCharCode((31&s)<<6|63&i[r+1]),++r):(n+=String.fromCharCode((15&s)<<12|(63&i[r+1])<<6|63&i[r+2]),r+=2)}return n}(i,this.n.bitLength()+7>>3)},t.prototype.generateAsync=function(t,e,i){var r=new W,n=t>>1;this.e=parseInt(e,16);var s=new A(e,16),o=this,h=function(){var e=function(){if(o.p.compareTo(o.q)<=0){var t=o.p;o.p=o.q,o.q=t}var e=o.p.subtract(A.ONE),r=o.q.subtract(A.ONE),n=e.multiply(r);0==n.gcd(s).compareTo(A.ONE)?(o.n=o.p.multiply(o.q),o.d=s.modInverse(n),o.dmp1=o.d.mod(e),o.dmq1=o.d.mod(r),o.coeff=o.q.modInverse(o.p),setTimeout((function(){i()}),0)):setTimeout(h,0)},a=function(){o.q=M(),o.q.fromNumberAsync(n,1,r,(function(){o.q.subtract(A.ONE).gcda(s,(function(t){0==t.compareTo(A.ONE)&&o.q.isProbablePrime(10)?setTimeout(e,0):setTimeout(a,0)}))}))},u=function(){o.p=M(),o.p.fromNumberAsync(t-n,1,r,(function(){o.p.subtract(A.ONE).gcda(s,(function(t){0==t.compareTo(A.ONE)&&o.p.isProbablePrime(10)?setTimeout(a,0):setTimeout(u,0)}))}))};setTimeout(u,0)};setTimeout(h,0)},t.prototype.sign=function(t,e,i){var r=function(t,e){if(e<t.length+22)return console.error(\"Message too long for RSA\"),null;for(var i=e-t.length-6,r=\"\",n=0;n<i;n+=2)r+=\"ff\";return L(\"0001\"+r+\"00\"+t,16)}((et[i]||\"\")+e(t).toString(),this.n.bitLength()/4);if(null==r)return null;var n=this.doPrivate(r);if(null==n)return null;var s=n.toString(16);return 0==(1&s.length)?s:\"0\"+s},t.prototype.verify=function(t,e,i){var r=L(e,16),n=this.doPublic(r);return null==n?null:function(t){for(var e in et)if(et.hasOwnProperty(e)){var i=et[e],r=i.length;if(t.substr(0,r)==i)return t.substr(r)}return t}(n.toString(16).replace(/^1f+00/,\"\"))==i(t).toString()},t}(),et={md2:\"3020300c06082a864886f70d020205000410\",md5:\"3020300c06082a864886f70d020505000410\",sha1:\"3021300906052b0e03021a05000414\",sha224:\"302d300d06096086480165030402040500041c\",sha256:\"3031300d060960864801650304020105000420\",sha384:\"3041300d060960864801650304020205000430\",sha512:\"3051300d060960864801650304020305000440\",ripemd160:\"3021300906052b2403020105000414\"},it={};it.lang={extend:function(t,e,i){if(!e||!t)throw new Error(\"YAHOO.lang.extend failed, please check that all dependencies are included.\");var r=function(){};if(r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),i){var n;for(n in i)t.prototype[n]=i[n];var s=function(){},o=[\"toString\",\"valueOf\"];try{/MSIE/.test(navigator.userAgent)&&(s=function(t,e){for(n=0;n<o.length;n+=1){var i=o[n],r=e[i];\"function\"==typeof r&&r!=Object.prototype[i]&&(t[i]=r)}})}catch(t){}s(t.prototype,i)}}};var rt={};void 0!==rt.asn1&&rt.asn1||(rt.asn1={}),rt.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e=\"0\"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if(\"-\"!=e.substr(0,1))e.length%2==1?e=\"0\"+e:e.match(/^[0-7]/)||(e=\"00\"+e);else{var i=e.substr(1).length;i%2==1?i+=1:e.match(/^[0-7]/)||(i+=2);for(var r=\"\",n=0;n<i;n++)r+=\"f\";e=new A(r,16).xor(t).add(A.ONE).toString(16).replace(/^-/,\"\")}return e},this.getPEMStringFromHex=function(t,e){return hextopem(t,e)},this.newObject=function(t){var e=rt.asn1,i=e.DERBoolean,r=e.DERInteger,n=e.DERBitString,s=e.DEROctetString,o=e.DERNull,h=e.DERObjectIdentifier,a=e.DEREnumerated,u=e.DERUTF8String,c=e.DERNumericString,f=e.DERPrintableString,l=e.DERTeletexString,p=e.DERIA5String,g=e.DERUTCTime,d=e.DERGeneralizedTime,v=e.DERSequence,m=e.DERSet,y=e.DERTaggedObject,b=e.ASN1Util.newObject,T=Object.keys(t);if(1!=T.length)throw\"key of param shall be only one.\";var S=T[0];if(-1==\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\"+S+\":\"))throw\"undefined key: \"+S;if(\"bool\"==S)return new i(t[S]);if(\"int\"==S)return new r(t[S]);if(\"bitstr\"==S)return new n(t[S]);if(\"octstr\"==S)return new s(t[S]);if(\"null\"==S)return new o(t[S]);if(\"oid\"==S)return new h(t[S]);if(\"enum\"==S)return new a(t[S]);if(\"utf8str\"==S)return new u(t[S]);if(\"numstr\"==S)return new c(t[S]);if(\"prnstr\"==S)return new f(t[S]);if(\"telstr\"==S)return new l(t[S]);if(\"ia5str\"==S)return new p(t[S]);if(\"utctime\"==S)return new g(t[S]);if(\"gentime\"==S)return new d(t[S]);if(\"seq\"==S){for(var E=t[S],w=[],D=0;D<E.length;D++){var x=b(E[D]);w.push(x)}return new v({array:w})}if(\"set\"==S){for(E=t[S],w=[],D=0;D<E.length;D++)x=b(E[D]),w.push(x);return new m({array:w})}if(\"tag\"==S){var R=t[S];if(\"[object Array]\"===Object.prototype.toString.call(R)&&3==R.length){var B=b(R[2]);return new y({tag:R[0],explicit:R[1],obj:B})}var O={};if(void 0!==R.explicit&&(O.explicit=R.explicit),void 0!==R.tag&&(O.tag=R.tag),void 0===R.obj)throw\"obj shall be specified for 'tag'.\";return O.obj=b(R.obj),new y(O)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},rt.asn1.ASN1Util.oidHexToInt=function(t){for(var e=\"\",i=parseInt(t.substr(0,2),16),r=(e=Math.floor(i/40)+\".\"+i%40,\"\"),n=2;n<t.length;n+=2){var s=(\"00000000\"+parseInt(t.substr(n,2),16).toString(2)).slice(-8);r+=s.substr(1,7),\"0\"==s.substr(0,1)&&(e=e+\".\"+new A(r,2).toString(10),r=\"\")}return e},rt.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e=\"0\"+e),e},i=function(t){var i=\"\",r=new A(t,10).toString(2),n=7-r.length%7;7==n&&(n=0);for(var s=\"\",o=0;o<n;o++)s+=\"0\";for(r=s+r,o=0;o<r.length-1;o+=7){var h=r.substr(o,7);o!=r.length-7&&(h=\"1\"+h),i+=e(parseInt(h,2))}return i};if(!t.match(/^[0-9.]+$/))throw\"malformed oid string: \"+t;var r=\"\",n=t.split(\".\"),s=40*parseInt(n[0])+parseInt(n[1]);r+=e(s),n.splice(0,2);for(var o=0;o<n.length;o++)r+=i(n[o]);return r},rt.asn1.ASN1Object=function(){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw\"this.hV is null or undefined.\";if(this.hV.length%2==1)throw\"value hex must be even length: n=\"+\"\".length+\",v=\"+this.hV;var t=this.hV.length/2,e=t.toString(16);if(e.length%2==1&&(e=\"0\"+e),t<128)return e;var i=e.length/2;if(i>15)throw\"ASN.1 length too long to represent by 8x: n = \"+t.toString(16);return(128+i).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return\"\"}},rt.asn1.DERAbstractString=function(t){rt.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},it.lang.extend(rt.asn1.DERAbstractString,rt.asn1.ASN1Object),rt.asn1.DERAbstractTime=function(t){rt.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){return utc=t.getTime()+6e4*t.getTimezoneOffset(),new Date(utc)},this.formatDate=function(t,e,i){var r=this.zeroPadding,n=this.localDateToUTC(t),s=String(n.getFullYear());\"utc\"==e&&(s=s.substr(2,2));var o=s+r(String(n.getMonth()+1),2)+r(String(n.getDate()),2)+r(String(n.getHours()),2)+r(String(n.getMinutes()),2)+r(String(n.getSeconds()),2);if(!0===i){var h=n.getMilliseconds();if(0!=h){var a=r(String(h),3);o=o+\".\"+(a=a.replace(/[0]+$/,\"\"))}}return o+\"Z\"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(t)},this.setByDateValue=function(t,e,i,r,n,s){var o=new Date(Date.UTC(t,e-1,i,r,n,s,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},it.lang.extend(rt.asn1.DERAbstractTime,rt.asn1.ASN1Object),rt.asn1.DERAbstractStructured=function(t){rt.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},it.lang.extend(rt.asn1.DERAbstractStructured,rt.asn1.ASN1Object),rt.asn1.DERBoolean=function(){rt.asn1.DERBoolean.superclass.constructor.call(this),this.hT=\"01\",this.hTLV=\"0101ff\"},it.lang.extend(rt.asn1.DERBoolean,rt.asn1.ASN1Object),rt.asn1.DERInteger=function(t){rt.asn1.DERInteger.superclass.constructor.call(this),this.hT=\"02\",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=rt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new A(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):\"number\"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},it.lang.extend(rt.asn1.DERInteger,rt.asn1.ASN1Object),rt.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=rt.asn1.ASN1Util.newObject(t.obj);t.hex=\"00\"+e.getEncodedHex()}rt.asn1.DERBitString.superclass.constructor.call(this),this.hT=\"03\",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw\"unused bits shall be from 0 to 7: u = \"+t;var i=\"0\"+t;this.hTLV=null,this.isModified=!0,this.hV=i+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,\"\")).length%8;8==e&&(e=0);for(var i=0;i<=e;i++)t+=\"0\";var r=\"\";for(i=0;i<t.length-1;i+=8){var n=t.substr(i,8),s=parseInt(n,2).toString(16);1==s.length&&(s=\"0\"+s),r+=s}this.hTLV=null,this.isModified=!0,this.hV=\"0\"+e+r},this.setByBooleanArray=function(t){for(var e=\"\",i=0;i<t.length;i++)1==t[i]?e+=\"1\":e+=\"0\";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),i=0;i<t;i++)e[i]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},it.lang.extend(rt.asn1.DERBitString,rt.asn1.ASN1Object),rt.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=rt.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}rt.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT=\"04\"},it.lang.extend(rt.asn1.DEROctetString,rt.asn1.DERAbstractString),rt.asn1.DERNull=function(){rt.asn1.DERNull.superclass.constructor.call(this),this.hT=\"05\",this.hTLV=\"0500\"},it.lang.extend(rt.asn1.DERNull,rt.asn1.ASN1Object),rt.asn1.DERObjectIdentifier=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e=\"0\"+e),e},i=function(t){var i=\"\",r=new A(t,10).toString(2),n=7-r.length%7;7==n&&(n=0);for(var s=\"\",o=0;o<n;o++)s+=\"0\";for(r=s+r,o=0;o<r.length-1;o+=7){var h=r.substr(o,7);o!=r.length-7&&(h=\"1\"+h),i+=e(parseInt(h,2))}return i};rt.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT=\"06\",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw\"malformed oid string: \"+t;var r=\"\",n=t.split(\".\"),s=40*parseInt(n[0])+parseInt(n[1]);r+=e(s),n.splice(0,2);for(var o=0;o<n.length;o++)r+=i(n[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=r},this.setValueName=function(t){var e=rt.asn1.x509.OID.name2oid(t);if(\"\"===e)throw\"DERObjectIdentifier oidName undefined: \"+t;this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t?t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t):void 0!==t.oid?this.setValueOidString(t.oid):void 0!==t.hex?this.setValueHex(t.hex):void 0!==t.name&&this.setValueName(t.name))},it.lang.extend(rt.asn1.DERObjectIdentifier,rt.asn1.ASN1Object),rt.asn1.DEREnumerated=function(t){rt.asn1.DEREnumerated.superclass.constructor.call(this),this.hT=\"0a\",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=rt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new A(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):\"number\"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},it.lang.extend(rt.asn1.DEREnumerated,rt.asn1.ASN1Object),rt.asn1.DERUTF8String=function(t){rt.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT=\"0c\"},it.lang.extend(rt.asn1.DERUTF8String,rt.asn1.DERAbstractString),rt.asn1.DERNumericString=function(t){rt.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT=\"12\"},it.lang.extend(rt.asn1.DERNumericString,rt.asn1.DERAbstractString),rt.asn1.DERPrintableString=function(t){rt.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT=\"13\"},it.lang.extend(rt.asn1.DERPrintableString,rt.asn1.DERAbstractString),rt.asn1.DERTeletexString=function(t){rt.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT=\"14\"},it.lang.extend(rt.asn1.DERTeletexString,rt.asn1.DERAbstractString),rt.asn1.DERIA5String=function(t){rt.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT=\"16\"},it.lang.extend(rt.asn1.DERIA5String,rt.asn1.DERAbstractString),rt.asn1.DERUTCTime=function(t){rt.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT=\"17\",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,\"utc\"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,\"utc\"),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):\"string\"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},it.lang.extend(rt.asn1.DERUTCTime,rt.asn1.DERAbstractTime),rt.asn1.DERGeneralizedTime=function(t){rt.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT=\"18\",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,\"gen\",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,\"gen\",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):\"string\"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},it.lang.extend(rt.asn1.DERGeneralizedTime,rt.asn1.DERAbstractTime),rt.asn1.DERSequence=function(t){rt.asn1.DERSequence.superclass.constructor.call(this,t),this.hT=\"30\",this.getFreshValueHex=function(){for(var t=\"\",e=0;e<this.asn1Array.length;e++)t+=this.asn1Array[e].getEncodedHex();return this.hV=t,this.hV}},it.lang.extend(rt.asn1.DERSequence,rt.asn1.DERAbstractStructured),rt.asn1.DERSet=function(t){rt.asn1.DERSet.superclass.constructor.call(this,t),this.hT=\"31\",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t.push(i.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(\"\"),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},it.lang.extend(rt.asn1.DERSet,rt.asn1.DERAbstractStructured),rt.asn1.DERTaggedObject=function(t){rt.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT=\"a0\",this.hV=\"\",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,i){this.hT=e,this.isExplicit=t,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.tag&&(this.hT=t.tag),void 0!==t.explicit&&(this.isExplicit=t.explicit),void 0!==t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},it.lang.extend(rt.asn1.DERTaggedObject,rt.asn1.ASN1Object);var nt,st,ot=(nt=function(t,e){return nt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},nt(t,e)},function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}nt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),ht=function(t){function e(i){var r=t.call(this)||this;return i&&(\"string\"==typeof i?r.parseKey(i):(e.hasPrivateKeyProperty(i)||e.hasPublicKeyProperty(i))&&r.parsePropertiesFrom(i)),r}return ot(e,t),e.prototype.parseKey=function(t){try{var e=0,i=0,r=/^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/.test(t)?function(t){var e;if(void 0===c){var i=\"0123456789ABCDEF\",r=\" \\f\\n\\r\\t \\u2028\\u2029\";for(c={},e=0;e<16;++e)c[i.charAt(e)]=e;for(i=i.toLowerCase(),e=10;e<16;++e)c[i.charAt(e)]=e;for(e=0;e<r.length;++e)c[r.charAt(e)]=-1}var n=[],s=0,o=0;for(e=0;e<t.length;++e){var h=t.charAt(e);if(\"=\"==h)break;if(-1!=(h=c[h])){if(void 0===h)throw new Error(\"Illegal character at offset \"+e);s|=h,++o>=2?(n[n.length]=s,s=0,o=0):s<<=4}}if(o)throw new Error(\"Hex encoding incomplete: 4 bits missing\");return n}(t):v.unarmor(t),n=x.decode(r);if(3===n.sub.length&&(n=n.sub[2].sub[0]),9===n.sub.length){e=n.sub[1].getHexStringValue(),this.n=L(e,16),i=n.sub[2].getHexStringValue(),this.e=parseInt(i,16);var s=n.sub[3].getHexStringValue();this.d=L(s,16);var o=n.sub[4].getHexStringValue();this.p=L(o,16);var h=n.sub[5].getHexStringValue();this.q=L(h,16);var a=n.sub[6].getHexStringValue();this.dmp1=L(a,16);var u=n.sub[7].getHexStringValue();this.dmq1=L(u,16);var f=n.sub[8].getHexStringValue();this.coeff=L(f,16)}else{if(2!==n.sub.length)return!1;if(n.sub[0].sub){var l=n.sub[1].sub[0];e=l.sub[0].getHexStringValue(),this.n=L(e,16),i=l.sub[1].getHexStringValue(),this.e=parseInt(i,16)}else e=n.sub[0].getHexStringValue(),this.n=L(e,16),i=n.sub[1].getHexStringValue(),this.e=parseInt(i,16)}return!0}catch(t){return!1}},e.prototype.getPrivateBaseKey=function(){var t={array:[new rt.asn1.DERInteger({int:0}),new rt.asn1.DERInteger({bigint:this.n}),new rt.asn1.DERInteger({int:this.e}),new rt.asn1.DERInteger({bigint:this.d}),new rt.asn1.DERInteger({bigint:this.p}),new rt.asn1.DERInteger({bigint:this.q}),new rt.asn1.DERInteger({bigint:this.dmp1}),new rt.asn1.DERInteger({bigint:this.dmq1}),new rt.asn1.DERInteger({bigint:this.coeff})]};return new rt.asn1.DERSequence(t).getEncodedHex()},e.prototype.getPrivateBaseKeyB64=function(){return p(this.getPrivateBaseKey())},e.prototype.getPublicBaseKey=function(){var t=new rt.asn1.DERSequence({array:[new rt.asn1.DERObjectIdentifier({oid:\"1.2.840.113549.1.1.1\"}),new rt.asn1.DERNull]}),e=new rt.asn1.DERSequence({array:[new rt.asn1.DERInteger({bigint:this.n}),new rt.asn1.DERInteger({int:this.e})]}),i=new rt.asn1.DERBitString({hex:\"00\"+e.getEncodedHex()});return new rt.asn1.DERSequence({array:[t,i]}).getEncodedHex()},e.prototype.getPublicBaseKeyB64=function(){return p(this.getPublicBaseKey())},e.wordwrap=function(t,e){if(!t)return t;var i=\"(.{1,\"+(e=e||64)+\"})( +|$\\n?)|(.{1,\"+e+\"})\";return t.match(RegExp(i,\"g\")).join(\"\\n\")},e.prototype.getPrivateKey=function(){var t=\"-----BEGIN RSA PRIVATE KEY-----\\n\";return(t+=e.wordwrap(this.getPrivateBaseKeyB64())+\"\\n\")+\"-----END RSA PRIVATE KEY-----\"},e.prototype.getPublicKey=function(){var t=\"-----BEGIN PUBLIC KEY-----\\n\";return(t+=e.wordwrap(this.getPublicBaseKeyB64())+\"\\n\")+\"-----END PUBLIC KEY-----\"},e.hasPublicKeyProperty=function(t){return(t=t||{}).hasOwnProperty(\"n\")&&t.hasOwnProperty(\"e\")},e.hasPrivateKeyProperty=function(t){return(t=t||{}).hasOwnProperty(\"n\")&&t.hasOwnProperty(\"e\")&&t.hasOwnProperty(\"d\")&&t.hasOwnProperty(\"p\")&&t.hasOwnProperty(\"q\")&&t.hasOwnProperty(\"dmp1\")&&t.hasOwnProperty(\"dmq1\")&&t.hasOwnProperty(\"coeff\")},e.prototype.parsePropertiesFrom=function(t){this.n=t.n,this.e=t.e,t.hasOwnProperty(\"d\")&&(this.d=t.d,this.p=t.p,this.q=t.q,this.dmp1=t.dmp1,this.dmq1=t.dmq1,this.coeff=t.coeff)},e}(tt),at=i(155),ut=void 0!==at?null===(st=at.env)||void 0===st?void 0:\"3.3.2\":void 0;const ct=function(){function t(t){void 0===t&&(t={}),t=t||{},this.default_key_size=t.default_key_size?parseInt(t.default_key_size,10):1024,this.default_public_exponent=t.default_public_exponent||\"010001\",this.log=t.log||!1,this.key=null}return t.prototype.setKey=function(t){this.log&&this.key&&console.warn(\"A key was already set, overriding existing.\"),this.key=new ht(t)},t.prototype.setPrivateKey=function(t){this.setKey(t)},t.prototype.setPublicKey=function(t){this.setKey(t)},t.prototype.decrypt=function(t){try{return this.getKey().decrypt(g(t))}catch(t){return!1}},t.prototype.encrypt=function(t){try{return p(this.getKey().encrypt(t))}catch(t){return!1}},t.prototype.sign=function(t,e,i){try{return p(this.getKey().sign(t,e,i))}catch(t){return!1}},t.prototype.verify=function(t,e,i){try{return this.getKey().verify(t,g(e),i)}catch(t){return!1}},t.prototype.getKey=function(t){if(!this.key){if(this.key=new ht,t&&\"[object Function]\"==={}.toString.call(t))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},t.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},t.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},t.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},t.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},t.version=ut,t}()})(),r.default})()));","export default \"__VITE_PUBLIC_ASSET__baaaef43__\"","export default \"__VITE_PUBLIC_ASSET__396c0d45__\"","export default \"__VITE_PUBLIC_ASSET__819195cb__\"","<template>\r\n <div v-show=\"isShow\" class=\"login_bg\">\r\n <div class=\"video-container\">\r\n <img class=\"mask\"\r\n :src=\"poster\"\r\n alt=\"videoMask\" />\r\n <video autoplay\r\n loop\r\n class=\"video\"\r\n muted>\r\n <source :src=\"video\"\r\n type=\"video/mp4\" />\r\n </video>\r\n </div>\r\n <div class=\"login_main\">\r\n <div class=\"login_config\">\r\n <Lang />\r\n </div>\r\n <div class=\"login-form\">\r\n <div class=\"login-header\">\r\n <div class=\"logo\">\r\n <img :alt=\"$config.APP_NAME\"\r\n :src=\"logo2\">\r\n </div>\r\n </div>\r\n <el-form ref=\"loginForm\"\r\n class=\"form-body\"\r\n :model=\"ruleForm\"\r\n :rules=\"rules\"\r\n label-width=\"0\"\r\n size=\"large\">\r\n <el-form-item>\r\n <div class=\"title-name\">{{$t('login.accountLogin')}}</div>\r\n </el-form-item>\r\n <el-form-item prop=\"user\">\r\n <el-input v-model=\"ruleForm.user\"\r\n prefix-icon=\"el-icon-user\"\r\n clearable\r\n :placeholder=\"$t('login.userPlaceholder')\">\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <el-input v-model=\"ruleForm.password\"\r\n prefix-icon=\"el-icon-lock\"\r\n clearable\r\n show-password\r\n :placeholder=\"$t('login.PWPlaceholder')\">\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item style=\"margin-bottom: 10px\">\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <el-checkbox :label=\"$t('login.rememberMe')\"\r\n v-model=\"ruleForm.autologin\"></el-checkbox>\r\n </el-col>\r\n <el-col :span=\"12\"\r\n style=\"text-align: right\">\r\n <el-button type=\"primary\"\r\n text>{{ $t(\"login.forgetPassword\") }}?\r\n </el-button>\r\n </el-col>\r\n </el-row>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\"\r\n style=\"width: 100%\"\r\n :loading=\"islogin\"\r\n @click=\"login\">{{ $t(\"login.signIn\") }}</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</template>\r\n\r\n<script>\r\nimport JSEncrypt from 'jsencrypt/bin/jsencrypt.min'\r\nimport Lang from '../lwLayout/components/lang.vue'\r\n\r\nimport poster from '/images/video-poster.png';\r\nimport video from '/images/video-bg.mp4';\r\nimport logo2 from '/images/logo2.png';\r\nexport default {\r\n name: 'lwLogin',\r\n props: {\r\n // 是否要校验初始化\r\n isInitialized: {\r\n type: Boolean,\r\n default: true\r\n },\r\n // 是否手动合并菜单到同一个项目\r\n isCombined: {\r\n type: Boolean,\r\n default: true\r\n },\r\n\r\n },\r\n components: {\r\n Lang,\r\n },\r\n data() {\r\n return {\r\n poster,\r\n video,\r\n logo2,\r\n ruleForm: {\r\n user: \"\",\r\n password: \"\",\r\n role: 0,\r\n autologin: false,\r\n },\r\n rules: {\r\n user: [\r\n {\r\n required: true,\r\n message: this.$t(\"login.userError\"),\r\n trigger: \"blur\",\r\n },\r\n ],\r\n password: [\r\n {\r\n required: true,\r\n message: this.$t(\"login.PWError\"),\r\n trigger: \"blur\",\r\n },\r\n ],\r\n },\r\n islogin: false,\r\n isShow: false,\r\n\r\n };\r\n },\r\n\r\n created: function () {\r\n this.$tool.data.clear();\r\n this.$store.commit(\"clearViewTags\");\r\n this.$store.commit(\"clearKeepLive\");\r\n this.$store.commit(\"clearIframeList\")\r\n\r\n // 旧项目处理兼容 后期要去掉\r\n this.getOldData()\r\n },\r\n methods: {\r\n // 旧项目处理兼容\r\n getOldData() {\r\n let curret_user = sessionStorage.getItem('easyweb_session_passport_current_user')\r\n let curret_bu = sessionStorage.getItem('easyweb_session_passport_bu')\r\n let curret_list = sessionStorage.getItem('easyweb_session_passport_bu_list')\r\n function getCookie(name) {\r\n // 构建目标 cookie 名称的前缀\r\n const nameEQ = name + \"=\";\r\n // 获取所有 cookies\r\n const cookies = document.cookie.split(';');\r\n\r\n // 遍历所有 cookies\r\n for (let i = 0; i < cookies.length; i++) {\r\n // 去掉 cookies 字符串的开头和结尾的空白字符\r\n let cookie = cookies[i].trim();\r\n\r\n // 检查这个 cookie 是否以目标名称开头\r\n if (cookie.indexOf(nameEQ) === 0) {\r\n // 如果是,返回 cookie 的值\r\n return cookie.substring(nameEQ.length, cookie.length);\r\n }\r\n }\r\n\r\n // 如果没有找到,返回 null\r\n return null;\r\n }\r\n\r\n if (curret_user) {\r\n\r\n const authorization = getCookie('Authorization')\r\n const decodedToken = decodeURIComponent(authorization)\r\n const parts = decodedToken.split(' ');\r\n this.$tool.data.set('TOKEN', parts[1])\r\n\r\n let user = JSON.parse(curret_user)\r\n let bu = JSON.parse(curret_bu)\r\n let bu_list = JSON.parse(curret_list)\r\n\r\n console.log(parts, user, bu, bu_list)\r\n\r\n this.$tool.data.set('userAuthInfo', user.v.userAuthInfo)\r\n this.$tool.data.set('MenuPath', user.v.userAuthInfo.grantedApplications)\r\n this.$tool.data.set('buCode', bu.v.code)\r\n this.$tool.data.set('tenantId', bu.v.tenantId)\r\n this.$tool.data.set('buList', bu_list.v)\r\n\r\n this.$router.push(this.$config.DASHBOARD_URL);\r\n } else {\r\n this.isShow = true;\r\n }\r\n },\r\n // 加密\r\n encrypt(publicKey, txt) {\r\n const encryptor = new JSEncrypt()\r\n encryptor.setPublicKey(publicKey) // 设置公钥\r\n return encryptor.encrypt(txt) // 对数据进行加密\r\n },\r\n async login() {\r\n let validate = await this.$refs.loginForm\r\n .validate()\r\n .catch(() => { });\r\n if (!validate) {\r\n return false;\r\n }\r\n\r\n this.islogin = true;\r\n const publicKey = await this.$api.auth.key()\r\n let data = {\r\n username: this.encrypt(publicKey, this.ruleForm.user),\r\n password: this.encrypt(publicKey, this.ruleForm.password),\r\n };\r\n //获取token\r\n let token = await this.$api.auth.token(data);\r\n this.$tool.data.set(\"TOKEN\", token);\r\n\r\n\r\n // 获取所有bu\r\n let bu = await this.$api.auth.bu()\r\n this.$tool.data.set('buList', bu)\r\n this.$tool.data.set('buCode', bu[0].code)\r\n\r\n // 获取用户信息\r\n let user = await this.$api.auth.user()\r\n this.$tool.data.set('tenantId', user.userAuthInfo.tenantId)\r\n this.$tool.data.set('userAuthInfo', user.userAuthInfo)\r\n this.$tool.data.set('MenuPath', user.userAuthInfo.grantedApplications)\r\n this.$store.state.user = user.userAuthInfo\r\n\r\n // 获取合并菜单信息 isCombined 这参数后期要加是否要合并菜单展示 现在默认tue\r\n /**\r\n * 此处进行 获取的数据路由router文件进行合并\r\n * 需要开发一个接口返回 权限与具体页面路径映射数据 (这个功能要开发)\r\n * 需要在 platform 菜单管理中 配置isCombined参数 用于标识是否合并项目菜单\r\n * 原有的数据要加两个配置项 icon path\r\n * 返回的数据是\r\n * [\r\n * {\r\n \"id\": \"ma_menu.workplace\",\r\n \"tenantId\": \"connext\",\r\n \"name\": \"工作台\",\r\n \"type\": \"MENU\",\r\n ...\r\n \"applications\": [\"ma\"],\r\n \"icon\": 'el-icon-discount', // icon\r\n \"path\": '/reach/flow-template/, // 菜单路径\r\n \"authority\": [\r\n \"ma.marketing_center.locate\",\r\n \"ma.marketing_center_operation.locate\",\r\n ]\r\n }\r\n * ]\r\n */\r\n if (user.combined || this.isCombined) {\r\n let menu = await this.$api.auth.menu();\r\n this.$tool.data.set(\"MENUCOMBINED\", menu);\r\n // 注入 用于判断子项目 是否扁平化\r\n this.$tool.data.set(\"MENUCOMBINEDNMAE\", this.$config.APP_NAME);\r\n } else {\r\n this.$tool.data.remove(\"MENUCOMBINED\");\r\n this.$tool.data.remove(\"MENUCOMBINEDNMAE\");\r\n }\r\n\r\n // 检验是否初始化\r\n\r\n if (this.isInitialized) {\r\n let initialized = await this.$api.auth.initialized()\r\n this.$tool.data.set('zoneInitialized', initialized)\r\n if (initialized) {\r\n this.$router.push(this.$config.DASHBOARD_URL);\r\n } else {\r\n this.$router.push(this.$config.INIT_URL);\r\n }\r\n } else {\r\n this.$router.push(this.$config.DASHBOARD_URL);\r\n }\r\n\r\n\r\n this.$message.success(\"登录成功\");\r\n this.islogin = false;\r\n },\r\n\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.login_bg {\r\n width: 100%;\r\n height: 100%;\r\n background: #fff;\r\n display: flex;\r\n}\r\n\r\n.video-container {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n\r\n .mask {\r\n position: fixed;\r\n z-index: 1;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n }\r\n\r\n .video {\r\n position: absolute;\r\n z-index: 0;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n }\r\n}\r\n\r\n.login_main {\r\n flex: 1;\r\n overflow: auto;\r\n display: flex;\r\n}\r\n.login-form {\r\n margin: auto;\r\n padding: 20px 0;\r\n position: relative;\r\n z-index: 9;\r\n display: flex;\r\n align-items: center;\r\n gap: 150px;\r\n}\r\n.login-header {\r\n margin-bottom: 40px;\r\n}\r\n.login-header .logo {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.login-header .logo img {\r\n width: auto;\r\n height: 40px;\r\n vertical-align: bottom;\r\n margin-right: 10px;\r\n}\r\n.login-header .logo label {\r\n font-size: 26px;\r\n font-weight: bold;\r\n}\r\n.login-oauth {\r\n display: flex;\r\n justify-content: space-around;\r\n}\r\n.login-form .el-divider {\r\n margin-top: 40px;\r\n}\r\n\r\n.form-body {\r\n width: 364px;\r\n height: 324px;\r\n padding: 24px;\r\n overflow: hidden;\r\n border-radius: 4px;\r\n background-color: #fff;\r\n box-shadow: 0 4px 16px rgba(39, 40, 42, 0.5);\r\n color: #27282a;\r\n .title-name {\r\n font-size: 20px;\r\n font-weight: 500;\r\n line-height: 28px;\r\n }\r\n}\r\n\r\n.login-form:deep(.el-tabs) .el-tabs__header {\r\n margin-bottom: 25px;\r\n}\r\n.login-form:deep(.el-tabs) .el-tabs__header .el-tabs__item {\r\n font-size: 14px;\r\n}\r\n\r\n.login-form:deep(.login-forgot) {\r\n text-align: right;\r\n}\r\n.login-form:deep(.login-forgot) a {\r\n color: var(--el-color-primary);\r\n}\r\n.login-form:deep(.login-forgot) a:hover {\r\n color: var(--el-color-primary-light-3);\r\n}\r\n.login-form:deep(.login-reg) {\r\n font-size: 14px;\r\n color: var(--el-text-color-primary);\r\n}\r\n.login-form:deep(.login-reg) a {\r\n color: var(--el-color-primary);\r\n}\r\n.login-form:deep(.login-reg) a:hover {\r\n color: var(--el-color-primary-light-3);\r\n}\r\n\r\n.login_config {\r\n position: absolute;\r\n top: 20px;\r\n right: 20px;\r\n}\r\n\r\n.login-form:deep(.login-msg-yzm) {\r\n display: flex;\r\n width: 100%;\r\n}\r\n.login-form:deep(.login-msg-yzm) .el-button {\r\n margin-left: 10px;\r\n --el-button-size: 42px;\r\n}\r\n\r\n.qrCodeLogin {\r\n text-align: center;\r\n position: relative;\r\n padding: 20px 0;\r\n}\r\n.qrCodeLogin img.qrCode {\r\n background: #fff;\r\n padding: 20px;\r\n border-radius: 10px;\r\n}\r\n.qrCodeLogin p.msg {\r\n margin-top: 15px;\r\n}\r\n.qrCodeLogin .qrCodeLogin-result {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n text-align: center;\r\n background: var(--el-mask-color);\r\n}\r\n</style>\r\n","<template>\r\n <div>\r\n <el-input\r\n :type=\"item.type || 'text'\"\r\n :disabled=\"item.disabled\"\r\n :placeholder=\"item.label || $t('lwSearch.please_input')\"\r\n :maxlength=\"item.maxlength\"\r\n :minlength=\"item.minlength\"\r\n :show-word-limit=\"item.showWordLimit\"\r\n :autosize=\"item.autosize || { minRows: 2 }\"\r\n allow-clear\r\n v-model=\"value\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"Input\",\r\n props: {\r\n disabled: { // 是否禁止操作\r\n type: Boolean,\r\n default: false\r\n },\r\n modelValue: { // 绑定的结果\r\n type: [String, Number],\r\n default: \"\"\r\n },\r\n item: { // 配置项\r\n type: Object,\r\n default: () => ({})\r\n },\r\n },\r\n data() {\r\n return {\r\n value: this.modelValue\r\n };\r\n },\r\n watch: {\r\n modelValue(newVal) {\r\n this.value = newVal;\r\n },\r\n value(newVal) {\r\n const filter = this.item.filter ?? false;\r\n if (filter) {\r\n newVal = newVal.replace(/ /g, ',').replace(/\\,/g, ',').replace(/\\,/g, ',').replace(/\\n/g, ',');\r\n }\r\n this.$emit('update:modelValue', newVal);\r\n this.$emit('change', newVal);\r\n }\r\n }\r\n};\r\n</script>\r\n","<template>\r\n <div>\r\n <el-select :disabled=\"item.disabled\" :placeholder=\"item.label || '请选择'\" :popper-append-to-body=\"item.appendToBody\" v-model=\"value\" clearable filterable :multiple=\"item.multiple\" collapse-tags allow-search size=\"\" style=\"width: 100%;\">\r\n <el-option v-for=\"(items, index) in item.options\" :disabled=\"items.disabled\" :key=\"item.key ? item.key : item.valueKey ? items[item.valueKey] + items[item.labelKey] + index : items.code + items.name + index\" :label=\"item.isCodeAndName ? ((item.valueKey ? items[item.valueKey] : items.code) + ' - ' + (item.labelKey ? items[item.labelKey] : items.name)) : (item.labelKey ? items[item.labelKey] : items.name)\" :value=\"item.valueKey ? items[item.valueKey] : items.code\">\r\n <el-tooltip :content=\"item.isCodeAndName ? ((item.valueKey ? items[item.valueKey] : items.code) + ' - ' + (item.labelKey ? items[item.labelKey] : items.name)) : (item.labelKey ? items[item.labelKey] : items.name)\">\r\n <span>{{ item.isCodeAndName ? ((item.valueKey ? items[item.valueKey] : items.code) + ' - ' + (item.labelKey ? items[item.labelKey] : items.name)) : (item.labelKey ? items[item.labelKey] : items.name) }}</span>\r\n </el-tooltip>\r\n </el-option>\r\n </el-select>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"Select\",\r\n props: {\r\n disabled: {\r\n // 是否禁止操作\r\n type: Boolean,\r\n default: false,\r\n },\r\n modelValue: {\r\n // 绑定的结果\r\n type: [String, Number, Boolean, Object],\r\n default: \"\",\r\n },\r\n item: {\r\n // 配置项\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n },\r\n data() {\r\n return {\r\n value: this.modelValue,\r\n };\r\n },\r\n watch: {\r\n modelValue(newVal) {\r\n this.value = newVal;\r\n },\r\n value(newVal) {\r\n this.$emit(\"update:modelValue\", newVal);\r\n this.$emit(\"change\", newVal);\r\n this.callback(newVal, this.item);\r\n },\r\n },\r\n methods: {\r\n // 条件变更回调\r\n callback(val, item) {\r\n if (!item.callback) return;\r\n item.callback(val);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n","<template>\r\n <div>\r\n <el-date-picker\r\n :type=\"item.type || 'date'\"\r\n :disabled=\"item.disabled\"\r\n :format=\"item.format || 'YYYY-MM-DD'\"\r\n :value-format=\"item.valueFormat\"\r\n :placeholder=\"item.placeholder || $t('lwSearch.please_select')\"\r\n clearable\r\n v-model=\"value\"\r\n :disabled-date=\"disabledDate\"\r\n style=\"width: 100%\"\r\n >\r\n </el-date-picker>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, reactive, toRefs, watch } from 'vue'\r\n\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"Date\",\r\n props: {\r\n disabled: { // 是否禁止操作\r\n type: Boolean,\r\n default() {\r\n return false;\r\n }\r\n },\r\n modelValue: { // 绑定的结果\r\n default() {\r\n return \"\";\r\n }\r\n },\r\n item: { // 配置项\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n },\r\n disabledDate: { // 禁止日期\r\n type: Function,\r\n default() {\r\n return null;\r\n }\r\n },\r\n propValueFormat: { // 格式化日期\r\n type: String,\r\n default() {\r\n return null;\r\n }\r\n },\r\n },\r\n setup(props, context) {\r\n const state = reactive({});\r\n\r\n // 最新的结果推送到父组件\r\n // watch(\r\n // () => props.modelValue,\r\n // (newVal, prevVal) => {\r\n // context.emit(\"update:modelValue\", newVal);\r\n // context.emit(\"change\", newVal);\r\n // },\r\n // { deep: true, immediate: true }\r\n // );\r\n\r\n const valueFormat = computed(() => {\r\n if (props.propValueFormat) {\r\n return props.propValueFormat;\r\n }\r\n if (props.item.valueFormat) {\r\n return props.item.valueFormat;\r\n }\r\n if (props.item.dateSection) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withZero) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withLast) {\r\n return \"YYYY-MM-DD 23:59:59\";\r\n }\r\n return \"YYYY-MM-DD\";\r\n });\r\n\r\n const value = computed({\r\n get() {\r\n return props.modelValue;\r\n },\r\n set(value) {\r\n context.emit('update:modelValue', value);\r\n context.emit('change', value);\r\n },\r\n });\r\n\r\n // 禁止选择日期\r\n const disabledDate = (date) => {\r\n return date.getTime() < Date.now();\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n valueFormat,\r\n value\r\n };\r\n },\r\n};\r\n</script>\r\n\r\n","<template>\r\n <div class=\"dates-container\">\r\n <!-- 输入框 -->\r\n <el-input\r\n class=\"default-input\"\r\n size=\"small\"\r\n type=\"text\"\r\n :disabled=\"item.disabled\"\r\n :placeholder=\"item.placeholder || '请选择'\"\r\n clearable\r\n :model-value=\"displayValue\"\r\n @clear=\"handleClear\"\r\n @click=\"togglePanel\"\r\n style=\"width: 100%\"\r\n >\r\n <template #suffix>\r\n <el-icon><el-icon-calendar /></el-icon>\r\n </template>\r\n </el-input>\r\n\r\n <!-- 日期选择面板 -->\r\n <div v-show=\"isPanelShow\" class=\"dates-panel\">\r\n <el-tabs v-model=\"activeName\" class=\"dates-panel-tabs\" @tab-click=\"handleTabClick\">\r\n <!-- 单日选择 -->\r\n <el-tab-pane label=\"单日\" name=\"single\">\r\n <div class=\"panel-label\">\r\n <span>单日</span>\r\n <el-date-picker\r\n size=\"small\"\r\n :type=\"item.singleType || 'date'\"\r\n :disabled=\"item.disabled\"\r\n :format=\"item.format || 'yyyy-MM-dd'\"\r\n :value-format=\"item.valueFormat || 'yyyy-MM-dd'\"\r\n :placeholder=\"item.placeholder || $t('lwSearch.please_select')\"\r\n :shortcuts=\"shortcuts\"\r\n v-model=\"value\"\r\n :clearable=\"false\"\r\n @blur=\"pickerBlur\"\r\n @change=\"pickerChange\"\r\n ref=\"singlePicker\"\r\n :popper-class=\"'single-picker single-picker-' + item.prop\"\r\n />\r\n <teleport v-if=\"isSidebarShow && activeName === 'single'\" :to=\"'.single-picker-' + item.prop + ' .el-picker-panel__sidebar'\">\r\n <div class=\"dates-side\">\r\n <div class=\"sidebar-title\">所选时间列表</div>\r\n <div class=\"sidebar-list\">\r\n <div class=\"item\" v-for=\"(date, index) in value\" :key=\"index\">\r\n <div class=\"text\">{{ date }}</div>\r\n <div class=\"button\" @click=\"deleteSingleDate(index)\">\r\n <el-icon><Close /></el-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </teleport>\r\n </div>\r\n </el-tab-pane>\r\n\r\n <!-- 日期范围选择 -->\r\n <el-tab-pane label=\"日期范围\" name=\"range\">\r\n <div class=\"panel-label\">\r\n <span>日期范围</span>\r\n <el-date-picker\r\n size=\"small\"\r\n :type=\"item.rangeType || 'daterange'\"\r\n :disabled=\"item.disabled\"\r\n :format=\"item.format || 'yyyy-MM-dd'\"\r\n :value-format=\"item.valueFormat || 'yyyy-MM-dd'\"\r\n :placeholder=\"item.placeholder || $t('lwSearch.please_select')\"\r\n :unlink-panels=\"item.unlinkPanels ?? false\"\r\n :shortcuts=\"shortcuts\"\r\n v-model=\"value\"\r\n :clearable=\"false\"\r\n @blur=\"pickerBlur\"\r\n @change=\"pickerChange\"\r\n ref=\"rangePicker\"\r\n :popper-class=\"'range-picker range-picker-' + item.prop\"\r\n />\r\n <teleport v-if=\"isSidebarShow && activeName === 'range'\" :to=\"'.range-picker-' + item.prop + ' .el-picker-panel__sidebar'\">\r\n <div class=\"dates-side-top\">\r\n <div class=\"sidebar-list\">\r\n <div class=\"item\" v-show=\"value.length === 2\">\r\n <div class=\"text\">{{ value[0] }}~{{ value[1] }}</div>\r\n <div class=\"button\" @click=\"handleClear\">\r\n <el-icon><el-icon-close /></el-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </teleport>\r\n </div>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, nextTick, reactive, ref, toRefs, watch } from 'vue'\r\n\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"Date\",\r\n props: {\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n modelValue: {\r\n type: [String, Array],\r\n default: \"\"\r\n },\r\n item: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n },\r\n setup(props, context) {\r\n const state = reactive({\r\n isSidebarShow: false,\r\n activeName: \"single\",\r\n isPanelShow: false,\r\n value: [],\r\n shortcuts: [{ text: \"\", value: \"\" }]\r\n })\r\n\r\n // 监听 modelValue 变化\r\n watch(\r\n () => props.modelValue,\r\n (newVal) => {\r\n if (newVal) {\r\n state.activeName = Array.isArray(newVal) ? \"range\" : \"single\"\r\n state.value = Array.isArray(newVal) ? newVal : newVal.split(\",\")\r\n } else {\r\n state.value = []\r\n }\r\n },\r\n { deep: true }\r\n )\r\n\r\n // 监听 value 变化并更新父组件\r\n watch(\r\n () => state.value,\r\n (newVal) => {\r\n const formattedValue = state.activeName === 'single' ? newVal.join(\",\") : newVal\r\n if (formattedValue !== props.modelValue) {\r\n context.emit(\"update:modelValue\", formattedValue)\r\n context.emit(\"change\", formattedValue)\r\n }\r\n },\r\n { deep: true, immediate: true }\r\n )\r\n\r\n const displayValue = computed(() => state.value.join(\",\"))\r\n\r\n const togglePanel = () => {\r\n state.isPanelShow = !state.isPanelShow\r\n }\r\n\r\n const handleTabClick = () => {\r\n nextTick(() => {\r\n state.isSidebarShow = true\r\n })\r\n }\r\n\r\n const pickerChange = () => {\r\n nextTick(() => {\r\n state.isPanelShow = false\r\n })\r\n }\r\n\r\n const deleteSingleDate = (index) => {\r\n state.value.splice(index, 1)\r\n }\r\n\r\n const pickerBlur = () => {\r\n state.isSidebarShow = false\r\n nextTick(() => {\r\n state.isPanelShow = false\r\n })\r\n }\r\n\r\n const handleClear = () => {\r\n state.value = []\r\n }\r\n \r\n return {\r\n ...toRefs(state),\r\n togglePanel,\r\n handleTabClick,\r\n pickerChange,\r\n deleteSingleDate,\r\n pickerBlur,\r\n handleClear,\r\n displayValue\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.dates-container {\r\n position: relative;\r\n .default-input {\r\n cursor: pointer;\r\n .el-input__inner {\r\n cursor: pointer;\r\n }\r\n }\r\n .dates-panel {\r\n position: absolute;\r\n top: 35px;\r\n background: #ffffff;\r\n width: 100%;\r\n min-width: max-content;\r\n z-index: 9;\r\n .panel-label {\r\n width: 60px;\r\n height: 40px;\r\n position: relative;\r\n & > span {\r\n width: 100%;\r\n height: 40px;\r\n display: inline-block;\r\n text-align: center;\r\n }\r\n .el-date-editor {\r\n width: 100%;\r\n height: 40px;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n opacity: 0;\r\n cursor: pointer;\r\n .el-input__inner {\r\n width: 100%;\r\n height: 40px;\r\n cursor: pointer;\r\n }\r\n .el-input__prefix {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.single-picker {\r\n .el-picker-panel [slot=sidebar]+.el-picker-panel__body, .el-picker-panel__sidebar+.el-picker-panel__body {\r\n margin: 0 160px 0 0;\r\n }\r\n .el-picker-panel [slot=sidebar], .el-picker-panel__sidebar {\r\n right: 0;\r\n border-left: 1px solid var(--el-datepicker-inner-border-color);\r\n width: 160px;\r\n }\r\n .el-date-picker.has-sidebar {\r\n width: 488px;\r\n }\r\n .dates-side {\r\n box-sizing: border-box;\r\n padding: 0 10px;\r\n width: 100%;\r\n .sidebar-title {\r\n font-size: 14px;\r\n color: var(--el-text-color-regular);\r\n margin-bottom: 5px;\r\n }\r\n .sidebar-list {\r\n width: 100%;\r\n .item {\r\n width: 100%;\r\n height: 30px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n padding: 2px 10px;\r\n background: #155752;\r\n margin-bottom: 2px;\r\n .text {\r\n font-size: 12px;\r\n color: #ffffff;\r\n }\r\n .button {\r\n width: 16px;\r\n height: 16px;\r\n border: 1px solid #cccccc;\r\n border-radius: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n &:hover {\r\n border-color: #ffffff;\r\n .el-icon--close {\r\n color: #ffffff;\r\n }\r\n }\r\n .el-icon--close {\r\n font-size: 12px;\r\n color: #cccccc;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.range-picker {\r\n .el-picker-panel [slot=sidebar]+.el-picker-panel__body, .el-picker-panel__sidebar+.el-picker-panel__body {\r\n margin: 40px 0 0 0;\r\n }\r\n .el-picker-panel [slot=sidebar], .el-picker-panel__sidebar {\r\n bottom: unset;\r\n border-bottom: 1px solid var(--el-datepicker-inner-border-color);\r\n width: 100%;\r\n height: 40px;\r\n }\r\n .el-date-range-picker.has-sidebar {\r\n width: 646px;\r\n }\r\n .dates-side-top {\r\n box-sizing: border-box;\r\n padding: 0 10px;\r\n width: max-content;\r\n .sidebar-list {\r\n width: 100%;\r\n .item {\r\n width: 100%;\r\n height: 30px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n padding: 2px 10px;\r\n background: #155752;\r\n margin-bottom: 2px;\r\n .text {\r\n font-size: 12px;\r\n color: #ffffff;\r\n padding-right: 10px;\r\n }\r\n .button {\r\n width: 16px;\r\n height: 16px;\r\n border: 1px solid #cccccc;\r\n border-radius: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n &:hover {\r\n border-color: #ffffff;\r\n .el-icon--close {\r\n color: #ffffff;\r\n }\r\n }\r\n .el-icon--close {\r\n font-size: 12px;\r\n color: #cccccc;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n","<template>\r\n <div>\r\n <el-date-picker\r\n :showTime=\"item.showTime\"\r\n :format=\"item.format || 'YYYY-MM-DD HH:mm:ss'\"\r\n :value-format=\"item.valueFormat\"\r\n clearable\r\n v-model=\"value\"\r\n style=\"width: 100%\"\r\n type=\"datetimerange\"\r\n :start-placeholder=\"$t('lwSearch.dateRange.startPlaceholder')\"\r\n :end-placeholder=\"$t('lwSearch.dateRange.endPlaceholder')\"\r\n size=\"\"\r\n >\r\n </el-date-picker>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, reactive, toRefs, watch } from 'vue'\r\n\r\nexport default {\r\n emits: [\"update:modelValue\", \"change\"],\r\n name: \"dateRange\",\r\n props: {\r\n disabled: { // 是否禁止操作\r\n type: Boolean,\r\n default() {\r\n return false;\r\n }\r\n },\r\n modelValue: { // 绑定的结果\r\n default() {\r\n return [];\r\n }\r\n },\r\n item: { // 配置项\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n },\r\n disabledDate: { // 禁止日期\r\n type: Function,\r\n default() {\r\n return null;\r\n }\r\n },\r\n propValueFormat: { // 格式化日期\r\n type: String,\r\n default() {\r\n return null;\r\n }\r\n },\r\n },\r\n setup(props, context) {\r\n const state = reactive({});\r\n\r\n // 最新的结果推送到父组件\r\n // watch(\r\n // () => props.modelValue,\r\n // (newVal, prevVal) => {\r\n // context.emit(\"update:modelValue\", newVal);\r\n // context.emit(\"change\", newVal);\r\n // },\r\n // { deep: true, immediate: true }\r\n // );\r\n\r\n const valueFormat = computed(() => {\r\n if (props.propValueFormat) {\r\n return props.propValueFormat;\r\n }\r\n if (props.item.valueFormat) {\r\n return props.item.valueFormat;\r\n }\r\n if (props.item.dateSection) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withZero) {\r\n return \"YYYY-MM-DD 00:00:00\";\r\n }\r\n if (props.item.withLast) {\r\n return \"YYYY-MM-DD 23:59:59\";\r\n }\r\n return \"YYYY-MM-DD\";\r\n });\r\n\r\n const value = computed({\r\n get() {\r\n return props.modelValue;\r\n },\r\n set(value) {\r\n context.emit('update:modelValue', value);\r\n context.emit('change', value);\r\n },\r\n });\r\n\r\n // 禁止选择日期\r\n const disabledDate = (date) => {\r\n return date.getTime() < Date.now();\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n valueFormat,\r\n value\r\n };\r\n },\r\n};\r\n</script>\r\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","<template>\r\n <div id=\"search-wrap\">\r\n <div class=\"search-content\">\r\n <el-form ref=\"searchForm\" :model=\"form\" @submit.prevent :label-align=\"labelAlign\" style=\"width: 100%\">\r\n <el-row :class=\"(options.length - expandNumber === 0) ? 'expand-row' : (options.length - expandNumber < columnNumber) ? '' : isExpandStatus ? ((options.length % columnNumber === 0) ? 'expand-row' : '') : (options.length >= expandNumber ? 'expand-row' : '')\" type=\"flex\" justify=\"start\" :gutter=\"0\">\r\n <template v-for=\"(item, index) in options\" :key=\"item.prop\">\r\n <el-col :class=\"(!isExpandStatus && item.isExpand) ? '' : (options.length - expandNumber < columnNumber) ? '' : (!isExpandStatus && index > (expandNumber - 1) ? 'hide' : '')\" :span=\"columnNumber ? 24/columnNumber : (item.span || 8)\">\r\n <el-form-item :label-width=\"hideLabel ? 0 : labelWidth\" :required=\"item.required\" :label=\"hideLabel ? '' : $t(item.label)\">\r\n <template v-if=\"item.dateSection && item.prop && item.prop.length === 2\">\r\n <el-row :gutter=\"10\" class=\"date-section\">\r\n <el-col :span=\"12\" :style=\"{ width: '45%', flex: '0 0 45%' }\">\r\n <component :is=\"setComponent(item.renderType)\" :disabled=\"item.disabled\" :item=\"item\" v-model=\"form[item.prop[0]]\" :disabled-date=\"(date) => disabledDate(date, 'prev', form[item.prop[1]])\" :propValueFormat=\"item.valueFormat || 'YYYY-MM-DD 00:00:00'\" />\r\n </el-col>\r\n <span class=\"date-section-line\"> - </span>\r\n <el-col :span=\"12\" :style=\"{ width: '45%', flex: '0 0 45%' }\">\r\n <component :is=\"setComponent(item.renderType)\" :disabled=\"item.disabled\" :item=\"item\" v-model=\"form[item.prop[1]]\" :disabled-date=\"(date) => disabledDate(date, 'next', form[item.prop[0]])\" :propValueFormat=\"item.valueFormat || 'YYYY-MM-DD 23:59:59'\" />\r\n </el-col>\r\n </el-row>\r\n </template>\r\n <template v-else>\r\n <component v-model=\"form[item.prop]\" :is=\"setComponent(item.renderType)\" :disabled=\"item.disabled\" :item=\"item\" style=\"width: 100%\" />\r\n </template>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n </el-row>\r\n\r\n <div class=\"control\" :style=\"{bottom: ((options.length%columnNumber === 0) ? '0px' : '16px')}\">\r\n <el-button class=\"reset\" @click=\"resetForm('searchForm')\">\r\n {{$t('btn.reset')}}\r\n </el-button>\r\n <el-button class=\"submit\" type=\"primary\" @click=\"submitForm('searchForm')\">\r\n {{$t('btn.query')}}\r\n </el-button>\r\n\r\n <div :class=\"options.length - expandNumber >= columnNumber ? 'expand-button' : 'hidden'\" @click=\"isExpandStatus = !isExpandStatus\">\r\n <span>{{ isExpandStatus ? \"收起\" : \"展开\" }}</span>\r\n </div>\r\n </div>\r\n </el-form>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport SearchInput from \"./input/input.vue\";\r\nimport SearchSelect from \"./select/select.vue\";\r\nimport SearchDate from \"./date/date.vue\";\r\nimport SearchDates from \"./dates/dates.vue\";\r\nimport SearchDateRange from \"./dateRange/dateRange.vue\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport default {\r\n components: {\r\n SearchInput,\r\n SearchSelect,\r\n SearchDate,\r\n SearchDates,\r\n SearchDateRange,\r\n },\r\n name: \"lwSearch\",\r\n props: {\r\n options: {\r\n // 配置项\r\n type: Array,\r\n default: () => [],\r\n },\r\n modelValue: {\r\n // 绑定的结果对象\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n labelWidth: {\r\n // label全局宽度\r\n type: String,\r\n default: \"70px\",\r\n },\r\n labelPosition: {\r\n // label全局位置\r\n type: String,\r\n default: \"left\",\r\n },\r\n columnNumber: {\r\n // 每行列数量\r\n type: Number,\r\n default: 4,\r\n },\r\n isSave: {\r\n // 是否保存功能\r\n type: Boolean,\r\n default: false,\r\n },\r\n isCloud: {\r\n // 是否保存功能\r\n type: Boolean,\r\n default: false,\r\n },\r\n saveKey: {\r\n // 保存功能指定localStorage searchSaveData对象中key\r\n type: String,\r\n default: \"\",\r\n },\r\n isExpand: {\r\n // 默认是否展开\r\n type: Boolean,\r\n default: false,\r\n },\r\n expandNumber: {\r\n // 默认收起展示数量\r\n type: Number,\r\n default: 4,\r\n },\r\n hasExpandAll: {\r\n // 默认收起展示数量\r\n type: Boolean,\r\n default: false,\r\n },\r\n hideLabel: {\r\n // 是否隐藏标签\r\n type: Boolean,\r\n default: false,\r\n },\r\n labelAlign: {\r\n //标签对齐方式\r\n type: String,\r\n default: \"right\",\r\n },\r\n },\r\n data() {\r\n return {\r\n form: {}, // 内部维护数据\r\n defaultForm: {}, // 原始数据\r\n isExpandStatus: false, // 是否展开搜索条件\r\n isChange: false, // 是否展示变式下拉框\r\n saveList: [], // 搜索保存数据列表\r\n saveFormName: \"\", // 当前保存数据名称\r\n isSaveShow: false, // 是否展示保存操作\r\n isSelectShow: false, // 是否展示选择操作\r\n selectForm: \"\", // 当前选中数据\r\n currentExpandNumber: 4, // 当前收起展示数量\r\n isExpandAll: true,\r\n currentTemplate: {},\r\n variantList: [],\r\n varianId: [],\r\n systemName: \"shopManagement\",\r\n };\r\n },\r\n watch: {\r\n modelValue: {\r\n handler(newVal) {\r\n if (JSON.stringify(newVal) !== JSON.stringify(this.form)) {\r\n this.form = JSON.parse(JSON.stringify(newVal));\r\n }\r\n },\r\n deep: true,\r\n },\r\n form: {\r\n handler(newVal) {\r\n if (JSON.stringify(newVal) !== JSON.stringify(this.modelValue)) {\r\n this.$emit(\"update:modelValue\", newVal);\r\n }\r\n },\r\n deep: true,\r\n },\r\n },\r\n mounted() {\r\n this.isExpandStatus = this.isExpand;\r\n this.currentExpandNumber = this.expandNumber || this.columnNumber;\r\n this.form = JSON.parse(JSON.stringify(this.modelValue));\r\n this.defaultForm =\r\n JSON.stringify(this.defaultForm) === \"{}\"\r\n ? JSON.parse(JSON.stringify(this.modelValue))\r\n : this.defaultForm;\r\n },\r\n methods: {\r\n // 根据renderType设置对应组件\r\n setComponent(type) {\r\n const typeList = {\r\n input: \"SearchInput\",\r\n select: \"SearchSelect\",\r\n date: \"SearchDate\",\r\n dates: \"SearchDates\",\r\n dateRange: \"SearchDateRange\",\r\n };\r\n return typeList[type] || \"SearchInput\";\r\n },\r\n // 触发提交\r\n submitForm(formEl) {\r\n if (!this.$refs[formEl]) return;\r\n this.$refs[formEl].validate((valid) => {\r\n if (valid) {\r\n this.$emit(\"search\");\r\n }\r\n });\r\n },\r\n // 重置条件\r\n resetForm(formEl) {\r\n if (!this.$refs[formEl]) return;\r\n this.$refs[formEl].resetFields();\r\n this.form = JSON.parse(JSON.stringify(this.defaultForm));\r\n // 保留页面table分页数据\r\n this.form.size = this.modelValue.size;\r\n this.form.page = this.modelValue.page;\r\n this.$emit(\"reset\");\r\n },\r\n\r\n // 关闭变式\r\n handleChangeHide(vis) {\r\n if (vis === false) {\r\n this.isChange = false;\r\n this.isSaveShow = false;\r\n this.isSelectShow = false;\r\n this.saveFormName = \"\";\r\n this.selectForm = \"\";\r\n }\r\n },\r\n // 保存搜索表单\r\n handleSaveSearchForm() {\r\n if (this.saveKey && this.isSave) {\r\n if (Object.keys(this.form).length === 0) {\r\n this.$message.error(\"搜索条件为空!\");\r\n return;\r\n }\r\n let tempObj = Object.assign({}, this.form, {\r\n searchSaveName: this.saveFormName,\r\n id: dayjs().valueOf() + Math.random() + \"\",\r\n });\r\n let obj = {\r\n route: this.$route.name,\r\n system: this.systemName,\r\n variant: [tempObj],\r\n };\r\n let resObj = this.variantList.find((it) => {\r\n return it.route === this.$route.name;\r\n });\r\n if (resObj) {\r\n resObj.variant.push(tempObj);\r\n } else {\r\n this.variantList.push(obj);\r\n }\r\n if (this.isCloud) {\r\n let params = {\r\n id: this.varianId,\r\n username: JSON.parse(sessionStorage.userAuthInfo).username,\r\n system: this.systemName,\r\n menu: this.saveKey,\r\n content: JSON.stringify(this.variantList),\r\n };\r\n } else {\r\n localStorage.setItem(\"variantList\", JSON.stringify(this.variantList));\r\n }\r\n }\r\n },\r\n // 选择保存过的搜索历史\r\n handleSearchSelect(val) {\r\n let obj = this.saveList.find((it) => {\r\n return it.id === val;\r\n });\r\n if (obj) {\r\n let rObj = JSON.parse(JSON.stringify(obj));\r\n delete rObj.id;\r\n delete rObj.searchSaveName;\r\n this.$emit(\"update:modelValue\", rObj);\r\n }\r\n },\r\n // 删除保存过的搜索历史\r\n handleDeleteSearchList(index) {\r\n let tempList = JSON.parse(JSON.stringify(this.saveList));\r\n tempList.splice(index, 1);\r\n if (this.saveKey && this.isSave) {\r\n // 更新逻辑,视具体API而定\r\n }\r\n },\r\n // 禁止选择日期\r\n disabledDate(date, currentSource, limitDate = \"\") {\r\n if (limitDate) {\r\n if (currentSource === \"prev\") {\r\n return dayjs(date.getTime()).isAfter(dayjs(limitDate), \"day\");\r\n }\r\n if (currentSource === \"next\") {\r\n return dayjs(date.getTime()).isBefore(dayjs(limitDate), \"day\");\r\n }\r\n }\r\n },\r\n // 一键收缩展开\r\n expandAll() {\r\n this.isExpandAll = !this.isExpandAll;\r\n },\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@keyframes slide-animation {\r\n from {\r\n width: 100%;\r\n height: auto;\r\n margin-top: 0;\r\n padding: 15px 60px 0 15px;\r\n // transform: scale(1);\r\n opacity: 1;\r\n }\r\n\r\n to {\r\n width: 0;\r\n height: 0;\r\n margin-top: -10px;\r\n padding: 0;\r\n // transform: scale(0);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n#search-wrap {\r\n width: 100%;\r\n background: var(--color-bg-2);\r\n // position: relative;\r\n overflow: hidden;\r\n .arco-col {\r\n margin: 5px 0;\r\n padding: 0 !important;\r\n }\r\n\r\n .arco-form-item-label {\r\n padding-right: 10px;\r\n }\r\n\r\n .el-col-6 {\r\n margin: 5px 0;\r\n padding: 0 10px !important;\r\n }\r\n .el-col-6:first-child {\r\n padding-left: 0px !important;\r\n }\r\n\r\n .el-col-6:nth-child(4n) {\r\n padding-right: 0px !important;\r\n }\r\n\r\n .control-button {\r\n position: absolute;\r\n top: 10px;\r\n right: 20px;\r\n z-index: 99;\r\n cursor: pointer;\r\n\r\n .expand-img {\r\n width: 24px;\r\n height: 24px;\r\n cursor: pointer;\r\n transition: all 0.5s linear;\r\n\r\n &.close {\r\n transform: rotate(180deg);\r\n }\r\n }\r\n }\r\n\r\n .arco-form-item-content-flex {\r\n display: block;\r\n }\r\n\r\n .search-content {\r\n position: relative;\r\n // border: 1px solid #e5e5e5;\r\n box-sizing: border-box;\r\n width: 100%;\r\n // transition: width .3s linear;\r\n margin-top: 0;\r\n padding: 0 0 0px 0;\r\n\r\n &.close {\r\n width: 0;\r\n height: 0;\r\n margin-top: -10px;\r\n padding: 0;\r\n overflow: hidden;\r\n opacity: 0;\r\n animation: slide-animation 0.3s;\r\n }\r\n\r\n .expand-row {\r\n padding-bottom: 44px;\r\n }\r\n\r\n .control {\r\n position: absolute;\r\n right: 0;\r\n bottom: 5px;\r\n z-index: 9;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: flex-end;\r\n .reset {\r\n width: 90px;\r\n height: 32px;\r\n margin-right: 0px;\r\n border: none;\r\n background-color: #eeeefc;\r\n color: #3d3ad9;\r\n border-radius: 2px;\r\n font-size: 12px;\r\n & > span {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n .el-icon--left {\r\n margin-right: 5px;\r\n }\r\n }\r\n }\r\n\r\n .submit {\r\n width: 90px;\r\n height: 32px;\r\n background-color: #3d3ad9;\r\n border: none;\r\n border-radius: 2px;\r\n & > span {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n .el-icon--left {\r\n margin-right: 5px;\r\n }\r\n }\r\n }\r\n\r\n .expand-button {\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n width: 40px;\r\n padding-right: 5px;\r\n cursor: pointer;\r\n\r\n & > span {\r\n color: #505050;\r\n font-size: 12px;\r\n }\r\n }\r\n\r\n .hidden {\r\n visibility: hidden;\r\n width: 0px;\r\n }\r\n\r\n .save {\r\n position: relative;\r\n // width: 84px;\r\n height: 30px;\r\n padding: 0;\r\n padding: 0 10px;\r\n // background: #bda87c;\r\n\r\n .save-text {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 84px;\r\n height: 30px;\r\n\r\n & > span {\r\n padding-right: 10px;\r\n padding-left: 10px;\r\n border-right: 1px solid #fff;\r\n }\r\n\r\n & > i {\r\n padding-left: 10px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .el-form {\r\n position: relative;\r\n }\r\n\r\n .el-form-item {\r\n margin-bottom: 10px;\r\n\r\n .el-form-item__label {\r\n padding-right: 5px;\r\n font-size: 12px;\r\n user-select: none;\r\n }\r\n // .arco-select__tags-text {\r\n // max-width: 80px !important;\r\n // }\r\n .select-trigger {\r\n width: 100%;\r\n\r\n .el-select__tags {\r\n // max-width: calc(100% - 0px) !important;\r\n & > span {\r\n max-width: 100%;\r\n\r\n .el-tag--info {\r\n max-width: 100% !important;\r\n\r\n &:first-child {\r\n .el-select__tags-text {\r\n max-width: 100% !important;\r\n }\r\n }\r\n\r\n &:nth-child(2) {\r\n // display: none;\r\n .arco-select__tags-text {\r\n max-width: 100% !important;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .el-date-editor.el-input,\r\n .el-date-editor.el-input__inner {\r\n width: 100%;\r\n }\r\n\r\n .el-select .el-select__tags {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n\r\n & > span {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n }\r\n }\r\n\r\n .date-section {\r\n position: relative;\r\n margin-bottom: 0 !important;\r\n\r\n .el-input--small .el-input__inner {\r\n padding-right: 20px;\r\n padding-left: 15px;\r\n }\r\n\r\n .el-input__prefix {\r\n display: none;\r\n }\r\n\r\n .date-section-line {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.hide {\r\n display: none !important;\r\n}\r\n\r\n.search-panel-popover {\r\n // background: red;\r\n box-sizing: border-box;\r\n position: relative;\r\n .save-controls {\r\n & > div {\r\n & > span {\r\n cursor: pointer;\r\n display: block;\r\n padding: 5px 0;\r\n &:hover {\r\n color: #155752;\r\n }\r\n }\r\n }\r\n .save-form {\r\n width: 160px;\r\n height: 40px;\r\n background: #ffffff;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n transform: translateX(-14px);\r\n .save-form-button {\r\n margin-left: 10px;\r\n }\r\n .save-form-input {\r\n width: 84px;\r\n }\r\n .el-button--primary.is-disabled {\r\n background: #155752;\r\n opacity: 0.6;\r\n }\r\n .save-form-select {\r\n width: 160px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.select-popper {\r\n .el-select-dropdown__item {\r\n padding: 0 10px;\r\n }\r\n .select-content {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n .select-content-button {\r\n border: none;\r\n background: none;\r\n flex-shrink: 0;\r\n box-sizing: border-box;\r\n padding: 7px;\r\n border-radius: 100%;\r\n &:hover {\r\n .el-icon--close {\r\n opacity: 1;\r\n }\r\n }\r\n .el-icon--close {\r\n opacity: 0.6;\r\n display: block;\r\n color: #155752;\r\n width: 12px;\r\n height: 12px;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n\r\n","<template>\r\n <svg class=\"svg-icon\">\r\n <use :xlink:href=\"symbolId\" />\r\n </svg>\r\n</template>\r\n\r\n<!-- SvgIcon组件,可将svg图标直接当组件使用 -->\r\n<script setup>\r\nimport { defineProps, computed } from 'vue'\r\nconst props = defineProps({\r\n name: {\r\n type: String,\r\n required: true\r\n }\r\n})\r\n\r\n// 获取svg图标名称,需要和vite.config.js中的配置保持一致\r\nconst symbolId = computed(() => `#${props.name}`)\r\n</script>\r\n\r\n<style scoped>\r\n.svg-icon {\r\n width: 1em;\r\n height: 1em;\r\n vertical-align: -0.15em;\r\n fill: currentColor;\r\n overflow: hidden;\r\n}\r\n</style>","// useFullscreen.js - 全屏功能实现\r\nimport { ref, onMounted, onUnmounted } from 'vue'\r\n\r\nexport function useFullscreen() {\r\n\tconst isFullscreen = ref(false)\r\n\r\n\t// 进入全屏\r\n\tconst enterFullscreen = (element) => {\r\n\t\tif (element.requestFullscreen) {\r\n\t\t\telement.requestFullscreen()\r\n\t\t} else if (element.mozRequestFullScreen) {\r\n\t\t\t// Firefox\r\n\t\t\telement.mozRequestFullScreen()\r\n\t\t} else if (element.webkitRequestFullscreen) {\r\n\t\t\t// Chrome, Safari and Opera\r\n\t\t\telement.webkitRequestFullscreen()\r\n\t\t} else if (element.msRequestFullscreen) {\r\n\t\t\t// IE/Edge\r\n\t\t\telement.msRequestFullscreen()\r\n\t\t}\r\n\t}\r\n\r\n\t// 退出全屏\r\n\tconst exitFullscreen = () => {\r\n\t\tif (document.exitFullscreen) {\r\n\t\t\tdocument.exitFullscreen()\r\n\t\t} else if (document.mozCancelFullScreen) {\r\n\t\t\t// Firefox\r\n\t\t\tdocument.mozCancelFullScreen()\r\n\t\t} else if (document.webkitExitFullscreen) {\r\n\t\t\t// Chrome, Safari and Opera\r\n\t\t\tdocument.webkitExitFullscreen()\r\n\t\t} else if (document.msExitFullscreen) {\r\n\t\t\t// IE/Edge\r\n\t\t\tdocument.msExitFullscreen()\r\n\t\t}\r\n\t}\r\n\r\n\t// 全屏切换\r\n\tconst toggleFullScreen = () => {\r\n\t\tif (isFullscreen.value) {\r\n\t\t\texitFullscreen()\r\n\t\t} else {\r\n\t\t\tenterFullscreen(document.documentElement)\r\n\t\t}\r\n\t}\r\n\r\n\t// 检查全屏状态\r\n\tconst handleFullscreenChange = () => {\r\n\t\tisFullscreen.value = Boolean(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement)\r\n\t}\r\n\r\n\t// 监听全屏状态变化\r\n\tonMounted(() => {\r\n\t\tdocument.addEventListener('fullscreenchange', handleFullscreenChange)\r\n\t\tdocument.addEventListener('webkitfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.addEventListener('mozfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.addEventListener('MSFullscreenChange', handleFullscreenChange)\r\n\t})\r\n\r\n\t// 清理监听器\r\n\tonUnmounted(() => {\r\n\t\tdocument.removeEventListener('fullscreenchange', handleFullscreenChange)\r\n\t\tdocument.removeEventListener('webkitfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.removeEventListener('mozfullscreenchange', handleFullscreenChange)\r\n\t\tdocument.removeEventListener('MSFullscreenChange', handleFullscreenChange)\r\n\t})\r\n\r\n\treturn {\r\n\t\tisFullscreen,\r\n\t\ttoggle: toggleFullScreen\r\n\t}\r\n}\r\n","import { useFullscreen } from './useFullscreen'\r\nimport { onBeforeMount, reactive, ref, watch, toRefs, getCurrentInstance } from 'vue'\r\nimport dayjs from 'dayjs'\r\n\r\nexport default {\r\n\tname: 'lwTable',\r\n\tprops: {\r\n\t\trefName: { type: String, default: 'multipleTableRef' },\r\n\t\ttableName: { type: String, default: '' },\r\n\t\tisRadio: { type: Boolean, default: false },\r\n\t\tbordered: { type: Boolean, default: true },\r\n\t\tstripe: { type: Boolean, default: false },\r\n\t\tsummaryMethod: { type: Function, default: () => [] },\r\n\t\trowKey: { type: String, default: 'id' },\r\n\t\tdefaultSelectData: { type: Array, default: () => [] },\r\n\t\tsearchParams: { type: Object, default: () => ({ page: 1, size: 20 }) },\r\n\t\tselectStatus: { type: Function, default: () => true },\r\n\t\tpageSizes: { type: Array, default: () => [10, 20, 30, 40, 50] },\r\n\t\tisShowPagination: { type: Boolean, default: true },\r\n\t\ttableData: { type: Array, default: [] },\r\n\t\ttotalCount: { type: Number, default: 0 },\r\n\t\ttableColumns: { type: Array, default: [] },\r\n\t\thoverable: { type: Boolean, default: true },\r\n\t\tdefaultExpandAll: { type: Boolean, default: false },\r\n\t\tisSetting: { type: Boolean, default: false },\r\n\t\tsaveKey: { type: String, default: '' },\r\n\t\torderPage: { type: Boolean, default: false },\r\n\t\ttableSize: { type: String, default: 'large' },\r\n\t\tloading: { type: Boolean, default: false },\r\n\t\trowSelection: { type: Object },\r\n\t\tselectedKeys: { type: Array },\r\n\t\tselectDatas: { type: Array },\r\n\t\thideTool: { type: Boolean, default: true },\r\n\t\tvirtualListProps: { type: Object, default: undefined },\r\n\t\tdraggable: { type: Object },\r\n\t\tmaxHeight: { type: String }\r\n\t},\r\n\tsetup(props, context) {\r\n\t\tconst multipleTable = ref()\r\n\t\tconst {\r\n\t\t\tproxy: { $bus, $tool }\r\n\t\t} = getCurrentInstance()\r\n\t\tconst { isFullscreen, toggle: toggleFullScreen } = useFullscreen()\r\n\t\tconst state = reactive({\r\n\t\t\tdialogVisible: false,\r\n\t\t\ttableSettingTitle: '选择字段',\r\n\r\n\t\t\ttableHeaderListAll: [],\r\n\t\t\tcheckedList: [],\r\n\t\t\tdefaultProps: {\r\n\t\t\t\tchildren: 'children',\r\n\t\t\t\tlabel: 'label'\r\n\t\t\t},\r\n\t\t\tnum: 0,\r\n\t\t\tendFixed: false,\r\n\t\t\tfilterHeader: [],\r\n\t\t\ttableSize: props.tableSize,\r\n\r\n\t\t\tcheckedKeys: [],\r\n\t\t\ttreeData: [],\r\n\t\t\tallCheck: true,\r\n\t\t\tlastColumsFixed: true,\r\n\t\t\ttableHeaders: [],\r\n\t\t\tfixNum: 0\r\n\t\t})\r\n\r\n\t\tonBeforeMount(async () => {\r\n\t\t\tlet list = props.tableColumns\r\n\r\n\t\t\tstate.checkedKeys = []\r\n\r\n\t\t\tlist.forEach((item, index) => {\r\n\t\t\t\tif (!item.key) {\r\n\t\t\t\t\titem.key = $tool.getUUID()\r\n\t\t\t\t}\r\n\t\t\t\tstate.checkedKeys.push(item.key)\r\n\t\t\t\titem.checked = true\r\n\t\t\t})\r\n\t\t\tstate.treeData = list\r\n\t\t\tstate.tableHeaders = state.treeData\r\n\r\n\t\t\twindow.addEventListener('resize', () => {\r\n\t\t\t\tlet isFull =\r\n\t\t\t\t\tdocument.mozFullScreen || document.fullScreen || document.webkitIsFullScreen || document.webkitRequestFullScreen || document.mozRequestFullScreen || document.msFullscreenEnabled\r\n\t\t\t\tif (isFull === undefined) {\r\n\t\t\t\t\tisFull = false\r\n\t\t\t\t}\r\n\t\t\t\tif (isFull == false) {\r\n\t\t\t\t\t$bus.$emit('tableFullScreen', false)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\twatch(\r\n\t\t\t() => props.tableColumns,\r\n\t\t\t(newVal) => {\r\n\t\t\t\tlet list = props.tableColumns\r\n\r\n\t\t\t\tstate.checkedKeys = []\r\n\t\t\t\tlet arr = []\r\n\t\t\t\tlist.forEach((item, index) => {\r\n\t\t\t\t\tif (!item.key) {\r\n\t\t\t\t\t\titem.key = $tool.getUUID()\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!!item.checked || item.checked == undefined) {\r\n\t\t\t\t\t\tstate.checkedKeys.push(item.key)\r\n\t\t\t\t\t\tarr.push(item)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tstate.treeData = list\r\n\t\t\t\tstate.tableHeaders = arr\r\n\t\t\t},\r\n\t\t\t{ deep: true, immediate: true }\r\n\t\t)\r\n\r\n\t\tconst selectedKeysForm = ref([])\r\n\t\tconst selectGoodsDatas = ref([])\r\n\t\tconst selectAllGoods = ref([])\r\n\r\n\t\twatch(\r\n\t\t\t() => props.tableData,\r\n\t\t\t(newVal) => {\r\n\t\t\t\tconst allArr = [...newVal, ...selectAllGoods.value]\r\n\t\t\t\tconst allObj = {}\r\n\t\t\t\tconst newAllArr = allArr.reduce((cur, next) => {\r\n\t\t\t\t\tallObj[next[props.rowKey]] ? '' : (allObj[next[props.rowKey]] = true && cur.push(next))\r\n\t\t\t\t\treturn cur\r\n\t\t\t\t}, [])\r\n\t\t\t\tselectAllGoods.value = newAllArr || []\r\n\t\t\t},\r\n\t\t\t{ deep: true, immediate: true }\r\n\t\t)\r\n\r\n\t\twatch(\r\n\t\t\t() => props.selectedKeys,\r\n\t\t\t(newVal) => {\r\n\t\t\t\tselectedKeysForm.value = newVal\r\n\t\t\t\tselectGoodsDatas.value = []\r\n\r\n\t\t\t\tif (selectAllGoods.value.length && !!newVal) {\r\n\t\t\t\t\tconst data = selectAllGoods.value.filter((item) => {\r\n\t\t\t\t\t\treturn newVal.includes(item[props.rowKey])\r\n\t\t\t\t\t})\r\n\t\t\t\t\tconst arr = [...data, ...selectGoodsDatas.value]\r\n\t\t\t\t\tconst obj = {}\r\n\t\t\t\t\tconst newArr = arr.reduce((cur, next) => {\r\n\t\t\t\t\t\tobj[next[props.rowKey]] ? '' : (obj[next[props.rowKey]] = true && cur.push(next))\r\n\t\t\t\t\t\treturn cur\r\n\t\t\t\t\t}, [])\r\n\t\t\t\t\tselectGoodsDatas.value = newArr || []\r\n\t\t\t\t\tcontext.emit('update:selectDatas', newArr)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ deep: true, immediate: true }\r\n\t\t)\r\n\r\n\t\tconst handleChange = (currentData) => {\r\n\t\t\tcontext.emit('draggable', currentData)\r\n\t\t}\r\n\r\n\t\tconst handleSelectionChange = (val) => {\r\n\t\t\tcontext.emit('multipleSelection', val)\r\n\t\t}\r\n\r\n\t\tconst handleCurrentChange = (val) => {\r\n\t\t\tcontext.emit('currentChange', val)\r\n\t\t}\r\n\r\n\t\tconst sizeChange = (val) => {\r\n\t\t\tprops.searchParams.size = val\r\n\t\t\tconst data = { ...props.searchParams }\r\n\t\t\tcontext.emit('getTableData', data)\r\n\t\t}\r\n\r\n\t\tconst currentChange = (page) => {\r\n\t\t\tprops.searchParams.page = page - 1\r\n\r\n\t\t\tconst data = { ...props.searchParams }\r\n\t\t\tif (!props.reserveSelection) {\r\n\t\t\t}\r\n\t\t\tcontext.emit('getTableData', props.searchParams.page)\r\n\t\t}\r\n\r\n\t\tconst refresh = () => {\r\n\t\t\tcurrentChange(1)\r\n\t\t}\r\n\r\n\t\tconst toggleRowChange = (row, status) => {\r\n\t\t\tmultipleTable.value.toggleRowSelection(row, status)\r\n\t\t}\r\n\r\n\t\tconst clearTableSelection = (row, status) => {\r\n\t\t\tmultipleTable.value.clearSelection()\r\n\t\t}\r\n\r\n\t\tconst allowDrop = (draggingNode, dropNode, type) => {\r\n\t\t\treturn type !== 'inner'\r\n\t\t}\r\n\r\n\t\tconst allowDrag = (draggingNode) => {\r\n\t\t\treturn draggingNode.data.label.indexOf('Level three 3-1-1') === -1\r\n\t\t}\r\n\r\n\t\tconst tableSetting = () => {\r\n\t\t\tstate.tableSettingTitle = '选择字段'\r\n\t\t\tstate.dialogVisible = true\r\n\t\t}\r\n\r\n\t\tconst next = () => {\r\n\t\t\tif (state.checkedList.length === 0) {\r\n\t\t\t\tMessage.error('选择字段不可以为空!')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tstate.tableSettingTitle = '排序'\r\n\r\n\t\t\tstate.treeData = []\r\n\t\t\tlet num = 0\r\n\t\t\tlet list = JSON.parse(JSON.stringify(state.checkedList))\r\n\t\t\tlist.forEach((item, index) => {\r\n\t\t\t\tprops.tableHeader.forEach((it) => {\r\n\t\t\t\t\tif (item === it.label) {\r\n\t\t\t\t\t\tlet obj = {\r\n\t\t\t\t\t\t\tlabel: item,\r\n\t\t\t\t\t\t\tchildren: [],\r\n\t\t\t\t\t\t\tindex: index,\r\n\t\t\t\t\t\t\tfixed: it.fixed ? it.fixed : ''\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tstate.treeData.push(obj)\r\n\t\t\t\t\t\tif (it.fixed === 'left') {\r\n\t\t\t\t\t\t\tnum++\r\n\t\t\t\t\t\t} else if (it.fixed === 'right') {\r\n\t\t\t\t\t\t\tstate.endFixed = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tstate.num = num\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst prev = () => {\r\n\t\t\tstate.tableSettingTitle = '选择字段'\r\n\t\t}\r\n\r\n\t\tconst tableHeaderConfirm = () => {\r\n\t\t\tif ((state.num > 2 && state.endFixed) || (state.num > 3 && !state.endFixed)) {\r\n\t\t\t\tMessage.error('固定列最多只能选择3列!')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tstate.tableHeaderList = []\r\n\t\t\tstate.treeData.forEach((item, index) => {\r\n\t\t\t\tif (state.num > 0 && state.num > index) {\r\n\t\t\t\t\titem.fixed = 'left'\r\n\t\t\t\t} else if (state.endFixed && index === state.treeData.length - 1) {\r\n\t\t\t\t\titem.fixed = 'right'\r\n\t\t\t\t} else {\r\n\t\t\t\t\titem.fixed = ''\r\n\t\t\t\t}\r\n\t\t\t\tstate.tableHeaderList.push(item)\r\n\t\t\t})\r\n\t\t\tstate.dialogVisible = false\r\n\t\t\tlet obj = {\r\n\t\t\t\tuserId: 1,\r\n\t\t\t\tjson: state.tableHeaderList\r\n\t\t\t}\r\n\t\t\tlocalStorage.setItem('userTable', JSON.stringify(obj))\r\n\t\t}\r\n\r\n\t\tconst download = (url) => {\r\n\t\t\tlet fileUrl =\r\n\t\t\t\t(process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') && location.hostname !== 'localhost' ? location.origin + url : 'http://dev.yihai.lianwei.com.cn' + url\r\n\t\t\twindow.open(fileUrl, '_blank')\r\n\t\t}\r\n\r\n\t\tconst sortChange = ({ column, prop, order }) => {\r\n\t\t\tprops.searchParams.sortField = prop?.split(',')[0]\r\n\t\t\tprops.searchParams.sortType = order\r\n\t\t\tconst data = { ...props.searchParams }\r\n\t\t\tcontext.emit('getTableData', data)\r\n\t\t}\r\n\r\n\t\tconst getHeader = (header) => {\r\n\t\t\tcontext.emit('getHeader', header)\r\n\t\t}\r\n\r\n\t\tconst handleSelect = (v) => {\r\n\t\t\tstate.tableSize = v\r\n\t\t}\r\n\r\n\t\tconst onDrop = (info) => {\r\n\t\t\tlet dropPosition = info.dropPosition\r\n\t\t\tlet dragNode = info.dragNode\r\n\t\t\tlet dropNode = info.dropNode\r\n\t\t\tconst data = state.treeData\r\n\t\t\tconst loop = (data, key, callback) => {\r\n\t\t\t\tdata.some((item, index, arr) => {\r\n\t\t\t\t\tif (item.title === key) {\r\n\t\t\t\t\t\tcallback(item, index, arr)\r\n\t\t\t\t\t\treturn true\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\treturn loop(item.children, key, callback)\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tif (dropPosition === 0) {\r\n\t\t\t} else {\r\n\t\t\t\tloop(data, dragNode.title, (_, index, arr) => {\r\n\t\t\t\t\tarr.splice(index, 1)\r\n\t\t\t\t})\r\n\t\t\t\tloop(data, dropNode.title, (_, index, arr) => {\r\n\t\t\t\t\tarr.splice(dropPosition < 0 ? index : index + 1, 0, dragNode)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tstate.tableHeaders = state.treeData\r\n\t\t}\r\n\r\n\t\tconst checkAll = (selected) => {\r\n\t\t\tif (selected) {\r\n\t\t\t\tstate.tableHeaders = JSON.parse(JSON.stringify(props.tableColumns))\r\n\t\t\t\tstate.tableHeaders.forEach((item, index) => {\r\n\t\t\t\t\tif (!item.key) {\r\n\t\t\t\t\t\titem.key = $tool.getUUID()\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstate.checkedKeys.push(item.key)\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tstate.tableHeaders = []\r\n\t\t\t\tstate.checkedKeys = []\r\n\t\t\t}\r\n\r\n\t\t\tstate.treeData.forEach((item) => {\r\n\t\t\t\titem.checked = selected\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst treeCheck = () => {\r\n\t\t\tlet list = state.treeData.filter((t) => state.checkedKeys.includes(t.key))\r\n\t\t\tstate.tableHeaders = list\r\n\t\t}\r\n\r\n\t\tconst tableToggleFullScreen = () => {\r\n\t\t\t$bus.$emit('tableFullScreen', !isFullscreen.value)\r\n\t\t\ttoggleFullScreen()\r\n\t\t}\r\n\r\n\t\tconst fixNumChange = () => {\r\n\t\t\tlet num = state.fixNum\r\n\t\t\tif (num > 0) {\r\n\t\t\t\tstate.tableHeaders.forEach((item, index) => {\r\n\t\t\t\t\tif (index < num) {\r\n\t\t\t\t\t\titem.fixed = 'left'\r\n\t\t\t\t\t\titem.width = item.width ?? '120'\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tstate.tableHeaders.forEach((item) => {\r\n\t\t\t\t\tif (item.fixed === 'left') {\r\n\t\t\t\t\t\tdelete item.fixed\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst setSelectAll = (status) => {\r\n\t\t\tmultipleTable.value.selectAll(status)\r\n\t\t\tcontext.emit('update:selectedKeys', status ? props.tableData.map((item) => item.id) : [])\r\n\t\t}\r\n\r\n\t\tconst setSelect = (rowKey, status) => {\r\n\t\t\tmultipleTable.value.select(rowKey, status)\r\n\t\t\tconst selectedKeys = [...props.selectedKeys]\r\n\t\t\tcontext.emit('update:selectedKeys', status ? selectedKeys.push(rowKey) : selectedKeys.filter((item) => item !== rowKey))\r\n\t\t}\r\n\r\n\t\tconst selectAll = (status) => {\r\n\t\t\tcontext.emit('update:selectedKeys', status ? props.tableData.map((item) => item[props.rowKey]) : [])\r\n\t\t}\r\n\r\n\t\tconst select = (rowKeys, rowKey, record) => {\r\n\t\t\tcontext.emit('update:selectedKeys', rowKeys)\r\n\t\t}\r\n\r\n\t\tconst changeColWidth = (newWidth, oldWidth, { property }) => {}\r\n\r\n\t\treturn {\r\n\t\t\t...toRefs(state),\r\n\t\t\trefresh,\r\n\t\t\tdayjs,\r\n\t\t\thandleChange,\r\n\t\t\thandleSelectionChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tsizeChange,\r\n\t\t\tcurrentChange,\r\n\t\t\tmultipleTable,\r\n\t\t\tallowDrop,\r\n\t\t\tallowDrag,\r\n\t\t\ttableSetting,\r\n\t\t\tnext,\r\n\t\t\tprev,\r\n\t\t\ttableHeaderConfirm,\r\n\t\t\ttoggleRowChange,\r\n\t\t\tclearTableSelection,\r\n\t\t\tdownload,\r\n\t\t\tsortChange,\r\n\t\t\tgetHeader,\r\n\t\t\thandleSelect,\r\n\t\t\tonDrop,\r\n\t\t\tcheckAll,\r\n\t\t\ttableToggleFullScreen,\r\n\t\t\tisFullscreen,\r\n\t\t\ttreeCheck,\r\n\t\t\tfixNumChange,\r\n\t\t\tsetSelectAll,\r\n\t\t\tsetSelect,\r\n\t\t\tselectedKeysForm,\r\n\t\t\tselectGoodsDatas,\r\n\t\t\tselectAll,\r\n\t\t\tselect,\r\n\t\t\tchangeColWidth\r\n\t\t}\r\n\t}\r\n}\r\n","<template>\r\n <div class=\"baseTablePage-wrap\">\r\n <el-table ref=\"multipleTable\" column-resizable v-loading=\"loading\" :columns=\"tableHeaders\" :stripe=\"stripe\" :data=\"tableData\" :row-key=\"rowKey\" :hoverable=\"hoverable\" :default-expand-all-rows=\"defaultExpandAll\" :size=\"tableSize\" highlight-current-row :max-height=\"maxHeight\" scrollbar-always-on :scroll=\"{ x: '100%', y: '100%' }\" :virtual-list-props=\"virtualListProps\" @current-change=\"handleCurrentChange\" @selection-change=\"handleSelectionChange\">\r\n <el-table-column fixed=\"left\" type=\"selection\" width=\"55\" v-if=\"rowSelection\" />\r\n <el-table-column v-for=\"t in tableHeaders\" :label=\"t.title\" :prop=\"t.dataIndex\" :min-width=\"t.width\" :align=\"t.align ?? 'center'\" :fixed=\"t.fixed\" :sortable=\"t.sortable\" :show-overflow-tooltip=\"t.tooltip\" :key=\"t\">\r\n <template #default=\"scope\">\r\n <!-- 操作 -->\r\n <div v-if=\"t.operation\">\r\n <div v-if=\"t.ellipsis\">\r\n <!-- 操作按钮少于3个 -->\r\n <div v-if=\"t.operation.length <= 3\">\r\n <span v-for=\"(o,i) in t.operation\" :key=\"o\" v-show=\"o.isShow ? o.isShow(scope.row) : true\">\r\n <span v-if=\"i <= 2\">\r\n <el-tooltip v-if=\"!!o.icon\" :content=\"o.label\" placement=\"top\">\r\n <el-button class=\"table-button\" size=\"small\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\" :icon=\"o.icon\" circle></el-button>\r\n </el-tooltip>\r\n <el-button class=\"table-button-2\" v-else text size=\"small\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\">\r\n {{ o.label }}\r\n </el-button>\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <!-- 操作按钮多于2个 -->\r\n <div v-if=\"t.operation.length > 3\">\r\n <span v-for=\"(o,i) in t.operation\" :key=\"o\">\r\n <span v-if=\"i < 3 && (o.isShow ? o.isShow(scope.row) : true)\">\r\n <el-tooltip v-if=\"!!o.icon\" :content=\"o.label\" placement=\"top\">\r\n <el-button class=\"table-button\" size=\"mini\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\" :icon=\"o.icon\" circle></el-button>\r\n </el-tooltip>\r\n <el-button class=\"table-button-2\" v-else text size=\"mini\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\">\r\n {{ o.label }}\r\n </el-button>\r\n </span>\r\n\r\n </span>\r\n\r\n <span>\r\n <!-- @command=\"(command) => addChildrenHandleCommand(command,data)\" -->\r\n <el-dropdown>\r\n <el-icon class=\"icon-more\"><el-icon-more /></el-icon>\r\n <template #dropdown>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <div v-for=\"(o,i) in t.operation\" :key=\"o\">\r\n <el-dropdown-item command=\"addNewChildren\" v-if=\"i >= 3 && (o.isShow ? o.isShow(scope.row) : true)\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\">{{o.label}}</el-dropdown-item>\r\n </div>\r\n\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </span>\r\n\r\n </div>\r\n </div>\r\n\r\n <div v-else>\r\n <span v-for=\"(o,i) in t.operation\" :key=\"o\" v-show=\"o.isShow ? o.isShow(scope.row) : true\">\r\n <span>\r\n <el-tooltip v-if=\"!!o.icon\" :content=\"o.label\" placement=\"top\">\r\n <el-button class=\"table-button\" size=\"mini\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\" :icon=\"o.icon\" circle></el-button>\r\n </el-tooltip>\r\n <el-button class=\"table-button-2\" v-else text size=\"small\" @click=\"o.clickFun(scope.row, scope.$index, tableData)\" :key=\"o\" :disabled=\"o.disabled ? o.disabled(scope.row) : false\">\r\n {{ o.label }}\r\n </el-button>\r\n </span>\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- render -->\r\n <div v-else-if=\"t.eleRender\">\r\n <span v-html=\"t.eleRender(scope.row, scope.$index)\"></span>\r\n </div>\r\n\r\n <div v-else-if=\"t.type === 'img'\">\r\n <el-image style=\"height: 28px\" fit=\"cover\" :max-scale=\"7\" :min-scale=\"0.2\" :z-index=\"99\" :preview-teleported=\"true\" :previewSrcList=\"[scope.row[t.dataIndex]]\" :src=\"scope.row[t.dataIndex] ? scope.row[t.dataIndex] : '/images/empty.jpg'\" />\r\n </div>\r\n\r\n <!-- 枚举options -->\r\n <div v-else-if=\"!t.switch && t.options && t.options.length > 0\">\r\n <template v-if=\"scope.row.isEdit && t.canEdit\">\r\n <el-select class=\"select-select number\" :value-key=\"t.editValue || 'code'\" v-model=\"scope.row[t.editSource]\" placeholder=\"\" allow-clear allow-search filter-option @change=\"(val) => {t.callback(val, scope.row)}\">\r\n <el-option :value=\"item\" v-for=\"item in t.options\" :key=\"item\">{{ t.editValue ? item[t.editValue] : item.name }}</el-option>\r\n </el-select>\r\n </template>\r\n <template v-else>\r\n <span v-for=\"(item, index) in t.options\" :key=\"item + index\">\r\n <span v-if=\"scope.row[t.dataIndex] == item[t.editValue || 'code']\"><span v-if=\"item.statusColor\" :style=\"`background-color: ${item.statusColor}; border-radius: 100%; padding: 4px; display: inline-block; margin-right: 5px;`\"></span>{{ t.editValue ? item[t.editValue] : item.name }}</span>\r\n </span>\r\n </template>\r\n </div>\r\n\r\n <!-- 日期起始 -->\r\n <div v-else-if=\"t.type === 'startToEnd'\">\r\n <div style=\"margin-bottom: 5px\">\r\n <span class=\"start-span\">起</span>\r\n {{ scope.row[t.dataIndexList[0]] ? dayjs(scope.row[t.dataIndexList[0]]).format('YYYY-MM-DD HH:mm:ss') : '--' }}\r\n </div>\r\n <div>\r\n <span class=\"end-span\">止</span>\r\n {{ scope.row[t.dataIndexList[1]] ? dayjs(scope.row[t.dataIndexList[1]]).format('YYYY-MM-DD HH:mm:ss') : '--' }}\r\n </div>\r\n </div>\r\n\r\n <!-- 日期转换 -->\r\n <div v-else-if=\"t.dataType\">\r\n {{ $fermitTime(scope.row[t.dataIndex]) }}\r\n </div>\r\n\r\n <!-- 开关 -->\r\n <div v-else-if=\"t.switch\">\r\n <el-switch :inline-prompt=\"t.isShowMessage\" :active-text=\"t.isShowMessage ? t.activeText : ''\" :inactive-text=\"t.isShowMessage ? t.inactiveText : ''\" style=\"--el-switch-on-color: #3d3ad9; --el-switch-off-color: #c6c6c6\" v-model=\"scope.row[t.dataIndex]\" :active-value=\"t.activeValue ?? true\" :inactive-value=\"t.inactiveValue ?? false\" :disabled=\"t.disabled ? t.disabled(scope.row) : false\" @change=\"(v) => {t.clickFun(v, scope.row)}\" />\r\n </div>\r\n\r\n <!-- 视频 -->\r\n <div v-else-if=\"t.isVideo\">\r\n <video width=\"40\" :src=\"scope.row[t.dataIndex]\" style=\"margin: 5px 0\" />\r\n </div>\r\n\r\n <!-- 图片 -->\r\n <div v-else-if=\"t.pictureCard\">\r\n <el-image width=\"40\" :src=\"scope.row[t.dataIndex]\" style=\"margin: 5px 0\" />\r\n </div>\r\n\r\n <!-- 数组转string -->\r\n <div v-else-if=\"t.arrayList\">\r\n <span>{{ scope.row[t.dataIndex] !== null && scope.row[t.dataIndex].length > 0 ? scope.row[t.dataIndex].toString() : '' }}</span>\r\n </div>\r\n\r\n <!-- 链接跳转 -->\r\n <span v-else-if=\"t.skip\">\r\n <el-tooltip v-if=\"scope.row[t.dataIndex] && scope.row[t.dataIndex].toString().split(',').length > 1\">\r\n <span :style=\"`color: ${theme};cursor: pointer;width: 100%;display: inline-block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;`\">\r\n {{ scope.row[t.dataIndex] ? scope.row[t.dataIndex] : '' }}\r\n </span>\r\n <template #content>\r\n <div v-for=\"(item, index) in scope.row[t.dataIndex].split(',')\" :key=\"index\" :style=\"`color: ${theme}; cursor: pointer`\" @click=\"t.clickFun ? t.clickFun(item, scope.row, scope.$index) : () => {}\">\r\n {{ item }}\r\n </div>\r\n </template>\r\n </el-tooltip>\r\n\r\n <span v-else>\r\n <span style=\"color: var(--el-color-primary); cursor: pointer; text-decoration: underline;\" @click=\"t.clickFun ? t.clickFun(scope.row[t.dataIndex], scope.row, scope.$index) : () => {}\">\r\n {{ (scope.row[t.dataIndex] || scope.row[t.dataIndex] === 0) ? scope.row[t.dataIndex] : '' }}\r\n </span>\r\n </span>\r\n </span>\r\n\r\n <!-- 进度条 -->\r\n <span v-else-if=\"t.isProgress\">\r\n <el-progress :percentage=\"scope.row[t.dataIndex]\" color=\"#3d3ad9\" />\r\n </span>\r\n\r\n <!-- 常规渲染 -->\r\n <div v-else>\r\n {{ scope.row[t.dataIndex] ? scope.row[t.dataIndex] :scope.row[t.dataIndex] === 0?'0':'' }}\r\n </div>\r\n\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <!-- 分页 -->\r\n <div v-if=\"isShowPagination\" class=\"pagination-block\">\r\n\r\n <div class=\"tool-block\">\r\n <template v-if=\"!hideTool\">\r\n <el-tooltip :content=\"$t('btn.refresh')\">\r\n <el-icon size=\"20\" @click=\"refresh\"><el-icon-refresh></el-icon-refresh></el-icon>\r\n </el-tooltip>\r\n\r\n <el-dropdown @command=\"handleSelect\">\r\n <span class=\"dropdown-trigger\">\r\n <el-tooltip :content=\"$t('lwTable.tools.lineHeightName')\">\r\n <el-icon size=\"20\"><el-icon-set-up></el-icon-set-up></el-icon>\r\n </el-tooltip>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item command=\"mini\">{{ $t('lwTable.tools.lineHeight.mini') }}</el-dropdown-item>\r\n <el-dropdown-item command=\"small\">{{ $t('lwTable.tools.lineHeight.small') }}</el-dropdown-item>\r\n <el-dropdown-item command=\"medium\">{{ $t('lwTable.tools.lineHeight.medium') }}</el-dropdown-item>\r\n <el-dropdown-item command=\"large\">{{ $t('lwTable.tools.lineHeight.large') }}</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n\r\n <el-popover placement=\"top-start\" :title=\"$t('lwTable.tools.columnsSetting')\" :width=\"400\" trigger=\"hover\">\r\n <template #reference>\r\n <el-icon size=\"20\"><el-icon-setting></el-icon-setting></el-icon>\r\n </template>\r\n <el-checkbox v-model=\"allCheck\" @change=\"checkAll\">\r\n {{ $t('lwTable.tools.allCheck') }},{{ $t('lwTable.tools.hasChecked') }}{{ checkedKeys.length }}/{{ treeData.length }}\r\n </el-checkbox>\r\n <el-checkbox-group v-model=\"checkedKeys\" @change=\"treeCheck\">\r\n <el-checkbox v-for=\"item in treeData\" :key=\"item.key\" :label=\"item.title\" :value=\"item.key\">\r\n {{ item.title }}\r\n </el-checkbox>\r\n </el-checkbox-group>\r\n\r\n <div class=\"fix-num\">\r\n {{$t('lwTable.tools.table_before')}}\r\n <el-input-number v-model=\"fixNum\" @change=\"fixNumChange\" :min=\"0\" :max=\"10\" size=\"small\" />\r\n {{$t('lwTable.tools.column_fixed')}}\r\n </div>\r\n\r\n </el-popover>\r\n\r\n <el-tooltip :content=\"isFullscreen ? $t('lwTable.tools.cancel') : $t('lwTable.tools.fullScreen')\">\r\n <el-icon v-if=\"!isFullscreen\" class=\"icon-fullscreen\" @click=\"tableToggleFullScreen\"><el-icon-full-screen /></el-icon>\r\n <el-icon v-if=\"isFullscreen\" class=\"icon-fullscreen-exit\" @click=\"tableToggleFullScreen\"><el-icon-full-screen /></el-icon>\r\n </el-tooltip>\r\n </template>\r\n </div>\r\n <el-pagination background small=\"true\" :current-page.sync=\"parseFloat(searchParams.page).toString() == 'NaN' ? 1 : searchParams.page\" :page-size=\"searchParams.size ? searchParams.size : 10\" layout=\"total, prev, pager, next, sizes, jumper\" :total=\"totalCount\" :page-sizes=\"pageSizes\" @size-change=\"sizeChange\" @current-change=\"currentChange\" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script src=\"./index.js\"></script>\r\n<style lang=\"scss\" scoped>\r\n@import \"./index.scss\";\r\n</style>\r\n","<template>\r\n <div class=\"lw-upload\"\r\n :class=\"{'lw-upload-round':round}\"\r\n :style=\"style\">\r\n <div v-if=\"file && file.status != 'success'\"\r\n class=\"lw-upload__uploading\">\r\n <div class=\"lw-upload__progress\">\r\n <el-progress :percentage=\"file.percentage\"\r\n :text-inside=\"true\"\r\n :stroke-width=\"16\" />\r\n </div>\r\n <el-image class=\"image\"\r\n :src=\"file.tempFile\"\r\n fit=\"cover\"></el-image>\r\n </div>\r\n <div v-if=\"file && file.status=='success'\"\r\n class=\"lw-upload__img\">\r\n <el-image class=\"image\"\r\n :src=\"file.url\"\r\n :preview-src-list=\"[file.url]\"\r\n fit=\"cover\"\r\n hide-on-click-modal\r\n append-to-body\r\n :z-index=\"9999\">\r\n <template #placeholder>\r\n <div class=\"lw-upload__img-slot\">\r\n Loading...\r\n </div>\r\n </template>\r\n </el-image>\r\n <div class=\"lw-upload__img-actions\"\r\n v-if=\"!disabled\">\r\n <span class=\"del\"\r\n @click=\"handleRemove()\"><el-icon><el-icon-delete /></el-icon></span>\r\n </div>\r\n </div>\r\n <el-upload v-if=\"!file\"\r\n class=\"uploader\"\r\n ref=\"uploader\"\r\n :auto-upload=\"cropper?false:autoUpload\"\r\n :disabled=\"disabled\"\r\n :show-file-list=\"showFileList\"\r\n :action=\"action\"\r\n :name=\"name\"\r\n :data=\"data\"\r\n :accept=\"accept\"\r\n :limit=\"1\"\r\n :http-request=\"request\"\r\n :on-change=\"change\"\r\n :before-upload=\"before\"\r\n :on-success=\"success\"\r\n :on-error=\"error\"\r\n :on-exceed=\"handleExceed\">\r\n <slot>\r\n <div class=\"el-upload--picture-card\">\r\n <div class=\"file-empty\">\r\n <el-icon>\r\n <component :is=\"icon\" />\r\n </el-icon>\r\n <h4 v-if=\"title\">{{title}}</h4>\r\n </div>\r\n </div>\r\n </slot>\r\n </el-upload>\r\n <span style=\"display:none!important\"><el-input\r\n v-model=\"value\"></el-input></span>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n props: {\r\n modelValue: { type: String, default: \"\" },\r\n height: { type: Number, default: 148 },\r\n width: { type: Number, default: 148 },\r\n title: { type: String, default: \"\" },\r\n icon: { type: String, default: \"el-icon-plus\" },\r\n action: { type: String, default: () => {} },\r\n apiObj: { type: Object, default: () => { } },\r\n name: { type: String, default: \"file\" },\r\n data: { type: Object, default: () => { } },\r\n accept: { type: String, default: \"image/gif, image/jpeg, image/png\" },\r\n maxSize: { type: Number, default: 10 },\r\n limit: { type: Number, default: 1 },\r\n autoUpload: { type: Boolean, default: true },\r\n showFileList: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n round: { type: Boolean, default: false },\r\n onSuccess: { type: Function, default: () => { return true } },\r\n\r\n cropper: { type: Boolean, default: false },\r\n compress: { type: Number, default: 1 },\r\n aspectRatio: { type: Number, default: NaN }\r\n },\r\n\r\n data() {\r\n return {\r\n value: \"\",\r\n file: null,\r\n style: {\r\n width: this.width + \"px\",\r\n height: this.height + \"px\"\r\n },\r\n cropperDialogVisible: false,\r\n cropperFile: null\r\n }\r\n },\r\n watch: {\r\n modelValue(val) {\r\n this.value = val\r\n this.newFile(val)\r\n },\r\n value(val) {\r\n this.$emit('update:modelValue', val)\r\n }\r\n },\r\n mounted() {\r\n this.value = this.modelValue\r\n this.newFile(this.modelValue)\r\n },\r\n methods: {\r\n newFile(url) {\r\n if (url) {\r\n this.file = {\r\n status: \"success\",\r\n url: url\r\n }\r\n } else {\r\n this.file = null\r\n }\r\n },\r\n handleRemove() {\r\n this.clearFiles()\r\n },\r\n clearFiles() {\r\n URL.revokeObjectURL(this.file.tempFile)\r\n this.value = \"\"\r\n this.file = null\r\n this.$nextTick(() => {\r\n this.$refs.uploader.clearFiles()\r\n })\r\n },\r\n change(file, files) {\r\n if (files.length > 1) {\r\n files.splice(0, 1)\r\n }\r\n if (this.cropper && file.status == 'ready') {\r\n const acceptIncludes = [\"image/gif\", \"image/jpeg\", \"image/png\"].includes(file.raw.type)\r\n if (!acceptIncludes) {\r\n this.$notify.warning({\r\n title: '上传文件警告',\r\n message: '选择的文件非图像类文件'\r\n })\r\n return false\r\n }\r\n this.cropperFile = file\r\n this.cropperFile.tempCropperFile = URL.createObjectURL(file.raw)\r\n this.cropperDialogVisible = true\r\n return false\r\n }\r\n this.file = file\r\n if (file.status == 'ready') {\r\n file.tempFile = URL.createObjectURL(file.raw)\r\n }\r\n },\r\n before(file) {\r\n const acceptIncludes = this.accept.replace(/\\s/g, \"\").split(\",\").includes(file.type)\r\n if (!acceptIncludes) {\r\n this.$notify.warning({\r\n title: '上传文件警告',\r\n message: '选择的文件非图像类文件'\r\n })\r\n this.clearFiles()\r\n return false\r\n }\r\n const maxSize = file.size / 1024 / 1024 < this.maxSize;\r\n if (!maxSize) {\r\n this.$message.warning(`上传文件大小不能超过 ${this.maxSize}MB!`);\r\n this.clearFiles()\r\n return false\r\n }\r\n },\r\n handleExceed(files) {\r\n const file = files[0]\r\n file.uid = this.$tool.getUUID('file, 16')\r\n this.$refs.uploader.handleStart(file)\r\n },\r\n parseData(res) {\r\n return {\r\n code: 200,\t\t\t\t//分析状态字段结构\r\n fileName: res.fileName,//分析文件名称\r\n src: res.previewInfo.url,\t\t\t//分析图片远程地址结构\r\n msg: res.message\t\t\t//分析描述字段结构\r\n }\r\n },\r\n success(res, file) {\r\n //释放内存删除blob\r\n URL.revokeObjectURL(file.tempFile)\r\n delete file.tempFile\r\n var os = this.onSuccess(res, file)\r\n if (os != undefined && os == false) {\r\n this.$nextTick(() => {\r\n this.file = null\r\n this.value = \"\"\r\n })\r\n return false\r\n }\r\n var response = this.parseData(res)\r\n file.url = response.src\r\n this.value = file.url\r\n },\r\n error(err) {\r\n this.$nextTick(() => {\r\n this.clearFiles()\r\n })\r\n this.$notify.error({\r\n title: '上传文件未成功',\r\n message: err\r\n })\r\n },\r\n request(param) {\r\n let apiObj = this.apiObj || this.$api.auth.upload\r\n const data = new FormData();\r\n data.append(param.filename, param.file);\r\n for (const key in param.data) {\r\n data.append(key, param.data[key]);\r\n }\r\n console.log(data)\r\n apiObj(data, {\r\n onUploadProgress: e => {\r\n const complete = parseInt(((e.loaded / e.total) * 100) | 0, 10)\r\n param.onProgress({ percent: complete })\r\n }\r\n }).then(res => {\r\n var response = this.parseData(res);\r\n if (response.code == 200) {\r\n param.onSuccess(res)\r\n } else {\r\n param.onError(response.msg || \"未知错误\")\r\n }\r\n }).catch(err => {\r\n param.onError(err)\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lwoped>\r\n.el-form-item.is-error .lw-upload .el-upload--picture-card {\r\n border-color: var(--el-color-danger);\r\n}\r\n.lw-upload .el-upload--picture-card {\r\n border-radius: 0;\r\n}\r\n\r\n.lw-upload .uploader,\r\n.lw-upload:deep(.el-upload) {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.lw-upload__img {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n}\r\n.lw-upload__img .image {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.lw-upload__img-actions {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n display: none;\r\n}\r\n.lw-upload__img-actions span {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 25px;\r\n height: 25px;\r\n cursor: pointer;\r\n color: #fff;\r\n}\r\n.lw-upload__img-actions span i {\r\n font-size: 12px;\r\n}\r\n.lw-upload__img-actions .del {\r\n background: #f56c6c;\r\n}\r\n.lw-upload__img:hover .lw-upload__img-actions {\r\n display: block;\r\n}\r\n.lw-upload__img-slot {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 12px;\r\n background-color: var(--el-fill-color-lighter);\r\n}\r\n\r\n.lw-upload__uploading {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n}\r\n.lw-upload__progress {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n background-color: var(--el-overlay-color-lighter);\r\n z-index: 1;\r\n padding: 10px;\r\n}\r\n.lw-upload__progress .el-progress {\r\n width: 100%;\r\n}\r\n.lw-upload__uploading .image {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.lw-upload .file-empty {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n}\r\n.lw-upload .file-empty i {\r\n font-size: 28px;\r\n}\r\n.lw-upload .file-empty h4 {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #8c939d;\r\n margin-top: 8px;\r\n}\r\n\r\n.lw-upload.lw-upload-round {\r\n border-radius: 50%;\r\n overflow: hidden;\r\n}\r\n.lw-upload.lw-upload-round .el-upload--picture-card {\r\n border-radius: 50%;\r\n}\r\n.lw-upload.lw-upload-round .lw-upload__img-actions {\r\n top: auto;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n}\r\n.lw-upload.lw-upload-round .lw-upload__img-actions span {\r\n width: 100%;\r\n}\r\n</style>\r\n","<template>\r\n <el-skeleton v-if=\"renderLoading || Object.keys(form).length==0\"\r\n animated />\r\n\r\n <el-form v-else\r\n ref=\"form\"\r\n :model=\"form\"\r\n :label-width=\"config.labelWidth\"\r\n :label-position=\"config.labelPosition\"\r\n v-loading=\"loading\"\r\n element-loading-text=\"Loading...\">\r\n <el-row :gutter=\"15\">\r\n <template v-for=\"(item, index) in config.formItems\"\r\n :key=\"index\">\r\n <el-col :span=\"item.span || 24\"\r\n v-if=\"!hideHandle(item)\">\r\n <el-form-item :prop=\"item.name\"\r\n :rules=\"rulesHandle(item)\">\r\n <template #label>\r\n {{item.label}}\r\n <el-tooltip v-if=\"item.tips\"\r\n :content=\"item.tips\">\r\n <el-icon><el-icon-question-filled /></el-icon>\r\n </el-tooltip>\r\n </template>\r\n <!-- input -->\r\n <template v-if=\"item.component=='input'\">\r\n <el-input v-model=\"form[item.name]\"\r\n :placeholder=\"item.options.placeholder\"\r\n clearable\r\n :type=\"item.options.type\"\r\n :disabled=\"item.options.disabled\"\r\n :maxlength=\"item.options.maxlength\"\r\n show-word-limit></el-input>\r\n </template>\r\n <!-- upload -->\r\n <template v-else-if=\"item.component=='upload'\">\r\n <el-col v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\">\r\n <el-form-item :prop=\"_item.name\">\r\n <lw-upload v-model=\"form[_item.name]\"\r\n :title=\"_item.label\"></lw-upload>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n <!-- checkbox -->\r\n <template v-else-if=\"item.component=='checkbox'\">\r\n <template v-if=\"item.name\">\r\n <el-checkbox v-model=\"form[item.name][_item.name]\"\r\n :label=\"_item.label\"\r\n v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\"></el-checkbox>\r\n </template>\r\n <template v-else>\r\n <el-checkbox v-model=\"form[_item.name]\"\r\n :label=\"_item.label\"\r\n v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\"></el-checkbox>\r\n </template>\r\n </template>\r\n <!-- checkboxGroup -->\r\n <template v-else-if=\"item.component=='checkboxGroup'\">\r\n <el-checkbox-group v-model=\"form[item.name]\">\r\n <el-checkbox v-for=\"_item in item.options.items\"\r\n :key=\"_item.value\"\r\n :label=\"_item.value\">{{_item.label}}</el-checkbox>\r\n </el-checkbox-group>\r\n </template>\r\n <!-- upload -->\r\n <template v-else-if=\"item.component=='upload'\">\r\n <el-col v-for=\"(_item, _index) in item.options.items\"\r\n :key=\"_index\">\r\n <el-form-item :prop=\"_item.name\">\r\n <sc-upload v-model=\"form[_item.name]\"\r\n :title=\"_item.label\"></sc-upload>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n <!-- switch -->\r\n <template v-else-if=\"item.component=='switch'\">\r\n <el-switch v-model=\"form[item.name]\" />\r\n </template>\r\n <!-- select -->\r\n <template v-else-if=\"item.component=='select'\">\r\n <el-select v-model=\"form[item.name]\"\r\n :multiple=\"item.options.multiple\"\r\n :placeholder=\"item.options.placeholder\"\r\n clearable\r\n filterable\r\n style=\"width: 100%;\">\r\n <el-option v-for=\"option in item.options.items\"\r\n :key=\"option.value\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"></el-option>\r\n </el-select>\r\n </template>\r\n <!-- cascader -->\r\n <template v-else-if=\"item.component=='cascader'\">\r\n <el-cascader v-model=\"form[item.name]\"\r\n :options=\"item.options.items\"\r\n clearable></el-cascader>\r\n </template>\r\n <!-- date -->\r\n <template v-else-if=\"item.component=='date'\">\r\n <el-date-picker v-model=\"form[item.name]\"\r\n style=\"width: 100%;\"\r\n :type=\"item.options.type\"\r\n :shortcuts=\"item.options.shortcuts\"\r\n :default-time=\"item.options.defaultTime\"\r\n :value-format=\"item.options.valueFormat\"\r\n :placeholder=\"item.options.placeholder || '请选择'\"></el-date-picker>\r\n </template>\r\n <!-- number -->\r\n <template v-else-if=\"item.component=='number'\">\r\n <el-input-number v-model=\"form[item.name]\"\r\n controls-position=\"right\"></el-input-number>\r\n </template>\r\n <!-- radio -->\r\n <template v-else-if=\"item.component=='radio'\">\r\n <el-radio-group v-model=\"form[item.name]\">\r\n <el-radio v-for=\"_item in item.options.items\"\r\n :key=\"_item.value\"\r\n :label=\"_item.value\">{{_item.label}}</el-radio>\r\n </el-radio-group>\r\n </template>\r\n <!-- color -->\r\n <template v-else-if=\"item.component=='color'\">\r\n <el-color-picker v-model=\"form[item.name]\" />\r\n </template>\r\n <!-- rate -->\r\n <template v-else-if=\"item.component=='rate'\">\r\n <el-rate style=\"margin-top: 6px;\"\r\n v-model=\"form[item.name]\"></el-rate>\r\n </template>\r\n <!-- slider -->\r\n <template v-else-if=\"item.component=='slider'\">\r\n <el-slider v-model=\"form[item.name]\"\r\n :marks=\"item.options.marks\"></el-slider>\r\n </template>\r\n <!-- 没有组件是component值 就是插槽名称 -->\r\n <template v-else>\r\n <slot :name=\"item.component\">\r\n <el-tag type=\"danger\">[{{item.component}}]\r\n 没有这个默认组件也未自定义插槽内容</el-tag>\r\n </slot>\r\n </template>\r\n <div v-if=\"item.message\"\r\n class=\"el-form-item-msg\">{{item.message}}</div>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n <el-col :span=\"24\">\r\n <el-form-item>\r\n <slot>\r\n <el-button type=\"primary\"\r\n @click=\"submit\">提交</el-button>\r\n </slot>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n</template>\r\n\r\n<script>\r\nimport lwUpload from '../lwUpload'\r\nexport default {\r\n components: {\r\n lwUpload\r\n },\r\n props: {\r\n modelValue: { type: Object, default: () => { } },\r\n config: { type: Object, default: () => { } },\r\n loading: { type: Boolean, default: false },\r\n },\r\n data() {\r\n return {\r\n form: {},\r\n renderLoading: false\r\n }\r\n },\r\n watch: {\r\n modelValue() {\r\n if (this.hasConfig) {\r\n this.deepMerge(this.form, this.modelValue)\r\n }\r\n },\r\n config() {\r\n this.render()\r\n },\r\n form: {\r\n handler(val) {\r\n this.$emit(\"update:modelValue\", val)\r\n },\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n hasConfig() {\r\n return Object.keys(this.config).length > 0\r\n },\r\n hasValue() {\r\n return Object.keys(this.modelValue).length > 0\r\n }\r\n },\r\n created() {\r\n\r\n },\r\n mounted() {\r\n if (this.hasConfig) {\r\n this.render()\r\n }\r\n },\r\n methods: {\r\n //构建form对象\r\n render() {\r\n this.config.formItems.forEach((item) => {\r\n if (item.component == 'checkbox') {\r\n if (item.name) {\r\n const value = {}\r\n item.options.items.forEach((option) => {\r\n value[option.name] = option.value\r\n })\r\n this.form[item.name] = value\r\n } else {\r\n item.options.items.forEach((option) => {\r\n this.form[option.name] = option.value\r\n })\r\n }\r\n } else if (item.component == 'upload') {\r\n if (item.name) {\r\n const value = {}\r\n item.options.items.forEach((option) => {\r\n value[option.name] = option.value\r\n })\r\n this.form[item.name] = value\r\n } else {\r\n item.options.items.forEach((option) => {\r\n this.form[option.name] = option.value\r\n })\r\n }\r\n } else {\r\n this.form[item.name] = item.value\r\n }\r\n })\r\n if (this.hasValue) {\r\n this.form = this.deepMerge(this.form, this.modelValue)\r\n }\r\n this.getData()\r\n },\r\n //处理远程选项数据\r\n getData() {\r\n this.renderLoading = true\r\n var remoteData = []\r\n this.config.formItems.forEach((item) => {\r\n if (item.options && item.options.remote) {\r\n var req = this.$http.get(item.options.remote.api, item.options.remote.data).then(res => {\r\n item.options.items = res.data\r\n })\r\n remoteData.push(req)\r\n }\r\n })\r\n Promise.all(remoteData).then(() => {\r\n this.renderLoading = false\r\n })\r\n },\r\n //合并深结构对象\r\n deepMerge(obj1, obj2) {\r\n let key;\r\n for (key in obj2) {\r\n obj1[key] = obj1[key] && obj1[key].toString() === \"[object Object]\" && (obj2[key] && obj2[key].toString() === \"[object Object]\") ? this.deepMerge(obj1[key], obj2[key]) : (obj1[key] = obj2[key])\r\n }\r\n return obj1\r\n //return JSON.parse(JSON.stringify(obj1))\r\n },\r\n //处理动态隐藏\r\n hideHandle(item) {\r\n\r\n if (typeof item.hideHandle === 'string') {\r\n const exp = eval(item.hideHandle.replace(/\\$/g, \"this.form\"))\r\n return exp\r\n } else if (typeof item.hideHandle === 'boolean') {\r\n return item.hideHandle\r\n }\r\n return false\r\n },\r\n //处理动态必填\r\n rulesHandle(item) {\r\n if (item.requiredHandle) {\r\n const exp = eval(item.requiredHandle.replace(/\\$/g, \"this.form\"))\r\n var requiredRule = item.rules.find(t => 'required' in t)\r\n requiredRule.required = exp\r\n }\r\n return item.rules\r\n },\r\n //数据验证\r\n validate(valid, obj) {\r\n return this.$refs.form.validate(valid, obj)\r\n },\r\n scrollToField(prop) {\r\n return this.$refs.form.scrollToField(prop)\r\n },\r\n resetFields() {\r\n return this.$refs.form.resetFields()\r\n },\r\n //提交\r\n submit() {\r\n this.$emit(\"submit\", this.form)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n","export default {\r\n icons: [{\r\n name: '默认',\r\n key: 'element',\r\n icons: [\r\n \"el-icon-aim\",\r\n \"el-icon-add-location\",\r\n \"el-icon-apple\",\r\n \"el-icon-alarm-clock\",\r\n \"el-icon-arrow-down\",\r\n \"el-icon-arrow-down-bold\",\r\n \"el-icon-arrow-left\",\r\n \"el-icon-arrow-left-bold\",\r\n \"el-icon-arrow-right-bold\",\r\n \"el-icon-arrow-up\",\r\n \"el-icon-back\",\r\n \"el-icon-bell\",\r\n \"el-icon-baseball\",\r\n \"el-icon-bicycle\",\r\n \"el-icon-bell-filled\",\r\n \"el-icon-basketball\",\r\n \"el-icon-bottom\",\r\n \"el-icon-box\",\r\n \"el-icon-briefcase\",\r\n \"el-icon-brush-filled\",\r\n \"el-icon-bowl\",\r\n \"el-icon-avatar\",\r\n \"el-icon-brush\",\r\n \"el-icon-burger\",\r\n \"el-icon-camera\",\r\n \"el-icon-bottom-left\",\r\n \"el-icon-calendar\",\r\n \"el-icon-caret-bottom\",\r\n \"el-icon-caret-left\",\r\n \"el-icon-caret-right\",\r\n \"el-icon-caret-top\",\r\n \"el-icon-chat-dot-square\",\r\n \"el-icon-cellphone\",\r\n \"el-icon-chat-dot-round\",\r\n \"el-icon-chat-line-square\",\r\n \"el-icon-chat-line-round\",\r\n \"el-icon-chat-round\",\r\n \"el-icon-check\",\r\n \"el-icon-chat-square\",\r\n \"el-icon-cherry\",\r\n \"el-icon-chicken\",\r\n \"el-icon-circle-check-filled\",\r\n \"el-icon-circle-check\",\r\n \"el-icon-checked\",\r\n \"el-icon-circle-close-filled\",\r\n \"el-icon-circle-close\",\r\n \"el-icon-arrow-right\",\r\n \"el-icon-circle-plus\",\r\n \"el-icon-clock\",\r\n \"el-icon-close-bold\",\r\n \"el-icon-close\",\r\n \"el-icon-cloudy\",\r\n \"el-icon-circle-plus-filled\",\r\n \"el-icon-coffee-cup\",\r\n \"el-icon-cold-drink\",\r\n \"el-icon-coin\",\r\n \"el-icon-arrow-up-bold\",\r\n \"el-icon-collection-tag\",\r\n \"el-icon-bottom-right\",\r\n \"el-icon-coffee\",\r\n \"el-icon-camera-filled\",\r\n \"el-icon-collection\",\r\n \"el-icon-cpu\",\r\n \"el-icon-crop\",\r\n \"el-icon-coordinate\",\r\n \"el-icon-d-arrow-left\",\r\n \"el-icon-compass\",\r\n \"el-icon-connection\",\r\n \"el-icon-credit-card\",\r\n \"el-icon-data-board\",\r\n \"el-icon-d-arrow-right\",\r\n \"el-icon-dessert\",\r\n \"el-icon-delete-location\",\r\n \"el-icon-d-caret\",\r\n \"el-icon-delete\",\r\n \"el-icon-dish\",\r\n \"el-icon-dish-dot\",\r\n \"el-icon-document-copy\",\r\n \"el-icon-discount\",\r\n \"el-icon-document-checked\",\r\n \"el-icon-document-add\",\r\n \"el-icon-document-remove\",\r\n \"el-icon-data-analysis\",\r\n \"el-icon-delete-filled\",\r\n \"el-icon-download\",\r\n \"el-icon-drizzling\",\r\n \"el-icon-eleme\",\r\n \"el-icon-eleme-filled\",\r\n \"el-icon-edit\",\r\n \"el-icon-failed\",\r\n \"el-icon-expand\",\r\n \"el-icon-female\",\r\n \"el-icon-document\",\r\n \"el-icon-film\",\r\n \"el-icon-finished\",\r\n \"el-icon-data-line\",\r\n \"el-icon-filter\",\r\n \"el-icon-flag\",\r\n \"el-icon-folder-checked\",\r\n \"el-icon-first-aid-kit\",\r\n \"el-icon-folder-add\",\r\n \"el-icon-fold\",\r\n \"el-icon-folder-delete\",\r\n \"el-icon-document-delete\",\r\n \"el-icon-folder\",\r\n \"el-icon-food\",\r\n \"el-icon-folder-opened\",\r\n \"el-icon-football\",\r\n \"el-icon-folder-remove\",\r\n \"el-icon-fries\",\r\n \"el-icon-full-screen\",\r\n \"el-icon-fork-spoon\",\r\n \"el-icon-goblet\",\r\n \"el-icon-goblet-full\",\r\n \"el-icon-goods\",\r\n \"el-icon-goblet-square-full\",\r\n \"el-icon-goods-filled\",\r\n \"el-icon-grid\",\r\n \"el-icon-grape\",\r\n \"el-icon-goblet-square\",\r\n \"el-icon-headset\",\r\n \"el-icon-comment\",\r\n \"el-icon-help-filled\",\r\n \"el-icon-histogram\",\r\n \"el-icon-home-filled\",\r\n \"el-icon-help\",\r\n \"el-icon-house\",\r\n \"el-icon-ice-cream-round\",\r\n \"el-icon-hot-water\",\r\n \"el-icon-ice-cream\",\r\n \"el-icon-files\",\r\n \"el-icon-ice-cream-square\",\r\n \"el-icon-key\",\r\n \"el-icon-ice-tea\",\r\n \"el-icon-knife-fork\",\r\n \"el-icon-iphone\",\r\n \"el-icon-info-filled\",\r\n \"el-icon-link\",\r\n \"el-icon-ice-drink\",\r\n \"el-icon-lightning\",\r\n \"el-icon-loading\",\r\n \"el-icon-lollipop\",\r\n \"el-icon-location-information\",\r\n \"el-icon-lock\",\r\n \"el-icon-location-filled\",\r\n \"el-icon-magnet\",\r\n \"el-icon-male\",\r\n \"el-icon-location\",\r\n \"el-icon-menu\",\r\n \"el-icon-magic-stick\",\r\n \"el-icon-message-box\",\r\n \"el-icon-map-location\",\r\n \"el-icon-mic\",\r\n \"el-icon-message\",\r\n \"el-icon-medal\",\r\n \"el-icon-milk-tea\",\r\n \"el-icon-microphone\",\r\n \"el-icon-minus\",\r\n \"el-icon-money\",\r\n \"el-icon-moon-night\",\r\n \"el-icon-monitor\",\r\n \"el-icon-moon\",\r\n \"el-icon-more\",\r\n \"el-icon-mostly-cloudy\",\r\n \"el-icon-more-filled\",\r\n \"el-icon-mouse\",\r\n \"el-icon-mug\",\r\n \"el-icon-mute\",\r\n \"el-icon-no-smoking\",\r\n \"el-icon-mute-notification\",\r\n \"el-icon-notification\",\r\n \"el-icon-notebook\",\r\n \"el-icon-odometer\",\r\n \"el-icon-office-building\",\r\n \"el-icon-operation\",\r\n \"el-icon-opportunity\",\r\n \"el-icon-orange\",\r\n \"el-icon-open\",\r\n \"el-icon-paperclip\",\r\n \"el-icon-pear\",\r\n \"el-icon-partly-cloudy\",\r\n \"el-icon-phone\",\r\n \"el-icon-picture-filled\",\r\n \"el-icon-phone-filled\",\r\n \"el-icon-picture-rounded\",\r\n \"el-icon-guide\",\r\n \"el-icon-place\",\r\n \"el-icon-platform\",\r\n \"el-icon-pie-chart\",\r\n \"el-icon-pointer\",\r\n \"el-icon-plus\",\r\n \"el-icon-position\",\r\n \"el-icon-postcard\",\r\n \"el-icon-present\",\r\n \"el-icon-price-tag\",\r\n \"el-icon-promotion\",\r\n \"el-icon-pouring\",\r\n \"el-icon-reading-lamp\",\r\n \"el-icon-question-filled\",\r\n \"el-icon-printer\",\r\n \"el-icon-picture\",\r\n \"el-icon-refresh-right\",\r\n \"el-icon-reading\",\r\n \"el-icon-refresh-left\",\r\n \"el-icon-refresh\",\r\n \"el-icon-refrigerator\",\r\n \"el-icon-remove-filled\",\r\n \"el-icon-right\",\r\n \"el-icon-scale-to-original\",\r\n \"el-icon-school\",\r\n \"el-icon-remove\",\r\n \"el-icon-scissor\",\r\n \"el-icon-select\",\r\n \"el-icon-management\",\r\n \"el-icon-search\",\r\n \"el-icon-sell\",\r\n \"el-icon-semi-select\",\r\n \"el-icon-share\",\r\n \"el-icon-setting\",\r\n \"el-icon-service\",\r\n \"el-icon-ship\",\r\n \"el-icon-set-up\",\r\n \"el-icon-shopping-bag\",\r\n \"el-icon-shop\",\r\n \"el-icon-shopping-cart\",\r\n \"el-icon-shopping-cart-full\",\r\n \"el-icon-soccer\",\r\n \"el-icon-sold-out\",\r\n \"el-icon-smoking\",\r\n \"el-icon-sort-down\",\r\n \"el-icon-sort\",\r\n \"el-icon-sort-up\",\r\n \"el-icon-star\",\r\n \"el-icon-stamp\",\r\n \"el-icon-star-filled\",\r\n \"el-icon-stopwatch\",\r\n \"el-icon-success-filled\",\r\n \"el-icon-suitcase\",\r\n \"el-icon-sugar\",\r\n \"el-icon-sunny\",\r\n \"el-icon-sunrise\",\r\n \"el-icon-switch\",\r\n \"el-icon-ticket\",\r\n \"el-icon-sunset\",\r\n \"el-icon-tickets\",\r\n \"el-icon-switch-button\",\r\n \"el-icon-takeaway-box\",\r\n \"el-icon-toilet-paper\",\r\n \"el-icon-timer\",\r\n \"el-icon-tools\",\r\n \"el-icon-top-left\",\r\n \"el-icon-top\",\r\n \"el-icon-top-right\",\r\n \"el-icon-trend-charts\",\r\n \"el-icon-turn-off\",\r\n \"el-icon-unlock\",\r\n \"el-icon-trophy\",\r\n \"el-icon-umbrella\",\r\n \"el-icon-upload-filled\",\r\n \"el-icon-user-filled\",\r\n \"el-icon-upload\",\r\n \"el-icon-user\",\r\n \"el-icon-van\",\r\n \"el-icon-copy-document\",\r\n \"el-icon-video-pause\",\r\n \"el-icon-video-camera-filled\",\r\n \"el-icon-view\",\r\n \"el-icon-wallet\",\r\n \"el-icon-warning-filled\",\r\n \"el-icon-watch\",\r\n \"el-icon-video-play\",\r\n \"el-icon-watermelon\",\r\n \"el-icon-video-camera\",\r\n \"el-icon-wallet-filled\",\r\n \"el-icon-warning\",\r\n \"el-icon-list\",\r\n \"el-icon-zoom-in\",\r\n \"el-icon-zoom-out\",\r\n \"el-icon-rank\",\r\n \"el-icon-wind-power\"\r\n ]\r\n }\r\n ]\r\n}","<template>\r\n <div class=\"lw-icon-select\">\r\n <el-input v-model=\"defaultValue\"\r\n :prefix-icon=\"defaultValue||'none'\"\r\n :placeholder=\"placeholder\"\r\n :clearable=\"clearable\"\r\n :disabled=\"disabled\">\r\n <template #append>\r\n <el-button icon=\"el-icon-more-filled\"\r\n @click=\"open\"></el-button>\r\n </template>\r\n </el-input>\r\n <el-dialog title=\"图标选择器\"\r\n v-model=\"dialogVisible\"\r\n :width=\"780\"\r\n destroy-on-close>\r\n <el-tabs style=\"margin-top: -30px;\" v-model=\"activeName\">\r\n <el-tab-pane v-for=\"item in data\"\r\n :key=\"item.name\"\r\n :name=\"item.key\"\r\n lazy>\r\n <template #label>\r\n {{item.name}} <el-tag size=\"small\"\r\n type=\"info\">{{item.icons.length}}</el-tag>\r\n </template>\r\n <div class=\"lw-icon-select__list\">\r\n <el-scrollbar>\r\n <ul @click=\"selectIcon\">\r\n <li v-for=\"icon in item.icons\"\r\n :key=\"icon\">\r\n <span :data-icon=\"icon\"></span>\r\n <el-icon>\r\n <component :is=\"icon\" />\r\n </el-icon>\r\n </li>\r\n </ul>\r\n </el-scrollbar>\r\n </div>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport config from \"./iconSelect\"\r\n\r\nexport default {\r\n props: {\r\n modelValue: { type: String, default: \"\" },\r\n placeholder: { type: String, default: \"请输入或者选择图标\" },\r\n clearable: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n },\r\n data () {\r\n return {\r\n defaultValue: '',\r\n activeName: 'element',\r\n dialogVisible: false,\r\n data: []\r\n }\r\n },\r\n watch: {\r\n modelValue (val) {\r\n this.defaultValue = val\r\n },\r\n defaultValue (val) {\r\n this.$emit('update:modelValue', val)\r\n }\r\n },\r\n mounted () {\r\n this.defaultValue = this.modelValue\r\n this.data.push(...config.icons)\r\n },\r\n methods: {\r\n open () {\r\n if (this.disabled) {\r\n return false\r\n }\r\n this.dialogVisible = true\r\n },\r\n selectIcon (e) {\r\n if (e.target.tagName != 'SPAN') {\r\n return false\r\n }\r\n this.defaultValue = e.target.dataset.icon\r\n this.dialogVisible = false\r\n this.$emit('update:modelValue', this.defaultValue);\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.lw-icon-select {\r\n display: inline-block;\r\n}\r\n.lw-icon-select__list {\r\n height: 360px;\r\n overflow: auto;\r\n}\r\n.lw-icon-select__list ul {\r\n}\r\n.lw-icon-select__list li {\r\n display: inline-block;\r\n width: 80px;\r\n height: 80px;\r\n margin: 5px;\r\n vertical-align: top;\r\n box-shadow: 0 0 0 1px #eee;\r\n transition: all 0.1s;\r\n border-radius: 4px;\r\n position: relative;\r\n}\r\n.lw-icon-select__list li span {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 1;\r\n cursor: pointer;\r\n}\r\n.lw-icon-select__list li i {\r\n display: inline-block;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 26px;\r\n color: #6d7882;\r\n background: #fff;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 4px;\r\n}\r\n.lw-icon-select__list li:hover {\r\n box-shadow: 0 0 1px 4px rgba(64, 158, 255, 1);\r\n}\r\n.lw-icon-select__list li:hover i {\r\n color: #409eff;\r\n}\r\n</style>\r\n","//表格选择器配置\r\n\r\nexport default {\r\n\tpageSize: 20, //表格每一页条数\r\n\tparseData: function (res) {\r\n\t\treturn {\r\n\t\t\tdata: res,\r\n\t\t\trows: res.content, //分析行数据字段结构\r\n\t\t\ttotal: res.totalElements, //分析总数字段结构\r\n\t\t\tmsg: res.message, //分析描述字段结构\r\n\t\t\tcode: res.code //分析状态字段结构\r\n\t\t}\r\n\t},\r\n\trequest: {\r\n\t\tpage: 'page', //规定当前分页字段\r\n\t\tpageSize: 'size', //规定一页条数字段\r\n\t\tkeyword: 'keyword' //规定搜索字段\r\n\t},\r\n\tprops: {\r\n\t\tlabel: 'label', //映射label显示字段\r\n\t\tvalue: 'value' //映射value值字段\r\n\t}\r\n}\r\n","<template>\r\n <el-select ref=\"select\"\r\n v-model=\"defaultValue\"\r\n :size=\"size\"\r\n :clearable=\"clearable\"\r\n :multiple=\"multiple\"\r\n :collapse-tags=\"collapseTags\"\r\n :collapse-tags-tooltip=\"collapseTagsTooltip\"\r\n :filterable=\"filterable\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :filter-method=\"filterMethod\"\r\n @remove-tag=\"removeTag\"\r\n @visible-change=\"visibleChange\"\r\n @clear=\"clear\">\r\n <template #empty>\r\n <div class=\"lw-table-select__table\"\r\n style=\"width: 100%;\"\r\n v-loading=\"loading\">\r\n <div class=\"lw-table-select__header\">\r\n <slot name=\"header\"\r\n :form=\"formData\"\r\n :submit=\"formSubmit\"></slot>\r\n </div>\r\n <el-table ref=\"table\"\r\n :data=\"tableData\"\r\n :max-height=\"245\"\r\n :highlight-current-row=\"!multiple\"\r\n @row-click=\"click\"\r\n @select=\"select\"\r\n @select-all=\"selectAll\">\r\n <el-table-column v-if=\"multiple\"\r\n type=\"selection\"\r\n width=\"45\"></el-table-column>\r\n <el-table-column v-else\r\n type=\"index\"\r\n width=\"45\">\r\n <template\r\n #default=\"scope\"><span>{{scope.$index+(currentPage - 1) * pageSize + 1}}</span></template>\r\n </el-table-column>\r\n <slot></slot>\r\n </el-table>\r\n <div class=\"lw-table-select__page\">\r\n <el-pagination small\r\n background\r\n layout=\"prev, pager, next\"\r\n :total=\"total\"\r\n :page-size=\"pageSize\"\r\n v-model:currentPage=\"currentPage\"\r\n @current-change=\"reload\"></el-pagination>\r\n </div>\r\n </div>\r\n </template>\r\n </el-select>\r\n</template>\r\n\r\n<script>\r\nimport config from \"./tableSelect\";\r\n\r\nexport default {\r\n props: {\r\n modelValue: null,\r\n apiObj: { type: Object, default: () => { } },\r\n params: { type: Object, default: () => { } },\r\n placeholder: { type: String, default: \"请选择\" },\r\n size: { type: String, default: \"default\" },\r\n clearable: { type: Boolean, default: false },\r\n multiple: { type: Boolean, default: false },\r\n filterable: { type: Boolean, default: false },\r\n collapseTags: { type: Boolean, default: false },\r\n collapseTagsTooltip: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n tableWidth: { type: Number, default: 400 },\r\n mode: { type: String, default: \"popover\" },\r\n\r\n // 定义什么参数就返回什么 value label 为 必须字段\r\n props: { type: Object, default: () => { } }\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n keyword: null,\r\n defaultValue: [],\r\n tableData: [],\r\n pageSize: config.pageSize,\r\n total: 0,\r\n currentPage: 1,\r\n defaultProps: {\r\n label: config.props.label,\r\n value: config.props.value,\r\n page: config.request.page,\r\n pageSize: config.request.pageSize,\r\n keyword: config.request.keyword\r\n },\r\n formData: {}\r\n }\r\n },\r\n computed: {\r\n\r\n },\r\n watch: {\r\n modelValue: {\r\n handler() {\r\n this.defaultValue = this.modelValue\r\n },\r\n deep: true\r\n }\r\n },\r\n mounted() {\r\n this.defaultProps = Object.assign(this.defaultProps, this.props);\r\n this.defaultValue = this.modelValue\r\n },\r\n methods: {\r\n //表格显示隐藏回调\r\n visibleChange(visible) {\r\n if (visible) {\r\n this.currentPage = 1\r\n this.keyword = null\r\n this.formData = {}\r\n this.getData()\r\n }\r\n },\r\n //获取表格数据\r\n async getData() {\r\n this.loading = true;\r\n var reqData = {\r\n [this.defaultProps.page]: this.currentPage - 1,\r\n [this.defaultProps.pageSize]: this.pageSize,\r\n [this.defaultProps.keyword]: this.keyword\r\n }\r\n Object.assign(reqData, this.params, this.formData)\r\n var res = await this.apiObj(reqData);\r\n var parseData = config.parseData(res)\r\n this.tableData = parseData.rows;\r\n this.total = parseData.total;\r\n this.loading = false;\r\n //表格默认赋值\r\n this.$nextTick(() => {\r\n if (this.multiple) {\r\n this.defaultValue.forEach(row => {\r\n var setrow = this.tableData.filter(item => item[this.defaultProps.value] === row['value'])\r\n if (setrow.length > 0) {\r\n this.$refs.table.toggleRowSelection(setrow[0], true);\r\n }\r\n })\r\n } else {\r\n var setrow = this.tableData.filter(item => item[this.defaultProps.value] === this.defaultValue['value'])\r\n this.$refs.table.setCurrentRow(setrow[0]);\r\n }\r\n this.$refs.table.setScrollTop(0)\r\n })\r\n },\r\n //插糟表单提交\r\n formSubmit() {\r\n this.currentPage = 1\r\n this.keyword = null\r\n this.getData()\r\n },\r\n //分页刷新表格\r\n reload() {\r\n this.getData()\r\n },\r\n // 处理选中值\r\n getCurVlaue(row) {\r\n const filteredRow = {};\r\n // 遍历 this.defaultProps 中定义的字段并保留对应的值\r\n Object.entries(this.defaultProps).forEach(([key, propKey]) => {\r\n\r\n if (row[propKey]) {\r\n filteredRow[key] = row[propKey]\r\n }\r\n\r\n });\r\n return filteredRow\r\n },\r\n //表格勾选事件\r\n select(rows, row) {\r\n var isSelect = rows.length && rows.indexOf(row) !== -1\r\n if (isSelect) {\r\n this.defaultValue.push(this.getCurVlaue(row))\r\n } else {\r\n this.defaultValue.splice(this.defaultValue.findIndex(item => item['value'] == row[this.defaultProps.value]), 1)\r\n }\r\n\r\n },\r\n //表格全选事件\r\n selectAll(rows) {\r\n var isAllSelect = rows.length > 0\r\n if (isAllSelect) {\r\n rows.forEach(row => {\r\n var isHas = this.defaultValue.find(item => item['value'] == row[this.defaultProps.value])\r\n if (!isHas) {\r\n this.defaultValue.push(this.getCurVlaue(row))\r\n }\r\n\r\n })\r\n } else {\r\n this.defaultValue = []\r\n }\r\n this.$emit('update:modelValue', this.defaultValue);\r\n this.$emit('change', this.defaultValue);\r\n },\r\n click(row) {\r\n if (this.multiple) {\r\n //处理多选点击行\r\n } else {\r\n this.defaultValue = this.getCurVlaue(row)\r\n this.$refs.select.blur()\r\n this.$emit('update:modelValue', this.defaultValue);\r\n this.$emit('change', this.defaultValue);\r\n }\r\n },\r\n //tags删除后回调\r\n removeTag(tag) {\r\n var row = this.findRowByKey(tag[this.defaultProps.value])\r\n this.$refs.table.toggleRowSelection(row, false);\r\n this.$emit('update:modelValue', this.defaultValue);\r\n },\r\n //清空后的回调\r\n clear() {\r\n this.$emit('update:modelValue', this.defaultValue);\r\n },\r\n // 关键值查询表格数据行\r\n findRowByKey(value) {\r\n return this.tableData.find(item => item[this.defaultProps.value] === value)\r\n },\r\n filterMethod(keyword) {\r\n if (!keyword) {\r\n this.keyword = null;\r\n return false;\r\n }\r\n this.keyword = keyword;\r\n this.getData()\r\n },\r\n // 触发select隐藏\r\n blur() {\r\n this.$refs.select.blur();\r\n },\r\n // 触发select显示\r\n focus() {\r\n this.$refs.select.focus();\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.lw-table-select__table {\r\n padding: 12px;\r\n}\r\n.lw-table-select__page {\r\n padding-top: 12px;\r\n}\r\n</style>\r\n","let langJson = localStorage.getItem('langMessageUi')\r\nlet lang = JSON.parse(langJson)\r\nlet messages = { ...lang }\r\n\r\n// 动态加载 locale 文件并合并到 messages 中\r\nconst loadLocaleMessages = async () => {\r\n\tconst locales = import.meta.glob('../components/**/locale/*.(js|ts)')\r\n\tconst paths = Object.keys(locales)\r\n\tfor (const path of paths) {\r\n\t\tconst matched = path.match(/locale\\/([a-z-]+)\\.(js|ts)$/i)\r\n\t\tif (matched && matched[1]) {\r\n\t\t\tconst locale = matched[1].toLowerCase()\r\n\t\t\tconst module = await locales[path]()\r\n\t\t\tif (!messages[locale]) {\r\n\t\t\t\tmessages[locale] = {}\r\n\t\t\t}\r\n\t\t\tObject.assign(messages[locale], module.default)\r\n\t\t}\r\n\t}\r\n\tlocalStorage.setItem('langMessageUi', JSON.stringify(messages))\r\n\treturn messages\r\n}\r\n\r\nloadLocaleMessages()\r\nexport default messages\r\n","import '@/assets/scss/index.scss'\r\nimport lwLayout from './components/lwLayout/index.vue'\r\nimport lwLogin from './components/lwLogin/index.vue'\r\nimport lwSearch from './components/lwSearch/index.vue'\r\nimport lwSvgIcon from './components/lwSvgIcon/index.vue'\r\nimport lwTable from './components/lwTable/index.vue'\r\nimport lwForm from './components/lwForm/index.vue'\r\nimport lwUpload from './components/lwUpload/index.vue'\r\nimport lwIconSelect from './components/lwIconSelect/index.vue'\r\nimport lwTableSelect from './components/lwTableSelect/index.vue'\r\n\r\n// 国际化配置内容\r\nimport uiI18n from './utils/i18n'\r\n\r\nfunction install(app, options = {}) {\r\n\t// 如果没有前置在组件库前面的全局变量 可以手动注入\r\n\tif (options) {\r\n\t\tfor (const key in options) {\r\n\t\t\tif (options.hasOwnProperty(key)) {\r\n\t\t\t\tapp.config.globalProperties[`$${key.toUpperCase()}`] = options[key]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tapp.component('lwLayout', lwLayout)\r\n\tapp.component('lwLogin', lwLogin)\r\n\tapp.component('lwSearch', lwSearch)\r\n\tapp.component('lwSvgIcon', lwSvgIcon)\r\n\tapp.component('lwTable', lwTable)\r\n\tapp.component('lwForm', lwForm)\r\n\tapp.component('lwUpload', lwUpload)\r\n\tapp.component('lwIconSelect', lwIconSelect)\r\n\tapp.component('lwTableSelect', lwTableSelect)\r\n}\r\nexport { lwLayout, lwLogin, lwSearch, lwSvgIcon, lwTable, lwForm, lwUpload, lwIconSelect, lwTableSelect, uiI18n }\r\nexport default {\r\n\tinstall,\r\n\tuiI18n\r\n}\r\n"],"names":["_sfc_main","item","_hoisted_2","_openBlock","_createElementBlock","_Fragment","$props","_hoisted_1","_createVNode","_component_el_alert","_createCommentVNode","_renderList","navMenu","$options","_createBlock","_component_el_sub_menu","_component_el_icon","_withCtx","_resolveDynamicComponent","_createElementVNode","_toDisplayString","_component_NavMenu","_component_el_menu_item","_withModifiers","menu","e","isdrag","map","newMap","el","oDiv","firstTime","lastTime","disX","disY","l","t","_cache","$event","_component_el_icon_menu","_component_el_drawer","$data","_component_el_container","_component_el_header","_ctx","_component_el_main","_component_el_scrollbar","_component_el_menu","grantedApplications","ev","popover","menuItem","_hoisted_3","_hoisted_4","_hoisted_5","_component_el_popover","_createTextVNode","_component_el_icon_close","_component_el_divider","_normalizeClass","matched","_component_el_breadcrumb","_TransitionGroup","_component_el_breadcrumb_item","_renderSlot","tags","value","_this","cm","sp","dashboardRoute","node","tree","func","data","res","target","route","tag","autoPushLatestView","latestView","nowTag","url","scrollDiv","handler","event","detail","moveForwardStep","moveBackStep","step","_component_router_link","_Transition","_normalizeStyle","_component_el_icon_refresh","_component_el_icon_folder_delete","_component_el_icon_full_screen","_component_el_icon_copy_document","command","initialized","buCode","args","_component_el_dropdown","_component_el_dropdown_menu","_component_el_dropdown_item","_component_el_icon_help","loading","element","_component_bu","_component_el_avatar","str","hxs","i","a","b","c","hexs","color","level","rgbc","val","lang","_component_el_button","_component_el_form","_component_el_form_item","_component_el_switch","_component_el_color_picker","_component_el_select","_component_el_option","_component_Lang","_withDirectives","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","_hoisted_11","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_29","_hoisted_30","_component_userbar","_hoisted_9","_component_el_icon_expand","_component_el_icon_fold","_component_Side_m","_component_Topbar","_component_Tags","_hoisted_12","_component_router_view","Component","_KeepAlive","_component_iframe_view","_hoisted_13","_component_Aside","_hoisted_22","_hoisted_28","_hoisted_31","_hoisted_32","_hoisted_33","_component_el_icon_brush_filled","_component_setting","module","r","n","s","o","h","u","f","p","g","ct","d","v","m","y","T","S","E","w","D","x","R","B","O","A","M","K","I","N","U","P","V","F","L","j","q","H","C","k","_","z","Z","G","$","Y","J","X","Q","W","tt","et","it","rt","nt","st","ot","ht","at","ut","curret_user","curret_bu","curret_list","getCookie","name","nameEQ","cookies","cookie","authorization","parts","user","bu","bu_list","publicKey","txt","encryptor","token","_component_el_input","_component_el_row","_component_el_col","_component_el_checkbox","newVal","items","index","_component_el_tooltip","props","context","state","valueFormat","_component_el_date_picker","$setup","formattedValue","displayValue","togglePanel","handleTabClick","pickerChange","deleteSingleDate","pickerBlur","handleClear","_component_el_icon_calendar","_component_el_tabs","_component_el_tab_pane","_Teleport","date","_component_Close","_vShow","this","type","formEl","valid","vis","tempObj","obj","resObj","rObj","currentSource","limitDate","_withScopeId","__props","symbolId","isFullscreen","enterFullscreen","exitFullscreen","toggleFullScreen","handleFullscreenChange","multipleTable","$bus","$tool","list","isFull","arr","selectedKeysForm","selectGoodsDatas","selectAllGoods","allArr","allObj","newAllArr","cur","next","newArr","handleChange","currentData","handleSelectionChange","handleCurrentChange","sizeChange","currentChange","page","refresh","toggleRowChange","row","status","clearTableSelection","allowDrop","draggingNode","dropNode","allowDrag","tableSetting","num","prev","tableHeaderConfirm","download","fileUrl","sortChange","column","prop","order","getHeader","header","handleSelect","onDrop","info","dropPosition","dragNode","loop","key","callback","checkAll","selected","treeCheck","tableToggleFullScreen","fixNumChange","setSelectAll","setSelect","rowKey","selectedKeys","selectAll","select","rowKeys","record","changeColWidth","newWidth","oldWidth","property","_pushScopeId","_popScopeId","_directive_loading","_resolveDirective","_component_el_table","hoverable","_component_el_table_column","scope","_component_el_icon_more","_component_el_image","_component_el_progress","_component_el_icon_set_up","_component_el_icon_setting","_component_el_checkbox_group","$t","_component_el_input_number","_component_el_pagination","file","files","os","response","err","param","apiObj","complete","_component_el_icon_delete","_component_el_upload","option","remoteData","req","obj1","obj2","_component_el_skeleton","_component_el_icon_question_filled","_item","_index","_component_lw_upload","_component_sc_upload","_component_el_cascader","_component_el_radio_group","_component_el_radio","_component_el_rate","_component_el_slider","_component_el_tag","config","_component_el_dialog","icon","visible","reqData","parseData","setrow","filteredRow","propKey","rows","isSelect","isAllSelect","isHas","keyword","locales","paths","path","locale","app","options","uiI18n"],"mappings":"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;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA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","x_google_ignoreList":[13,23]}