{"version":3,"file":"index.mjs","sources":["../src/components/SvgIcons/ArrowRight.vue","../src/components/SvgIcons/arrowRightMoreIcon.vue","../src/components/SvgIcons/CaretDown.vue","../src/components/SvgIcons/CaretLeft.vue","../src/components/SvgIcons/CaretRight.vue","../src/components/SvgIcons/CaretUp.vue","../src/components/SvgIcons/DeleteIcon.vue","../src/components/SvgIcons/FileIcon.vue","../src/components/SvgIcons/FolderIcon.vue","../src/components/SvgIcons/FolderIcon2.vue","../src/components/SvgIcons/FolderIcon3.vue","../src/components/SvgIcons/SvgClose.vue","../src/components/eleadButton/Button.vue","../src/components/eleadIcon/Icon.vue","../src/components/BaseDrawer/BaseDrawer.vue","../src/components/BaseTree/BaseTree.vue","../src/utils/util.ts","../src/components/DeptPicker/DeptPicker.vue","../src/components/MemberPicker/MemberPicker.vue","../src/components/RolePicker/RolePicker.vue","../src/components/DrawerPicker/DrawerPicker.vue","../src/components/PickerInput/PickerInput.vue","../src/components/layout/TopBar.vue","../src/components/layout/Tags.vue","../src/components/layout/NavMenu.vue","../src/components/SmartAvatar/SmartAvatar.vue","../src/utils/sso.js","../src/components/layout/UserBar.vue","../src/components/layout/IframeView.vue","../src/components/layout/ModuleMenu.vue","../src/components/layout/LayoutIndex.vue","../src/components/layout/other/403.vue","../src/components/layout/other/404.vue","../src/components/layout/other/empty.vue","../src/components/Table/columnSetting.vue","../src/components/Table/index.vue","../src/components/SlideBtn/SlideBtn.vue","../src/components/SplitLayout/SplitLayout.vue","../src/utils/downloadFile.js","../src/components/FilePreview/FilePreview.vue","../src/components/SearchForm/SearchForm.vue","../src/utils/other.js","../src/utils/exportInstallMethods.ts","../src/pagesDefault/auth/codeCallback.vue","../src/utils/formRules.js","../src/utils/iconSelect.js","../src/comDefault/Selector/iconSelector.vue","../src/pagesDefault/sys/resource/spa/form.vue","../src/pagesDefault/sys/resource/spa/index.vue","../src/pagesDefault/sys/resource/menu/form.vue","../src/pagesDefault/sys/resource/menu/changeModuleForm.vue","../src/pagesDefault/sys/resource/button/form.vue","../src/pagesDefault/sys/resource/button/index.vue","../src/pagesDefault/sys/resource/menu/index.vue","../src/pagesDefault/sys/resource/module/form.vue","../src/pagesDefault/sys/resource/module/index.vue","../src/pagesDefault/gen/index.vue","../src/pagesDefault/gen/basic.vue","../src/pagesDefault/gen/config.vue","../src/pagesDefault/gen/preview.vue","../src/pagesDefault/gen/steps.vue","../src/pagesDefault/dev/log/oplog/index.vue","../src/pagesDefault/dev/log/vislog/pieChart.vue","../src/pagesDefault/dev/log/vislog/lineChart.vue","../src/pagesDefault/dev/log/vislog/detail.vue","../src/pagesDefault/dev/log/oplog/detail.vue","../src/pagesDefault/dev/log/vislog/index.vue","../src/pagesDefault/dev/config/sysConfig.vue","../src/pagesDefault/dev/config/otherConfig/form.vue","../src/pagesDefault/dev/config/otherConfig/index.vue","../src/pagesDefault/dev/config/index.vue","../src/pagesDefault/dev/dict/category/form.vue","../src/pagesDefault/dev/dict/category/frmIndex.vue","../src/pagesDefault/dev/dict/category/bizIndex.vue","../src/pagesDefault/dev/dict/index.vue","../src/pagesDefault/sys/org/form.vue","../src/pagesDefault/sys/org/index.vue","../src/pagesDefault/sys/user/form.vue","../src/pagesDefault/sys/user/index.vue","../src/pagesDefault/sys/position/form.vue","../src/pagesDefault/sys/position/index.vue","../src/pagesDefault/sys/role/form.vue","../src/pagesDefault/sys/role/scopeDefineOrg.vue","../src/pagesDefault/sys/role/grantPermissionForm.vue","../src/pagesDefault/sys/role/grantResourceForm.vue","../src/pagesDefault/sys/role/index.vue","../src/assets/images/fileImg/docx.png","../src/assets/images/fileImg/xlsx.png","../src/assets/images/fileImg/zip.png","../src/assets/images/fileImg/rar.png","../src/assets/images/fileImg/ppt.png","../src/assets/images/fileImg/txt.png","../src/assets/images/fileImg/html.png","../src/assets/images/fileImg/file.png","../src/pagesDefault/dev/file/uploadForm.vue","../src/pagesDefault/dev/file/detail.vue","../src/pagesDefault/dev/file/index.vue","../src/pagesDefault/dev/email/send/localEmailSend.vue","../src/pagesDefault/dev/email/send/aliyunEmailSend.vue","../src/pagesDefault/dev/email/send/tencentEmailSend.vue","../src/pagesDefault/dev/email/form.vue","../src/pagesDefault/dev/email/detail.vue","../src/pagesDefault/dev/email/index.vue","../src/comDefault/TreeSelect/menuTreeSelect.vue","../src/comDefault/Selector/orgSelectorPlus.vue","../src/comDefault/Selector/posSelectorPlus.vue","../src/comDefault/Selector/roleSelectorPlus.vue","../src/comDefault/Selector/userComplete.vue","../src/comDefault/Selector/userSelectorPlus.vue","../src/comDefault/CButton/index.vue","../src/comDefault/Dict/SelectDict.vue","../src/comDefault/MemberSearchPicker/MemberSearchPicker.vue","../src/comDefault/GUser/GUser.vue","../src/comDefault/GPos/GPos.vue","../src/comDefault/GDept/GDept.vue","../src/comDefault/GRole/GRole.vue","../src/comDefault/FileUpload/FileUpload.vue","../src/utils/useCommon.js","../src/utils/permission.js","../src/utils/color.js","../src/utils/themeUtil.js","../src/utils/errorHandler.js","../src/utils/print.js","../src/utils/request.js","../src/utils/requestValid.js","../src/utils/smCrypto.js","../src/utils/watermark.js","../src/routerUtil/scrollBehavior.js","../src/routerUtil/systemRouter.js","../src/routerUtil/whiteList.js","../src/utils/icons.js","../src/utils/snowy.js","../src/utils/objects.js","../src/utils/useTabs.js","../src/index.ts"],"sourcesContent":["<template>\r\n\t<div class=\"ArrowRight svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1703839100378\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"10897\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path d=\"M873.1 596.2l-164-208C703 380.5 693.8 376 684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\" fill=\"#1e90ff\" p-id=\"10898\"></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"ArrowRight\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 24\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.ArrowRight,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"ArrowRightMoreIcon svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1691986216330\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"24627\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path\r\n\t\t\t\td=\"M731.733333 480l-384-341.333333c-17.066667-14.933333-44.8-14.933333-59.733333 4.266666-14.933333 17.066667-14.933333 44.8 4.266667 59.733334L640 512 292.266667 821.333333c-17.066667 14.933333-19.2 42.666667-4.266667 59.733334 8.533333 8.533333 19.2 14.933333 32 14.933333 10.666667 0 19.2-4.266667 27.733333-10.666667l384-341.333333c8.533333-8.533333 14.933333-19.2 14.933334-32s-4.266667-23.466667-14.933334-32z\"\r\n\t\t\t\tfill=\"#0076f6\"\r\n\t\t\t\tp-id=\"24628\"\r\n\t\t\t></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"ArrowRightMoreIcon\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 16\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.ArrowRightMoreIcon,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"CaretDown svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1698636422818\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4185\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path d=\"M64 320l448 448 448-448z\" fill=\"#262626\" p-id=\"4186\"></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"CaretDown\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 16\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.CaretDown,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"CaretLeft svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1697525596922\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8385\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path d=\"M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z\" fill=\"#333333\" p-id=\"8386\"></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"CaretLeft\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 16\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.CaretLeft,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"CaretRight svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1697525695377\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8524\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path d=\"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z\" fill=\"#333333\" p-id=\"8525\"></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"CaretRight\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 16\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.CaretRight,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"CaretUp svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1698636372594\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4046\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path d=\"M960 704L512 256l-448 448z\" fill=\"#262626\" p-id=\"4047\"></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"CaretUp\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 16\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.CaretUp,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"DeleteIcon svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1691409144686\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"23362\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path\r\n\t\t\t\td=\"M926.72 102.4h-153.6V51.2c0-28.16-23.04-51.2-51.2-51.2H312.32c-28.16 0-51.2 23.04-51.2 51.2v51.2H107.52c-28.16 0-51.2 23.04-51.2 51.2v35.84c0 8.704 6.656 15.36 15.36 15.36h890.88c8.704 0 15.36-6.656 15.36-15.36v-35.84c0-28.16-23.04-51.2-51.2-51.2zM107.52 870.4c0 84.992 68.608 153.6 153.6 153.6h512c84.992 0 153.6-68.608 153.6-153.6V256H107.52v614.4z m577.536-343.04c0-16.896 13.824-30.72 30.72-30.72s30.72 13.824 30.72 30.72v225.28c0 16.896-13.824 30.72-30.72 30.72s-30.72-13.824-30.72-30.72v-225.28zM486.4 506.88c0-16.896 13.824-30.72 30.72-30.72s30.72 13.824 30.72 30.72v266.24c0 16.896-13.824 30.72-30.72 30.72s-30.72-13.824-30.72-30.72V506.88z m-198.656 20.48c0-16.896 13.824-30.72 30.72-30.72s30.72 13.824 30.72 30.72v225.28c0 16.896-13.824 30.72-30.72 30.72s-30.72-13.824-30.72-30.72v-225.28z\"\r\n\t\t\t\tfill=\"#d81e06\"\r\n\t\t\t\tp-id=\"23363\"\r\n\t\t\t></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"DeleteIcon\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 15\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.DeleteIcon,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"FileIcon svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg class=\"MuiSvgIcon-root wiznote-label-icon jss211 jss202\" focusable=\"false\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path\r\n\t\t\t\tfill-rule=\"evenodd\"\r\n\t\t\t\tclip-rule=\"evenodd\"\r\n\t\t\t\td=\"M19.64 9.43825L19.6392 10.0105L4 10.0101V8.13533C4 7.42597 4.17378 6.89274 4.52133 6.53564C4.86889 6.17855 5.35402 6 5.97672 6H7.92448C8.15619 6 8.35651 6.01568 8.52546 6.04705C8.69441 6.07842 8.85009 6.1327 8.99249 6.20991C9.13489 6.28712 9.28574 6.38846 9.44504 6.51393L9.84328 6.8469C10.0267 6.99649 10.2017 7.10265 10.3682 7.16539C10.5348 7.22812 10.7363 7.25949 10.9728 7.25949H17.4316C18.1605 7.25949 18.7108 7.44286 19.0825 7.80961C19.4542 8.17635 19.64 8.71923 19.64 9.43825ZM4.55754 18.1135C4.18585 17.7492 4 17.2051 4 16.4812V10.9583H19.6392L19.64 16.4812C19.64 17.2003 19.4626 17.7431 19.1078 18.1099C18.753 18.4766 18.257 18.66 17.6198 18.66H6.20843C5.47952 18.66 4.92923 18.4778 4.55754 18.1135Z\"\r\n\t\t\t\tfill=\"url(#folder_selected_paint0_linear)\"\r\n\t\t\t></path>\r\n\t\t\t<path\r\n\t\t\t\tfill-rule=\"evenodd\"\r\n\t\t\t\tclip-rule=\"evenodd\"\r\n\t\t\t\td=\"M19.64 9.43825L19.6392 10.0105L4 10.0101V8.13533C4 7.42597 4.17378 6.89274 4.52133 6.53564C4.86889 6.17855 5.35402 6 5.97672 6H7.92448C8.15619 6 8.35651 6.01568 8.52546 6.04705C8.69441 6.07842 8.85009 6.1327 8.99249 6.20991C9.13489 6.28712 9.28574 6.38846 9.44504 6.51393L9.84328 6.8469C10.0267 6.99649 10.2017 7.10265 10.3682 7.16539C10.5348 7.22812 10.7363 7.25949 10.9728 7.25949H17.4316C18.1605 7.25949 18.7108 7.44286 19.0825 7.80961C19.4542 8.17635 19.64 8.71923 19.64 9.43825ZM4.55754 18.1135C4.18585 17.7492 4 17.2051 4 16.4812V10.9583H19.6392L19.64 16.4812C19.64 17.2003 19.4626 17.7431 19.1078 18.1099C18.753 18.4766 18.257 18.66 17.6198 18.66H6.20843C5.47952 18.66 4.92923 18.4778 4.55754 18.1135Z\"\r\n\t\t\t\tfill=\"url(#folder_selected_paint1_linear)\"\r\n\t\t\t></path>\r\n\t\t\t<path\r\n\t\t\t\tfill-rule=\"evenodd\"\r\n\t\t\t\tclip-rule=\"evenodd\"\r\n\t\t\t\td=\"M19.64 9.43825L19.6392 10.0105L4 10.0101V8.13533C4 7.42597 4.17378 6.89274 4.52133 6.53564C4.86889 6.17855 5.35402 6 5.97672 6H7.92448C8.15619 6 8.35651 6.01568 8.52546 6.04705C8.69441 6.07842 8.85009 6.1327 8.99249 6.20991C9.13489 6.28712 9.28574 6.38846 9.44504 6.51393L9.84328 6.8469C10.0267 6.99649 10.2017 7.10265 10.3682 7.16539C10.5348 7.22812 10.7363 7.25949 10.9728 7.25949H17.4316C18.1605 7.25949 18.7108 7.44286 19.0825 7.80961C19.4542 8.17635 19.64 8.71923 19.64 9.43825ZM4.55754 18.1135C4.18585 17.7492 4 17.2051 4 16.4812V10.9583H19.6392L19.64 16.4812C19.64 17.2003 19.4626 17.7431 19.1078 18.1099C18.753 18.4766 18.257 18.66 17.6198 18.66H6.20843C5.47952 18.66 4.92923 18.4778 4.55754 18.1135Z\"\r\n\t\t\t\tfill=\"url(#folder_selected_paint2_linear)\"\r\n\t\t\t></path>\r\n\t\t\t<defs>\r\n\t\t\t\t<linearGradient id=\"folder_selected_paint0_linear\" x1=\"-5.58162\" y1=\"12.33\" x2=\"6.30452\" y2=\"30.3219\" gradientUnits=\"userSpaceOnUse\">\r\n\t\t\t\t\t<stop stop-color=\"#3D9AFF\"></stop>\r\n\t\t\t\t\t<stop offset=\"1\" stop-color=\"#772DFF\"></stop>\r\n\t\t\t\t</linearGradient>\r\n\t\t\t\t<linearGradient id=\"folder_selected_paint1_linear\" x1=\"0.137054\" y1=\"10.7285\" x2=\"8.87047\" y2=\"25.1719\" gradientUnits=\"userSpaceOnUse\">\r\n\t\t\t\t\t<stop stop-color=\"#64BAFB\"></stop>\r\n\t\t\t\t\t<stop offset=\"1\" stop-color=\"#655FFF\"></stop>\r\n\t\t\t\t</linearGradient>\r\n\t\t\t\t<linearGradient id=\"folder_selected_paint2_linear\" x1=\"-5.58162\" y1=\"12.33\" x2=\"6.30452\" y2=\"30.3219\" gradientUnits=\"userSpaceOnUse\">\r\n\t\t\t\t\t<stop stop-color=\"#06D3FF\"></stop>\r\n\t\t\t\t\t<stop offset=\"1\" stop-color=\"#8247FF\"></stop>\r\n\t\t\t\t</linearGradient>\r\n\t\t\t</defs>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"FileIcon\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 24\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.FileIcon,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"FolderIcon svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<img\r\n\t\t\t:style=\"{ height: size + 'px' }\"\r\n\t\t\tsrc=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABRUExURUxpcf++Hv/ZU//OPv/DL/+9Gv/BI/+4Bf+4Ef/XcP/LOP/TSf/RRP/WTv/JM/+3Ef+9Ff/bhf+5BP/DJf+yDv/imv/kqv/bXP/w0v/fd//calQXUgwAAAAKdFJOUwB///8d3L9enl8sr20gAAACN0lEQVRYw+2Y65abIBRGE1EzVbyNSW18/wctHA6XYw4q9Ee7Vt2AgOHbcVyTOMztdnFxcXFMWf7gKHN190VRKDpFC0iNqB5ZvqpXzJRxHoF7hrAa9/hK9j2oYIA2QA/UqXeyNg5QDBrshhHbUH8xxO+uT7sOJ/tU5a4wh0eK8KmKHTxd28Bfo16pqphep5l6I+R/p8xr668kVghVceH8M5EZYnGhnBKRceGqmaZXPPw2xbO+1xU+8axwe8NfzkIV7xVZdF0AVhi+rWdxIfgmwloE6CkrDCPwJbYUeFgK61icxFcNKyxIxE+WgnllQ0y4+HffzZ8WZtJlCDtz+CzqaaFaVGiWBNEOZZ15zihsT2CFnXk4QStsLohTU3FC+Af8I8JWV1fa1jy8u+hnOUy2vnd5SkeGrJBfHZwDbxe87pfxQvejmMZZYxxdYSoyVyixSvtXFLJ7hWq5xCRNSTozczzHCj8T54kI5d8QCtvZAodDIa7DgRkJaII2hBfaJC7EOE7D076XuIoVBu8oN3kpBLVt4YXBVaUSFSbS5Akb00znSoPn9KCJCN0am7SnGhganC4kKhR2MV0vvEn4M7bFhM3GIZqtgfiPr9BdSAYnrnCX3rQeB/2xsKcHouiBBhpO+phQL9CdjmKqsRkXpkMz57dmfTY1v3k8is26zvN2A6yIbKVqm/tMjFBMp5jpxrWKbsB1dJw/AsC3Lt/YEaK7x1t5r7aLj3ned/fRj1TK3H9wXFxc/F/8BgM0jBZ4nc19AAAAAElFTkSuQmCC\"\r\n\t\t\talt=\"\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n<script setup name=\"FileIcon\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 50\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.FolderIcon,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"FolderIcon2 svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1692083938415\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"41470\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path d=\"M0 64h404.288L511.36 198.4H1024V960H0V64z m82.432 191.552v89.792h282.88l106.56 134.976H943.04v-90.56h-430.4L404.224 255.552H82.432z\" fill=\"#479afc\" p-id=\"41471\"></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"FolderIcon2\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 24\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.FolderIcon2,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"FolderIcon3 svgIcon\" :style=\"{ width: size + 'px', height: size + 'px' }\">\r\n\t\t<svg t=\"1691985932648\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"21177\" :width=\"size\" :height=\"size\">\r\n\t\t\t<path d=\"M832 896H192c-70.4 0-128-57.6-128-128V256c0-70.4 57.6-128 128-128h225l95 96h320c70.4 0 128 57.6 128 128v416c0 70.4-57.6 128-128 128z\" fill=\"#409EFF\" p-id=\"21178\"></path>\r\n\t\t\t<path d=\"M64 384v384c0 70.4 57.6 128 128 128h640c70.4 0 128-57.6 128-128V384H64z\" fill=\"#92C8FF\" p-id=\"21179\"></path>\r\n\t\t\t<path d=\"M464 768H240c-26.4 0-48-21.6-48-48s21.6-48 48-48h224c26.4 0 48 21.6 48 48s-21.6 48-48 48z\" fill=\"#479afc\" p-id=\"21180\"></path>\r\n\t\t</svg>\r\n\t</div>\r\n</template>\r\n<script setup name=\"FolderIcon2\">\r\n\tlet props = defineProps({\r\n\t\tsize: {\r\n\t\t\ttype: [Number,String],\r\n\t\t\tdefault: () => 24\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.FolderIcon3,\r\n\t.svgIcon {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n</style>\r\n","<template>\r\n  <div class=\"SvgClose\">\r\n    <svg focusable=\"false\" data-icon=\"close-circle\" :width=\"size\" :height=\"size\" fill=\"#00000040\" aria-hidden=\"true\"\r\n         fill-rule=\"evenodd\" viewBox=\"64 64 896 896\">\r\n      <path\r\n          d=\"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z\"></path>\r\n    </svg>\r\n  </div>\r\n</template>\r\n<script setup name=\"SvgClose\">\r\nlet props = defineProps({\r\n  size: {\r\n    type: [Number,String],\r\n    default: () => 14\r\n  }\r\n})\r\n</script>\r\n<style scoped lang=\"less\">\r\n.SvgClose {\r\n}\r\n</style>\r\n","<template>\r\n  <div style='width: 200px;height: 200px;' class='eleadButton'>\r\n\t\t123111\r\n\t</div>\r\n</template>\r\n<script setup lang='ts' name='eleadButton'>\r\n\r\n</script>\r\n<style scoped lang='less'>\r\n   @import \"eleadButton.less\";\r\n   .eleadButton{\r\n     background: #181818;\r\n   }\r\n</style>\r\n","<template>\r\n\t<div class='eleadIcon'>4444</div>\r\n</template>\r\n<script setup lang='ts' name='eleadIcon'></script>\r\n<style scoped lang='less'>\r\n\t.eleadIcon {\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"BaseDrawer\">\r\n\t\t<a-drawer v-bind=\"attrs\">\r\n\t\t\t<div class=\"drawerBody\">\r\n\t\t\t\t<div class=\"drawerHeader\">\r\n\t\t\t\t\t<slot name=\"drawerHeader\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"drawerContent\">\r\n\t\t\t\t\t<slot name=\"drawerContent\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<div class=\"drawerFooter\">\r\n\t\t\t\t\t<a-button type=\"primary\" @click=\"okHandler\" v-if=\"okShow\">{{ okText }} </a-button>\r\n\t\t\t\t\t<a-button @click=\"cancelHandler\" v-if=\"cancelShow\">{{ cancelText }} </a-button>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</a-drawer>\r\n\t</div>\r\n</template>\r\n<script setup name=\"BaseDrawer\" lang='ts'>\r\n\r\n  const attrs = useAttrs()\r\n\tconst props = defineProps({\r\n\t\tshow: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => false\r\n\t\t},\r\n\t\tokShow: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => true\r\n\t\t},\r\n\t\tokText: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: () => '确定'\r\n\t\t},\r\n\t\tokHandler: {\r\n\t\t\ttype: Function,\r\n\t\t\tdefault: () => {\r\n\t\t\t\treturn () => {}\r\n\t\t\t}\r\n\t\t},\r\n\t\tcancelShow: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => true\r\n\t\t},\r\n\t\tcancelText: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: () => '取消'\r\n\t\t},\r\n\t\tcancelHandler: {\r\n\t\t\ttype: Function,\r\n\t\t\tdefault: () => {\r\n\t\t\t\treturn () => {}\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.BaseDrawer {\r\n\t}\r\n</style>\r\n<style lang=\"less\">\r\n\t.drawerBody {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: flex-start;\r\n\t\talign-items: flex-start;\r\n\t\toverflow: hidden;\r\n\t\t& > * {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t\t.drawerHeader {\r\n\t\t\tflex: 0;\r\n\t\t}\r\n\t\t.drawerContent {\r\n\t\t\tflex: 0 1 100%;\r\n\t\t\toverflow: hidden;\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\tjustify-content: flex-start;\r\n\t\t\talign-items: flex-start;\r\n\t\t\t& > * {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t.drawerFooter {\r\n\t\twidth: 100%;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: row;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\tgap: 12px;\r\n\t}\r\n</style>\r\n","<script lang=\"jsx\">\r\nimport '@/components/BaseTree/BaseTree.less'\r\nimport {Tree} from 'ant-design-vue'\r\n\r\nexport default {\r\n  components: {},\r\n  data() {\r\n    return {}\r\n  },\r\n  props: Object.assign({}, Tree.props, {\r\n    //{key:''}\r\n    showChildrenCount: {\r\n      type: Object,\r\n      default: () => undefined\r\n    }\r\n  }),\r\n  watch: {},\r\n  created() {\r\n  },\r\n  mounted() {\r\n  },\r\n  methods: {\r\n    //parentId, name, id, children, disableCheckbox\r\n    trans({data, keys}) {\r\n      if (!keys) {\r\n        keys = ['parentId', 'name', 'id', 'children']\r\n      }\r\n      let transData = []\r\n      const go = (data) => {\r\n        for (let item of data) {\r\n          let newItem = {}\r\n          for (var i = 0; i < keys.length; i++) {\r\n            if (keys[i] != 'children') {\r\n              newItem[keys[i]] = item[keys[i]]\r\n            }\r\n          }\r\n          transData.push(newItem)\r\n          if (item.hasOwnProperty('children') && item.children) {\r\n            go(item.children)\r\n          }\r\n        }\r\n      }\r\n      go(data)\r\n      return transData\r\n    },\r\n    listToTree({list, childrenKey, parentIdKey}) {\r\n      var map = {},\r\n          node,\r\n          roots = [],\r\n          i\r\n      for (i = 0; i < list.length; i += 1) {\r\n        map[list[i].id] = i\r\n        list[i][childrenKey] = []\r\n      }\r\n      for (i = 0; i < list.length; i += 1) {\r\n        node = list[i]\r\n        if (node[parentIdKey] !== '0' && list[map[node[parentIdKey]]]) {\r\n          list[map[node[parentIdKey]]][childrenKey].push(node)\r\n        } else {\r\n          roots.push(node)\r\n        }\r\n      }\r\n      return roots\r\n    },\r\n    defaultExpandAction(treeData) {\r\n      let expandKeys = []\r\n      if (treeData && treeData && treeData[0] && treeData[0].hasOwnProperty('children') && treeData[0].children.length > 0) {\r\n        expandKeys.push(treeData[0].id)\r\n        treeData[0].children.forEach((res) => {\r\n          expandKeys.push(res.id)\r\n        })\r\n      }\r\n      return expandKeys\r\n    },\r\n    setNodeAttrByNodeId({arrValue, id, values}) {\r\n      if (!arrValue) {\r\n        for (var i = 0; i < this.$props.treeData.length; i++) {\r\n          if (this.$props.treeData[i].id == id) {\r\n            values.forEach((res) => {\r\n              this.$props.treeData[i][res.key] = res.value\r\n            })\r\n            break\r\n          }\r\n          if (this.$props.treeData[i].hasOwnProperty('children')) {\r\n            this.setNodeAttrByNodeId({\r\n              arrValue: this.$props.treeData[i]['children'],\r\n              id,\r\n              values\r\n            })\r\n          }\r\n        }\r\n      } else {\r\n        for (var i = 0; i < arrValue.length; i++) {\r\n          if (arrValue[i].id == id) {\r\n            values.forEach((res) => {\r\n              arrValue[i][res.key] = res.value\r\n            })\r\n            break\r\n          }\r\n          if (arrValue[i].hasOwnProperty('children')) {\r\n            this.setNodeAttrByNodeId({\r\n              arrValue: arrValue[i]['children'],\r\n              id,\r\n              values\r\n            })\r\n          }\r\n        }\r\n      }\r\n    }\r\n  },\r\n  render() {\r\n    let props = {\r\n      ...this.$props,\r\n      class: ['BaseTree']\r\n    }\r\n    let slots = {\r\n      ...this.$slots,\r\n      switcherIcon: (scope) => {\r\n        if (scope.expanded) {\r\n          return <down-outlined style={{fontSize: '12px'}}/>\r\n        } else {\r\n          return <right-outlined style={{fontSize: '12px'}}/>\r\n        }\r\n      },\r\n      ...(() => {\r\n        if (this.$props.hasOwnProperty('showChildrenCount') && !!this.$props.showChildrenCount && this.$props.showChildrenCount.hasOwnProperty('key')) {\r\n          return {\r\n            title: (scope) => {\r\n              return (\r\n                  <>\r\n                    {!this.$slots.title && scope[this.$props.showChildrenCount.key]}\r\n                    {this.$slots.hasOwnProperty('title') && this.$slots.title && this.$slots.title(scope)}\r\n                    {scope.data && scope.data.children && Array.isArray(scope.data.children) && scope.data.children.length > 0 && (\r\n                        <span\r\n                            style=\"color:#978bb9;margin:0 0 0 0px;font-size:12px;position:relative;\">（{scope.data.children.length}）</span>\r\n                    )}\r\n                    <span\r\n                        style=\"margin-left:12px\">{this.$slots.hasOwnProperty('action') && this.$slots.action && this.$slots.action(scope)}</span>\r\n                  </>\r\n              )\r\n            }\r\n          }\r\n        }\r\n        if (this.$slots.hasOwnProperty('title') && this.$slots.title != null) {\r\n          return {\r\n            title: this.$slots.title\r\n          }\r\n        }\r\n      })(),\r\n      icon: (scope) => {\r\n        if (this.$slots.icon) {\r\n          return <span className=\"treeNodeIcon\">{this.$slots.icon(scope)}</span>\r\n        } else {\r\n          return {\r\n            icon: this.$slots.icon\r\n          }\r\n        }\r\n      }\r\n    }\r\n    const tree = <a-tree {...props} v-slots={slots}></a-tree>\r\n    return <div>{tree}</div>\r\n  }\r\n}\r\n</script>\r\n","const cachePrefix = __APP_ENV__.VITE_CACHE_PREFIX\r\nexport const trans = (data) => {\r\n\tconst transData = []\r\n\tconst go = (data) => {\r\n\t\tfor (const item of data) {\r\n\t\t\tconst {status, parentId, name, id, children, disableCheckbox} = item\r\n\t\t\tconst newItem = {\r\n\t\t\t\tparentId,\r\n\t\t\t\tname,\r\n\t\t\t\tid,\r\n\t\t\t\tstatus,\r\n\t\t\t\tdisableCheckbox\r\n\t\t\t}\r\n\t\t\ttransData.push(newItem)\r\n\t\t\tif (children) {\r\n\t\t\t\tgo(children)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tgo(data)\r\n\treturn transData\r\n}\r\nexport const listToTree = (list) => {\r\n\tlet map = {},\r\n\t\tnode,\r\n\t\troots = [],\r\n\t\ti\r\n\tfor (i = 0; i < list.length; i += 1) {\r\n\t\tmap[list[i].id] = i\r\n\t\tlist[i].children = []\r\n\t}\r\n\tfor (i = 0; i < list.length; i += 1) {\r\n\t\tnode = list[i]\r\n\t\tif (node.parentId !== '0' && list[map[node.parentId]]) {\r\n\t\t\tlist[map[node.parentId]].children.push(node)\r\n\t\t} else {\r\n\t\t\troots.push(node)\r\n\t\t}\r\n\t}\r\n\treturn roots\r\n}\r\n//把带有斜杠的字符串 , 替换斜杠 , 把斜杠跟随的字母转成大写\r\n// 例如 sys/org/index 会转成 sysOrgIndex\r\nexport const toCamelCaseWithDelimiter = ({str, delimiter = '/'}) => {\r\n\treturn str.split(delimiter).map((part, index) => {\r\n\t\tif (index === 0) {\r\n\t\t\t// 第一个部分保持原样（不转成大写）\r\n\t\t\treturn part;\r\n\t\t}\r\n\t\t// 转成大写并连接\r\n\t\treturn part.charAt(0).toUpperCase() + part.slice(1);\r\n\t}).join('');\r\n}\r\n\r\nexport const removeCache = ({key, sysKey}) => {\r\n\tlet systemCache = localStorage.getItem(cachePrefix + sysKey)\r\n\tif (!systemCache) return\r\n\tsystemCache = JSON.parse(systemCache)\r\n\tdelete systemCache[key]\r\n\tlocalStorage.setItem(cachePrefix + sysKey, JSON.stringify(systemCache))\r\n}\r\nexport const setCache = ({key, sysKey, value}) => {\r\n\tlet systemCache = localStorage.getItem(cachePrefix + sysKey)\r\n\tif (!systemCache) {\r\n\t\tsystemCache = '{}'\r\n\t}\r\n\tsystemCache = JSON.parse(systemCache)\r\n\tsystemCache[key] = value ? value : {}\r\n\tlocalStorage.setItem(cachePrefix + sysKey, JSON.stringify(systemCache))\r\n}\r\nexport const getCache = ({key, sysKey}) => {\r\n\tlet systemCache = localStorage.getItem(cachePrefix + sysKey)\r\n\tif (!systemCache) return false\r\n\ttry {\r\n\t\treturn JSON.parse(systemCache)[key]\r\n\t} catch (e) {\r\n\t\treturn false\r\n\t}\r\n}\r\n","<template>\r\n  <div class=\"DeptPicker\">\r\n    <a-input-search v-model:value=\"searchKey\" placeholder=\"输入部门关键字搜索\" style=\"margin-bottom: 12px\"/>\r\n    <a-checkbox-group :value=\"checkedList\" @change=\"plainOptionsChange\" :options=\"plainOptions\"/>\r\n    <a-spin :spinning=\"loading\">\r\n      <div ref=\"box\" class=\"box\">\r\n        <base-tree\r\n            :class=\"{ hideCheckBox: !props.showCheckBox }\"\r\n            :check-strictly=\"true\"\r\n            auto-expand-parent\r\n            ref=\"tree\"\r\n            v-model:expandedKeys=\"expandedKeys\"\r\n            v-model:checkedKeys=\"checkedKeys\"\r\n            :tree-data=\"treeData\"\r\n            :field-names=\"treeFieldNames\"\r\n            checkable\r\n            :selectable=\"false\"\r\n            @check=\"treeCheck\"\r\n            @expand=\"handleExpand\"\r\n        >\r\n          <template #title=\"item\">\r\n            <div\r\n                :class=\"{ highLightChecked: item.checked && props.highLightChecked, itemName: true, isStop: item.status === '1' }\">\r\n              {{ item.name }}\r\n            </div>\r\n          </template>\r\n        </base-tree>\r\n      </div>\r\n    </a-spin>\r\n  </div>\r\n</template>\r\n<script setup name=\"DeptPicker\" lang='ts'>\r\nimport orgApi from '@/api/sys/orgApi'\r\nimport BaseTree from '@/components/BaseTree/BaseTree'\r\nimport {listToTree, trans} from \"@/utils/util.ts\";\r\n\r\nconst plainOptions = ['显示全部', '停用', '启用']\r\nconst checkedList = ref(['显示全部'])\r\nconst tree = ref()\r\nconst props = defineProps({\r\n  multiple: {\r\n    type: Boolean,\r\n    default: () => false\r\n  },\r\n  showCheckBox: {\r\n    type: Boolean,\r\n    default: () => false\r\n  },\r\n  highLightChecked: {\r\n    type: Boolean,\r\n    default: () => true\r\n  },\r\n  depts: {\r\n    type: Object,\r\n    default: () => []\r\n  }\r\n})\r\nlet searchKey = ref('')\r\nconst emit = defineEmits({\r\n  selectedDeptNodes: undefined,\r\n  'update:depts': undefined\r\n})\r\nlet expandedKeys = ref([])\r\nlet checkedKeys = ref({})\r\nconst plainOptionsChange = (val) => {\r\n  checkedList.value = [val[0]]\r\n  treeData.value = []\r\n  onOpen()\r\n}\r\nlet checkedNodes = computed({\r\n  get: () => {\r\n    return props.depts\r\n  },\r\n  set: (val) => {\r\n    emit('update:depts', val)\r\n  }\r\n})\r\nlet loading = ref(true)\r\nconst treeData = ref([])\r\nconst transData = ref([])\r\nconst treeFieldNames = {children: 'children', title: 'name', key: 'id'}\r\nconst closeChildren = (node) => {\r\n  let keys = JSON.parse(JSON.stringify(expandedKeys.value))\r\n  expandedKeys.value = keys.filter((res) => {\r\n    return res != node.id\r\n  })\r\n  if (node && node.hasOwnProperty('children') && node.children && node.children.length > 0) {\r\n    node.children.forEach((res) => {\r\n      closeChildren(res)\r\n    })\r\n  }\r\n}\r\nconst handleExpand = (keys, {expanded, node}) => {\r\n  if (expanded) {\r\n    expandedKeys.value.push(node.key)\r\n  } else {\r\n    closeChildren(node)\r\n  }\r\n}\r\nconst treeCheck = (_checkedKeys, e) => {\r\n  let {checked, checkedNodesPositions, event, halfCheckedKeys, node} = e\r\n  let copycheckedNodes = JSON.parse(JSON.stringify(checkedNodes.value))\r\n  if (props.multiple) {\r\n    copycheckedNodes = e.checkedNodes\r\n  } else {\r\n    if (!!_checkedKeys && !!_checkedKeys.checked) {\r\n      copycheckedNodes = [e.checkedNodes[e.checkedNodes.length - 1]]\r\n      checkedKeys.value.checked = [_checkedKeys.checked[_checkedKeys.checked.length - 1]]\r\n    }\r\n  }\r\n  checkedNodes.value = JSON.parse(JSON.stringify(copycheckedNodes))\r\n  emit('selectedDeptNodes', copycheckedNodes)\r\n}\r\n// 打开此界面需要具体某条菜单的id跟选中的\r\nconst onOpen = () => {\r\n  loading.value = true\r\n  // const treeData = data.data;\r\n  setTimeout(() => {\r\n    let status = undefined\r\n    switch (checkedList.value[0]) {\r\n      case '显示全部': {\r\n        break\r\n      }\r\n      case '停用': {\r\n        status = '1'\r\n        break\r\n      }\r\n      case '启用': {\r\n        status = '0'\r\n        break\r\n      }\r\n    }\r\n    orgApi.orgTree().then((res) => {\r\n      if (res !== null) {\r\n        transData.value = trans(JSON.parse(JSON.stringify(res))).filter((res) => {\r\n          return checkedList.value[0] == '显示全部' ? true : checkedList.value[0] == '停用' ? res.status === '1' : res.status === '0'\r\n        })\r\n        treeData.value = listToTree(\r\n            trans(\r\n                JSON.parse(\r\n                    JSON.stringify(\r\n                        transData.value.map((mres) => {\r\n                          if (checkedNodes.value.length > 0) {\r\n                            var target = checkedNodes.value.find((fres) => {\r\n                              return fres.id == mres.id\r\n                            })\r\n                            if (target && target.hasOwnProperty('delete')) {\r\n                              mres.disableCheckbox = !target.delete\r\n                            } else {\r\n                              mres.disableCheckbox = false\r\n                            }\r\n                            checkedKeys.value.checked = checkedNodes.value.map((res) => {\r\n                              return res.id\r\n                            })\r\n                          } else {\r\n                            mres.disableCheckbox = false\r\n                          }\r\n                          return mres\r\n                        })\r\n                    )\r\n                )\r\n            )\r\n        )\r\n        if (checkedKeys.value.checked && checkedKeys.value.checked.length > 0) {\r\n          expandedKeys.value = checkedKeys.value.checked\r\n        } else {\r\n          expandedKeys.value = treeData.value.reduce((p, c, ci) => {\r\n            if (p.length < 1) {\r\n              p = [c.id]\r\n            }\r\n            if (c.hasOwnProperty('children') && c.children.length > 0) {\r\n              c.children.forEach((res) => {\r\n                p.push(res.id)\r\n              })\r\n            }\r\n            return p\r\n          }, [])\r\n        }\r\n        loading.value = false\r\n      }\r\n    })\r\n  }, 500)\r\n}\r\nonMounted(() => {\r\n  onOpen()\r\n})\r\nwatch(\r\n    () => searchKey.value,\r\n    (val) => {\r\n      if (val && val != '') {\r\n        treeData.value = listToTree(\r\n            transData.value.filter((res) => {\r\n              return res.name.indexOf(val) > -1\r\n            })\r\n        )\r\n      } else {\r\n        treeData.value = listToTree(transData.value)\r\n      }\r\n    }\r\n)\r\n</script>\r\n<style scoped lang=\"less\">\r\n.DeptPicker {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: flex-start;\r\n  align-items: flex-start;\r\n  height: 100%;\r\n  overflow: hidden;\r\n\r\n  :deep(.hideCheckBox) {\r\n    .ant-tree-checkbox {\r\n      display: none !important;\r\n    }\r\n\r\n    .ant-tree-switcher {\r\n      left: 12px;\r\n    }\r\n  }\r\n\r\n  :deep(.ant-spin-nested-loading) {\r\n    width: 100%;\r\n    height: 100%;\r\n    overflow: hidden;\r\n\r\n    .ant-spin-container {\r\n      height: 100%;\r\n      overflow: hidden;\r\n\r\n      .box {\r\n        width: 100%;\r\n        min-height: 100px;\r\n        height: 100%;\r\n        overflow-y: auto;\r\n\r\n        :deep(.ant-list-item) {\r\n          &:hover {\r\n            background: #e6f7ff;\r\n            color: #1890ff;\r\n          }\r\n        }\r\n\r\n        .ant-tree-node-content-wrapper {\r\n          .ant-tree-title {\r\n            .itemName {\r\n              padding: 0 6px;\r\n              font-size: 16px;\r\n              line-height: 24px;\r\n            }\r\n\r\n            .highLightChecked {\r\n              background: #1890ff;\r\n              color: #fff;\r\n              border-radius: 3px;\r\n            }\r\n\r\n            .isStop {\r\n              background: #d9d9d940;\r\n              color: #4446;\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n\t<div class=\"MemberPicker\">\r\n\t\t<div v-if=\"showSelectedUser\" class=\"showSelectedUser\">\r\n\t\t\t<a-spin :spinning=\"loadSelectedMembers\">\r\n\t\t\t\t<a-tag v-if=\"members.length > 0\" color=\"blue\" v-for=\"(item, key) in members\" :key=\"item.empNo\" closable @close=\"closetag(item)\"> {{ item.name }} {{ item.empNo }} </a-tag>\r\n\t\t\t\t<a-empty v-else :image=\"Empty.PRESENTED_IMAGE_SIMPLE\" />\r\n\t\t\t</a-spin>\r\n\t\t</div>\r\n\t\t<a-input-search v-model:value=\"searchKey\" placeholder=\"输入工号/全拼/姓名 搜索员工\" style=\"margin-bottom: 12px\" />\r\n\t\t<a-checkbox-group :value=\"checkedList\" @change=\"plainOptionsChange\" :options=\"plainOptions\" />\r\n\t\t<div ref=\"box\" class=\"box\">\r\n\t\t\t<a-list size=\"small\" bordered :data-source=\"userList\">\r\n\t\t\t\t<template #renderItem=\"{ item }\">\r\n\t\t\t\t\t<a-list-item :key=\"item.id\" @click=\"selected(item)\" :class=\"{ selected: item.checked }\">\r\n\t\t\t\t\t\t<a-row :class=\"{ 'item-line': true, leave: item.userStatus == 'DISABLED' }\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t<a-col v-if=\"showCheckBox\" :span=\"3\">\r\n\t\t\t\t\t\t\t\t<a-checkbox :disabled=\"item.delete === false\" v-model:checked=\"item.checked\"></a-checkbox>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t<a-col :class=\"{ name: true }\" :title=\"item.name\" :span=\"6\">{{ item.name }} </a-col>\r\n\t\t\t\t\t\t\t<a-col :title=\"item.id\" :span=\"5\">{{ item.empNo }} </a-col>\r\n\t\t\t\t\t\t\t<a-col :title=\"item.orgName\" :span=\"showCheckBox ? 10 : 13\">{{ item.orgName }} </a-col>\r\n\t\t\t\t\t\t</a-row>\r\n\t\t\t\t\t</a-list-item>\r\n\t\t\t\t</template>\r\n\t\t\t\t<!--<template #header>\r\n\t\t\t\t\t\t<div>Header</div>\r\n\t\t\t\t</template>-->\r\n\t\t\t\t<template #footer v-if=\"searchKey == ''\">\r\n\t\t\t\t\t<div class=\"footer\" ref=\"footer\">\r\n\t\t\t\t\t\t<a-spin :indicator=\"indicator\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #footer v-if=\"searchKey != ''\">\r\n\t\t\t\t\t<div style=\"font-size: 12px; color: #b9bdc3\" class=\"footer\" ref=\"footer\">没有更多...</div>\r\n\t\t\t\t</template>\r\n\t\t\t</a-list>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script setup name=\"MemberPicker\" lang='ts'>\r\nimport userApi from '@/api/sys/userApi'\r\nimport {Empty} from 'ant-design-vue'\r\nimport {LoadingOutlined} from '@ant-design/icons-vue'\r\nimport {uniqBy} from 'lodash-es'\r\n\r\nconst plainOptions = ['显示全部', '离职', '在职']\r\n\tconst checkedList = ref(['在职'])\r\n\tconst emit = defineEmits({\r\n\t\tselectedMembers: undefined,\r\n\t\t'update:members': undefined\r\n\t})\r\n\tconst plainOptionsChange = (val) => {\r\n\t\tcheckedList.value = [val[0]]\r\n\t\tuserList.value = []\r\n\t\tloadData()\r\n\t}\r\n\tconst props = defineProps({\r\n\t\tshowCheckBox: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => false\r\n\t\t},\r\n\t\tmultiple: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => false\r\n\t\t},\r\n\t\tmembers: {\r\n\t\t\ttype: Array,\r\n\t\t\tdefault: () => []\r\n\t\t},\r\n\t\tshowSelectedUser: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => false\r\n\t\t}\r\n\t})\r\n\tlet loading = ref(false)\r\n\tlet searchKey = ref('')\r\n\tlet loadSelectedMembers = ref(false)\r\n\tconst selectedArr = computed({\r\n\t\tget: () => {\r\n\t\t\treturn props.members\r\n\t\t},\r\n\t\tset: (val) => {\r\n\t\t\temit('update:members', val)\r\n\t\t}\r\n\t})\r\n\tconst indicator = h(LoadingOutlined, {\r\n\t\tstyle: {\r\n\t\t\tfontSize: '24px'\r\n\t\t},\r\n\t\tspin: true\r\n\t})\r\n\tconst userList = ref([])\r\n\tconst footer = ref(null)\r\n\tconst box = ref(null)\r\n\tconst pageConfig = ref({\r\n\t\tcurrent: 1,\r\n\t\tsize: 200,\r\n\t\tend: false\r\n\t})\r\n\tconst selected = (item) => {\r\n\t\tvar selected = JSON.parse(JSON.stringify(selectedArr.value))\r\n\t\tif (props.multiple) {\r\n\t\t\titem.checked = !item.checked\r\n\t\t\tif (item.checked) {\r\n\t\t\t\tuniqBy(selected.push(item), (e) => {\r\n\t\t\t\t\treturn e.id\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tselected = selected.filter((res) => {\r\n\t\t\t\t\treturn res.id != item.id\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tuserList.value = userList.value.map((res) => {\r\n\t\t\t\tif (res.id != item.id) {\r\n\t\t\t\t\tres.checked = false\r\n\t\t\t\t}\r\n\t\t\t\treturn res\r\n\t\t\t})\r\n\t\t\tif (!item.checked) {\r\n\t\t\t\titem.checked = true\r\n\t\t\t\tselected = [item]\r\n\t\t\t} else {\r\n\t\t\t\titem.checked = false\r\n\t\t\t\tselected = []\r\n\t\t\t}\r\n\t\t}\r\n\t\tselectedArr.value = JSON.parse(JSON.stringify(selected))\r\n\t\temit('selectedMembers', selected)\r\n\t}\r\n\tconst closetag = (item) => {\r\n\t\tlet target = userList.value.find((res) => {\r\n\t\t\treturn res.id == item.id\r\n\t\t})\r\n\t\tif (target) {\r\n\t\t\tselected(target)\r\n\t\t} else {\r\n\t\t\tvar _selected = JSON.parse(JSON.stringify(selectedArr.value))\r\n\t\t\t_selected = _selected.filter((res) => {\r\n\t\t\t\treturn res.id != item.id\r\n\t\t\t})\r\n\t\t\tselectedArr.value = JSON.parse(JSON.stringify(_selected))\r\n\t\t}\r\n\t}\r\n\tconst loadData = () => {\r\n\t\tif (loading.value == true) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tloading.value = true\r\n\t\tif (searchKey.value) {\r\n\t\t\tpageConfig.value.current = 1\r\n\t\t\tpageConfig.value.size = 9999\r\n\t\t} else {\r\n\t\t\tpageConfig.value.size = 200\r\n\t\t}\r\n\t\tuserApi\r\n\t\t\t.userPage({\r\n\t\t\t\tcurrent: pageConfig.value.current,\r\n\t\t\t\tsize: pageConfig.value.size,\r\n\t\t\t\tsearchKey: searchKey.value\r\n\t\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tswitch (checkedList.value[0]) {\r\n\t\t\t\t\tcase '显示全部': {\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase '离职': {\r\n\t\t\t\t\t\tres.records = JSON.parse(JSON.stringify(res.records)).filter((res) => {\r\n\t\t\t\t\t\t\treturn res.userStatus != 'ENABLE'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase '在职': {\r\n\t\t\t\t\t\tres.records = JSON.parse(JSON.stringify(res.records)).filter((res) => {\r\n\t\t\t\t\t\t\treturn res.userStatus == 'ENABLE'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (searchKey.value) {\r\n\t\t\t\t\tif (!res || !res.records || res.records.length < 1) {\r\n\t\t\t\t\t\tpageConfig.value.end = true\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tuserList.value = res.records\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!res || !res.records || res.records.length < 1) {\r\n\t\t\t\t\t\tpageConfig.value.end = true\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tuserList.value = userList.value.concat(res.records)\r\n\t\t\t\t\t\tpageConfig.value.current += 1\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (userList.value.length > 0) {\r\n\t\t\t\t\tuserList.value.forEach((res) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tselectedArr.value.length > 0 &&\r\n\t\t\t\t\t\t\tselectedArr.value.some((sres) => {\r\n\t\t\t\t\t\t\t\treturn sres.id == res.id\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tres.delete = selectedArr.value.find((fres) => {\r\n\t\t\t\t\t\t\t\treturn fres.id == res.id\r\n\t\t\t\t\t\t\t}).delete\r\n\t\t\t\t\t\t\tres.checked = true\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.checked = false\r\n\t\t\t\t\t\t\tres.delete = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tloading.value = false\r\n\t\t\t})\r\n\t}\r\n\twatch(\r\n\t\t() => searchKey.value,\r\n\t\t(val) => {\r\n\t\t\tuserList.value = []\r\n\t\t\tloadData()\r\n\t\t},\r\n\t\t{}\r\n\t)\r\n\tonMounted(() => {\r\n\t\tlet intersectionObserver = new IntersectionObserver((entries) => {\r\n\t\t\tif (entries[0].intersectionRatio <= 0 && loading.value == true) return\r\n\t\t\tloadData()\r\n\t\t})\r\n\t\tintersectionObserver.observe(footer.value)\r\n\t})\r\n\tdefineExpose({ loadSelectedMembers })\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.MemberPicker {\r\n\t\toverflow: hidden;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: flex-start;\r\n\t\talign-items: flex-start;\r\n\t\theight: 100%;\r\n\t\t.showSelectedUser {\r\n\t\t\tflex: 0 1 150px;\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-bottom: 12px;\r\n\t\t\toverflow-y: auto;\r\n\t\t\t.ant-tag {\r\n\t\t\t\tmargin-bottom: 6px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.ant-input-search {\r\n\t\t\tflex: 0;\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t\t.box {\r\n\t\t\twidth: 100%;\r\n\t\t\tflex: 0 1 100%;\r\n\t\t\toverflow-y: auto;\r\n\t\t\t.ant-list-bordered {\r\n\t\t\t\tborder: none;\r\n\t\t\t}\r\n\t\t\t:deep(.ant-list-item) {\r\n\t\t\t\tpadding: 8px 0;\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\tbackground: #efefef;\r\n\t\t\t\t\tcolor: #1890ff;\r\n\t\t\t\t}\r\n\t\t\t\t.item-line {\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\ttransition: all 0.5s;\r\n\t\t\t\t\t& > * {\r\n\t\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\t\tword-break: break-all;\r\n\t\t\t\t\t\twhite-space: nowrap;\r\n\t\t\t\t\t\ttext-overflow: ellipsis;\r\n\t\t\t\t\t\tfont-size: 12px;\r\n\t\t\t\t\t\t&.name {\r\n\t\t\t\t\t\t\tfont-size: 12px;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t&.leave {\r\n\t\t\t\t\t\tbackground: #d9d9d940;\r\n\t\t\t\t\t\tcolor: #4446;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t&.selected {\r\n\t\t\t\t\tbackground: #e6f7ff;\r\n\t\t\t\t\tcolor: #1890ff;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t:deep(.ant-list-footer) {\r\n\t\t\tbackground: #bbcdf71a;\r\n\t\t\tpadding: 5px 16px;\r\n\t\t\t.footer {\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\t:deep(.ant-spin-dot) {\r\n\t\t\t\t\tfont-size: 18px !important;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","<template>\r\n  <div class=\"RolePicker\">\r\n    <a-input-search v-model:value=\"searchKey\" placeholder=\"输入工号/全拼/姓名 搜索员工\" style=\"margin-bottom: 12px\"/>\r\n    <div class=\"box\">\r\n      <a-list size=\"small\" bordered :data-source=\"roleList\">\r\n        <template #renderItem=\"{ item }\">\r\n          <a-list-item :key=\"item.id\" @click=\"selected(item)\" :class=\"{ highLightChecked: item.checked }\">\r\n            <a-row class=\"item-line\" style=\"width: 100%\">\r\n              <a-col v-if=\"showCheckBox\" :span=\"3\">\r\n                <a-checkbox :disabled=\"item.delete === false\" v-model:checked=\"item.checked\"></a-checkbox>\r\n              </a-col>\r\n              <a-col :title=\"item.name\" :span=\"showCheckBox ? 21 : 24\">{{ item.name }}</a-col>\r\n            </a-row>\r\n          </a-list-item>\r\n        </template>\r\n      </a-list>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script setup name=\"RolePicker\" lang='ts'>\r\nimport {uniqBy} from 'lodash-es'\r\nimport roleApi from '@/api/sys/roleApi'\r\nconst emit = defineEmits({\r\n  selectedRoles: undefined,\r\n  'update:roles': undefined\r\n})\r\nlet searchKey = ref('')\r\nconst props = defineProps({\r\n  showCheckBox: {\r\n    type: Boolean,\r\n    default: () => false\r\n  },\r\n  multiple: {\r\n    type: Boolean,\r\n    default: () => false\r\n  },\r\n  roles: {\r\n    type: Array,\r\n    default: () => []\r\n  }\r\n})\r\nconst roleList = ref([])\r\nconst cacheRoleList = ref([])\r\nconst selectedArr = computed({\r\n  get: () => {\r\n    return props.roles\r\n  },\r\n  set: (val) => {\r\n    emit('update:roles', val)\r\n  }\r\n})\r\nconst pageConfig = ref({\r\n  current: 1,\r\n  size: 100,\r\n  end: false\r\n})\r\nconst checkData = () => {\r\n  if (roleList.value.length > 0) {\r\n    roleList.value.forEach((res) => {\r\n      if (\r\n          !!selectedArr.value &&\r\n          selectedArr.value.some((sres) => {\r\n            return sres.id == res.id\r\n          })\r\n      ) {\r\n        res.delete = selectedArr.value.find((fres) => {\r\n          return fres.id == res.id\r\n        }).delete\r\n        res.checked = true\r\n      } else {\r\n        res.checked = false\r\n        res.delete = true\r\n      }\r\n    })\r\n  }\r\n}\r\n// 表格查询 返回 Promise 对象\r\nconst loadData = () => {\r\n  roleApi\r\n      .rolePage({\r\n        current: pageConfig.value.current,\r\n        size: pageConfig.value.size\r\n      })\r\n      .then((res) => {\r\n        roleList.value = res.records\r\n        checkData()\r\n        cacheRoleList.value = JSON.parse(JSON.stringify(roleList.value))\r\n      })\r\n}\r\nconst selected = (item) => {\r\n  let selected = JSON.parse(JSON.stringify(selectedArr.value))\r\n  if (props.multiple) {\r\n    item.checked = !item.checked\r\n    if (item.checked) {\r\n      uniqBy(selected.push(item), (e) => {\r\n        return e.id\r\n      })\r\n    } else {\r\n      selected = selected.filter((res) => {\r\n        return res.id != item.id\r\n      })\r\n    }\r\n  } else {\r\n    roleList.value = roleList.value.map((res) => {\r\n      if (res.id != item.id) {\r\n        res.checked = false\r\n      }\r\n      return res\r\n    })\r\n    if (!item.checked) {\r\n      item.checked = true\r\n      selected = [item]\r\n    } else {\r\n      item.checked = false\r\n      selected = []\r\n    }\r\n  }\r\n  selectedArr.value = JSON.parse(JSON.stringify(selected))\r\n  emit('selectedRoles', selected)\r\n}\r\nconst getItems = (ids) => {\r\n  return roleList.value.filter((res) => {\r\n    return ids.includes(res.id)\r\n  })\r\n}\r\nonMounted(() => {\r\n  loadData()\r\n})\r\nwatch(\r\n    () => searchKey.value,\r\n    (val) => {\r\n      if (val) {\r\n        roleList.value = JSON.parse(JSON.stringify(cacheRoleList.value)).filter((res) => {\r\n          return res.name.indexOf(val) > -1\r\n        })\r\n      } else {\r\n        roleList.value = JSON.parse(JSON.stringify(cacheRoleList.value))\r\n      }\r\n      checkData()\r\n    }\r\n)\r\n</script>\r\n<style scoped lang=\"less\">\r\n.RolePicker {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: flex-start;\r\n  align-items: flex-start;\r\n  height: 100%;\r\n  overflow: hidden;\r\n  .ant-input-search {\r\n    flex: 0;\r\n    width: 100%;\r\n  }\r\n  .box {\r\n    width: 100%;\r\n    flex: 1;\r\n    overflow-y: auto;\r\n    .ant-list {\r\n      width: 100%;\r\n    }\r\n    :deep(.ant-list-item) {\r\n      &.highLightChecked {\r\n        background: #e6f7ff;\r\n        color: #1890ff;\r\n      }\r\n      &:hover {\r\n        background: #efefef;\r\n        color: #1890ff;\r\n      }\r\n      .item-line {\r\n        cursor: pointer;\r\n        transition: all 0.5s;\r\n        & > * {\r\n          overflow: hidden;\r\n          word-break: break-all;\r\n          white-space: nowrap;\r\n          text-overflow: ellipsis;\r\n          &:first-child {\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n  :deep(.ant-list-footer) {\r\n    background: #bbcdf71a;\r\n    padding: 5px 16px;\r\n    .footer {\r\n      text-align: center;\r\n      :deep(.ant-spin-dot) {\r\n        font-size: 18px !important;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n\t<div class=\"DrawerPicker\">\r\n\t\t<base-drawer :ok-handler=\"okHandler\" :cancel-handler=\"cancelHandler\" v-model:visible=\"open\" :destroy-on-close=\"true\" :title=\"'选择' + type\" :width=\"500\" get-container=\"body\">\r\n\t\t\t<template #drawerContent>\r\n\t\t\t\t<div class=\"drawerContent\">\r\n\t\t\t\t\t<template v-if=\"type == panes[0]\">\r\n\t\t\t\t\t\t<MemberPicker\r\n\t\t\t\t\t\t\tref=\"memberPicker\"\r\n\t\t\t\t\t\t\t:show-selected-user=\"showSelectedUser\"\r\n\t\t\t\t\t\t\tv-model:members=\"_members\"\r\n\t\t\t\t\t\t\t:showCheckBox=\"showCheckBox\"\r\n\t\t\t\t\t\t\t:multiple=\"multiple\"\r\n\t\t\t\t\t\t\t:search-key=\"memberPickerStr\"\r\n\t\t\t\t\t\t\t@selectedMembers=\"selectedMembersHandler\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"type == panes[1]\">\r\n\t\t\t\t\t\t<DeptPicker v-model:depts=\"_depts\" :showCheckBox=\"showCheckBox\" :multiple=\"multiple\" :search-key=\"deptPickerStr\" @selectedDeptNodes=\"selectedDeptNodes\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"type == panes[2]\">\r\n\t\t\t\t\t\t<RolePicker v-model:roles=\"_roles\" :showCheckBox=\"showCheckBox\" :multiple=\"multiple\" :search-key=\"rolePickerStr\" @selectedRoles=\"selectedRoles\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</base-drawer>\r\n\t</div>\r\n</template>\r\n<script setup name=\"DrawerPicker\" lang='ts'>\r\n\timport BaseDrawer from '@/components/BaseDrawer/BaseDrawer'\r\n\timport MemberPicker from '@/components/MemberPicker/MemberPicker'\r\n\timport DeptPicker from '@/components/DeptPicker/DeptPicker'\r\n\timport RolePicker from '@/components/RolePicker/RolePicker'\r\n\tlet emits = defineEmits({\r\n\t\t'update:visible': undefined,\r\n\t\tok: undefined,\r\n\t\tcancel: undefined\r\n\t})\r\n\tlet props = defineProps({\r\n\t\t//人员 部门 岗位\r\n\t\ttype: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: undefined\r\n\t\t},\r\n\t\tmultiple: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false\r\n\t\t},\r\n\t\tshowCheckBox: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false\r\n\t\t},\r\n\t\tvisible: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false\r\n\t\t},\r\n\t\tdata: {\r\n\t\t\ttype: Object,\r\n\t\t\tdefault: () => {}\r\n\t\t},\r\n\t\tshowSelectedUser: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => false\r\n\t\t}\r\n\t})\r\n\tlet memberPickerStr = ref('')\r\n\tlet deptPickerStr = ref('')\r\n\tlet rolePickerStr = ref('')\r\n\tlet _members = ref([])\r\n\tlet _depts = ref([])\r\n\tlet _roles = ref([])\r\n\tlet open = computed({\r\n\t\tget: () => {\r\n\t\t\treturn props.visible\r\n\t\t},\r\n\t\tset: (val) => {\r\n\t\t\temits('update:visible', val)\r\n\t\t}\r\n\t})\r\n\tlet panes = ref(['人员', '部门', '岗位'])\r\n\tlet memberPicker = ref()\r\n\tconst setMembersSelectedLoading = (val) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tmemberPicker.value.loadSelectedMembers = val\r\n\t\t}, 100)\r\n\t}\r\n\tconst clear = () => {\r\n\t\t_members.value = []\r\n\t\t_depts.value = []\r\n\t\t_roles.value = []\r\n\t}\r\n\tconst setMembers = (values) => {\r\n\t\t_members.value = values\r\n\t}\r\n  const setDepts = (values) => {\r\n    _depts.value = values\r\n  }\r\n  const setRoles = (values) => {\r\n    _roles.value = values\r\n  }\r\n\tconst okHandler = () => {\r\n\t\topen.value = false\r\n\t\temits('ok', {\r\n\t\t\tdata: {\r\n\t\t\t\tmembers: _members.value,\r\n\t\t\t\tdepts: _depts.value,\r\n\t\t\t\troles: _roles.value\r\n\t\t\t}\r\n\t\t})\r\n\t\tclear()\r\n\t}\r\n\tconst cancelHandler = () => {\r\n\t\topen.value = false\r\n\t\temits('cancel')\r\n\t\tclear()\r\n\t}\r\n\tconst selectedMembersHandler = (val) => {}\r\n\tconst selectedDeptNodes = (val) => {}\r\n\tconst selectedRoles = (val) => {}\r\n\tdefineExpose({ setMembers, setMembersSelectedLoading,setDepts,setRoles })\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.DrawerPicker {\r\n\t}\r\n</style>\r\n","<template>\r\n  <div style=\"display: none\">{{ _ids }}</div>\r\n  <div class=\"PickerInput\">\r\n    <div v-if=\"loading\" class=\"inputInner disabled\">\r\n      <a-spin size=\"small\" :indicator=\"indicator\">\r\n      </a-spin>\r\n    </div>\r\n    <div v-if=\"!loading\" class=\"inputInner\" :class=\"{disabled}\" @click=\"open\">\r\n      <div class=\"tagBox\">\r\n        <template v-if=\"type=='人员'\">\r\n          <a-tag :key=\"key\" :color=\"disabled?'':'blue'\" v-for=\"(item,key) in selectedMembers\">{{ item.name }} {{\r\n              item.empNo\r\n            }}\r\n          </a-tag>\r\n        </template>\r\n        <template v-if=\"type=='部门'\">\r\n          <a-tag :key=\"key\" :color=\"disabled?'':'blue'\" v-for=\"(item,key) in selectedDepts\">{{ item.name }}\r\n          </a-tag>\r\n        </template>\r\n        <template v-if=\"type=='岗位'\">\r\n          <a-tag :key=\"key\" :color=\"disabled?'':'blue'\" v-for=\"(item,key) in selectedRoles\">{{ item.name }}\r\n          </a-tag>\r\n        </template>\r\n      </div>\r\n      <div class=\"closeBox\">\r\n        <SvgClose v-if=\"_ids && Array.isArray(_ids) && _ids.length>0\" class=\"close\" @click.stop.prevent=\"clear\"/>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <DrawerPicker ref=\"drawerPicker\" :show-selected-user=\"true\" @ok=\"drawerOk\" @cancel=\"drawerCancel\"\r\n                :show-check-box=\"true\" :multiple=\"multiple\"\r\n                v-model:visible=\"visibleDrawer\" :type=\"type\"/>\r\n</template>\r\n<script setup name=\"PickerInput\">\r\nimport userSelectorPlusApi from '@/api/components/Selector/userSelectorPlusApi'\r\nimport orgApi from '@/api/sys/orgApi'\r\nimport roleApi from '@/api/sys/roleApi'\r\nimport {listToTree, trans} from \"@/utils/util\";\r\nimport {LoadingOutlined} from '@ant-design/icons-vue';\r\nimport SvgClose from \"@/components/SvgIcons/SvgClose\";\r\nconst indicator = h(LoadingOutlined, {\r\n  style: {\r\n    fontSize: '16px',\r\n  },\r\n  spin: true,\r\n});\r\nlet selectedMembers = ref()\r\nlet selectedDepts = ref()\r\nlet selectedRoles = ref()\r\nconst panesValues = ['人员', '部门', '岗位']\r\nconst emit = defineEmits({\r\n  'update:ids': undefined\r\n})\r\nlet drawerPicker = ref()\r\nlet listDepts = ref()\r\nlet listRoels = ref()\r\nlet loading = ref(false)\r\nconst props = defineProps({\r\n  type: {\r\n    type: String,\r\n    default: ''\r\n  },\r\n  ids: {\r\n    type: Array,\r\n    default: () => undefined\r\n  },\r\n  disabled: {\r\n    type: Boolean,\r\n    default: false\r\n  },\r\n  multiple: {\r\n    type: Boolean,\r\n    default: true\r\n  },\r\n})\r\nlet clear = () => {\r\n  _ids.value = undefined\r\n}\r\nlet _ids = computed({\r\n  get: () => {\r\n    loading.value = true\r\n    if (props.ids && Array.isArray(props.ids) && props.ids.length > 0) {\r\n      //人员\r\n      if (props.type == panesValues[0]) {\r\n        userSelectorPlusApi\r\n            .getUsersByUserIds(\r\n                '/sys/user/ids',\r\n                props.ids.map((res) => {\r\n                  return {\r\n                    id: res\r\n                  }\r\n                })\r\n            ).then((res) => {\r\n          selectedMembers.value = res\r\n          loading.value = false\r\n        })\r\n      }\r\n      //部门\r\n      else if (props.type == panesValues[1]) {\r\n        orgApi.orgTree().then((res) => {\r\n          listDepts.value = trans(res)\r\n          selectedDepts.value = listDepts.value.filter((res) => {\r\n            return props.ids.includes(res.id)\r\n          })\r\n          loading.value = false\r\n        })\r\n      }\r\n      //岗位\r\n      else if (props.type == panesValues[2]) {\r\n        roleApi\r\n            .rolePage({\r\n              current: 1,\r\n              size: 9999\r\n            })\r\n            .then((res) => {\r\n              listRoels.value = res.records\r\n              selectedRoles.value = listRoels.value.filter((res) => {\r\n                return props.ids.includes(res.id)\r\n              })\r\n              loading.value = false\r\n            })\r\n      }\r\n    } else {\r\n      //人员\r\n      if (props.type == panesValues[0]) {\r\n        selectedMembers.value = []\r\n        loading.value = false\r\n      }\r\n      //部门\r\n      else if (props.type == panesValues[1]) {\r\n        selectedDepts.value = []\r\n        loading.value = false\r\n      }\r\n      //岗位\r\n      else if (props.type == panesValues[2]) {\r\n        selectedRoles.value = []\r\n        loading.value = false\r\n      }\r\n    }\r\n    return props.ids\r\n  },\r\n  set: (val) => {\r\n    emit('update:ids', val)\r\n  }\r\n})\r\nconst visibleDrawer = ref(false)\r\nconst drawerOk = (data) => {\r\n  switch (props.type) {\r\n    case panesValues[0]: {\r\n      if (data.data.members && Array.isArray(data.data.members) && data.data.members.length > 0) {\r\n        let result = JSON.parse(JSON.stringify(data.data.members.map((res) => {\r\n          return res.id\r\n        })))\r\n        _ids.value = result\r\n      } else {\r\n        _ids.value = undefined\r\n      }\r\n      break\r\n    }\r\n    case panesValues[1]: {\r\n      if (data.data.depts && Array.isArray(data.data.depts) && data.data.depts.length > 0) {\r\n        let result = JSON.parse(JSON.stringify(data.data.depts.map((res) => {\r\n          return res.id\r\n        })))\r\n        _ids.value = result\r\n      } else {\r\n        _ids.value = undefined\r\n      }\r\n      break\r\n    }\r\n    case panesValues[2]: {\r\n      if (data.data.roles && Array.isArray(data.data.roles) && data.data.roles.length > 0) {\r\n        let result = JSON.parse(JSON.stringify(data.data.roles.map((res) => {\r\n          return res.id\r\n        })))\r\n        _ids.value = result\r\n      } else {\r\n        _ids.value = undefined\r\n      }\r\n      break\r\n    }\r\n  }\r\n}\r\nonMounted(() => {\r\n})\r\nconst drawerCancel = () => {\r\n}\r\nconst open = () => {\r\n  if (props.disabled) {\r\n    return\r\n  }\r\n  visibleDrawer.value = true\r\n  setTimeout(() => {\r\n    if (_ids.value && Array.isArray(_ids.value) && _ids.value.length > 0) {\r\n      //人员\r\n      if (props.type == panesValues[0]) {\r\n        drawerPicker.value.setMembersSelectedLoading(true)\r\n        userSelectorPlusApi\r\n            .getUsersByUserIds(\r\n                '/sys/user/ids',\r\n                _ids.value.map((res) => {\r\n                  return {\r\n                    id: res\r\n                  }\r\n                })\r\n            ).then((res) => {\r\n          drawerPicker.value.setMembers(res)\r\n          drawerPicker.value.setMembersSelectedLoading(false)\r\n        })\r\n      } else if (props.type == panesValues[1]) {\r\n        drawerPicker.value.setDepts(selectedDepts.value)\r\n      } else if (props.type == panesValues[2]) {\r\n        drawerPicker.value.setRoles(selectedRoles.value)\r\n      }\r\n    }\r\n  }, 100)\r\n}\r\n</script>\r\n<style scoped lang=\"less\">\r\n.PickerInput {\r\n  .inputInner {\r\n    width: 100%;\r\n    border-radius: 4px;\r\n    border: 1px solid #d9d9d9;\r\n    height: 34px;\r\n    cursor: pointer;\r\n    display: flex;\r\n    flex-direction: row;\r\n    justify-content: flex-start;\r\n    align-items: center;\r\n    flex-wrap: nowrap;\r\n    overflow: hidden;\r\n    position: relative;\r\n    display: flex;\r\n    flex-direction: row;\r\n    align-items: center;\r\n    justify-content: flex-start;\r\n    .tagBox {\r\n      &::-webkit-scrollbar {\r\n        height: 3px;\r\n      }\r\n      & > span:first-child {\r\n        margin-left: 12px;\r\n      }\r\n      &.disabled {\r\n        border-color: #d9d9d9;\r\n        color: #00000040;\r\n        background-color: #0000000a;\r\n        cursor: not-allowed;\r\n      }\r\n      flex: 1 1 100%;\r\n      display: flex;\r\n      flex-direction: row;\r\n      justify-content: flex-start;\r\n      align-items: center;\r\n      overflow: hidden;\r\n      overflow-x: auto;\r\n    }\r\n    .closeBox {\r\n      flex: 20px;\r\n      .close {\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n  <div class=\"adminui-topbar\">\r\n    <div class=\"left-panel\">\r\n      <a-breadcrumb>\r\n        <template v-for=\"item in breadList\" :key=\"item.title\">\r\n          <a-breadcrumb-item v-if=\"item.path != '/' && !item.meta.hiddenBreadcrumb\" :key=\"item.meta.title\">{{\r\n              item.meta.title\r\n            }}\r\n          </a-breadcrumb-item>\r\n        </template>\r\n      </a-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<script>\r\nexport default {\r\n  name: \"TopBar\",\r\n  data() {\r\n    return {\r\n      breadList: []\r\n    }\r\n  },\r\n  watch: {\r\n    $route() {\r\n      this.getBreadcrumb()\r\n    }\r\n  },\r\n  created() {\r\n    this.getBreadcrumb()\r\n  },\r\n  methods: {\r\n    getBreadcrumb() {\r\n      const matched = this.$route.meta.breadcrumb\r\n      this.breadList = matched\r\n    }\r\n  }\r\n}\r\n</script>\r\n","<template>\r\n\t<div class=\"snowy-tags\">\r\n\t\t<a-tabs v-model:activeKey=\"activeKey\" type=\"editable-card\" class=\"snowy-admin-tabs\" hide-add @edit=\"onTabRemove\" @tabClick=\"onTabClick\">\r\n\t\t\t<a-tab-pane v-for=\"tag in tagList\" :key=\"tag.fullPath\" :tab=\"tag.meta.title\" :closable=\"!tag.meta.affix\"></a-tab-pane>\r\n\t\t</a-tabs>\r\n\t</div>\r\n</template>\r\n<script>\r\n\texport default {\r\n\t\tname: 'Tags',\r\n\t\tprops: {},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttagList: this.$store.state.viewTags.viewTags,\r\n\t\t\t\tactiveKey: this.$route.fullPath\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.addViewTags(e)\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreated() {\r\n\t\t\tconst module = this.$router.getMenu()\r\n\t\t\t//const indexMenu = tool.data.get('MENU') ? tool.data.get('MENU')[0].children[0].path : this.$CONFIG.DASHBOARD_URL\r\n\t\t\tconst indexMenu = this.$CONFIG.DASHBOARD_URL\r\n\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\tconst dashboardRoute = this.treeFind(module, (node) => node.path === indexMenu)\r\n\t\t\tif (dashboardRoute) {\r\n\t\t\t\tdashboardRoute.fullPath = dashboardRoute.path\r\n\t\t\t\tthis.addViewTags(dashboardRoute)\r\n\t\t\t\tthis.addViewTags(this.$route)\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tonTabClick(tab) {\r\n\t\t\t\tthis.$router.push(tab)\r\n\t\t\t},\r\n\t\t\tgetCurrentTag() {\r\n\t\t\t\treturn this.tagList.find((tag) => tag.fullPath === this.activeKey)\r\n\t\t\t},\r\n\t\t\tonTabRemove(tabKey, action) {\r\n\t\t\t\tif (action === 'remove') {\r\n\t\t\t\t\tconst tag = this.tagList.find((tag) => tag.fullPath === tabKey)\r\n\t\t\t\t\tthis.closeSelectedTag(tag)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tgetTabWrapEl() {\r\n\t\t\t\treturn document.querySelector('.ant-tabs-nav-wrap')\r\n\t\t\t},\r\n\t\t\tscrollLeft() {\r\n\t\t\t\tconst wrapEl = this.getTabWrapEl()\r\n\t\t\t\tif (wrapEl) {\r\n\t\t\t\t\tconst event = new WheelEvent('wheel', { deltaX: 0, deltaY: -100 })\r\n\t\t\t\t\twrapEl.dispatchEvent(event)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tscrollRight() {\r\n\t\t\t\tconst wrapEl = this.getTabWrapEl()\r\n\t\t\t\tif (wrapEl) {\r\n\t\t\t\t\tconst event = new WheelEvent('wheel', { deltaX: 0, deltaY: 100 })\r\n\t\t\t\t\twrapEl.dispatchEvent(event)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 查找树\r\n\t\t\ttreeFind(tree, func) {\r\n\t\t\t\tfor (const data of tree) {\r\n\t\t\t\t\tif (func(data)) return data\r\n\t\t\t\t\tif (data.children) {\r\n\t\t\t\t\t\tconst res = this.treeFind(data.children, func)\r\n\t\t\t\t\t\tif (res) return res\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn null\r\n\t\t\t},\r\n\t\t\t// 增加tag\r\n\t\t\taddViewTags(route) {\r\n\t\t\t\tthis.activeKey = route.fullPath\r\n\t\t\t\tif (route.name && !route.meta.fullpage) {\r\n\t\t\t\t\tthis.$store.commit('pushViewTags', route)\r\n\t\t\t\t\tthis.$store.commit('pushKeepLive', route.name)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 高亮tag\r\n\t\t\tisActive(route) {\r\n\t\t\t\treturn route.fullPath === this.$route.fullPath\r\n\t\t\t},\r\n\t\t\t// 关闭tag\r\n\t\t\tcloseSelectedTag(tag, autoPushLatestView = true) {\r\n\t\t\t\tthis.$store.commit('removeViewTags', tag)\r\n\t\t\t\tthis.$store.commit('removeIframeList', tag)\r\n\t\t\t\tthis.$store.commit('removeKeepLive', tag.name)\r\n\t\t\t\tif (autoPushLatestView && this.isActive(tag)) {\r\n\t\t\t\t\tconst latestView = this.tagList.slice(-1)[0]\r\n\t\t\t\t\tif (latestView) {\r\n\t\t\t\t\t\tthis.$router.push(latestView)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.$router.push('/')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// TAB 刷新\r\n\t\t\trefreshTab() {\r\n\t\t\t\tconst nowTag = this.getCurrentTag()\r\n\t\t\t\t// 判断是否当前路由，否的话跳转\r\n\t\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\t\tif (this.$route.fullPath !== nowTag.fullPath) {\r\n\t\t\t\t\tthis.$router.push({\r\n\t\t\t\t\t\tpath: nowTag.fullPath,\r\n\t\t\t\t\t\tquery: nowTag.query\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tthis.$store.commit('refreshIframe', nowTag)\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.$store.commit('removeKeepLive', nowTag.name)\r\n\t\t\t\t\tthis.$store.commit('setRouteShow', false)\r\n\t\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\t\tthis.$store.commit('pushKeepLive', nowTag.name)\r\n\t\t\t\t\t\tthis.$store.commit('setRouteShow', true)\r\n\t\t\t\t\t})\r\n\t\t\t\t}, 0)\r\n\t\t\t},\r\n\t\t\t// TAB 关闭\r\n\t\t\tcloseTabs() {\r\n\t\t\t\tconst nowTag = this.getCurrentTag()\r\n\t\t\t\tif (!nowTag.meta.affix) {\r\n\t\t\t\t\tthis.closeSelectedTag(nowTag)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// TAB 关闭其他\r\n\t\t\tcloseOtherTabs() {\r\n\t\t\t\tconst nowTag = this.getCurrentTag()\r\n\t\t\t\t// 判断是否当前路由，否的话跳转\r\n\t\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\t\tif (this.$route.fullPath !== nowTag.fullPath) {\r\n\t\t\t\t\tthis.$router.push({\r\n\t\t\t\t\t\tpath: nowTag.fullPath,\r\n\t\t\t\t\t\tquery: nowTag.query\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tconst tags = [...this.tagList]\r\n\t\t\t\ttags.forEach((tag) => {\r\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\t\t\tif ((tag.meta && tag.meta.affix) || nowTag.fullPath === tag.fullPath) {\r\n\t\t\t\t\t\treturn true\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.closeSelectedTag(tag, false)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// TAB 最大化（包括标签栏）\r\n\t\t\tmaximize() {\r\n\t\t\t\tconst nowTag = this.getCurrentTag()\r\n\t\t\t\t// 判断是否当前路由，否的话跳转\r\n\t\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\t\tif (this.$route.fullPath !== nowTag.fullPath) {\r\n\t\t\t\t\tthis.$router.push({\r\n\t\t\t\t\t\tpath: nowTag.fullPath,\r\n\t\t\t\t\t\tquery: nowTag.query\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tdocument.getElementById('app').classList.add('main-maximize')\r\n\t\t\t},\r\n\t\t\t// 新窗口打开\r\n\t\t\topenWindow() {\r\n\t\t\t\tconst nowTag = this.getCurrentTag()\r\n\t\t\t\tconst url = nowTag.href || '/'\r\n\t\t\t\tif (!nowTag.meta.affix) {\r\n\t\t\t\t\tthis.closeSelectedTag(nowTag)\r\n\t\t\t\t}\r\n\t\t\t\twindow.open(url)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n<style lang=\"less\">\r\n\t.snowy-admin-tabs {\r\n\t\t&.ant-tabs {\r\n\t\t\tbackground: var(--component-background);\r\n\t\t\tbox-shadow: var(--header-light-shadow);\r\n\t\t\tz-index: 99;\r\n\t\t\t.ant-tabs-nav {\r\n\t\t\t\tmargin-bottom: 0;\r\n\t\t\t\t.ant-tabs-extra-content {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t}\r\n\t\t\t\t.ant-tabs-nav-wrap {\r\n\t\t\t\t\t.ant-tabs-ink-bar {\r\n\t\t\t\t\t\tvisibility: visible;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.ant-tabs-tab-with-remove {\r\n\t\t\t\t\t\tpadding-right: 4px;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.ant-tabs-tab {\r\n\t\t\t\t\t\tbackground: none;\r\n\t\t\t\t\t\theight: 40px;\r\n\t\t\t\t\t\tline-height: 40px;\r\n\t\t\t\t\t\ttransition: background-color 0.3s, color 0.3s;\r\n\t\t\t\t\t\tpadding: 0 16px;\r\n\t\t\t\t\t\tborder-radius: 0;\r\n\t\t\t\t\t\tborder: none;\r\n\t\t\t\t\t\tmargin: 0;\r\n\t\t\t\t\t\t.ant-tabs-tab-remove {\r\n\t\t\t\t\t\t\tmargin: 0;\r\n\t\t\t\t\t\t\tpadding: 0 5px;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.ant-tabs-tab-active {\r\n\t\t\t\t\t\tbackground: var(--primary-1);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.snowy-admin-tabs-drop,\r\n\t\t\t.snowy-admin-tabs-arrow,\r\n\t\t\t.ant-tabs-nav-operations .ant-tabs-nav-more {\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\twidth: 40px;\r\n\t\t\t\theight: 40px;\r\n\t\t\t\tline-height: 40px;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\t.anticon {\r\n\t\t\t\t\tfont-size: 12px;\r\n\t\t\t\t\tvertical-align: -1px;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div v-if=\"navMenus.length <= 0\" style=\"padding: 20px\">\r\n\t\t<a-alert message=\"无任何菜单\" type=\"info\" :closable=\"false\" />\r\n\t</div>\r\n\t<template v-for=\"navMenu in navMenus\" :key=\"navMenu\">\r\n\t\t<a-menu-item v-if=\"!hasChildren(navMenu)\" :key=\"navMenu.path\">\r\n\t\t\t<template v-if=\"navMenu.meta.icon\" #icon>\r\n\t\t\t\t<component :is=\"navMenu.meta.icon\" />\r\n\t\t\t</template>\r\n\t\t\t<a v-if=\"navMenu.meta && navMenu.meta.type === 'link'\" :href=\"navMenu.path\" target=\"_blank\" @click.stop=\"() => {}\">{{ navMenu.meta.title }}</a>\r\n\t\t\t<a v-else>{{ navMenu.meta.title }}</a>\r\n\t\t</a-menu-item>\r\n\t\t<a-sub-menu v-else :key=\"navMenu.path\" :title=\"navMenu.meta.title\">\r\n\t\t\t<template v-if=\"navMenu.meta.icon\" #icon>\r\n\t\t\t\t<component :is=\"navMenu.meta.icon\" />\r\n\t\t\t</template>\r\n\t\t\t<NavMenu :nav-menus=\"navMenu.children\"></NavMenu>\r\n\t\t</a-sub-menu>\r\n\t</template>\r\n</template>\r\n<script setup name=\"NavMenu\">\r\n\tconst props = defineProps({\r\n\t\tnavMenus: {\r\n\t\t\ttype: Array,\r\n\t\t\tdefault: () => []\r\n\t\t}\r\n\t})\r\n\tconst hasChildren = (item) => {\r\n\t\treturn item.children && !item.children.every((item) => item.meta.hidden)\r\n\t}\r\n</script>\r\n","<template>\r\n\t<div class=\"SmartAvatar\">\r\n\t\t<a-avatar v-if=\"$attrs.src\" v-bind=\"$attrs\" />\r\n\t\t<a-avatar v-else v-bind=\"$attrs\">\r\n\t\t\t<template #icon>\r\n\t\t\t\t<UserOutlined />\r\n\t\t\t</template>\r\n\t\t</a-avatar>\r\n\t</div>\r\n</template>\r\n<script setup name=\"SmartAvatar\"></script>\r\n<style scoped lang=\"less\">\r\n\t.SmartAvatar {\r\n\t\t.ant-avatar {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t}\r\n\t}\r\n</style>\r\n","// 钉钉jsapi\r\n// import * as dd from 'dingtalk-jsapi';\r\nexport const isDingtalk = () => {\r\n\tlet dingtalk = false\r\n\t/* if (dd && !dd.other) {\r\n\t\tdingtalk = true\r\n\t} */\r\n\treturn dingtalk\r\n}\r\nexport const isWelink = () => {\r\n\tlet welink = false\r\n\tvar ua = window.navigator.userAgent;\r\n\tif (ua.toLocaleLowerCase().indexOf(\"welink\") > -1 || ua.toLocaleLowerCase().indexOf(\"huawei\") > -1) {\r\n\t\twelink = true\r\n\t}\r\n\treturn welink\r\n}\r\nif (isWelink()) {\r\n\t!function (e, t) {\r\n\t\t\"object\" == typeof exports && \"object\" == typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(\"hwh5\", [], t) : \"object\" == typeof exports ? exports.hwh5 = t() : e.hwh5 = t()\r\n\t}(window, (function () {\r\n\t\treturn function (e) {\r\n\t\t\tvar t = {};\r\n\t\t\tfunction n(r) {\r\n\t\t\t\tif (t[r]) return t[r].exports;\r\n\t\t\t\tvar a = t[r] = {i: r, l: !1, exports: {}};\r\n\t\t\t\treturn e[r].call(a.exports, a, a.exports, n), a.l = !0, a.exports\r\n\t\t\t}\r\n\t\t\treturn n.m = e, n.c = t, n.d = function (e, t, r) {\r\n\t\t\t\tn.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: r})\r\n\t\t\t}, n.r = function (e) {\r\n\t\t\t\t\"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: \"Module\"}), Object.defineProperty(e, \"__esModule\", {value: !0})\r\n\t\t\t}, n.t = function (e, t) {\r\n\t\t\t\tif (1 & t && (e = n(e)), 8 & t) return e;\r\n\t\t\t\tif (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\r\n\t\t\t\tvar r = Object.create(null);\r\n\t\t\t\tif (n.r(r), Object.defineProperty(r, \"default\", {\r\n\t\t\t\t\tenumerable: !0,\r\n\t\t\t\t\tvalue: e\r\n\t\t\t\t}), 2 & t && \"string\" != typeof e) for (var a in e) n.d(r, a, function (t) {\r\n\t\t\t\t\treturn e[t]\r\n\t\t\t\t}.bind(null, a));\r\n\t\t\t\treturn r\r\n\t\t\t}, n.n = function (e) {\r\n\t\t\t\tvar t = e && e.__esModule ? function () {\r\n\t\t\t\t\treturn e.default\r\n\t\t\t\t} : function () {\r\n\t\t\t\t\treturn e\r\n\t\t\t\t};\r\n\t\t\t\treturn n.d(t, \"a\", t), t\r\n\t\t\t}, n.o = function (e, t) {\r\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(e, t)\r\n\t\t\t}, n.p = \"\", n(n.s = 181)\r\n\t\t}([function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\t(function (e) {\r\n\t\t\t\tn.d(t, \"g\", (function () {\r\n\t\t\t\t\treturn U\r\n\t\t\t\t})), n.d(t, \"n\", (function () {\r\n\t\t\t\t\treturn q\r\n\t\t\t\t})), n.d(t, \"s\", (function () {\r\n\t\t\t\t\treturn $\r\n\t\t\t\t})), n.d(t, \"d\", (function () {\r\n\t\t\t\t\treturn ee\r\n\t\t\t\t})), n.d(t, \"e\", (function () {\r\n\t\t\t\t\treturn G\r\n\t\t\t\t})), n.d(t, \"x\", (function () {\r\n\t\t\t\t\treturn ne\r\n\t\t\t\t})), n.d(t, \"c\", (function () {\r\n\t\t\t\t\treturn X\r\n\t\t\t\t})), n.d(t, \"h\", (function () {\r\n\t\t\t\t\treturn R\r\n\t\t\t\t})), n.d(t, \"u\", (function () {\r\n\t\t\t\t\treturn re\r\n\t\t\t\t})), n.d(t, \"w\", (function () {\r\n\t\t\t\t\treturn ae\r\n\t\t\t\t})), n.d(t, \"i\", (function () {\r\n\t\t\t\t\treturn V\r\n\t\t\t\t})), n.d(t, \"y\", (function () {\r\n\t\t\t\t\treturn Y\r\n\t\t\t\t})), n.d(t, \"B\", (function () {\r\n\t\t\t\t\treturn oe\r\n\t\t\t\t})), n.d(t, \"a\", (function () {\r\n\t\t\t\t\treturn ie\r\n\t\t\t\t})), n.d(t, \"b\", (function () {\r\n\t\t\t\t\treturn ce\r\n\t\t\t\t})), n.d(t, \"r\", (function () {\r\n\t\t\t\t\treturn ue\r\n\t\t\t\t})), n.d(t, \"p\", (function () {\r\n\t\t\t\t\treturn se\r\n\t\t\t\t})), n.d(t, \"o\", (function () {\r\n\t\t\t\t\treturn fe\r\n\t\t\t\t})), n.d(t, \"f\", (function () {\r\n\t\t\t\t\treturn le\r\n\t\t\t\t})), n.d(t, \"t\", (function () {\r\n\t\t\t\t\treturn K\r\n\t\t\t\t})), n.d(t, \"A\", (function () {\r\n\t\t\t\t\treturn pe\r\n\t\t\t\t})), n.d(t, \"j\", (function () {\r\n\t\t\t\t\treturn de\r\n\t\t\t\t})), n.d(t, \"m\", (function () {\r\n\t\t\t\t\treturn he\r\n\t\t\t\t})), n.d(t, \"q\", (function () {\r\n\t\t\t\t\treturn me\r\n\t\t\t\t})), n.d(t, \"k\", (function () {\r\n\t\t\t\t\treturn ve\r\n\t\t\t\t})), n.d(t, \"v\", (function () {\r\n\t\t\t\t\treturn J\r\n\t\t\t\t})), n.d(t, \"l\", (function () {\r\n\t\t\t\t\treturn ye\r\n\t\t\t\t})), n.d(t, \"z\", (function () {\r\n\t\t\t\t\treturn we\r\n\t\t\t\t}));\r\n\t\t\t\tvar r = n(67), a = n.n(r), o = n(68), i = n.n(o), c = n(41), u = n.n(c), s = n(51), f = n.n(s),\r\n\t\t\t\t\tl = n(70),\r\n\t\t\t\t\tp = n.n(l), d = n(20), h = n.n(d), m = n(8), v = n.n(m), g = n(23), y = n.n(g), b = n(13),\r\n\t\t\t\t\tw = n.n(b),\r\n\t\t\t\t\tx = n(4), k = n.n(x), N = n(1), _ = n.n(N), S = n(3), C = n.n(S), O = n(2), I = n.n(O), j = n(28),\r\n\t\t\t\t\tE = n(71), L = n(16), P = n.n(L), H = n(12), T = n.n(H), A = n(32), F = n(7), B = n(72);\r\n\t\t\t\tfunction W(e, t) {\r\n\t\t\t\t\tvar n;\r\n\t\t\t\t\tif (void 0 === u.a || null == e[i.a]) {\r\n\t\t\t\t\t\tif (w()(e) || (n = function (e, t) {\r\n\t\t\t\t\t\t\tif (!e) return;\r\n\t\t\t\t\t\t\tif (\"string\" == typeof e) return D(e, t);\r\n\t\t\t\t\t\t\tvar n = Object.prototype.toString.call(e).slice(8, -1);\r\n\t\t\t\t\t\t\t\"Object\" === n && e.constructor && (n = e.constructor.name);\r\n\t\t\t\t\t\t\tif (\"Map\" === n || \"Set\" === n) return f()(e);\r\n\t\t\t\t\t\t\tif (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return D(e, t)\r\n\t\t\t\t\t\t}(e)) || t && e && \"number\" == typeof e.length) {\r\n\t\t\t\t\t\t\tn && (e = n);\r\n\t\t\t\t\t\t\tvar r = 0, o = function () {\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\ts: o, n: function () {\r\n\t\t\t\t\t\t\t\t\treturn r >= e.length ? {done: !0} : {done: !1, value: e[r++]}\r\n\t\t\t\t\t\t\t\t}, e: function (e) {\r\n\t\t\t\t\t\t\t\t\tthrow e\r\n\t\t\t\t\t\t\t\t}, f: o\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthrow new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar c, s = !0, l = !1;\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\ts: function () {\r\n\t\t\t\t\t\t\tn = a()(e)\r\n\t\t\t\t\t\t}, n: function () {\r\n\t\t\t\t\t\t\tvar e = n.next();\r\n\t\t\t\t\t\t\treturn s = e.done, e\r\n\t\t\t\t\t\t}, e: function (e) {\r\n\t\t\t\t\t\t\tl = !0, c = e\r\n\t\t\t\t\t\t}, f: function () {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\ts || null == n.return || n.return()\r\n\t\t\t\t\t\t\t} finally {\r\n\t\t\t\t\t\t\t\tif (l) throw c\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tfunction D(e, t) {\r\n\t\t\t\t\t(null == t || t > e.length) && (t = e.length);\r\n\t\t\t\t\tfor (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];\r\n\t\t\t\t\treturn r\r\n\t\t\t\t}\r\n\t\t\t\tvar M = function (e) {\r\n\t\t\t\t\treturn e && \"string\" == typeof e ? j.a.encode(e) : \"\"\r\n\t\t\t\t}, U = function (e) {\r\n\t\t\t\t\treturn e && \"string\" == typeof e ? j.a.decode(e) : \"\"\r\n\t\t\t\t}, R = function () {\r\n\t\t\t\t}, J = function (e) {\r\n\t\t\t\t\treturn Object(e) === e\r\n\t\t\t\t}, G = {}, V = {}, z = null, q = function (t) {\r\n\t\t\t\t\treturn new I.a(function () {\r\n\t\t\t\t\t\tvar n = C()(_.a.mark((function n(r) {\r\n\t\t\t\t\t\t\treturn _.a.wrap((function (n) {\r\n\t\t\t\t\t\t\t\tfor (; ;) switch (n.prev = n.next) {\r\n\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\tif (!z || t) {\r\n\t\t\t\t\t\t\t\t\t\t\tn.next = 3;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\treturn r(z), n.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\treturn n.next = 5, e.HWH5 && e.HWH5.wecodeInfo && e.HWH5.wecodeInfo({common_internal_call: !0});\r\n\t\t\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\t\t\tz = n.sent, r(z);\r\n\t\t\t\t\t\t\t\t\tcase 7:\r\n\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\treturn n.stop()\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}), n)\r\n\t\t\t\t\t\t})));\r\n\t\t\t\t\t\treturn function (e) {\r\n\t\t\t\t\t\t\treturn n.apply(this, arguments)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}())\r\n\t\t\t\t}, K = function (e) {\r\n\t\t\t\t\tvar t = k()({funcName: \"hwa\", data: e});\r\n\t\t\t\t\tHWH5.callMethod(t)\r\n\t\t\t\t}, Q = function (e) {\r\n\t\t\t\t\tvar t = {\r\n\t\t\t\t\t\teventId: \"sre_welink_Wecode_Exception\",\r\n\t\t\t\t\t\textendData: k()({id: new Date - 0, code: e.code, msg: e.msg, detail: e.detail})\r\n\t\t\t\t\t};\r\n\t\t\t\t\tK(t)\r\n\t\t\t\t}, $ = function (t, n, r, a, o, i, c) {\r\n\t\t\t\t\treturn new I.a(function () {\r\n\t\t\t\t\t\tvar u = C()(_.a.mark((function u(s) {\r\n\t\t\t\t\t\t\tvar f, l, p;\r\n\t\t\t\t\t\t\treturn _.a.wrap((function (u) {\r\n\t\t\t\t\t\t\t\tfor (; ;) switch (u.prev = u.next) {\r\n\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\tif (!n || !n.common_internal_call) {\r\n\t\t\t\t\t\t\t\t\t\t\tu.next = 2;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\treturn u.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\t\t\tif (\"wecodeInfo\" === r) {\r\n\t\t\t\t\t\t\t\t\t\t\tu.next = 13;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif (!e.HWH5 || e.HWH5.wecodeInfo) {\r\n\t\t\t\t\t\t\t\t\t\t\tu.next = 12;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\treturn u.next = 6, me();\r\n\t\t\t\t\t\t\t\t\tcase 6:\r\n\t\t\t\t\t\t\t\t\t\treturn f = u.sent, l = f.appId, p = {\r\n\t\t\t\t\t\t\t\t\t\t\teventId: \"WELINK_ONLINE_JSAPI_HWA\",\r\n\t\t\t\t\t\t\t\t\t\t\teventLabel: \"WeLink online JSAPI HWA\",\r\n\t\t\t\t\t\t\t\t\t\t\textendData: k()({\r\n\t\t\t\t\t\t\t\t\t\t\t\tapiname: a,\r\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: o || void 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\tisok: !(\"back\" === t && o),\r\n\t\t\t\t\t\t\t\t\t\t\t\tjssdk: E,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttime: new Date - 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\turi: e.location.href,\r\n\t\t\t\t\t\t\t\t\t\t\t\tappId: l || \"\",\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype: t,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcallbackId: i || void 0\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}, K(p), \"back\" === t && o && o.data && Q({\r\n\t\t\t\t\t\t\t\t\t\t\tcode: \"70003\",\r\n\t\t\t\t\t\t\t\t\t\t\tmsg: \"轻应用调用JSAPI异常\",\r\n\t\t\t\t\t\t\t\t\t\t\tdetail: {apiname: a, appId: l || \"\", url: e.location.href, payload: o.data}\r\n\t\t\t\t\t\t\t\t\t\t}), u.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\tcase 12:\r\n\t\t\t\t\t\t\t\t\t\tq().then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tvar n = {\r\n\t\t\t\t\t\t\t\t\t\t\t\teventId: \"WELINK_JSAPI_HWA\",\r\n\t\t\t\t\t\t\t\t\t\t\t\teventLabel: \"WeLink JSAPI HWA\",\r\n\t\t\t\t\t\t\t\t\t\t\t\textendData: k()({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tapiname: a,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: o || void 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisok: !(\"back\" === t && o),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tjssdk: E,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttime: new Date - 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tappId: e.appId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: t,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcallbackId: i || void 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tschema: c || void 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t\tK(n), \"back\" === t && o && o.data && Q({\r\n\t\t\t\t\t\t\t\t\t\t\t\tcode: \"70002\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tmsg: \"We码调用JSAPI异常\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: {apiname: a, appId: e.appId, payload: o.data}\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\tcase 13:\r\n\t\t\t\t\t\t\t\t\t\ts();\r\n\t\t\t\t\t\t\t\t\tcase 14:\r\n\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\treturn u.stop()\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}), u)\r\n\t\t\t\t\t\t})));\r\n\t\t\t\t\t\treturn function (e) {\r\n\t\t\t\t\t\t\treturn u.apply(this, arguments)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}())\r\n\t\t\t\t}, Y = function (e, t, n, r) {\r\n\t\t\t\t\tq().then((function (a) {\r\n\t\t\t\t\t\tvar o = {\r\n\t\t\t\t\t\t\teventId: \"WELINK_JSAPI_HWA_FETCH\",\r\n\t\t\t\t\t\t\teventLabel: \"WeLink JSAPI HWA FETCH\",\r\n\t\t\t\t\t\t\textendData: k()({apiName: e, url: t, time: n, status: r, appId: a.appId})\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tK(o)\r\n\t\t\t\t\t}))\r\n\t\t\t\t}, X = function (e, t) {\r\n\t\t\t\t\tvar n = {};\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tn = JSON.parse(e)\r\n\t\t\t\t\t} catch (t) {\r\n\t\t\t\t\t\tconsole.log(\"error occured in callback Native\", e, t)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar r = U(n.data), a = J(r);\r\n\t\t\t\t\tif (\"string\" == typeof r && \"undefined\" !== r) try {\r\n\t\t\t\t\t\tr = JSON.parse(r), a = J(r)\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\ta = !1\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn a && (r = function e(t, n) {\r\n\t\t\t\t\t\tvar r = t;\r\n\t\t\t\t\t\treturn r.data ? r.data = e(r.data, n) : r = w()(r) ? r.map((function (t) {\r\n\t\t\t\t\t\t\treturn e(t, n)\r\n\t\t\t\t\t\t})) : te(r, B.a, n), r\r\n\t\t\t\t\t}(r, t), r = M(k()(r)), n.data = r), n\r\n\t\t\t\t}, Z = function (e, t) {\r\n\t\t\t\t\tvar n = {}, r = [].concat(y()(P.a), y()(T.a));\r\n\t\t\t\t\treturn v()(e).forEach((function (a) {\r\n\t\t\t\t\t\tvar o = !1;\r\n\t\t\t\t\t\tr.forEach((function (r) {\r\n\t\t\t\t\t\t\ta !== r.nativeName && a !== r.schema || (function (e) {\r\n\t\t\t\t\t\t\t\tvar t = [];\r\n\t\t\t\t\t\t\t\treturn [].concat(y()(P.a), y()(T.a)).forEach((function (n) {\r\n\t\t\t\t\t\t\t\t\te !== n.nativeName && e !== n.schema || t.push(n)\r\n\t\t\t\t\t\t\t\t})), t\r\n\t\t\t\t\t\t\t}(a).length > 1 ? t.indexOf(r.apiName) >= 0 && (n[r.apiName] = e[a]) : n[r.apiName] = e[a], o = !0)\r\n\t\t\t\t\t\t})), o || (n[a] = e[a])\r\n\t\t\t\t\t})), n\r\n\t\t\t\t}, ee = function (e, t, n, r) {\r\n\t\t\t\t\tvar a = t;\r\n\t\t\t\t\t\"config\" === e.funcName ? (a.data = JSON.parse(a.data), G.status = a.data.status, G.errorCode = a.data.errorCode, G.msg = a.data.msg, \"1\" === a.data.status ? (Object(A.a)(\"__config_ready__\"), $(\"back\", e.data, e.funcName, e.apiName, void 0, r)) : (Object(A.a)(\"__config_error__\", G), $(\"back\", e.data, e.funcName, e.apiName, a.data, r))) : (a.data = JSON.parse(a.data), a.data.jsApiList = Z(a.data.jsApiList, e.data.apiNameList), n(a.data))\r\n\t\t\t\t}, te = function (e, t, n) {\r\n\t\t\t\t\tvar r = e;\r\n\t\t\t\t\treturn t.forEach((function (t) {\r\n\t\t\t\t\t\tvar n = t.origin, a = t.target;\r\n\t\t\t\t\t\tvoid 0 !== e[n] && void 0 === r[a] && (r[a] = e[n])\r\n\t\t\t\t\t})), \"function\" == typeof F.a[n] ? F.a[n](r) : r\r\n\t\t\t\t}, ne = function (e, t) {\r\n\t\t\t\t\tvar n = t;\r\n\t\t\t\t\treturn B.b.forEach((function (r) {\r\n\t\t\t\t\t\tvar a = r.funcName, o = r.mapping;\r\n\t\t\t\t\t\ta === e && (n = te(t, o))\r\n\t\t\t\t\t})), n\r\n\t\t\t\t}, re = function () {\r\n\t\t\t\t\tif (!e.navigator) return !1;\r\n\t\t\t\t\tvar t = e.navigator.userAgent || e.navigator.vendor || e.opera;\r\n\t\t\t\t\treturn !(!/iPad|iPhone|iPod|Mac/.test(t) || e.MSStream)\r\n\t\t\t\t}, ae = function () {\r\n\t\t\t\t\tif (!e.navigator) return !1;\r\n\t\t\t\t\tvar t = e.navigator.userAgent || e.navigator.vendor || e.opera;\r\n\t\t\t\t\treturn !!/cloudlink welink workplace/.test(t)\r\n\t\t\t\t};\r\n\t\t\t\tfunction oe(e) {\r\n\t\t\t\t\treturn v()(e).map((function (t) {\r\n\t\t\t\t\t\treturn \"\".concat(encodeURIComponent(t), \"=\").concat(encodeURIComponent(e[t]))\r\n\t\t\t\t\t})).join(\"&\")\r\n\t\t\t\t}\r\n\t\t\t\tvar ie = function (e) {\r\n\t\t\t\t\tfor (var t = \"\", n = new Uint8Array(e), r = n.byteLength, a = 0; a < r; a += 1) t += String.fromCharCode(n[a]);\r\n\t\t\t\t\treturn M(t)\r\n\t\t\t\t}, ce = function (e) {\r\n\t\t\t\t\tfor (var t = window.atob(e), n = t.length, r = new Uint8Array(n), a = 0; a < n; a += 1) r[a] = t.charCodeAt(a);\r\n\t\t\t\t\treturn r.buffer\r\n\t\t\t\t}, ue = function (e) {\r\n\t\t\t\t\tvar t = e;\r\n\t\t\t\t\treturn t.headers && t.headers.get || !t.headers || (t.headers.get = function (e) {\r\n\t\t\t\t\t\tif (\"string\" != typeof e) return \"\";\r\n\t\t\t\t\t\tvar n = e.toLocaleLowerCase(), r = v()(t.headers), a = \"\";\r\n\t\t\t\t\t\treturn r.forEach((function (e) {\r\n\t\t\t\t\t\t\tif (\"set-cookie\" === n) re() && t.headers[\"Set-Cookie\"] ? a = t.headers[\"Set-Cookie\"].join(\";\") : t.headers[\"set-cookie\"] && (a = t.headers[\"set-cookie\"].join(\",\")); else if (n === e.toLocaleLowerCase()) if (w()(t.headers[e]) && 1 === t.headers[e].length) {\r\n\t\t\t\t\t\t\t\ta = t.headers[e][0]\r\n\t\t\t\t\t\t\t} else a = t.headers[e]\r\n\t\t\t\t\t\t})), a\r\n\t\t\t\t\t}), t\r\n\t\t\t\t};\r\n\t\t\t\tvar se = new function () {\r\n\t\t\t\t\tvar e = null;\r\n\t\t\t\t\tthis.getGlobalUserInfo = function () {\r\n\t\t\t\t\t\treturn e && e.corpUserId ? I.a.resolve(e) : new I.a((function (t) {\r\n\t\t\t\t\t\t\tHWH5.getUserInfo({common_internal_call: !0}).then((function (n) {\r\n\t\t\t\t\t\t\t\tt(e = n)\r\n\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tvar fe = new function () {\r\n\t\t\t\t\tvar e = null;\r\n\t\t\t\t\tthis.getGlobalAppInfo = function () {\r\n\t\t\t\t\t\treturn e && e.language ? I.a.resolve(e) : new I.a((function (t) {\r\n\t\t\t\t\t\t\tHWH5.getAppInfo().then((function (n) {\r\n\t\t\t\t\t\t\t\tt(e = n)\r\n\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tfunction le(e) {\r\n\t\t\t\t\tvar t = e.split(\";\"), n = {};\r\n\t\t\t\t\treturn t.forEach((function (e) {\r\n\t\t\t\t\t\tvar t = e.split(\"=\");\r\n\t\t\t\t\t\tn[t[0]] = t[1]\r\n\t\t\t\t\t})), n\r\n\t\t\t\t}\r\n\t\t\t\tfunction pe(e) {\r\n\t\t\t\t\tvar t = JSON.parse(e);\r\n\t\t\t\t\treturn t.totalBytesSent ? (t.totalBytesWritten = t.totalBytesSent, t.totalBytesExpectedToWrite = t.totalBytesExpectedToWrite ? t.totalBytesExpectedToWrite : t.totalBytesExpectedToSend) : t.totalBytesWritten && (t.totalBytesSent = t.totalBytesWritten, t.totalBytesExpectedToSend = t.totalBytesExpectedToSend ? t.totalBytesExpectedToSend : t.totalBytesExpectedToWrite), k()(t)\r\n\t\t\t\t}\r\n\t\t\t\tfunction de(e) {\r\n\t\t\t\t\tvar t = null;\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tt = JSON.parse(e)\r\n\t\t\t\t\t} catch (t) {\r\n\t\t\t\t\t\treturn e\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn F.b.forEach((function (e) {\r\n\t\t\t\t\t\tvoid 0 === t[e.origin] || t[e.target] || (t[e.target] = \"string\" === e.type ? \"\".concat(t[e.origin]) : t[e.origin])\r\n\t\t\t\t\t})), k()(t)\r\n\t\t\t\t}\r\n\t\t\t\tvar he = function (e) {\r\n\t\t\t\t\tvar t = function (t) {\r\n\t\t\t\t\t\treturn e.substring(e.length - t.length, e.length) === t\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn t(\".dev.debug\") ? \"dev\" : t(\".debug\") ? \"debug\" : \"prod\"\r\n\t\t\t\t};\r\n\t\t\t\tfunction me() {\r\n\t\t\t\t\tif (z && z.appId) return I.a.resolve(z);\r\n\t\t\t\t\treturn new I.a((function (e) {\r\n\t\t\t\t\t\tvar t = \"h5_cb\".concat(h()()), n = k()({funcName: \"wecodeInfo\", callbackId: t});\r\n\t\t\t\t\t\tHWH5.callMethod(n), function (e, t) {\r\n\t\t\t\t\t\t\tvar n = HWH5.callbackNative;\r\n\t\t\t\t\t\t\tHWH5.callbackNative = function (r) {\r\n\t\t\t\t\t\t\t\tJSON.parse(r).callbackId === e ? t(r) : n(r)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}(t, (function (t) {\r\n\t\t\t\t\t\t\tvar n = {};\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tn = JSON.parse(t)\r\n\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\tconsole.log(\"error occured in callback Native\", t, e)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvar r = U(n.data), a = null;\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\ta = JSON.parse(r)\r\n\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\ta = null\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tz = a, e(a)\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}))\r\n\t\t\t\t}\r\n\t\t\t\tfunction ve(e) {\r\n\t\t\t\t\treturn ge.apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t\tfunction ge() {\r\n\t\t\t\t\treturn (ge = C()(_.a.mark((function e(t) {\r\n\t\t\t\t\t\tvar n, r, a, o, i, c;\r\n\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\tif (n = t, !w()(n)) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 21;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tr = W(n.entries()), e.prev = 3, r.s();\r\n\t\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\t\tif ((a = r.n()).done) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 12;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn o = p()(a.value, 2), i = o[0], c = o[1], e.next = 9, ve(c);\r\n\t\t\t\t\t\t\t\tcase 9:\r\n\t\t\t\t\t\t\t\t\tn[i] = e.sent;\r\n\t\t\t\t\t\t\t\tcase 10:\r\n\t\t\t\t\t\t\t\t\te.next = 5;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 12:\r\n\t\t\t\t\t\t\t\t\te.next = 17;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 14:\r\n\t\t\t\t\t\t\t\t\te.prev = 14, e.t0 = e.catch(3), r.e(e.t0);\r\n\t\t\t\t\t\t\t\tcase 17:\r\n\t\t\t\t\t\t\t\t\treturn e.prev = 17, r.f(), e.finish(17);\r\n\t\t\t\t\t\t\t\tcase 20:\r\n\t\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", n);\r\n\t\t\t\t\t\t\t\tcase 21:\r\n\t\t\t\t\t\t\t\t\treturn e.next = 23, HWH5.getAbsolutePath({filePath: n}).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\treturn n = e.filePath ? e.filePath : e.fullFilePath\r\n\t\t\t\t\t\t\t\t\t})).catch((function () {\r\n\t\t\t\t\t\t\t\t\t\treturn n\r\n\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\tcase 23:\r\n\t\t\t\t\t\t\t\t\treturn n = e.sent, e.abrupt(\"return\", n);\r\n\t\t\t\t\t\t\t\tcase 25:\r\n\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}), e, null, [[3, 14, 17, 20]])\r\n\t\t\t\t\t})))).apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t\tfunction ye(e) {\r\n\t\t\t\t\treturn be.apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t\tfunction be() {\r\n\t\t\t\t\treturn (be = C()(_.a.mark((function e(t) {\r\n\t\t\t\t\t\tvar n, r, a, o, i, c, u;\r\n\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\tif (t && w()(t)) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 3;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn console.log(\"getSelectedDataById ids error\"), e.abrupt(\"return\", t);\r\n\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\tn = [], r = W(t.entries()), e.prev = 5, r.s();\r\n\t\t\t\t\t\t\t\tcase 7:\r\n\t\t\t\t\t\t\t\t\tif ((a = r.n()).done) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 16;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn o = p()(a.value, 2), o[0], i = o[1], e.next = 11, HWH5.getSelectedDataById({\r\n\t\t\t\t\t\t\t\t\t\tbundleName: \"\",\r\n\t\t\t\t\t\t\t\t\t\tselectedId: i\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tcase 11:\r\n\t\t\t\t\t\t\t\t\tc = e.sent, u = c.data, n = n.concat(JSON.parse(u));\r\n\t\t\t\t\t\t\t\tcase 14:\r\n\t\t\t\t\t\t\t\t\te.next = 7;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 16:\r\n\t\t\t\t\t\t\t\t\te.next = 21;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 18:\r\n\t\t\t\t\t\t\t\t\te.prev = 18, e.t0 = e.catch(5), r.e(e.t0);\r\n\t\t\t\t\t\t\t\tcase 21:\r\n\t\t\t\t\t\t\t\t\treturn e.prev = 21, r.f(), e.finish(21);\r\n\t\t\t\t\t\t\t\tcase 24:\r\n\t\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", n);\r\n\t\t\t\t\t\t\t\tcase 25:\r\n\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}), e, null, [[5, 18, 21, 24]])\r\n\t\t\t\t\t})))).apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t\tfunction we(e) {\r\n\t\t\t\t\tvar t = e, n = v()(t);\r\n\t\t\t\t\treturn t && 0 !== n.length ? (n.forEach((function (e) {\r\n\t\t\t\t\t\tt[e] = t[e] ? ce(t[e]) : t[e]\r\n\t\t\t\t\t})), t) : t\r\n\t\t\t\t}\r\n\t\t\t}).call(this, n(40))\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(130)\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(109)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(2);\r\n\t\t\tfunction a(e, t, n, a, o, i, c) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tvar u = e[i](c), s = u.value\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treturn void n(e)\r\n\t\t\t\t}\r\n\t\t\t\tu.done ? t(s) : r.resolve(s).then(a, o)\r\n\t\t\t}\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn function () {\r\n\t\t\t\t\tvar t = this, n = arguments;\r\n\t\t\t\t\treturn new r((function (r, o) {\r\n\t\t\t\t\t\tvar i = e.apply(t, n);\r\n\t\t\t\t\t\tfunction c(e) {\r\n\t\t\t\t\t\t\ta(i, r, o, c, u, \"next\", e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfunction u(e) {\r\n\t\t\t\t\t\t\ta(i, r, o, c, u, \"throw\", e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tc(void 0)\r\n\t\t\t\t\t}))\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(135)\r\n\t\t}, function (e, t, n) {\r\n\t\t\t(function (t) {\r\n\t\t\t\tvar n;\r\n\t\t\t\tn = \"undefined\" != typeof window ? window : void 0 !== t ? t : \"undefined\" != typeof self ? self : {}, e.exports = n\r\n\t\t\t}).call(this, n(40))\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n = e.exports = {version: \"2.6.11\"};\r\n\t\t\t\"number\" == typeof __e && (__e = n)\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.d(t, \"d\", (function () {\r\n\t\t\t\treturn o\r\n\t\t\t})), n.d(t, \"a\", (function () {\r\n\t\t\t\treturn u\r\n\t\t\t})), n.d(t, \"e\", (function () {\r\n\t\t\t\treturn s\r\n\t\t\t})), n.d(t, \"f\", (function () {\r\n\t\t\t\treturn f\r\n\t\t\t})), n.d(t, \"c\", (function () {\r\n\t\t\t\treturn i\r\n\t\t\t})), n.d(t, \"b\", (function () {\r\n\t\t\t\treturn l\r\n\t\t\t}));\r\n\t\t\tvar r = n(21), a = n.n(r),\r\n\t\t\t\to = [\"selectContact\", \"selectContacts\", \"contactInfo\", \"getContactInfo\", \"selectUsers\", \"userInfo\", \"getUserInfo\"],\r\n\t\t\t\ti = {userInfo: {}, appId: \"\"}, c = function (e) {\r\n\t\t\t\t\tvar t = e;\r\n\t\t\t\t\treturn i.userInfo = a()({}, e), t.mobileNumber && (t.mobileNumber = \"\"), t\r\n\t\t\t\t}, u = {\r\n\t\t\t\t\tselectUsers: function (e) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tcorpUserId: e.corpUserId,\r\n\t\t\t\t\t\t\tuserId: e.userId,\r\n\t\t\t\t\t\t\tuserNameCn: e.userNameCn,\r\n\t\t\t\t\t\t\tuserNameEn: e.userNameEn,\r\n\t\t\t\t\t\t\tdeptCode: e.deptCode,\r\n\t\t\t\t\t\t\tdeptLevel: e.deptLevel,\r\n\t\t\t\t\t\t\tdeptL1Code: e.deptL1Code,\r\n\t\t\t\t\t\t\tdeptL1Name: e.deptL1Name,\r\n\t\t\t\t\t\t\tdeptName: e.deptName,\r\n\t\t\t\t\t\t\tmobileNumber: \"\",\r\n\t\t\t\t\t\t\tuserType: e.userType,\r\n\t\t\t\t\t\t\tpinyinName: e.pinyinName,\r\n\t\t\t\t\t\t\tgender: e.gender,\r\n\t\t\t\t\t\t\tsignature: e.signature,\r\n\t\t\t\t\t\t\tuserEmail: e.userEmail,\r\n\t\t\t\t\t\t\tworkPlace: e.workPlace\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, getUserInfo: c, userInfo: c, selectContacts: function (e) {\r\n\t\t\t\t\t\tvar t = e;\r\n\t\t\t\t\t\treturn t.mobileCodeAll && (t.mobileCodeAll = \"\"), t.mobileNumber && (t.mobileNumber = \"\"), t.personAssistantAll && (t.personAssistantAll = \"\"), t.personMobileCode && (t.personMobileCode = \"\"), t\r\n\t\t\t\t\t}\r\n\t\t\t\t}, s = {required: 1, number: 2, string: 4, object: 8, array: 16, null: 32, boolean: 64, undefined: 128},\r\n\t\t\t\tf = {\r\n\t\t\t\t\tscanCode: {needResult: 7},\r\n\t\t\t\t\tfetch: {url: 5, method: 5, body: 4, headers: 12},\r\n\t\t\t\t\tchooseImage: {\r\n\t\t\t\t\t\tflag: 6,\r\n\t\t\t\t\t\timagePickerMode: 4,\r\n\t\t\t\t\t\tmaxSelectedCount: 6,\r\n\t\t\t\t\t\tshowOrigin: 64,\r\n\t\t\t\t\t\tbtntxtEN: 4,\r\n\t\t\t\t\t\tbtntxtCN: 4,\r\n\t\t\t\t\t\ttitleEN: 4,\r\n\t\t\t\t\t\ttitleCN: 4,\r\n\t\t\t\t\t\tcameraFacing: 6,\r\n\t\t\t\t\t\tshowShadow: 6,\r\n\t\t\t\t\t\tcompress: 6\r\n\t\t\t\t\t},\r\n\t\t\t\t\tuploadFile: {\r\n\t\t\t\t\t\tserverType: 7,\r\n\t\t\t\t\t\tfilePath: 21,\r\n\t\t\t\t\t\tserverUrl: 4,\r\n\t\t\t\t\t\ttokenUrl: 4,\r\n\t\t\t\t\t\tformData: 4,\r\n\t\t\t\t\t\tzip: 64,\r\n\t\t\t\t\t\tdocType: 4,\r\n\t\t\t\t\t\tname: 4,\r\n\t\t\t\t\t\theaders: 12,\r\n\t\t\t\t\t\ttimeout: 6,\r\n\t\t\t\t\t\tprogress: 6\r\n\t\t\t\t\t},\r\n\t\t\t\t\tdownloadToMDM: {tokenUrl: 5, docId: 5, docVersion: 4, filePath: 5, progress: 6},\r\n\t\t\t\t\tdownloadFile: {url: 5, header: 4, filePath: 4},\r\n\t\t\t\t\topenFile: {filePath: 5},\r\n\t\t\t\t\tfilePicker: {\r\n\t\t\t\t\t\tfileType: 17,\r\n\t\t\t\t\t\timagePickerMode: 4,\r\n\t\t\t\t\t\tmaxSelectedCount: 6,\r\n\t\t\t\t\t\tshowOrigin: 64,\r\n\t\t\t\t\t\tbtntxtCN: 4,\r\n\t\t\t\t\t\tbtntxtEN: 4\r\n\t\t\t\t\t},\r\n\t\t\t\t\tremoveFile: {path: 5},\r\n\t\t\t\t\tencryptFile: {filePath: 5},\r\n\t\t\t\t\texistInMDM: {filePath: 5},\r\n\t\t\t\t\tpreviewImage: {index: 7, imageArray: 5, watermark: 64},\r\n\t\t\t\t\tgetAbsolutePath: {filePath: 5},\r\n\t\t\t\t\tselectedFiles: {appId: 5, packageName: 5, needCallback: 65},\r\n\t\t\t\t\tgetOneBoxFiles: {\r\n\t\t\t\t\t\tappId: 5,\r\n\t\t\t\t\t\tpackageName: 5,\r\n\t\t\t\t\t\townerId: 4,\r\n\t\t\t\t\t\tfolderId: 4,\r\n\t\t\t\t\t\torderField: 4,\r\n\t\t\t\t\t\torderDirection: 4\r\n\t\t\t\t\t},\r\n\t\t\t\t\tuploadFileToOneBox: {appId: 5, packageName: 5, ownerId: 5, folderId: 4, localFilePath: 5},\r\n\t\t\t\t\tuploadOneBoxFileOperation: {taskId: 5, action: 5},\r\n\t\t\t\t\tdownloadFileFromOneBox: {appId: 5, packageName: 5, ownerId: 5, fileId: 5},\r\n\t\t\t\t\tdownloadOneBoxFileOperation: {taskId: 5, action: 5},\r\n\t\t\t\t\topenOneBoxFile: {appId: 5, packageName: 5, ownerId: 5, fileId: 5},\r\n\t\t\t\t\tsaveOneBoxToMyFiles: {\r\n\t\t\t\t\t\tappId: 5,\r\n\t\t\t\t\t\tpackageName: 5,\r\n\t\t\t\t\t\townerId: 5,\r\n\t\t\t\t\t\tfileId: 5,\r\n\t\t\t\t\t\tisFolder: 5,\r\n\t\t\t\t\t\tneedCallback: 3\r\n\t\t\t\t\t},\r\n\t\t\t\t\timportOneBoxFromMyFiles: {appId: 5, packageName: 5, ownerId: 5, fileId: 5, needCallback: 3},\r\n\t\t\t\t\tdeleteOneBoxFile: {appId: 5, packageName: 5, ownerId: 5, fileId: 5, isFolder: 5, needCallback: 3},\r\n\t\t\t\t\tshareOneBoxFile: {appId: 5, packageName: 5, ownerId: 5, fileId: 5, needCallback: 3},\r\n\t\t\t\t\tselectContacts: {\r\n\t\t\t\t\t\tneedCallback: 65,\r\n\t\t\t\t\t\tisSingleSelection: 64,\r\n\t\t\t\t\t\tminimum: 2,\r\n\t\t\t\t\t\tmaximum: 2,\r\n\t\t\t\t\t\tmode: 2,\r\n\t\t\t\t\t\tdataSourceType: 2,\r\n\t\t\t\t\t\tsearchKeyword: 4,\r\n\t\t\t\t\t\ttitle: 4,\r\n\t\t\t\t\t\tusers: 4,\r\n\t\t\t\t\t\tsupportPortals: 4,\r\n\t\t\t\t\t\tfixedFlag: 4\r\n\t\t\t\t\t},\r\n\t\t\t\t\tselectUsers: {\r\n\t\t\t\t\t\tneedCallback: 65,\r\n\t\t\t\t\t\tisSingleSelection: 64,\r\n\t\t\t\t\t\tminimum: 2,\r\n\t\t\t\t\t\tmaximum: 2,\r\n\t\t\t\t\t\tmode: 2,\r\n\t\t\t\t\t\tdataSourceType: 2,\r\n\t\t\t\t\t\tsearchKeyword: 4,\r\n\t\t\t\t\t\ttitle: 4,\r\n\t\t\t\t\t\tusers: 4,\r\n\t\t\t\t\t\tsupportPortals: 4,\r\n\t\t\t\t\t\tfixedFlag: 4\r\n\t\t\t\t\t},\r\n\t\t\t\t\tgetContactInfo: {userIds: 4, corpUserIds: 4, userEmails: 4},\r\n\t\t\t\t\topenUserProfile: {userId: 4, corpUserId: 4, userEmail: 4},\r\n\t\t\t\t\tcreateIMGroupChat: {groupType: 3, groupMembers: 5},\r\n\t\t\t\t\tgetIMGroupList: {groupIDList: 4},\r\n\t\t\t\t\topenIMChat: {chatID: 5, chatType: 5, chatName: 4},\r\n\t\t\t\t\tselectGroupMembers: {groupId: 5, isRadio: 5, needCallback: 65},\r\n\t\t\t\t\topenAudioConference: {members: 5},\r\n\t\t\t\t\taudioConferenceDirectly: {userList: 5},\r\n\t\t\t\t\tmakePhoneCall: {dialNumber: 5, makeWay: 3},\r\n\t\t\t\t\tsendIMTextMessage: {toId: 5, isGroup: 5, content: 5},\r\n\t\t\t\t\tgetLocation: {type: 2},\r\n\t\t\t\t\tsendIMCard: {\r\n\t\t\t\t\t\treceiver: 5,\r\n\t\t\t\t\t\treceiveType: 5,\r\n\t\t\t\t\t\tcardType: 5,\r\n\t\t\t\t\t\treceiveName: 4,\r\n\t\t\t\t\t\ttitle: 5,\r\n\t\t\t\t\t\tfrom: 5,\r\n\t\t\t\t\t\tsubTitle: 5,\r\n\t\t\t\t\t\ticonURL: 5,\r\n\t\t\t\t\t\tsourceUrl: 5,\r\n\t\t\t\t\t\tiOpenURI: 4,\r\n\t\t\t\t\t\taOpenURI: 4,\r\n\t\t\t\t\t\thandlerH5UriIOS: 4,\r\n\t\t\t\t\t\thandlerH5UriAndroid: 4,\r\n\t\t\t\t\t\tisPCDisplay: 7,\r\n\t\t\t\t\t\tfileID: 4,\r\n\t\t\t\t\t\townerID: 4,\r\n\t\t\t\t\t\tformat: 4,\r\n\t\t\t\t\t\tfileSize: 2,\r\n\t\t\t\t\t\tisGotoChat: 4\r\n\t\t\t\t\t},\r\n\t\t\t\t\tshare: {type: 5, data: 9},\r\n\t\t\t\t\topenWebview: {uri: 5},\r\n\t\t\t\t\tnavigateToWecode: {uri: 5, extraData: 8},\r\n\t\t\t\t\tnavigateBackWecode: {extraData: 9},\r\n\t\t\t\t\tsetStorage: {key: 5, data: 5},\r\n\t\t\t\t\tshowToast: {msg: 5, type: 5},\r\n\t\t\t\t\tloading: {status: 65},\r\n\t\t\t\t\tsetNavigationBarTitle: {title: 5},\r\n\t\t\t\t\trecordAudio: {type: 5, sampleRate: 4, format: 4, encodeBitRate: 4, numberOfChannels: 4},\r\n\t\t\t\t\tplayMedia: {url: 5, title: 4},\r\n\t\t\t\t\tplayAudio: {url: 5, imageUrl: 4, title: 4, desc: 4, startTime: 2},\r\n\t\t\t\t\tcanIUse: {schema: 17},\r\n\t\t\t\t\tgetMeetingSchedules: {appId: 5, searchBeginTimeMS: 2, searchEndTimeMS: 2},\r\n\t\t\t\t\tlog: {content: 5, type: 5},\r\n\t\t\t\t\thwa: {eventId: 5, eventLabel: 5, extendData: 5},\r\n\t\t\t\t\tenableIHelp: {queryString: 4},\r\n\t\t\t\t\tzipsFiles: {filesPath: 21},\r\n\t\t\t\t\tcompressImage: {filePath: 21},\r\n\t\t\t\t\tuploadImage: {\r\n\t\t\t\t\t\tserverType: 7,\r\n\t\t\t\t\t\tfilePath: 21,\r\n\t\t\t\t\t\tserverUrl: 4,\r\n\t\t\t\t\t\ttokenUrl: 4,\r\n\t\t\t\t\t\tformData: 4,\r\n\t\t\t\t\t\tzip: 64,\r\n\t\t\t\t\t\tdocType: 4,\r\n\t\t\t\t\t\tname: 4,\r\n\t\t\t\t\t\theaders: 12,\r\n\t\t\t\t\t\ttimeout: 6,\r\n\t\t\t\t\t\tprogress: 6,\r\n\t\t\t\t\t\tmaxWidth: 6,\r\n\t\t\t\t\t\tmaxHeight: 6,\r\n\t\t\t\t\t\tmaxSize: 6\r\n\t\t\t\t\t},\r\n\t\t\t\t\tgetAuthCode: {clientId: 5},\r\n\t\t\t\t\tplayRecord: {uri: 4},\r\n\t\t\t\t\tvoiceToText: {\r\n\t\t\t\t\t\taction: 5,\r\n\t\t\t\t\t\tappId: 4,\r\n\t\t\t\t\t\tappKey: 4,\r\n\t\t\t\t\t\tappName: 4,\r\n\t\t\t\t\t\tsalt: 4,\r\n\t\t\t\t\t\ttranslateMode: 2,\r\n\t\t\t\t\t\tbos: 2,\r\n\t\t\t\t\t\teos: 2,\r\n\t\t\t\t\t\tlanguage: 4,\r\n\t\t\t\t\t\ttranslateLanguage: 4,\r\n\t\t\t\t\t\tparamPreserve: 12\r\n\t\t\t\t\t},\r\n\t\t\t\t\trefreshH5Height: {height: 6},\r\n\t\t\t\t\tqueryMeetingSchedules: {bundleName: 4},\r\n\t\t\t\t\trefreshStoreCard: {appID: 4},\r\n\t\t\t\t\tstartMeeting: {isVideo: 6, contacts: 4},\r\n\t\t\t\t\tsocialShare: {\r\n\t\t\t\t\t\ttype: 5,\r\n\t\t\t\t\t\turi: 5,\r\n\t\t\t\t\t\ttitle: 4,\r\n\t\t\t\t\t\ticonUri: 4,\r\n\t\t\t\t\t\tdesc: 4,\r\n\t\t\t\t\t\tfrom: 4,\r\n\t\t\t\t\t\tinternalTarget: 20,\r\n\t\t\t\t\t\texternalTarget: 20\r\n\t\t\t\t\t},\r\n\t\t\t\t\tgetBluetoothInfo: {action: 5},\r\n\t\t\t\t\trequestPayment: {traderOrderNo: 5, language: 5, title: 5, timeStamp: 5, sign: 5, version: 5},\r\n\t\t\t\t\treward: {\r\n\t\t\t\t\t\tsenderID: 5,\r\n\t\t\t\t\t\tsenderNickname: 5,\r\n\t\t\t\t\t\tamount: 5,\r\n\t\t\t\t\t\treceiverID: 5,\r\n\t\t\t\t\t\treceiverNickname: 5,\r\n\t\t\t\t\t\tgroupID: 4,\r\n\t\t\t\t\t\tgreeting: 4\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsearchLocation: {radius: 2, longitude: 5, latitude: 5},\r\n\t\t\t\t\tsetNavigationBarColor: {frontColor: 5, backgroundColor: 5},\r\n\t\t\t\t\tgetDepartment: {bundleName: 5},\r\n\t\t\t\t\tmanagerSelector: {bundleName: 4, roleCodes: 5},\r\n\t\t\t\t\tshareToMiniProgram: {\r\n\t\t\t\t\t\ttitle: 4,\r\n\t\t\t\t\t\ticonUri: 4,\r\n\t\t\t\t\t\tdesc: 4,\r\n\t\t\t\t\t\tfrom: 4,\r\n\t\t\t\t\t\twebpageUrl: 5,\r\n\t\t\t\t\t\tuserName: 5,\r\n\t\t\t\t\t\tpath: 5,\r\n\t\t\t\t\t\twithShareTicket: 65,\r\n\t\t\t\t\t\tminiprogramType: 3\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsetScreenBrightness: {value: 3},\r\n\t\t\t\t\tgetClouddriveFilesList: {appId: 4, packageName: 4, needCallback: 2},\r\n\t\t\t\t\tuploadClouddriveFile: {appId: 5, packageName: 4, ownerId: 5, folderId: 4, localFilePath: 5},\r\n\t\t\t\t\tuploadClouddriveFileOperation: {taskId: 5, action: 5},\r\n\t\t\t\t\tdownloadClouddriveFile: {appId: 5, packageName: 4, ownerId: 5, fileId: 5},\r\n\t\t\t\t\tdownloadClouddriveFileOperation: {taskId: 5, action: 5},\r\n\t\t\t\t\tselectClouddriveFiles: {appId: 5, packageName: 4, needCallback: 2},\r\n\t\t\t\t\topenClouddriveFile: {appId: 4, packageName: 4, ownerId: 4, fileId: 4},\r\n\t\t\t\t\tsaveClouddriveFileToMyFiles: {\r\n\t\t\t\t\t\tappId: 5,\r\n\t\t\t\t\t\tpackageName: 4,\r\n\t\t\t\t\t\townerId: 5,\r\n\t\t\t\t\t\tfileId: 5,\r\n\t\t\t\t\t\tisFolder: 5,\r\n\t\t\t\t\t\tneedCallback: 2\r\n\t\t\t\t\t},\r\n\t\t\t\t\timportClouddriveFileFromMyFiles: {\r\n\t\t\t\t\t\tappId: 5,\r\n\t\t\t\t\t\tpackageName: 4,\r\n\t\t\t\t\t\townerId: 5,\r\n\t\t\t\t\t\tfolderId: 4,\r\n\t\t\t\t\t\tneedCallback: 2\r\n\t\t\t\t\t},\r\n\t\t\t\t\tdeleteClouddriveFile: {\r\n\t\t\t\t\t\tappId: 5,\r\n\t\t\t\t\t\tpackageName: 4,\r\n\t\t\t\t\t\townerId: 4,\r\n\t\t\t\t\t\tfileId: 5,\r\n\t\t\t\t\t\tisFolder: 5,\r\n\t\t\t\t\t\tneedCallback: 2\r\n\t\t\t\t\t},\r\n\t\t\t\t\tgetClouddriveFileSharelink: {appId: 5, packageName: 4, ownerId: 5, fileId: 5, isFolder: 5},\r\n\t\t\t\t\tsetNavigationBar: {navigationBar: 8, navigationBarType: 2},\r\n\t\t\t\t\tsendIMFile: {toId: 5, fileType: 5, filePath: 5, isGroup: 5},\r\n\t\t\t\t\tnavigateToPage: {j_p_c: !0, uri: 5, extraData: 8},\r\n\t\t\t\t\tcomplexChoose: {\r\n\t\t\t\t\t\tj_p_c: !0,\r\n\t\t\t\t\t\tisSingleSelection: 64,\r\n\t\t\t\t\t\tminimum: 2,\r\n\t\t\t\t\t\tmaximum: 2,\r\n\t\t\t\t\t\tdataSourceType: 2,\r\n\t\t\t\t\t\ttitle: 4,\r\n\t\t\t\t\t\tusers: 4,\r\n\t\t\t\t\t\tsupportPortals: 2\r\n\t\t\t\t\t},\r\n\t\t\t\t\tviewScheduleDetail: {j_p_c: !0, uuid: 5, recurrenceId: 133},\r\n\t\t\t\t\toperateSchedule: {j_p_c: !0, uuid: 5, recurrenceId: 133, operateType: 5},\r\n\t\t\t\t\twirelessDisplay: {j_p_c: !0, pincode: 4, ip: 4, mac: 4}\r\n\t\t\t\t};\r\n\t\t\tf.scanQR = f.scanCode, f.fetchInternet = f.fetch, f.imagePicker = f.chooseImage, f.openFileInMDM = f.openFile, f.deleteFile = f.removeFile, f.imageBrowser = f.previewImage, f.contactInfo = f.getContactInfo, f.viewContactInfo = f.openUserProfile, f.makingcall = f.makePhoneCall, f.makingCall = f.makePhoneCall, f.generateQRCode = f.fetch, f.enableFeedback = f.enableIHelp, f.fetchIntranet = f.fetch, f.selectUsers = f.selectContacts;\r\n\t\t\tvar l = [{origin: \"status\", target: \"statusCode\", type: \"string\"}]\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(133)\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n = e.exports = \"undefined\" != typeof window && window.Math == Math ? window : \"undefined\" != typeof self && self.Math == Math ? self : Function(\"return this\")();\r\n\t\t\t\"number\" == typeof __g && (__g = n)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(9), a = n(6), o = n(35), i = n(24), c = n(27), u = function (e, t, n) {\r\n\t\t\t\tvar s, f, l, p = e & u.F, d = e & u.G, h = e & u.S, m = e & u.P, v = e & u.B, g = e & u.W,\r\n\t\t\t\t\ty = d ? a : a[t] || (a[t] = {}), b = y.prototype, w = d ? r : h ? r[t] : (r[t] || {}).prototype;\r\n\t\t\t\tfor (s in d && (n = t), n) (f = !p && w && void 0 !== w[s]) && c(y, s) || (l = f ? w[s] : n[s], y[s] = d && \"function\" != typeof w[s] ? n[s] : v && f ? o(l, r) : g && w[s] == l ? function (e) {\r\n\t\t\t\t\tvar t = function (t, n, r) {\r\n\t\t\t\t\t\tif (this instanceof e) {\r\n\t\t\t\t\t\t\tswitch (arguments.length) {\r\n\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\treturn new e;\r\n\t\t\t\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\t\t\t\treturn new e(t);\r\n\t\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\t\treturn new e(t, n)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn new e(t, n, r)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn t.prototype = e.prototype, t\r\n\t\t\t\t}(l) : m && \"function\" == typeof l ? o(Function.call, l) : l, m && ((y.virtual || (y.virtual = {}))[s] = l, e & u.R && b && !b[s] && i(b, s, l)))\r\n\t\t\t};\r\n\t\t\tu.F = 1, u.G = 2, u.S = 4, u.P = 8, u.B = 16, u.W = 32, u.U = 64, u.R = 128, e.exports = u\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(58)(\"wks\"), a = n(46), o = n(9).Symbol, i = \"function\" == typeof o;\r\n\t\t\t(e.exports = function (e) {\r\n\t\t\t\treturn r[e] || (r[e] = i && o[e] || (i ? o : a)(\"Symbol.\" + e))\r\n\t\t\t}).store = r\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = [];\r\n\t\t\tr = n(128), e.exports = r\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(131)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(25);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tif (!r(e)) throw TypeError(e + \" is not an object!\");\r\n\t\t\t\treturn e\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = !n(26)((function () {\r\n\t\t\t\treturn 7 != Object.defineProperty({}, \"a\", {\r\n\t\t\t\t\tget: function () {\r\n\t\t\t\t\t\treturn 7\r\n\t\t\t\t\t}\r\n\t\t\t\t}).a\r\n\t\t\t}))\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = [];\r\n\t\t\tr = n(93), e.exports = r\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(68), a = n(41);\r\n\t\t\tfunction o(t) {\r\n\t\t\t\treturn e.exports = o = \"function\" == typeof a && \"symbol\" == typeof r ? function (e) {\r\n\t\t\t\t\treturn typeof e\r\n\t\t\t\t} : function (e) {\r\n\t\t\t\t\treturn e && \"function\" == typeof a && e.constructor === a && e !== a.prototype ? \"symbol\" : typeof e\r\n\t\t\t\t}, o(t)\r\n\t\t\t}\r\n\t\t\te.exports = o\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(14), a = n(79), o = n(55), i = Object.defineProperty;\r\n\t\t\tt.f = n(15) ? Object.defineProperty : function (e, t, n) {\r\n\t\t\t\tif (r(e), t = o(t, !0), r(n), a) try {\r\n\t\t\t\t\treturn i(e, t, n)\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t}\r\n\t\t\t\tif (\"get\" in n || \"set\" in n) throw TypeError(\"Accessors not supported!\");\r\n\t\t\t\treturn \"value\" in n && (e[t] = n.value), e\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(84), a = n(44);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn r(a(e))\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(157)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(162);\r\n\t\t\tfunction a() {\r\n\t\t\t\treturn e.exports = a = r || function (e) {\r\n\t\t\t\t\tfor (var t = 1; t < arguments.length; t++) {\r\n\t\t\t\t\t\tvar n = arguments[t];\r\n\t\t\t\t\t\tfor (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn e\r\n\t\t\t\t}, a.apply(this, arguments)\r\n\t\t\t}\r\n\t\t\te.exports = a\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.d(t, \"a\", (function () {\r\n\t\t\t\treturn k\r\n\t\t\t})), n.d(t, \"b\", (function () {\r\n\t\t\t\treturn w\r\n\t\t\t}));\r\n\t\t\tvar r = n(69), a = n.n(r), o = n(52), i = n.n(o), c = n(73), u = n.n(c), s = n(74), f = n.n(s), l = n(75),\r\n\t\t\t\tp = n.n(l), d = n(104), h = n.n(d), m = n(8), v = n.n(m), g = n(7);\r\n\t\t\tfunction y(e, t) {\r\n\t\t\t\tvar n = v()(e);\r\n\t\t\t\tif (p.a) {\r\n\t\t\t\t\tvar r = p()(e);\r\n\t\t\t\t\tt && (r = r.filter((function (t) {\r\n\t\t\t\t\t\treturn f()(e, t).enumerable\r\n\t\t\t\t\t}))), n.push.apply(n, r)\r\n\t\t\t\t}\r\n\t\t\t\treturn n\r\n\t\t\t}\r\n\t\t\tvar b = !1, w = {\r\n\t\t\t\tenable: function (e) {\r\n\t\t\t\t\tb = e\r\n\t\t\t\t}, getState: function () {\r\n\t\t\t\t\treturn b\r\n\t\t\t\t}\r\n\t\t\t}, x = function (e, t) {\r\n\t\t\t\tvar n, r;\r\n\t\t\t\treturn !!(g.e[(n = e, r = Object.prototype.toString.call(n), r.substring(8, r.length - 1).toLocaleLowerCase())] & t)\r\n\t\t\t}, k = function (e, t) {\r\n\t\t\t\tvar n = g.f[e];\r\n\t\t\t\tif (!n) return !0;\r\n\t\t\t\tvar r = function (e) {\r\n\t\t\t\t\tfor (var t = 1; t < arguments.length; t++) {\r\n\t\t\t\t\t\tvar n = null != arguments[t] ? arguments[t] : {};\r\n\t\t\t\t\t\tt % 2 ? y(Object(n), !0).forEach((function (t) {\r\n\t\t\t\t\t\t\th()(e, t, n[t])\r\n\t\t\t\t\t\t})) : u.a ? i()(e, u()(n)) : y(Object(n)).forEach((function (t) {\r\n\t\t\t\t\t\t\ta()(e, t, f()(n, t))\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn e\r\n\t\t\t\t}({}, n);\r\n\t\t\t\treturn delete r.j_p_c, function (e) {\r\n\t\t\t\t\tfor (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = v()(e), r = !0, a = 0; a < n.length; a += 1) {\r\n\t\t\t\t\t\tvar o = n[a];\r\n\t\t\t\t\t\tif (e[o] & g.e.required || Object.prototype.hasOwnProperty.call(t, o)) {\r\n\t\t\t\t\t\t\tif (e[o] & g.e.required && !Object.prototype.hasOwnProperty.call(t, o)) {\r\n\t\t\t\t\t\t\t\tr = !1;\r\n\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!x(t[o], e[o])) {\r\n\t\t\t\t\t\t\t\tr = !1;\r\n\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn r\r\n\t\t\t\t}(r, t)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(159), a = n(160), o = n(99), i = n(161);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn r(e) || a(e) || o(e) || i()\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(18), a = n(36);\r\n\t\t\te.exports = n(15) ? function (e, t, n) {\r\n\t\t\t\treturn r.f(e, t, a(1, n))\r\n\t\t\t} : function (e, t, n) {\r\n\t\t\t\treturn e[t] = n, e\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn \"object\" == typeof e ? null !== e : \"function\" == typeof e\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn !!e()\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treturn !0\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n = {}.hasOwnProperty;\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\treturn n.call(e, t)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tt.a = {\r\n\t\t\t\tencode: function (e) {\r\n\t\t\t\t\tvar t = e;\r\n\t\t\t\t\treturn null == t && (t += \"\"), btoa(unescape(encodeURIComponent(t)))\r\n\t\t\t\t}, decode: function (e) {\r\n\t\t\t\t\treturn decodeURIComponent(escape(atob(e)))\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.d(t, \"b\", (function () {\r\n\t\t\t\treturn b\r\n\t\t\t})), n.d(t, \"a\", (function () {\r\n\t\t\t\treturn w\r\n\t\t\t}));\r\n\t\t\tvar r = n(2), a = n.n(r), o = n(1), i = n.n(o), c = n(3), u = n.n(c), s = n(4), f = n.n(s), l = n(103),\r\n\t\t\t\tp = n.n(l), d = n(0), h = n(31), m = n(7), v = {}, g = Object(h.a)(), y = function (e, t) {\r\n\t\t\t\t\treturn t && m.d.indexOf(t) >= 0 ? Object(d.c)(f()(e), t) : e\r\n\t\t\t\t}, b = function (e) {\r\n\t\t\t\t\tvar t = JSON.parse(e);\r\n\t\t\t\t\tt.callbackId && v[t.callbackId] && v[t.callbackId](t)\r\n\t\t\t\t}, w = function (e, t) {\r\n\t\t\t\t\tvar n = \"cb\".concat(p()());\r\n\t\t\t\t\tif (\"fetch\" !== t.apiName && \"fetchInternet\" !== t.apiName && \"fetchIntranet\" !== t.apiName && \"fetchVPN\" !== t.apiName && \"fetchRomaApi\" !== t.apiName || (d.i[t.apiName + n] = new Date - 0), t && t.data && \"function\" == typeof t.data.onProgress && (v[\"progress_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), n.data = Object(d.A)(n.data), t.data.onProgress(n.data)\r\n\t\t\t\t\t}), t && t.data) {\r\n\t\t\t\t\t\tif (\"downloadFileOperationAndEncrypt\" === t.apiName && \"function\" == typeof HWH5.abortFileOperation) {\r\n\t\t\t\t\t\t\tv[n] = function () {\r\n\t\t\t\t\t\t\t\tvar e = u()(i.a.mark((function e(n) {\r\n\t\t\t\t\t\t\t\t\tvar r;\r\n\t\t\t\t\t\t\t\t\treturn i.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (r = y(n, t.apiName), Object(d.s)(\"back\", t.data, t.funcName, t.apiName, r), r.data = Object(d.g)(r.data), \"error\" === r.type) \"function\" == typeof t.data.onError && t.data.onError(r.data); else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.data = JSON.parse(r.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(\"error = \", e)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"function\" == typeof t.data.onSuccess && HWH5.encryptFile({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilePath: t.data.filePath,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tetype: t.data.encryptEtype,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.data.filePath = e.filePath, t.data.onSuccess(r.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})).catch((function () {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tHWH5.removeFile({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: t.data.filePath,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tetype: t.data.deleteEtype,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}).catch((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(\"common encryptFile fail remove fail \", e), HWH5.removeFile({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: t.data.filePath,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}), HWH5.removeFile({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: t.data.filePath,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}), HWH5.removeFile({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: t.data.filePath,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})), \"function\" == typeof t.data.onError && t.data.onError({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcode: \"10903\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmsg: \"encryptFile fail\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tcase 4:\r\n\t\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t\t\t\t})));\r\n\t\t\t\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}(), e(n);\r\n\t\t\t\t\t\t\tvar r = {\r\n\t\t\t\t\t\t\t\taction: \"cancel\",\r\n\t\t\t\t\t\t\t\ttype: \"uploadFileOperation\" === t.apiName ? \"upload\" : \"download\",\r\n\t\t\t\t\t\t\t\tcallbackId: n\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tabort: function () {\r\n\t\t\t\t\t\t\t\t\treturn new a.a((function (e, t) {\r\n\t\t\t\t\t\t\t\t\t\tHWH5.abortFileOperation(r).then((function (t) {\r\n\t\t\t\t\t\t\t\t\t\t\te(t)\r\n\t\t\t\t\t\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tt(e)\r\n\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ((\"uploadFileOperation\" === t.apiName || \"downloadFileOperation\" === t.apiName) && \"function\" == typeof HWH5.abortFileOperation) {\r\n\t\t\t\t\t\t\tv[n] = function () {\r\n\t\t\t\t\t\t\t\tvar e = u()(i.a.mark((function e(n) {\r\n\t\t\t\t\t\t\t\t\tvar r;\r\n\t\t\t\t\t\t\t\t\treturn i.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (r = y(n, t.apiName), Object(d.s)(\"back\", t.data, t.funcName, t.apiName, r), r.data = Object(d.g)(r.data), \"error\" === r.type) \"function\" == typeof t.data.onError && t.data.onError(r.data); else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.data = JSON.parse(r.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(\"\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"function\" == typeof t.data.onSuccess && t.data.onSuccess(r.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tcase 4:\r\n\t\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t\t\t\t})));\r\n\t\t\t\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}(), e(n);\r\n\t\t\t\t\t\t\tvar o = {\r\n\t\t\t\t\t\t\t\taction: \"cancel\",\r\n\t\t\t\t\t\t\t\ttype: \"uploadFileOperation\" === t.apiName ? \"upload\" : \"download\",\r\n\t\t\t\t\t\t\t\tcallbackId: n\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tabort: function () {\r\n\t\t\t\t\t\t\t\t\treturn new a.a((function (e, t) {\r\n\t\t\t\t\t\t\t\t\t\tHWH5.abortFileOperation(o).then((function (t) {\r\n\t\t\t\t\t\t\t\t\t\t\te(t)\r\n\t\t\t\t\t\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tt(e)\r\n\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tt && t.data && \"voiceToText\" === t.funcName && (\"function\" == typeof t.data.onText && (v[\"voice_text_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onText(n.data)\r\n\t\t\t\t\t}), \"function\" == typeof t.data.onTranslateText && (v[\"voice_translatetext_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onTranslateText(n.data)\r\n\t\t\t\t\t}), \"function\" == typeof t.data.onStatusChange && (v[\"voice_statuschange_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onStatusChange(n.data)\r\n\t\t\t\t\t})), t && t.data && \"selectDate\" === t.funcName && \"function\" == typeof t.data.onChange && (v[\"select_date_onchange_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onChange(n.data)\r\n\t\t\t\t\t}), t && t.data && \"getBluetoothInfo\" === t.funcName && (\"function\" == typeof t.data.bluetoothInfo && (v[\"bluetooth_info_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.bluetoothInfo(n.data)\r\n\t\t\t\t\t}), \"function\" == typeof t.data.onStatusChange && (v[\"bluetooth_statusChange_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onStatusChange(n.data)\r\n\t\t\t\t\t})), t && t.data && \"playAudio\" === t.funcName && (\"function\" == typeof t.data.onStart ? v[\"playAudio_onStart_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onStart(n.data)\r\n\t\t\t\t\t} : v[\"playAudio_onStart_\".concat(n)] = d.h, \"function\" == typeof t.data.onStop ? v[\"playAudio_onStop_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onStop(n.data)\r\n\t\t\t\t\t} : v[\"playAudio_onStop_\".concat(n)] = d.h, \"function\" == typeof t.data.onPause ? v[\"playAudio_onPause_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onPause(n.data)\r\n\t\t\t\t\t} : v[\"playAudio_onPause_\".concat(n)] = d.h), t && t.data && \"playAudioCustom\" === t.funcName && (v.backgroundAudioManager_onPlay || [\"onPlay\", \"onStop\", \"onPause\", \"onEnded\", \"onTimeUpdate\", \"onError\"].forEach((function (e) {\r\n\t\t\t\t\t\tv[\"backgroundAudioManager_\".concat(e)] = function (t) {\r\n\t\t\t\t\t\t\tvar n = t;\r\n\t\t\t\t\t\t\tn.data = Object(d.g)(t.data);\r\n\t\t\t\t\t\t\tvar r = {};\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tr = JSON.parse(n.data)\r\n\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\tr = n.data\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tg[e] && g[e](r), \"onEnded\" === e && g.reset()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}))), t && t.data && \"initLoc\" === t.funcName && (v[\"onLocationChangeLoc_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar n = e;\r\n\t\t\t\t\t\tn.data = Object(d.g)(e.data), t.data.onLocationChange(n.data)\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar c = {};\r\n\t\t\t\t\treturn t && t.data && \"location\" === t.funcName && (v[\"getLocation_onStart_\".concat(n)] = function (e) {\r\n\t\t\t\t\t\tvar t = e;\r\n\t\t\t\t\t\tt.data = Object(d.g)(e.data), c.onStart(t.data)\r\n\t\t\t\t\t}), new a.a((function (r, o) {\r\n\t\t\t\t\t\tvar s = null, l = null;\r\n\t\t\t\t\t\tif (\"location\" === t.funcName) {\r\n\t\t\t\t\t\t\tvar p = t.data && t.data.timeout && t.data.timeout > 3e3 ? t.data.timeout : 3e3;\r\n\t\t\t\t\t\t\tp = t.data && t.data.coverTimeout ? 0 : p;\r\n\t\t\t\t\t\t\tc.onStart = function () {\r\n\t\t\t\t\t\t\t\ts = setTimeout((function () {\r\n\t\t\t\t\t\t\t\t\to({code: \"10806\", message: \"Get location timeout\"}), v[n] = function () {\r\n\t\t\t\t\t\t\t\t\t}, clearTimeout(s)\r\n\t\t\t\t\t\t\t\t}), p)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ([\"fetch\", \"fetchInternet\", \"fetchIntranet\"].indexOf(t.funcName) > -1) {\r\n\t\t\t\t\t\t\tvar h = t.data && t.data.timeout ? t.data.timeout : 2e4;\r\n\t\t\t\t\t\t\tl = setTimeout((function () {\r\n\t\t\t\t\t\t\t\to(f()({code: \"10800\", message: \"timeout\"})), v[n] = function () {\r\n\t\t\t\t\t\t\t\t}, clearTimeout(l)\r\n\t\t\t\t\t\t\t}), h)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tv[n] = function () {\r\n\t\t\t\t\t\t\tvar e = u()(i.a.mark((function e(c) {\r\n\t\t\t\t\t\t\t\tvar u, f, p, h, m, v, g, b, w;\r\n\t\t\t\t\t\t\t\treturn i.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\tif ((u = y(c, t.apiName)).data = Object(d.g)(u.data), u.data = Object(d.j)(u.data), \"fetch\" !== t.apiName && \"fetchInternet\" !== t.apiName && \"fetchIntranet\" !== t.apiName && \"fetchVPN\" !== t.apiName || (f = new Date - 0 - d.i[t.apiName + n], Object(d.y)(t.apiName, t.data.url, f, u.type)), \"error\" !== u.type || \"config\" === t.apiName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 12;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tif (Object(d.s)(\"back\", t.data, t.funcName, t.apiName, u), \"getCache\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 9;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn r(null), e.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\t\tcase 9:\r\n\t\t\t\t\t\t\t\t\t\t\to(u.data), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 12:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"getAuthCode\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 18;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tif ((p = JSON.parse(u.data)) && p.code.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 18;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn o(u.data), Object(d.s)(\"back\", t.data, t.funcName, t.apiName, u.data), e.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\t\tcase 18:\r\n\t\t\t\t\t\t\t\t\t\t\tif (Object(d.s)(\"back\", t.data, t.funcName, t.apiName, void 0), \"fetch\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 23;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tr({\r\n\t\t\t\t\t\t\t\t\t\t\t\ttext: function () {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn new a.a((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te(u.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t\t\t\t}, json: function () {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn new a.a((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tu.data = JSON.parse(u.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tu.data = e\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te(u.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 23:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"fetchInternet\" !== t.funcName && \"fetchIntranet\" !== t.funcName && \"fetchVPN\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 30;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tclearTimeout(l), h = JSON.parse(u.data), m = h.statusCode, v = h.header, g = h.body, b = {\r\n\t\t\t\t\t\t\t\t\t\t\t\tstatus: m,\r\n\t\t\t\t\t\t\t\t\t\t\t\theaders: v,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttext: function () {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn new a.a((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te(g)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\tjson: function () {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn new a.a((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar t = g;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\"string\" == typeof t) try {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tt = JSON.parse(t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.warn(e)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te(t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}, r(Object(d.r)(b)), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 30:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"getCache\" !== t.funcName || \"string\" != typeof u.data || \"undefine\" !== u.data) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 34;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tr(null), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 34:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"config\" !== t.funcName && \"checkJsApi\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 38;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tObject(d.d)(t, u, r, n), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 38:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"getAppInfo\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 44;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tu.data = JSON.parse(u.data), (!t.data || t.data && !t.data.needNet) && delete u.data.net, r(u.data), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 44:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"getBluetoothDevices\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 50;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tfor (u.data = JSON.parse(u.data), w = 0; w < u.data.devices.length; w += 1) u.data.devices[w].advertisData && (u.data.devices[w].advertisData = Object(d.b)(u.data.devices[w].advertisData)), u.data.devices[w].serviceData && (u.data.devices[w].serviceData = Object(d.z)(u.data.devices[w].serviceData));\r\n\t\t\t\t\t\t\t\t\t\t\tr(u.data), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 50:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"location\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 56;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tclearTimeout(s), u.data = JSON.parse(u.data), r(u.data), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 56:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"fetch\" !== t.funcName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 60;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tclearTimeout(l), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 60:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"complexChoose\" !== t.apiName) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 75;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tif (e.prev = 61, u.data = JSON.parse(u.data), !t.data || Object(d.u)()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.next = 67;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn e.next = 66, Object(d.l)(u.data.data);\r\n\t\t\t\t\t\t\t\t\t\tcase 66:\r\n\t\t\t\t\t\t\t\t\t\t\tu.data.data = e.sent;\r\n\t\t\t\t\t\t\t\t\t\tcase 67:\r\n\t\t\t\t\t\t\t\t\t\t\te.next = 72;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 69:\r\n\t\t\t\t\t\t\t\t\t\t\te.prev = 69, e.t0 = e.catch(61), console.log(\"complexChoose error\", e.t0, u.data);\r\n\t\t\t\t\t\t\t\t\t\tcase 72:\r\n\t\t\t\t\t\t\t\t\t\t\tr(u.data), e.next = 77;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 75:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"string\" == typeof u.data && \"undefined\" !== u.data) try {\r\n\t\t\t\t\t\t\t\t\t\t\t\tu.data = JSON.parse(u.data)\r\n\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(\"\")\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tr(u.data);\r\n\t\t\t\t\t\t\t\t\t\tcase 77:\r\n\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}), e, null, [[61, 69]])\r\n\t\t\t\t\t\t\t})));\r\n\t\t\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}(), e(n)\r\n\t\t\t\t\t}))\r\n\t\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = {}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.d(t, \"a\", (function () {\r\n\t\t\t\treturn f\r\n\t\t\t})), n.d(t, \"b\", (function () {\r\n\t\t\t\treturn p\r\n\t\t\t}));\r\n\t\t\tvar r = n(17), a = n.n(r), o = n(8), i = n.n(o), c = n(52), u = n.n(c);\r\n\t\t\tvar s = new function () {\r\n\t\t\t\tvar e = \"\", t = 0, n = !1, r = !1, a = 1, o = \"\";\r\n\t\t\t\tu()(this, {\r\n\t\t\t\t\turl: {\r\n\t\t\t\t\t\tconfigurable: !0, get: function () {\r\n\t\t\t\t\t\t\treturn e\r\n\t\t\t\t\t\t}, set: function (t) {\r\n\t\t\t\t\t\t\tvar n = t !== e;\r\n\t\t\t\t\t\t\te = t, n && this.onAttrChange(\"url\", t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, startTime: {\r\n\t\t\t\t\t\tconfigurable: !0, get: function () {\r\n\t\t\t\t\t\t\treturn t\r\n\t\t\t\t\t\t}, set: function (e) {\r\n\t\t\t\t\t\t\tt = e\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, background: {\r\n\t\t\t\t\t\tconfigurable: !0, get: function () {\r\n\t\t\t\t\t\t\treturn n\r\n\t\t\t\t\t\t}, set: function (e) {\r\n\t\t\t\t\t\t\tvar t = e !== n;\r\n\t\t\t\t\t\t\tn = e, t && this.onAttrChange(\"background\", e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, repeat: {\r\n\t\t\t\t\t\tconfigurable: !0, get: function () {\r\n\t\t\t\t\t\t\treturn r\r\n\t\t\t\t\t\t}, set: function (e) {\r\n\t\t\t\t\t\t\tvar t = e !== r;\r\n\t\t\t\t\t\t\tr = e, t && this.onAttrChange(\"repeat\", e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, playbackSpeed: {\r\n\t\t\t\t\t\tconfigurable: !0, get: function () {\r\n\t\t\t\t\t\t\treturn a\r\n\t\t\t\t\t\t}, set: function (e) {\r\n\t\t\t\t\t\t\tvar t = e !== a;\r\n\t\t\t\t\t\t\ta = e, t && this.onAttrChange(\"playbackSpeed\", e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, cookies: {\r\n\t\t\t\t\t\tconfigurable: !0, get: function () {\r\n\t\t\t\t\t\t\treturn o\r\n\t\t\t\t\t\t}, set: function (e) {\r\n\t\t\t\t\t\t\to = e\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}), this.reset = function () {\r\n\t\t\t\t\tt = 0\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tfunction f() {\r\n\t\t\t\treturn s\r\n\t\t\t}\r\n\t\t\tvar l = {\r\n\t\t\t\tplay: {\r\n\t\t\t\t\turl: \"string\",\r\n\t\t\t\t\tstartTime: \"number\",\r\n\t\t\t\t\tbackground: \"boolean\",\r\n\t\t\t\t\trepeat: \"boolean\",\r\n\t\t\t\t\tplaybackSpeed: \"number\"\r\n\t\t\t\t},\r\n\t\t\t\tpause: {},\r\n\t\t\t\tstop: {},\r\n\t\t\t\tseek: {position: \"number\"},\r\n\t\t\t\tplaybackSpeed: {playbackSpeed: \"number\"},\r\n\t\t\t\trepeat: {repeat: \"boolean\"},\r\n\t\t\t\tbackground: {background: \"boolean\"},\r\n\t\t\t\tcookies: {cookies: \"string\"}\r\n\t\t\t}, p = function (e) {\r\n\t\t\t\tvar t = {status: 1, msg: \"\"}, n = i()(l[e.action]), r = \"\";\r\n\t\t\t\treturn n.forEach((function (t) {\r\n\t\t\t\t\tvar n = a()(e.data[t]);\r\n\t\t\t\t\tr || n === l[e.action][t] || (r = t)\r\n\t\t\t\t})), r && (t.status = 0, t.msg = \"The '\".concat(r, \"' parameter is incorrect. Please check the documentation.\")), t\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.d(t, \"b\", (function () {\r\n\t\t\t\treturn a\r\n\t\t\t})), n.d(t, \"a\", (function () {\r\n\t\t\t\treturn o\r\n\t\t\t}));\r\n\t\t\tvar r = {}, a = function (e, t) {\r\n\t\t\t\tr[e] || (r[e] = []), r[e].push(t)\r\n\t\t\t}, o = function (e) {\r\n\t\t\t\tfor (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++) n[a - 1] = arguments[a];\r\n\t\t\t\tif (\"string\" == typeof e) {\r\n\t\t\t\t\tvar o = r[e];\r\n\t\t\t\t\to && (delete r[e], o.forEach((function (e) {\r\n\t\t\t\t\t\te.apply(void 0, n)\r\n\t\t\t\t\t})))\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(110)(!0);\r\n\t\t\tn(78)(String, \"String\", (function (e) {\r\n\t\t\t\tthis._t = String(e), this._i = 0\r\n\t\t\t}), (function () {\r\n\t\t\t\tvar e, t = this._t, n = this._i;\r\n\t\t\t\treturn n >= t.length ? {value: void 0, done: !0} : (e = r(t, n), this._i += e.length, {\r\n\t\t\t\t\tvalue: e,\r\n\t\t\t\t\tdone: !1\r\n\t\t\t\t})\r\n\t\t\t}))\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = !0\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(45);\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\tif (r(e), void 0 === t) return e;\r\n\t\t\t\tswitch (n) {\r\n\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\treturn function (n) {\r\n\t\t\t\t\t\t\treturn e.call(t, n)\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\treturn function (n, r) {\r\n\t\t\t\t\t\t\treturn e.call(t, n, r)\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\treturn function (n, r, a) {\r\n\t\t\t\t\t\t\treturn e.call(t, n, r, a)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn function () {\r\n\t\t\t\t\treturn e.apply(t, arguments)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\treturn {enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(83), a = n(59);\r\n\t\t\te.exports = Object.keys || function (e) {\r\n\t\t\t\treturn r(e, a)\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n = {}.toString;\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn n.call(e).slice(8, -1)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(44);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn Object(r(e))\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n;\r\n\t\t\tn = function () {\r\n\t\t\t\treturn this\r\n\t\t\t}();\r\n\t\t\ttry {\r\n\t\t\t\tn = n || new Function(\"return this\")()\r\n\t\t\t} catch (e) {\r\n\t\t\t\t\"object\" == typeof window && (n = window)\r\n\t\t\t}\r\n\t\t\te.exports = n\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(144)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = [];\r\n\t\t\tr = n(129), e.exports = r\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.d(t, \"c\", (function () {\r\n\t\t\t\treturn I\r\n\t\t\t})), n.d(t, \"a\", (function () {\r\n\t\t\t\treturn O\r\n\t\t\t})), n.d(t, \"b\", (function () {\r\n\t\t\t\treturn _\r\n\t\t\t}));\r\n\t\t\tvar r = n(1), a = n.n(r), o = n(13), i = n.n(o), c = n(8), u = n.n(c), s = n(3), f = n.n(s), l = n(2),\r\n\t\t\t\tp = n.n(l), d = n(4), h = n.n(d), m = n(102), v = n.n(m), g = n(28), y = n(29), b = n(12), w = n.n(b),\r\n\t\t\t\tx = n(0), k = n(22), N = n(7), _ = function (e) {\r\n\t\t\t\t\treturn Object(y.a)((function (t) {\r\n\t\t\t\t\t\tvar n = h()({\r\n\t\t\t\t\t\t\turl: e.uri || e.url || e.schema + (e.data ? \"?\".concat(v.a.stringify(e.data)) : \"\"),\r\n\t\t\t\t\t\t\tcallbackId: t\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tObject(x.s)(\"action\", e.data, e.schema, e.apiName, void 0, t), HWH5.openURI(n)\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t}, S = function (e) {\r\n\t\t\t\t\treturn Object(y.a)((function (t) {\r\n\t\t\t\t\t\tvar n = h()({\r\n\t\t\t\t\t\t\turl: e.uri || e.url || e.schema + (e.data ? \"?data=\".concat(g.a.encode(e.data)) : \"\"),\r\n\t\t\t\t\t\t\tcallbackId: t\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tObject(x.s)(\"action\", e.data, e.schema, e.apiName, void 0, t), HWH5.openURI(n)\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t}, C = {\r\n\t\t\t\t\tviewContactInfo: [\"w3account\", \"employeeNumber\", \"personMail\"],\r\n\t\t\t\t\tcontactInfo: [\"w3accounts\", \"employeeNumbers\", \"personMails\"],\r\n\t\t\t\t\trefreshTodo: [{name: \"isRefresh\", default: 1}, \"reserve1\", \"reserve2\"]\r\n\t\t\t\t}, O = function (e, t, n) {\r\n\t\t\t\t\tHWH5[e] = function (r) {\r\n\t\t\t\t\t\treturn new p.a(function () {\r\n\t\t\t\t\t\t\tvar o = f()(a.a.mark((function o(c, s) {\r\n\t\t\t\t\t\t\t\tvar f, l, p, d, m, v, g, y;\r\n\t\t\t\t\t\t\t\treturn a.a.wrap((function (a) {\r\n\t\t\t\t\t\t\t\t\tfor (; ;) switch (a.prev = a.next) {\r\n\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\tif (Object(x.w)() && n && console.warn(\"“\".concat(e, \"” 暂不支持PC\")), f = Object(x.x)(e, r), l = t, \"openWebview\" !== e && \"openSchema\" !== e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\ta.next = 12;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tif (!(l = f.url || f.uri) || 0 !== l.indexOf(\"ui://\") && 0 !== l.indexOf(\"method://\") || Object(x.s)(\"action\", void 0, e, e, void 0, void 0, l.split(\"?\")[0]), !(l && l.indexOf(\"wecodeDefine1\") > -1)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\ta.next = 10;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn s({\r\n\t\t\t\t\t\t\t\t\t\t\t\tcode: \"30803\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"The URI contains invalid keywords.\",\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t\t\t\t\t\t}), a.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\t\tcase 10:\r\n\t\t\t\t\t\t\t\t\t\t\ta.next = 13;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 12:\r\n\t\t\t\t\t\t\t\t\t\t\tif (e in C) for (p = C[e], d = 0; d < p.length; d += 1) \"string\" == typeof (m = p[d]) ? f[m] = f[m] || \"\" : f[m.name] = f[m.name] || m.default;\r\n\t\t\t\t\t\t\t\t\t\tcase 13:\r\n\t\t\t\t\t\t\t\t\t\t\tif ([\"selectClouddriveFiles\", \"openClouddriveFile\", \"importClouddriveFileFromMyFiles\", \"saveClouddriveFileToMyFiles\", \"deleteClouddriveFile\", \"getClouddriveFileSharelink\"].indexOf(e) > -1 && (\"WeCode\", f && u()(f).length > 0 ? f.packageName = f.packageName ? f.packageName : \"WeCode\" : f = {packageName: \"WeCode\"}, \"openClouddriveFile\" !== e && (f.needCallback = 1)), \"getDepartment\" !== e && \"selectPhoneContact\" !== e && \"openSkyTone\" !== e && \"queryMeetingSchedules\" !== e && \"viewScheduleDetail\" !== e && \"operateSchedule\" !== e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\ta.next = 20;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn a.next = 17, Object(x.n)();\r\n\t\t\t\t\t\t\t\t\t\tcase 17:\r\n\t\t\t\t\t\t\t\t\t\t\tv = a.sent, f && u()(f).length > 0 ? f.bundleName = f.bundleName || v.appId : f = {bundleName: v.appId}, f.needCallback = !0;\r\n\t\t\t\t\t\t\t\t\t\tcase 20:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"openWebview\" !== e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\ta.next = 25;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn a.next = 23, Object(x.n)();\r\n\t\t\t\t\t\t\t\t\t\tcase 23:\r\n\t\t\t\t\t\t\t\t\t\t\tg = a.sent, o = l, b = g.appId, w = void 0, O = void 0, I = void 0, w = o.split(\"?\")[0].split(\"#\")[0], O = o.match(/#.*/gi) ? o.match(/#.*/gi)[0] : \"\", I = (o.match(/\\?.*/gi) ? o.match(/\\?.*/gi)[0] : \"\").split(\"#\")[0], l = w + (I += \"\".concat(I ? \"&\" : \"?\", \"hwa_trace_source=wecode_\").concat(b)) + O;\r\n\t\t\t\t\t\t\t\t\t\tcase 25:\r\n\t\t\t\t\t\t\t\t\t\t\tif (\"selectContacts\" !== e && \"selectUsers\" !== e && \"managerSelector\" !== e && \"complexChoose\" !== e || f && !f.bundleName && (f.bundleName = \"welink.wecode\"), \"complexChoose\" === e && f && (f.callType = \"WeCode\", f.needCallback = !0), \"getLocalFiles\" === e && f && (f.needCallback = !0), \"writeMail\" !== e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\ta.next = 44;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tif (a.prev = 29, y = null, !(y = JSON.parse(f)).action_send_multiple || !i()(y.action_send_multiple)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\ta.next = 37;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn a.next = 35, Object(x.k)(y.action_send_multiple);\r\n\t\t\t\t\t\t\t\t\t\tcase 35:\r\n\t\t\t\t\t\t\t\t\t\t\ty.action_send_multiple = a.sent, f = h()(y);\r\n\t\t\t\t\t\t\t\t\t\tcase 37:\r\n\t\t\t\t\t\t\t\t\t\t\ta.next = 42;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 39:\r\n\t\t\t\t\t\t\t\t\t\t\ta.prev = 39, a.t0 = a.catch(29), console.log(\"writeMail data parse error\");\r\n\t\t\t\t\t\t\t\t\t\tcase 42:\r\n\t\t\t\t\t\t\t\t\t\t\treturn c(S({schema: l, data: f, apiName: e})), a.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\t\tcase 44:\r\n\t\t\t\t\t\t\t\t\t\t\tif ([\"searchLocation\", \"sendIMFile\", \"speechToText\"].indexOf(e) >= 0 && (f ? f.needCallback = 1 : f = {needCallback: 1}), \"createIMGroupChat\" === e && f && 0 === f.isGotoChat && (f.needCallback = !0), \"ocr\" === e && (l = 1 === f ? \"ui://welink.openai/ocr-document\" : \"ui://welink.openai/ocr-invoice\", f = {\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype: f,\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedCallback: 1\r\n\t\t\t\t\t\t\t\t\t\t\t}), \"openMeeting\" === e && (f && Object(x.v)(f) || (f = {itEventType: 4}), f.type && (f.itEventType = f.type, delete f.type)), !(k.b.getState() || N.f[e] && N.f[e].j_p_c) || Object(k.a)(e, f)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\ta.next = 52;\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\treturn s({\r\n\t\t\t\t\t\t\t\t\t\t\t\tcode: \"10802\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"The parameter is incorrect. Please check the documentation\",\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t\t\t\t\t\t}), a.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\t\tcase 52:\r\n\t\t\t\t\t\t\t\t\t\t\t\"openWebview\" !== e && \"openSchema\" !== e || (f = null), c(_({\r\n\t\t\t\t\t\t\t\t\t\t\t\tschema: l,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdata: f,\r\n\t\t\t\t\t\t\t\t\t\t\t\tapiName: e\r\n\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\tcase 54:\r\n\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\treturn a.stop()\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar o, b, w, O, I\r\n\t\t\t\t\t\t\t\t}), o, null, [[29, 39]])\r\n\t\t\t\t\t\t\t})));\r\n\t\t\t\t\t\t\treturn function (e, t) {\r\n\t\t\t\t\t\t\t\treturn o.apply(this, arguments)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}())\r\n\t\t\t\t\t}\r\n\t\t\t\t}, I = function () {\r\n\t\t\t\t\tfor (var e = 0; e < w.a.length; e += 1) {\r\n\t\t\t\t\t\tvar t = w.a[e];\r\n\t\t\t\t\t\tO(t.apiName, t.schema, t.pcNotSupport)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tif (null == e) throw TypeError(\"Can't call method on  \" + e);\r\n\t\t\t\treturn e\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tif (\"function\" != typeof e) throw TypeError(e + \" is not a function!\");\r\n\t\t\t\treturn e\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n = 0, r = Math.random();\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn \"Symbol(\".concat(void 0 === e ? \"\" : e, \")_\", (++n + r).toString(36))\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(18).f, a = n(27), o = n(11)(\"toStringTag\");\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\te && !a(e = n ? e : e.prototype, o) && r(e, o, {configurable: !0, value: t})\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(115);\r\n\t\t\tfor (var r = n(9), a = n(24), o = n(30), i = n(11)(\"toStringTag\"), c = \"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"), u = 0; u < c.length; u++) {\r\n\t\t\t\tvar s = c[u], f = r[s], l = f && f.prototype;\r\n\t\t\t\tl && !l[i] && a(l, i, s), o[s] = o.Array\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\tt.f = Object.getOwnPropertySymbols\r\n\t\t}, function (e, t) {\r\n\t\t\tt.f = {}.propertyIsEnumerable\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(150)\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(166)\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n = Math.ceil, r = Math.floor;\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn isNaN(e = +e) ? 0 : (e > 0 ? r : n)(e)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(25), a = n(9).document, o = r(a) && r(a.createElement);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn o ? a.createElement(e) : {}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(25);\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tif (!r(e)) return e;\r\n\t\t\t\tvar n, a;\r\n\t\t\t\tif (t && \"function\" == typeof (n = e.toString) && !r(a = n.call(e))) return a;\r\n\t\t\t\tif (\"function\" == typeof (n = e.valueOf) && !r(a = n.call(e))) return a;\r\n\t\t\t\tif (!t && \"function\" == typeof (n = e.toString) && !r(a = n.call(e))) return a;\r\n\t\t\t\tthrow TypeError(\"Can't convert object to primitive value\")\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(53), a = Math.min;\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn e > 0 ? a(r(e), 9007199254740991) : 0\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(58)(\"keys\"), a = n(46);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn r[e] || (r[e] = a(e))\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(6), a = n(9), o = a[\"__core-js_shared__\"] || (a[\"__core-js_shared__\"] = {});\r\n\t\t\t(e.exports = function (e, t) {\r\n\t\t\t\treturn o[e] || (o[e] = void 0 !== t ? t : {})\r\n\t\t\t})(\"versions\", []).push({\r\n\t\t\t\tversion: r.version,\r\n\t\t\t\tmode: n(34) ? \"pure\" : \"global\",\r\n\t\t\t\tcopyright: \"© 2019 Denis Pushkarev (zloirock.ru)\"\r\n\t\t\t})\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = \"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(38), a = n(11)(\"toStringTag\"), o = \"Arguments\" == r(function () {\r\n\t\t\t\treturn arguments\r\n\t\t\t}());\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tvar t, n, i;\r\n\t\t\t\treturn void 0 === e ? \"Undefined\" : null === e ? \"Null\" : \"string\" == typeof (n = function (e, t) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\treturn e[t]\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t}\r\n\t\t\t\t}(t = Object(e), a)) ? n : o ? r(t) : \"Object\" == (i = r(t)) && \"function\" == typeof t.callee ? \"Arguments\" : i\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(60), a = n(11)(\"iterator\"), o = n(30);\r\n\t\t\te.exports = n(6).getIteratorMethod = function (e) {\r\n\t\t\t\tif (null != e) return e[a] || e[\"@@iterator\"] || o[r(e)]\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(45);\r\n\t\t\tfunction a(e) {\r\n\t\t\t\tvar t, n;\r\n\t\t\t\tthis.promise = new e((function (e, r) {\r\n\t\t\t\t\tif (void 0 !== t || void 0 !== n) throw TypeError(\"Bad Promise constructor\");\r\n\t\t\t\t\tt = e, n = r\r\n\t\t\t\t})), this.resolve = r(t), this.reject = r(n)\r\n\t\t\t}\r\n\t\t\te.exports.f = function (e) {\r\n\t\t\t\treturn new a(e)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tt.f = n(11)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(9), a = n(6), o = n(34), i = n(63), c = n(18).f;\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tvar t = a.Symbol || (a.Symbol = o ? {} : r.Symbol || {});\r\n\t\t\t\t\"_\" == e.charAt(0) || e in t || c(t, e, {value: i.f(e)})\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(83), a = n(59).concat(\"length\", \"prototype\");\r\n\t\t\tt.f = Object.getOwnPropertyNames || function (e) {\r\n\t\t\t\treturn r(e, a)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(50), a = n(36), o = n(19), i = n(55), c = n(27), u = n(79), s = Object.getOwnPropertyDescriptor;\r\n\t\t\tt.f = n(15) ? s : function (e, t) {\r\n\t\t\t\tif (e = o(e), t = i(t, !0), u) try {\r\n\t\t\t\t\treturn s(e, t)\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t}\r\n\t\t\t\tif (c(e, t)) return a(!r.f.call(e, t), e[t])\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(141)\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(143)\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(168)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(152), a = n(153), o = n(99), i = n(156);\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\treturn r(e) || a(e, t) || o(e, t) || i()\r\n\t\t\t}\r\n\t\t}, function (e) {\r\n\t\t\te.exports = JSON.parse('{\"package\":\"com.huawei.works.h5.common\",\"packageAlias\":\"common\",\"versionCode\":\"23\",\"versionName\":\"1.0.23\",\"indexURL\":\"h5://common/html/index.html\",\"minAdaptedCode\":\"135\"}')\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.d(t, \"a\", (function () {\r\n\t\t\t\treturn r\r\n\t\t\t})), n.d(t, \"b\", (function () {\r\n\t\t\t\treturn a\r\n\t\t\t}));\r\n\t\t\tvar r = [{origin: \"chineseName\", target: \"userNameCn\"}, {\r\n\t\t\t\torigin: \"englishName\",\r\n\t\t\t\ttarget: \"userNameEn\"\r\n\t\t\t}, {origin: \"employeeNumber\", target: \"corpUserId\"}, {\r\n\t\t\t\torigin: \"mobileCodeAll\",\r\n\t\t\t\ttarget: \"mobileNumber\"\r\n\t\t\t}, {origin: \"personLocation\", target: \"workPlace\"}, {\r\n\t\t\t\torigin: \"personMail\",\r\n\t\t\t\ttarget: \"userEmail\"\r\n\t\t\t}, {origin: \"personType\", target: \"userType\"}, {origin: \"sex\", target: \"gender\"}, {\r\n\t\t\t\torigin: \"w3account\",\r\n\t\t\t\ttarget: \"userId\"\r\n\t\t\t}, {origin: \"sign\", target: \"signature\"}], a = [{\r\n\t\t\t\tfuncName: \"getContactInfo\",\r\n\t\t\t\tmapping: [{origin: \"userIds\", target: \"w3accounts\"}, {\r\n\t\t\t\t\torigin: \"corpUserIds\",\r\n\t\t\t\t\ttarget: \"employeeNumbers\"\r\n\t\t\t\t}, {origin: \"userEmails\", target: \"personMails\"}]\r\n\t\t\t}, {\r\n\t\t\t\tfuncName: \"contactInfo\",\r\n\t\t\t\tmapping: [{origin: \"userIds\", target: \"w3accounts\"}, {\r\n\t\t\t\t\torigin: \"corpUserIds\",\r\n\t\t\t\t\ttarget: \"employeeNumbers\"\r\n\t\t\t\t}, {origin: \"userEmails\", target: \"personMails\"}]\r\n\t\t\t}, {\r\n\t\t\t\tfuncName: \"openUserProfile\",\r\n\t\t\t\tmapping: [{origin: \"userId\", target: \"w3account\"}, {\r\n\t\t\t\t\torigin: \"corpUserId\",\r\n\t\t\t\t\ttarget: \"employeeNumber\"\r\n\t\t\t\t}, {origin: \"userEmail\", target: \"personMail\"}]\r\n\t\t\t}, {\r\n\t\t\t\tfuncName: \"viewContactInfo\",\r\n\t\t\t\tmapping: [{origin: \"userId\", target: \"w3account\"}, {\r\n\t\t\t\t\torigin: \"corpUserId\",\r\n\t\t\t\t\ttarget: \"employeeNumber\"\r\n\t\t\t\t}, {origin: \"userEmail\", target: \"personMail\"}]\r\n\t\t\t}, {funcName: \"fetchInternet\", mapping: []}, {funcName: \"fetchVPN\", mapping: []}]\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(170)\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(173)\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(175)\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(20), a = n.n(r), o = n(17), i = n.n(o), c = {}, u = {\r\n\t\t\t\twatermark_id: \"wm_div_id\",\r\n\t\t\t\twatermark_prefix: \"mask_div_id\",\r\n\t\t\t\twatermark_txt: \"测试水印\",\r\n\t\t\t\twatermark_x: 20,\r\n\t\t\t\twatermark_y: 20,\r\n\t\t\t\twatermark_rows: 0,\r\n\t\t\t\twatermark_cols: 0,\r\n\t\t\t\twatermark_x_space: 100,\r\n\t\t\t\twatermark_y_space: 50,\r\n\t\t\t\twatermark_font: \"微软雅黑\",\r\n\t\t\t\twatermark_color: \"black\",\r\n\t\t\t\twatermark_fontsize: \"18px\",\r\n\t\t\t\twatermark_alpha: .15,\r\n\t\t\t\twatermark_width: 100,\r\n\t\t\t\twatermark_height: 100,\r\n\t\t\t\twatermark_angle: 15,\r\n\t\t\t\twatermark_parent_width: 0,\r\n\t\t\t\twatermark_parent_height: 0,\r\n\t\t\t\twatermark_parent_node: null\r\n\t\t\t}, s = function (e) {\r\n\t\t\t\tif (1 === arguments.length && \"object\" === i()(arguments[0])) {\r\n\t\t\t\t\tvar t = arguments[0] || {};\r\n\t\t\t\t\tfor (var n in t) t[n] && u[n] && t[n] === u[n] || (t[n] || 0 === t[n]) && (u[n] = t[n])\r\n\t\t\t\t}\r\n\t\t\t\tvar r = document.getElementById(u.watermark_id);\r\n\t\t\t\tif (r) {\r\n\t\t\t\t\tvar o = r.parentNode;\r\n\t\t\t\t\to && o.removeChild(r)\r\n\t\t\t\t}\r\n\t\t\t\tMath.max(document.body.scrollWidth, document.body.clientWidth), u.watermark_width, Math.max(document.body.scrollHeight, document.body.clientHeight, document.documentElement.clientHeight), u.watermark_height;\r\n\t\t\t\tvar c = arguments[0] || {}, s = u.watermark_parent_node, f = 0, l = 0;\r\n\t\t\t\tc.watermark_parent_width || c.watermark_parent_height ? (c.watermark_parent_width ? c.watermark_parent_width - u.watermark_width / 2 : u.watermark_parent_node && s.offsetWidth - u.watermark_width / 2, c.watermark_parent_height ? c.watermark_parent_height - u.watermark_height / 2 : u.watermark_parent_node && Math.max(s.offsetHeight, s.scrollHeight) - u.watermark_height / 2, s && (f = s.offsetTop || 0, l = s.offsetLeft || 0, u.watermark_x = u.watermark_x + l, u.watermark_y = u.watermark_y + f)) : s && (f = s.offsetTop || 0, l = s.offsetLeft || 0, s.offsetWidth - u.watermark_width / 2 || 0, Math.max(s.offsetHeight, s.scrollHeight) - u.watermark_height / 2 || 0, u.watermark_x = u.watermark_x + l, u.watermark_y = u.watermark_y + f);\r\n\t\t\t\tvar p, d, h = document.getElementById(u.watermark_id), m = {};\r\n\t\t\t\tif (h) h.shadowRoot && (m = h.shadowRoot); else {\r\n\t\t\t\t\t(h = document.createElement(\"div\")).id = u.watermark_id, h.style.pointerEvents = \"none\", m = \"function\" == typeof h.attachShadow ? h.attachShadow({mode: \"open\"}) : h;\r\n\t\t\t\t\tvar v = document.body.children, g = a()() + \"\", y = g.substr(g.length - 1, 1);\r\n\t\t\t\t\tv[y] ? document.body.insertBefore(h, v[y]) : document.body.appendChild(h)\r\n\t\t\t\t}\r\n\t\t\t\tvar b = document.createElement(\"div\");\r\n\t\t\t\tb.style.width = \"100%\", b.style.position = \"fixed\", b.style.top = \"0\", b.style.overflow = \"hidden\", b.style.bottom = \"0\", b.style.pointerEvents = \"none\", m.appendChild(b);\r\n\t\t\t\tfor (var w = 0; w < u.watermark_rows; w++) {\r\n\t\t\t\t\tvar x = w % 2 == 0;\r\n\t\t\t\t\td = u.watermark_y + (u.watermark_y_space + u.watermark_height) * w;\r\n\t\t\t\t\tfor (var k = 0; k < u.watermark_cols; k++) {\r\n\t\t\t\t\t\tp = u.watermark_x + (u.watermark_width + u.watermark_x_space) * k;\r\n\t\t\t\t\t\tvar N = document.createElement(\"div\"), _ = document.createTextNode(u.watermark_txt);\r\n\t\t\t\t\t\tN.appendChild(_), N.id = u.watermark_prefix + w + k, N.style.webkitTransform = \"rotate(-\" + u.watermark_angle + \"deg)\", N.style.MozTransform = \"rotate(-\" + u.watermark_angle + \"deg)\", N.style.msTransform = \"rotate(-\" + u.watermark_angle + \"deg)\", N.style.OTransform = \"rotate(-\" + u.watermark_angle + \"deg)\", N.style.transform = \"rotate(-\" + u.watermark_angle + \"deg)\", N.style.visibility = \"\", N.style.position = \"absolute\", N.style.left = x ? p + \"px\" : p - u.watermark_width + \"px\", N.style.top = d + \"px\", N.style.overflow = \"hidden\", N.style.zIndex = \"9999999\", N.style.opacity = u.watermark_alpha, N.style.fontSize = u.watermark_fontsize, N.style.fontFamily = u.watermark_font, N.style.color = u.watermark_color, N.style.textAlign = \"center\", N.style.width = u.watermark_width + \"px\", N.style.height = u.watermark_height + \"px\", N.style.display = \"block\", N.style[\"-ms-user-select\"] = \"none\", b.appendChild(N)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tm.appendChild(b)\r\n\t\t\t};\r\n\t\t\tc.init = function (e) {\r\n\t\t\t\twindow.addEventListener(\"load\", (function () {\r\n\t\t\t\t\ts(e)\r\n\t\t\t\t})), window.addEventListener(\"resize\", (function () {\r\n\t\t\t\t\ts(e)\r\n\t\t\t\t})), window.addEventListener(\"DOMContentLoaded\", (function () {\r\n\t\t\t\t\ts(e)\r\n\t\t\t\t}))\r\n\t\t\t}, c.load = function (e) {\r\n\t\t\t\ts(e)\r\n\t\t\t}, c.remove = function () {\r\n\t\t\t\t!function () {\r\n\t\t\t\t\tif (1 === arguments.length && \"object\" === i()(arguments[0])) {\r\n\t\t\t\t\t\tvar e = arguments[0] || {};\r\n\t\t\t\t\t\tfor (key in e) e[key] && u[key] && e[key] === u[key] || (e[key] || 0 === e[key]) && (u[key] = e[key])\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar t = document.getElementById(u.watermark_id), n = t.parentNode;\r\n\t\t\t\t\tn.removeChild(t)\r\n\t\t\t\t}()\r\n\t\t\t}, t.a = c\r\n\t\t}, function (e, t) {\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(34), a = n(10), o = n(80), i = n(24), c = n(30), u = n(111), s = n(47), f = n(114),\r\n\t\t\t\tl = n(11)(\"iterator\"), p = !([].keys && \"next\" in [].keys()), d = function () {\r\n\t\t\t\t\treturn this\r\n\t\t\t\t};\r\n\t\t\te.exports = function (e, t, n, h, m, v, g) {\r\n\t\t\t\tu(n, t, h);\r\n\t\t\t\tvar y, b, w, x = function (e) {\r\n\t\t\t\t\t\tif (!p && e in S) return S[e];\r\n\t\t\t\t\t\tswitch (e) {\r\n\t\t\t\t\t\t\tcase\"keys\":\r\n\t\t\t\t\t\t\tcase\"values\":\r\n\t\t\t\t\t\t\t\treturn function () {\r\n\t\t\t\t\t\t\t\t\treturn new n(this, e)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn function () {\r\n\t\t\t\t\t\t\treturn new n(this, e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, k = t + \" Iterator\", N = \"values\" == m, _ = !1, S = e.prototype,\r\n\t\t\t\t\tC = S[l] || S[\"@@iterator\"] || m && S[m], O = C || x(m), I = m ? N ? x(\"entries\") : O : void 0,\r\n\t\t\t\t\tj = \"Array\" == t && S.entries || C;\r\n\t\t\t\tif (j && (w = f(j.call(new e))) !== Object.prototype && w.next && (s(w, k, !0), r || \"function\" == typeof w[l] || i(w, l, d)), N && C && \"values\" !== C.name && (_ = !0, O = function () {\r\n\t\t\t\t\treturn C.call(this)\r\n\t\t\t\t}), r && !g || !p && !_ && S[l] || i(S, l, O), c[t] = O, c[k] = d, m) if (y = {\r\n\t\t\t\t\tvalues: N ? O : x(\"values\"),\r\n\t\t\t\t\tkeys: v ? O : x(\"keys\"),\r\n\t\t\t\t\tentries: I\r\n\t\t\t\t}, g) for (b in y) b in S || o(S, b, y[b]); else a(a.P + a.F * (p || _), t, y);\r\n\t\t\t\treturn y\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = !n(15) && !n(26)((function () {\r\n\t\t\t\treturn 7 != Object.defineProperty(n(54)(\"div\"), \"a\", {\r\n\t\t\t\t\tget: function () {\r\n\t\t\t\t\t\treturn 7\r\n\t\t\t\t\t}\r\n\t\t\t\t}).a\r\n\t\t\t}))\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(24)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(14), a = n(82), o = n(59), i = n(57)(\"IE_PROTO\"), c = function () {\r\n\t\t\t}, u = function () {\r\n\t\t\t\tvar e, t = n(54)(\"iframe\"), r = o.length;\r\n\t\t\t\tfor (t.style.display = \"none\", n(85).appendChild(t), t.src = \"javascript:\", (e = t.contentWindow.document).open(), e.write(\"<script>document.F=Object<\\/script>\"), e.close(), u = e.F; r--;) delete u.prototype[o[r]];\r\n\t\t\t\treturn u()\r\n\t\t\t};\r\n\t\t\te.exports = Object.create || function (e, t) {\r\n\t\t\t\tvar n;\r\n\t\t\t\treturn null !== e ? (c.prototype = r(e), n = new c, c.prototype = null, n[i] = e) : n = u(), void 0 === t ? n : a(n, t)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(18), a = n(14), o = n(37);\r\n\t\t\te.exports = n(15) ? Object.defineProperties : function (e, t) {\r\n\t\t\t\ta(e);\r\n\t\t\t\tfor (var n, i = o(t), c = i.length, u = 0; c > u;) r.f(e, n = i[u++], t[n]);\r\n\t\t\t\treturn e\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(27), a = n(19), o = n(112)(!1), i = n(57)(\"IE_PROTO\");\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tvar n, c = a(e), u = 0, s = [];\r\n\t\t\t\tfor (n in c) n != i && r(c, n) && s.push(n);\r\n\t\t\t\tfor (; t.length > u;) r(c, n = t[u++]) && (~o(s, n) || s.push(n));\r\n\t\t\t\treturn s\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(38);\r\n\t\t\te.exports = Object(\"z\").propertyIsEnumerable(0) ? Object : function (e) {\r\n\t\t\t\treturn \"String\" == r(e) ? e.split(\"\") : Object(e)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(9).document;\r\n\t\t\te.exports = r && r.documentElement\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(14);\r\n\t\t\te.exports = function (e, t, n, a) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn a ? t(r(n)[0], n[1]) : t(n)\r\n\t\t\t\t} catch (t) {\r\n\t\t\t\t\tvar o = e.return;\r\n\t\t\t\t\tthrow void 0 !== o && r(o.call(e)), t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(30), a = n(11)(\"iterator\"), o = Array.prototype;\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn void 0 !== e && (r.Array === e || o[a] === e)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(14), a = n(45), o = n(11)(\"species\");\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tvar n, i = r(e).constructor;\r\n\t\t\t\treturn void 0 === i || null == (n = r(i)[o]) ? t : a(n)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r, a, o, i = n(35), c = n(121), u = n(85), s = n(54), f = n(9), l = f.process, p = f.setImmediate,\r\n\t\t\t\td = f.clearImmediate, h = f.MessageChannel, m = f.Dispatch, v = 0, g = {}, y = function () {\r\n\t\t\t\t\tvar e = +this;\r\n\t\t\t\t\tif (g.hasOwnProperty(e)) {\r\n\t\t\t\t\t\tvar t = g[e];\r\n\t\t\t\t\t\tdelete g[e], t()\r\n\t\t\t\t\t}\r\n\t\t\t\t}, b = function (e) {\r\n\t\t\t\t\ty.call(e.data)\r\n\t\t\t\t};\r\n\t\t\tp && d || (p = function (e) {\r\n\t\t\t\tfor (var t = [], n = 1; arguments.length > n;) t.push(arguments[n++]);\r\n\t\t\t\treturn g[++v] = function () {\r\n\t\t\t\t\tc(\"function\" == typeof e ? e : Function(e), t)\r\n\t\t\t\t}, r(v), v\r\n\t\t\t}, d = function (e) {\r\n\t\t\t\tdelete g[e]\r\n\t\t\t}, \"process\" == n(38)(l) ? r = function (e) {\r\n\t\t\t\tl.nextTick(i(y, e, 1))\r\n\t\t\t} : m && m.now ? r = function (e) {\r\n\t\t\t\tm.now(i(y, e, 1))\r\n\t\t\t} : h ? (o = (a = new h).port2, a.port1.onmessage = b, r = i(o.postMessage, o, 1)) : f.addEventListener && \"function\" == typeof postMessage && !f.importScripts ? (r = function (e) {\r\n\t\t\t\tf.postMessage(e + \"\", \"*\")\r\n\t\t\t}, f.addEventListener(\"message\", b, !1)) : r = \"onreadystatechange\" in s(\"script\") ? function (e) {\r\n\t\t\t\tu.appendChild(s(\"script\")).onreadystatechange = function () {\r\n\t\t\t\t\tu.removeChild(this), y.call(e)\r\n\t\t\t\t}\r\n\t\t\t} : function (e) {\r\n\t\t\t\tsetTimeout(i(y, e, 1), 0)\r\n\t\t\t}), e.exports = {set: p, clear: d}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn {e: !1, v: e()}\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treturn {e: !0, v: e}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(14), a = n(25), o = n(62);\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tif (r(e), a(t) && t.constructor === e) return t;\r\n\t\t\t\tvar n = o.f(e);\r\n\t\t\t\treturn (0, n.resolve)(t), n.promise\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(11)(\"iterator\"), a = !1;\r\n\t\t\ttry {\r\n\t\t\t\tvar o = [7][r]();\r\n\t\t\t\to.return = function () {\r\n\t\t\t\t\ta = !0\r\n\t\t\t\t}, Array.from(o, (function () {\r\n\t\t\t\t\tthrow 2\r\n\t\t\t\t}))\r\n\t\t\t} catch (e) {\r\n\t\t\t}\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tif (!t && !a) return !1;\r\n\t\t\t\tvar n = !1;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tvar o = [7], i = o[r]();\r\n\t\t\t\t\ti.next = function () {\r\n\t\t\t\t\t\treturn {done: n = !0}\r\n\t\t\t\t\t}, o[r] = function () {\r\n\t\t\t\t\t\treturn i\r\n\t\t\t\t\t}, e(o)\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t}\r\n\t\t\t\treturn n\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = [{apiName: \"getDeviceInfo\", nativeName: \"getDeviceInfo\"}, {\r\n\t\t\t\tapiName: \"getAppInfo\",\r\n\t\t\t\tnativeName: \"getAppInfo\"\r\n\t\t\t}, {apiName: \"getNetworkType\", nativeName: \"getNetworkStatus\"}, {\r\n\t\t\t\tapiName: \"scanCode\",\r\n\t\t\t\tnativeName: \"scanQR\"\r\n\t\t\t}, {apiName: \"navigateBack\", nativeName: \"goBack\"}, {\r\n\t\t\t\tapiName: \"getUserInfo\",\r\n\t\t\t\tnativeName: \"getUserInfo\"\r\n\t\t\t}, {apiName: \"getAuthCode\", nativeName: \"getAuthCode\"}, {\r\n\t\t\t\tapiName: \"config\",\r\n\t\t\t\tnativeName: \"config\"\r\n\t\t\t}, {apiName: \"checkJsApi\", nativeName: \"checkJsApi\"}, {\r\n\t\t\t\tapiName: \"getLocation\",\r\n\t\t\t\tnativeName: \"location\"\r\n\t\t\t}, {apiName: \"playAudio\", nativeName: \"playAudio\"}, {\r\n\t\t\t\tapiName: \"share\",\r\n\t\t\t\tnativeName: \"share\"\r\n\t\t\t}, {apiName: \"playMedia\", nativeName: \"playMedia\"}, {\r\n\t\t\t\tapiName: \"setStorage\",\r\n\t\t\t\tnativeName: \"setCache\"\r\n\t\t\t}, {apiName: \"getStorage\", nativeName: \"getCache\"}, {\r\n\t\t\t\tapiName: \"clearStorage\",\r\n\t\t\t\tnativeName: \"clearCache\"\r\n\t\t\t}, {apiName: \"removeStorage\", nativeName: \"deleteCache\"}, {\r\n\t\t\t\tapiName: \"recordAudio\",\r\n\t\t\t\tnativeName: \"broadcastEvent\"\r\n\t\t\t}, {apiName: \"previewImage\", nativeName: \"imageBrowser\"}, {\r\n\t\t\t\tapiName: \"launchApp\",\r\n\t\t\t\tnativeName: \"launchApp\"\r\n\t\t\t}, {apiName: \"close\", nativeName: \"close\"}, {\r\n\t\t\t\tapiName: \"setNavigationBarTitle\",\r\n\t\t\t\tnativeName: \"setNavTitle\"\r\n\t\t\t}, {apiName: \"uploadImage\", nativeName: \"uploadFile\"}, {\r\n\t\t\t\tapiName: \"chooseImage\",\r\n\t\t\t\tnativeName: \"imagePicker\"\r\n\t\t\t}, {apiName: \"openFile\", nativeName: \"openFileInMDM\"}, {\r\n\t\t\t\tapiName: \"navigateToWecode\",\r\n\t\t\t\tnativeName: \"navigateToWecode\"\r\n\t\t\t}, {apiName: \"horizontalScreen\", nativeName: \"horizontalScreen\"}, {\r\n\t\t\t\tapiName: \"offHorizontalScreen\",\r\n\t\t\t\tnativeName: \"offHorizontalScreen\"\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"openBluetoothAdapter\",\r\n\t\t\t\tnativeName: \"openBluetoothAdapter\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"closeBluetoothAdapter\",\r\n\t\t\t\tnativeName: \"closeBluetoothAdapter\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"readBLECharacteristicValue\",\r\n\t\t\t\tnativeName: \"readBLECharacteristicValue\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"writeBLECharacteristicValue\",\r\n\t\t\t\tnativeName: \"writeBLECharacteristicValue\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"notifyBLECharacteristicValueChange\",\r\n\t\t\t\tnativeName: \"notifyBLECharacteristicValueChange\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"getBLEDeviceServices\",\r\n\t\t\t\tnativeName: \"getBLEDeviceServices\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"getBLEDeviceCharacteristics\",\r\n\t\t\t\tnativeName: \"getBLEDeviceCharacteristics\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"createBLEConnection\",\r\n\t\t\t\tnativeName: \"createBLEConnection\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"closeBLEConnection\",\r\n\t\t\t\tnativeName: \"closeBLEConnection\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"startBLEDevicesDiscovery\",\r\n\t\t\t\tnativeName: \"startBLEDevicesDiscovery\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"stopBLEDevicesDiscovery\",\r\n\t\t\t\tnativeName: \"stopBLEDevicesDiscovery\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"getConnectedBluetoothDevices\",\r\n\t\t\t\tnativeName: \"getConnectedBluetoothDevices\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"getBluetoothDevices\",\r\n\t\t\t\tnativeName: \"getBluetoothDevices\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"getBluetoothAdapterState\",\r\n\t\t\t\tnativeName: \"getBluetoothAdapterState\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"startBluetoothDevicesDiscovery\",\r\n\t\t\t\tnativeName: \"startBluetoothDevicesDiscovery\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"stopBluetoothDevicesDiscovery\",\r\n\t\t\t\tnativeName: \"stopBluetoothDevicesDiscovery\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"createBluetoothConnection\",\r\n\t\t\t\tnativeName: \"createBluetoothConnection\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"closeBluetoothConnection\",\r\n\t\t\t\tnativeName: \"closeBluetoothConnection\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"readBluetoothData\",\r\n\t\t\t\tnativeName: \"readBluetoothData\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {\r\n\t\t\t\tapiName: \"writeDataToBluetooth\",\r\n\t\t\t\tnativeName: \"writeDataToBluetooth\",\r\n\t\t\t\tpcNotSupport: !0\r\n\t\t\t}, {apiName: \"createBond\", nativeName: \"createBond\", pcNotSupport: !0}]\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(38);\r\n\t\t\te.exports = Array.isArray || function (e) {\r\n\t\t\t\treturn \"Array\" == r(e)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10), a = n(6), o = n(26);\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tvar n = (a.Object || {})[e] || Object[e], i = {};\r\n\t\t\t\ti[e] = t(n), r(r.S + r.F * o((function () {\r\n\t\t\t\t\tn(1)\r\n\t\t\t\t})), \"Object\", i)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(9), a = n(27), o = n(15), i = n(10), c = n(80), u = n(145).KEY, s = n(26), f = n(58), l = n(47),\r\n\t\t\t\tp = n(46), d = n(11), h = n(63), m = n(64), v = n(146), g = n(94), y = n(14), b = n(25), w = n(39),\r\n\t\t\t\tx = n(19), k = n(55), N = n(36), _ = n(81), S = n(147), C = n(66), O = n(49), I = n(18), j = n(37),\r\n\t\t\t\tE = C.f,\r\n\t\t\t\tL = I.f, P = S.f, H = r.Symbol, T = r.JSON, A = T && T.stringify, F = d(\"_hidden\"),\r\n\t\t\t\tB = d(\"toPrimitive\"),\r\n\t\t\t\tW = {}.propertyIsEnumerable, D = f(\"symbol-registry\"), M = f(\"symbols\"), U = f(\"op-symbols\"),\r\n\t\t\t\tR = Object.prototype, J = \"function\" == typeof H && !!O.f, G = r.QObject,\r\n\t\t\t\tV = !G || !G.prototype || !G.prototype.findChild, z = o && s((function () {\r\n\t\t\t\t\treturn 7 != _(L({}, \"a\", {\r\n\t\t\t\t\t\tget: function () {\r\n\t\t\t\t\t\t\treturn L(this, \"a\", {value: 7}).a\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})).a\r\n\t\t\t\t})) ? function (e, t, n) {\r\n\t\t\t\t\tvar r = E(R, t);\r\n\t\t\t\t\tr && delete R[t], L(e, t, n), r && e !== R && L(R, t, r)\r\n\t\t\t\t} : L, q = function (e) {\r\n\t\t\t\t\tvar t = M[e] = _(H.prototype);\r\n\t\t\t\t\treturn t._k = e, t\r\n\t\t\t\t}, K = J && \"symbol\" == typeof H.iterator ? function (e) {\r\n\t\t\t\t\treturn \"symbol\" == typeof e\r\n\t\t\t\t} : function (e) {\r\n\t\t\t\t\treturn e instanceof H\r\n\t\t\t\t}, Q = function (e, t, n) {\r\n\t\t\t\t\treturn e === R && Q(U, t, n), y(e), t = k(t, !0), y(n), a(M, t) ? (n.enumerable ? (a(e, F) && e[F][t] && (e[F][t] = !1), n = _(n, {enumerable: N(0, !1)})) : (a(e, F) || L(e, F, N(1, {})), e[F][t] = !0), z(e, t, n)) : L(e, t, n)\r\n\t\t\t\t}, $ = function (e, t) {\r\n\t\t\t\t\ty(e);\r\n\t\t\t\t\tfor (var n, r = v(t = x(t)), a = 0, o = r.length; o > a;) Q(e, n = r[a++], t[n]);\r\n\t\t\t\t\treturn e\r\n\t\t\t\t}, Y = function (e) {\r\n\t\t\t\t\tvar t = W.call(this, e = k(e, !0));\r\n\t\t\t\t\treturn !(this === R && a(M, e) && !a(U, e)) && (!(t || !a(this, e) || !a(M, e) || a(this, F) && this[F][e]) || t)\r\n\t\t\t\t}, X = function (e, t) {\r\n\t\t\t\t\tif (e = x(e), t = k(t, !0), e !== R || !a(M, t) || a(U, t)) {\r\n\t\t\t\t\t\tvar n = E(e, t);\r\n\t\t\t\t\t\treturn !n || !a(M, t) || a(e, F) && e[F][t] || (n.enumerable = !0), n\r\n\t\t\t\t\t}\r\n\t\t\t\t}, Z = function (e) {\r\n\t\t\t\t\tfor (var t, n = P(x(e)), r = [], o = 0; n.length > o;) a(M, t = n[o++]) || t == F || t == u || r.push(t);\r\n\t\t\t\t\treturn r\r\n\t\t\t\t}, ee = function (e) {\r\n\t\t\t\t\tfor (var t, n = e === R, r = P(n ? U : x(e)), o = [], i = 0; r.length > i;) !a(M, t = r[i++]) || n && !a(R, t) || o.push(M[t]);\r\n\t\t\t\t\treturn o\r\n\t\t\t\t};\r\n\t\t\tJ || (c((H = function () {\r\n\t\t\t\tif (this instanceof H) throw TypeError(\"Symbol is not a constructor!\");\r\n\t\t\t\tvar e = p(arguments.length > 0 ? arguments[0] : void 0), t = function (n) {\r\n\t\t\t\t\tthis === R && t.call(U, n), a(this, F) && a(this[F], e) && (this[F][e] = !1), z(this, e, N(1, n))\r\n\t\t\t\t};\r\n\t\t\t\treturn o && V && z(R, e, {configurable: !0, set: t}), q(e)\r\n\t\t\t}).prototype, \"toString\", (function () {\r\n\t\t\t\treturn this._k\r\n\t\t\t})), C.f = X, I.f = Q, n(65).f = S.f = Z, n(50).f = Y, O.f = ee, o && !n(34) && c(R, \"propertyIsEnumerable\", Y, !0), h.f = function (e) {\r\n\t\t\t\treturn q(d(e))\r\n\t\t\t}), i(i.G + i.W + i.F * !J, {Symbol: H});\r\n\t\t\tfor (var te = \"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"), ne = 0; te.length > ne;) d(te[ne++]);\r\n\t\t\tfor (var re = j(d.store), ae = 0; re.length > ae;) m(re[ae++]);\r\n\t\t\ti(i.S + i.F * !J, \"Symbol\", {\r\n\t\t\t\tfor: function (e) {\r\n\t\t\t\t\treturn a(D, e += \"\") ? D[e] : D[e] = H(e)\r\n\t\t\t\t}, keyFor: function (e) {\r\n\t\t\t\t\tif (!K(e)) throw TypeError(e + \" is not a symbol!\");\r\n\t\t\t\t\tfor (var t in D) if (D[t] === e) return t\r\n\t\t\t\t}, useSetter: function () {\r\n\t\t\t\t\tV = !0\r\n\t\t\t\t}, useSimple: function () {\r\n\t\t\t\t\tV = !1\r\n\t\t\t\t}\r\n\t\t\t}), i(i.S + i.F * !J, \"Object\", {\r\n\t\t\t\tcreate: function (e, t) {\r\n\t\t\t\t\treturn void 0 === t ? _(e) : $(_(e), t)\r\n\t\t\t\t},\r\n\t\t\t\tdefineProperty: Q,\r\n\t\t\t\tdefineProperties: $,\r\n\t\t\t\tgetOwnPropertyDescriptor: X,\r\n\t\t\t\tgetOwnPropertyNames: Z,\r\n\t\t\t\tgetOwnPropertySymbols: ee\r\n\t\t\t});\r\n\t\t\tvar oe = s((function () {\r\n\t\t\t\tO.f(1)\r\n\t\t\t}));\r\n\t\t\ti(i.S + i.F * oe, \"Object\", {\r\n\t\t\t\tgetOwnPropertySymbols: function (e) {\r\n\t\t\t\t\treturn O.f(w(e))\r\n\t\t\t\t}\r\n\t\t\t}), T && i(i.S + i.F * (!J || s((function () {\r\n\t\t\t\tvar e = H();\r\n\t\t\t\treturn \"[null]\" != A([e]) || \"{}\" != A({a: e}) || \"{}\" != A(Object(e))\r\n\t\t\t}))), \"JSON\", {\r\n\t\t\t\tstringify: function (e) {\r\n\t\t\t\t\tfor (var t, n, r = [e], a = 1; arguments.length > a;) r.push(arguments[a++]);\r\n\t\t\t\t\tif (n = t = r[1], (b(t) || void 0 !== e) && !K(e)) return g(t) || (t = function (e, t) {\r\n\t\t\t\t\t\tif (\"function\" == typeof n && (t = n.call(this, e, t)), !K(t)) return t\r\n\t\t\t\t\t}), r[1] = t, A.apply(T, r)\r\n\t\t\t\t}\r\n\t\t\t}), H.prototype[B] || n(24)(H.prototype, B, H.prototype.valueOf), l(H, \"Symbol\"), l(Math, \"Math\", !0), l(r.JSON, \"JSON\", !0)\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(18), a = n(36);\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\tt in e ? r.f(e, t, a(0, n)) : e[t] = n\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(154)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(51), a = n(100);\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tif (e) {\r\n\t\t\t\t\tif (\"string\" == typeof e) return a(e, t);\r\n\t\t\t\t\tvar n = Object.prototype.toString.call(e).slice(8, -1);\r\n\t\t\t\t\treturn \"Object\" === n && e.constructor && (n = e.constructor.name), \"Map\" === n || \"Set\" === n ? r(e) : \"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? a(e, t) : void 0\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\t(null == t || t > e.length) && (t = e.length);\r\n\t\t\t\tfor (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];\r\n\t\t\t\treturn r\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = \"\\t\\n\\v\\f\\r   ᠎             　\\u2028\\u2029\\ufeff\"\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(136), a = n(137), o = n(138);\r\n\t\t\tfunction i(e, t) {\r\n\t\t\t\treturn t.encode ? t.strict ? r(e) : encodeURIComponent(e) : e\r\n\t\t\t}\r\n\t\t\tfunction c(e) {\r\n\t\t\t\tvar t = e.indexOf(\"?\");\r\n\t\t\t\treturn -1 === t ? \"\" : e.slice(t + 1)\r\n\t\t\t}\r\n\t\t\tfunction u(e, t) {\r\n\t\t\t\tvar n = function (e) {\r\n\t\t\t\t\tvar t;\r\n\t\t\t\t\tswitch (e.arrayFormat) {\r\n\t\t\t\t\t\tcase\"index\":\r\n\t\t\t\t\t\t\treturn function (e, n, r) {\r\n\t\t\t\t\t\t\t\tt = /\\[(\\d*)\\]$/.exec(e), e = e.replace(/\\[\\d*\\]$/, \"\"), t ? (void 0 === r[e] && (r[e] = {}), r[e][t[1]] = n) : r[e] = n\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\tcase\"bracket\":\r\n\t\t\t\t\t\t\treturn function (e, n, r) {\r\n\t\t\t\t\t\t\t\tt = /(\\[\\])$/.exec(e), e = e.replace(/\\[\\]$/, \"\"), t ? void 0 !== r[e] ? r[e] = [].concat(r[e], n) : r[e] = [n] : r[e] = n\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\treturn function (e, t, n) {\r\n\t\t\t\t\t\t\t\tvoid 0 !== n[e] ? n[e] = [].concat(n[e], t) : n[e] = t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}(t = a({arrayFormat: \"none\"}, t)), r = Object.create(null);\r\n\t\t\t\treturn \"string\" != typeof e ? r : (e = e.trim().replace(/^[?#&]/, \"\")) ? (e.split(\"&\").forEach((function (e) {\r\n\t\t\t\t\tvar t = e.replace(/\\+/g, \" \").split(\"=\"), a = t.shift(), i = t.length > 0 ? t.join(\"=\") : void 0;\r\n\t\t\t\t\ti = void 0 === i ? null : o(i), n(o(a), i, r)\r\n\t\t\t\t})), Object.keys(r).sort().reduce((function (e, t) {\r\n\t\t\t\t\tvar n = r[t];\r\n\t\t\t\t\treturn Boolean(n) && \"object\" == typeof n && !Array.isArray(n) ? e[t] = function e(t) {\r\n\t\t\t\t\t\treturn Array.isArray(t) ? t.sort() : \"object\" == typeof t ? e(Object.keys(t)).sort((function (e, t) {\r\n\t\t\t\t\t\t\treturn Number(e) - Number(t)\r\n\t\t\t\t\t\t})).map((function (e) {\r\n\t\t\t\t\t\t\treturn t[e]\r\n\t\t\t\t\t\t})) : t\r\n\t\t\t\t\t}(n) : e[t] = n, e\r\n\t\t\t\t}), Object.create(null))) : r\r\n\t\t\t}\r\n\t\t\tt.extract = c, t.parse = u, t.stringify = function (e, t) {\r\n\t\t\t\t!1 === (t = a({encode: !0, strict: !0, arrayFormat: \"none\"}, t)).sort && (t.sort = function () {\r\n\t\t\t\t});\r\n\t\t\t\tvar n = function (e) {\r\n\t\t\t\t\tswitch (e.arrayFormat) {\r\n\t\t\t\t\t\tcase\"index\":\r\n\t\t\t\t\t\t\treturn function (t, n, r) {\r\n\t\t\t\t\t\t\t\treturn null === n ? [i(t, e), \"[\", r, \"]\"].join(\"\") : [i(t, e), \"[\", i(r, e), \"]=\", i(n, e)].join(\"\")\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\tcase\"bracket\":\r\n\t\t\t\t\t\t\treturn function (t, n) {\r\n\t\t\t\t\t\t\t\treturn null === n ? i(t, e) : [i(t, e), \"[]=\", i(n, e)].join(\"\")\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\treturn function (t, n) {\r\n\t\t\t\t\t\t\t\treturn null === n ? i(t, e) : [i(t, e), \"=\", i(n, e)].join(\"\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}(t);\r\n\t\t\t\treturn e ? Object.keys(e).sort(t.sort).map((function (r) {\r\n\t\t\t\t\tvar a = e[r];\r\n\t\t\t\t\tif (void 0 === a) return \"\";\r\n\t\t\t\t\tif (null === a) return i(r, t);\r\n\t\t\t\t\tif (Array.isArray(a)) {\r\n\t\t\t\t\t\tvar o = [];\r\n\t\t\t\t\t\treturn a.slice().forEach((function (e) {\r\n\t\t\t\t\t\t\tvoid 0 !== e && o.push(n(r, e, o.length))\r\n\t\t\t\t\t\t})), o.join(\"&\")\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn i(r, t) + \"=\" + i(a, t)\r\n\t\t\t\t})).filter((function (e) {\r\n\t\t\t\t\treturn e.length > 0\r\n\t\t\t\t})).join(\"&\") : \"\"\r\n\t\t\t}, t.parseUrl = function (e, t) {\r\n\t\t\t\treturn {url: e.split(\"?\")[0] || \"\", query: u(c(e), t)}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(139), a = n(140);\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\tvar o = t && n || 0;\r\n\t\t\t\t\"string\" == typeof e && (t = \"binary\" === e ? new Array(16) : null, e = null);\r\n\t\t\t\tvar i = (e = e || {}).random || (e.rng || r)();\r\n\t\t\t\tif (i[6] = 15 & i[6] | 64, i[8] = 63 & i[8] | 128, t) for (var c = 0; c < 16; ++c) t[o + c] = i[c];\r\n\t\t\t\treturn t || a(i)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(69);\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\treturn t in e ? r(e, t, {value: n, enumerable: !0, configurable: !0, writable: !0}) : e[t] = n, e\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(176)\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\t(function (e) {\r\n\t\t\t\tvar r = n(1), a = n.n(r), o = n(3), i = n.n(o), c = n(8), u = n.n(c), s = n(2), f = n.n(s), l = n(28),\r\n\t\t\t\t\tp = n(0), d = n(31), h = n(107), m = n(42), v = n.n(m), g = n(16), y = n.n(g), b = n(12),\r\n\t\t\t\t\tw = n.n(b),\r\n\t\t\t\t\tx = n(22), k = n(7), N = n(43), _ = n(76), S = function (e) {\r\n\t\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\t\treturn new f.a((function (n, r) {\r\n\t\t\t\t\t\t\t\te(t, n, r)\r\n\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, C = {}, O = null, I = S((function (e, t, n) {\r\n\t\t\t\t\t\tif (e) {\r\n\t\t\t\t\t\t\tif (!O) {\r\n\t\t\t\t\t\t\t\tvar r = document.getElementsByClassName(\"weui-airobot-item\");\r\n\t\t\t\t\t\t\t\tif (!(r && r.length > 0)) {\r\n\t\t\t\t\t\t\t\t\tvar a = document.createElement(\"div\");\r\n\t\t\t\t\t\t\t\t\ta.className = \"weui-airobot-item\", a.onclick = function (t) {\r\n\t\t\t\t\t\t\t\t\t\tvar n;\r\n\t\t\t\t\t\t\t\t\t\tt.stopPropagation(), t.preventDefault(), a.style.display = \"none\", (n = {\r\n\t\t\t\t\t\t\t\t\t\t\ttip: e.tip,\r\n\t\t\t\t\t\t\t\t\t\t\tneedCallback: 1\r\n\t\t\t\t\t\t\t\t\t\t}, new f.a((function (e, t) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn n ? e(Object(N.b)({schema: \"ui://welink.athena/bot\", data: n})) : t()\r\n\t\t\t\t\t\t\t\t\t\t}))).then((function () {\r\n\t\t\t\t\t\t\t\t\t\t\ta.style.display = \"block\"\r\n\t\t\t\t\t\t\t\t\t\t})).catch((function () {\r\n\t\t\t\t\t\t\t\t\t\t\ta.style.display = \"block\"\r\n\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\tvar o = 0, i = 0;\r\n\t\t\t\t\t\t\t\t\ta.addEventListener(\"touchstart\", (function (e) {\r\n\t\t\t\t\t\t\t\t\t\tvar t = e.targetTouches ? e.targetTouches[0] : e;\r\n\t\t\t\t\t\t\t\t\t\to = t.clientX - a.offsetLeft, i = t.clientY - a.offsetTop\r\n\t\t\t\t\t\t\t\t\t})), a.addEventListener(\"touchmove\", (function (e) {\r\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\t\tvar t = e.targetTouches ? e.targetTouches[0] : e,\r\n\t\t\t\t\t\t\t\t\t\t\tn = window.innerWidth || window.screen.width,\r\n\t\t\t\t\t\t\t\t\t\t\tr = window.innerHeight || window.screen.height, c = t.clientX - o,\r\n\t\t\t\t\t\t\t\t\t\t\tu = t.clientY - i;\r\n\t\t\t\t\t\t\t\t\t\tc + 48 >= n ? (a.style.right = 0, a.style.left = \"auto\") : (a.style.righ = \"auto\", a.style.left = \"\".concat(c < 0 ? 0 : c, \"px\")), u + 48 >= r ? (a.style.top = \"auto\", a.style.bottom = 0) : (a.style.bottom = \"auto\", a.style.top = \"\".concat(u < 0 ? 0 : u, \"px\"))\r\n\t\t\t\t\t\t\t\t\t})), a.insertAdjacentHTML(\"beforeend\", '<span class=\"weui-airobot-item_icon\"/>'), document.body.appendChild(a), O = {\r\n\t\t\t\t\t\t\t\t\t\tenable: function () {\r\n\t\t\t\t\t\t\t\t\t\t\tO.isShow = !0, a.style.display = \"block\"\r\n\t\t\t\t\t\t\t\t\t\t}, disable: function () {\r\n\t\t\t\t\t\t\t\t\t\t\tdocument.body.removeChild(a), O = null\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn O[e.operate](), void t(!0)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tn({\r\n\t\t\t\t\t\t\tcode: \"10802\",\r\n\t\t\t\t\t\t\tmessage: \"The parameter is incorrect. Please check the documentation\",\r\n\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}));\r\n\t\t\t\tC.enableAIRobot = S((function (e, t, n) {\r\n\t\t\t\t\tvar r = e;\r\n\t\t\t\t\tp.o.getGlobalAppInfo().then((function (a) {\r\n\t\t\t\t\t\tif (!a || \"zh\" !== a.language) return n({status: \"0\", message: \"暂只支持中文环境\"});\r\n\t\t\t\t\t\tif (e && \"undefined\" !== e && \"string\" == typeof e) try {\r\n\t\t\t\t\t\t\tr = JSON.parse(e)\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\treturn n({\r\n\t\t\t\t\t\t\t\tcode: \"10802\",\r\n\t\t\t\t\t\t\t\tmessage: \"The parameter is incorrect. Please check the documentation\",\r\n\t\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn O && O.isShow && I({operate: \"disable\"}), I({\r\n\t\t\t\t\t\t\toperate: \"enable\",\r\n\t\t\t\t\t\t\ttip: r ? r.tip : \"\"\r\n\t\t\t\t\t\t}), t()\r\n\t\t\t\t\t}))\r\n\t\t\t\t})), C.disableAIRobot = function () {\r\n\t\t\t\t\tI({operate: \"disable\"})\r\n\t\t\t\t};\r\n\t\t\t\tvar j = S((function (e, t, n) {\r\n\t\t\t\t\tvar r = e;\r\n\t\t\t\t\tif (Object(p.s)(\"action\", e, \"exceptionTip\", \"exceptionTip\"), e && \"undefined\" !== e) {\r\n\t\t\t\t\t\tif (e instanceof String) try {\r\n\t\t\t\t\t\t\tr = JSON.parse(e)\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\tn(e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar a = document, o = a.createElement(\"div\"),\r\n\t\t\t\t\t\t\ti = \"icon-big icon-big-\".concat([\"nodata\", \"nopermission\", \"build\", \"networkoutage\", \"pcbrower\", \"busysystem\", \"noresource\"][r.flag - 1]);\r\n\t\t\t\t\t\to.className = \"weui-popedom-box\", r.callback && o.addEventListener(\"click\", (function () {\r\n\t\t\t\t\t\t\tr.callback()\r\n\t\t\t\t\t\t})), o.insertAdjacentHTML(\"beforeend\", '<div class=\"con\"><i class=\"'.concat(i, '\"></i><p class=\"tip guide\">').concat(r.msg, \"</p>\\n        \").concat(r.submsg ? '<p class=\"weui-popedom-box-subtitle\">'.concat(r.submsg, \"</p>\") : \"\", \"\\n      </div>\")), r.dom ? (o.style.position = \"relative\", r.dom.appendChild(o)) : a.body.appendChild(o), a.body.style.height = window.innerHeight || \"\".concat(window.screen.height, \"px\"), a.body.style.overflow = \"hidden\", void 0 !== r.flag && void 0 !== r.msg ? t(!0) : n(!1)\r\n\t\t\t\t\t}\r\n\t\t\t\t}));\r\n\t\t\t\tC.exceptionTip = j, C.showExceptionTip = j;\r\n\t\t\t\tvar E = {};\r\n\t\t\t\tC.addEventListener = S((function (e, t, n) {\r\n\t\t\t\t\te && \"undefined\" !== e && \"undefined\" !== e.type && \"undefined\" !== e.func ? (Object(p.s)(\"action\", e, \"addEventListener:\".concat(e.type), \"addEventListener:\".concat(e.type)), E[e.type] || (E[e.type] = []), [\"appLaunch\", \"appShow\", \"appHide\", \"close\"].indexOf(e.type) >= 0 ? E[e.type] = [e.func] : E[e.type].push(e.func), HWH5.eventListener[e.type] || (HWH5.eventListener[e.type] = function (t) {\r\n\t\t\t\t\t\tvar n;\r\n\t\t\t\t\t\tif ([\"navigationBarButtonClick\", \"appLaunch\", \"appShow\", \"appHide\", \"close\"].indexOf(e.type) >= 0 && void 0 !== t && E[e.type] && E[e.type].length > 0 && E[e.type][t]) n = E[e.type][t](); else {\r\n\t\t\t\t\t\t\tvar r = t;\r\n\t\t\t\t\t\t\tt && (r = l.a.decode(t));\r\n\t\t\t\t\t\t\tfor (var a = 0; a < E[e.type].length && !1 !== (n = E[e.type][a](r)); a += 1) ;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn n\r\n\t\t\t\t\t}), t()) : n()\r\n\t\t\t\t})), C.removeEventListener = function (e) {\r\n\t\t\t\t\tvar t = e.type, n = e.func;\r\n\t\t\t\t\tif (E[t]) for (var r = 0; r < E[t].length; r += 1) E[t][r] === n && E[t].splice(r, 1)\r\n\t\t\t\t}, C.removeEventListenerByType = function (e) {\r\n\t\t\t\t\tE[e] && (E[e] = null)\r\n\t\t\t\t}, C.getEventListeners = S((function (e, t, n) {\r\n\t\t\t\t\tnull === e && n([]), t(E[e] || [])\r\n\t\t\t\t})), C.app = S((function (e, t, n) {\r\n\t\t\t\t\tif ((!e || \"function\" != typeof e.onLaunch && \"function\" != typeof e.onShow && \"function\" != typeof e.onHide && \"function\" != typeof e.onClose) && n(), Object(p.s)(\"action\", e, \"app\", \"app\"), \"function\" == typeof e.onLaunch) {\r\n\t\t\t\t\t\tvar r = {type: \"appLaunch\", func: e.onLaunch};\r\n\t\t\t\t\t\tC.addEventListener(r, t, n)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (\"function\" == typeof e.onShow) {\r\n\t\t\t\t\t\tvar a = {type: \"appShow\", func: e.onShow};\r\n\t\t\t\t\t\tC.addEventListener(a, t, n)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (\"function\" == typeof e.onHide) {\r\n\t\t\t\t\t\tvar o = {type: \"appHide\", func: e.onHide};\r\n\t\t\t\t\t\tC.addEventListener(o, t, n)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (\"function\" == typeof e.onClose) {\r\n\t\t\t\t\t\tvar i = {type: \"close\", func: e.onClose};\r\n\t\t\t\t\t\tC.addEventListener(i, t, n)\r\n\t\t\t\t\t}\r\n\t\t\t\t})), C.onUserCaptureScreen = S((function (e, t, n) {\r\n\t\t\t\t\tif (\"function\" == typeof e) {\r\n\t\t\t\t\t\tvar r = {\r\n\t\t\t\t\t\t\ttype: \"userCaptureScreen\", func: function () {\r\n\t\t\t\t\t\t\t\treturn e()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treturn C.removeEventListenerByType(r.type), void C.addEventListener(r, t, n)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tn({\r\n\t\t\t\t\t\tcode: \"10802\",\r\n\t\t\t\t\t\tmessage: \"The parameter is incorrect. Please check the documentation\",\r\n\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t})\r\n\t\t\t\t}));\r\n\t\t\t\tvar L = function (e) {\r\n\t\t\t\t\tvar t = {};\r\n\t\t\t\t\treturn u()(e).forEach((function (n) {\r\n\t\t\t\t\t\tvar r = !1;\r\n\t\t\t\t\t\ty.a.forEach((function (a) {\r\n\t\t\t\t\t\t\tn === a.nativeName && (t[a.apiName] = e[n], r = !0)\r\n\t\t\t\t\t\t})), w.a.forEach((function (a) {\r\n\t\t\t\t\t\t\tn === a.schema && (t[a.apiName] = e[n], r = !0)\r\n\t\t\t\t\t\t})), r || (t[n] = e[n])\r\n\t\t\t\t\t})), t\r\n\t\t\t\t}, P = null;\r\n\t\t\t\tC.canIUse = S(function () {\r\n\t\t\t\t\tvar e = i()(a.a.mark((function e(t, n, r) {\r\n\t\t\t\t\t\tvar o, i, c;\r\n\t\t\t\t\t\treturn a.a.wrap((function (e) {\r\n\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\tif (o = t && t.schema || [], i = {}, Object(p.s)(\"action\", t, \"canIUse\", \"canIUse\"), P) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 9;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn e.next = 6, HWH5.permissions(t && t.refresh).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\treturn e\r\n\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\tcase 6:\r\n\t\t\t\t\t\t\t\t\t(c = e.sent) && 0 !== u()(c).length || r({\r\n\t\t\t\t\t\t\t\t\t\tcode: \"NoPermission\",\r\n\t\t\t\t\t\t\t\t\t\tmessage: \"no permission to use jsapi\",\r\n\t\t\t\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t\t\t\t}), P = L(c);\r\n\t\t\t\t\t\t\t\tcase 9:\r\n\t\t\t\t\t\t\t\t\to.forEach((function (e) {\r\n\t\t\t\t\t\t\t\t\t\tvar t = !1;\r\n\t\t\t\t\t\t\t\t\t\tu()(P).forEach((function (n) {\r\n\t\t\t\t\t\t\t\t\t\t\te === n && P[n] && (i[n] = P[n], t = !0)\r\n\t\t\t\t\t\t\t\t\t\t})), t || (i[e] = !1)\r\n\t\t\t\t\t\t\t\t\t})), n(i);\r\n\t\t\t\t\t\t\t\tcase 11:\r\n\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t})));\r\n\t\t\t\t\treturn function (t, n, r) {\r\n\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t}\r\n\t\t\t\t}()), C.getBackgroundAudioManager = function (e) {\r\n\t\t\t\t\tObject(p.s)(\"action\", e, \"getBackgroundAudioManager\", \"getBackgroundAudioManager\");\r\n\t\t\t\t\tvar t = Object(d.a)();\r\n\t\t\t\t\tfunction n(e) {\r\n\t\t\t\t\t\tvar n = e, r = Object(d.b)(n);\r\n\t\t\t\t\t\t0 !== r.status ? (n.data && n.data.cookies && (n.data.cookies = Object(p.f)(n.data.cookies)), HWH5.playAudioCustom(n).then((function () {\r\n\t\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\t\tt.onError && t.onError(e), console.log(\"playAudioCustom fail result\", e)\r\n\t\t\t\t\t\t}))) : t.onError ? t.onError(r.msg) : console.log(r.msg)\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn t.play = function () {\r\n\t\t\t\t\t\tn({\r\n\t\t\t\t\t\t\taction: \"play\",\r\n\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\turl: t.url,\r\n\t\t\t\t\t\t\t\tstartTime: t.startTime,\r\n\t\t\t\t\t\t\t\tbackground: t.background,\r\n\t\t\t\t\t\t\t\trepeat: t.repeat,\r\n\t\t\t\t\t\t\t\tplaybackSpeed: t.playbackSpeed,\r\n\t\t\t\t\t\t\t\tcookies: t.cookies\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}, t.pause = function () {\r\n\t\t\t\t\t\tn({action: \"pause\"})\r\n\t\t\t\t\t}, t.stop = function () {\r\n\t\t\t\t\t\tn({action: \"stop\"})\r\n\t\t\t\t\t}, t.seek = function (e) {\r\n\t\t\t\t\t\tn({action: \"seek\", data: {position: e}})\r\n\t\t\t\t\t}, t.onAttrChange = function (e) {\r\n\t\t\t\t\t\tvar r = t.background, a = t.repeat, o = t.playbackSpeed, i = {};\r\n\t\t\t\t\t\t\"background\" === e ? i = {\r\n\t\t\t\t\t\t\taction: \"background\",\r\n\t\t\t\t\t\t\tdata: {background: r}\r\n\t\t\t\t\t\t} : \"repeat\" === e ? i = {\r\n\t\t\t\t\t\t\taction: \"repeat\",\r\n\t\t\t\t\t\t\tdata: {repeat: a}\r\n\t\t\t\t\t\t} : \"playbackSpeed\" === e ? i = {\r\n\t\t\t\t\t\t\taction: \"playbackSpeed\",\r\n\t\t\t\t\t\t\tdata: {playbackSpeed: o}\r\n\t\t\t\t\t\t} : t.play(), \"url\" !== e && n(i)\r\n\t\t\t\t\t}, t\r\n\t\t\t\t}, C.openLocation = function (e) {\r\n\t\t\t\t\tvar t = \"https://static.hc-cdn.com/map/openlocation.html?\".concat(Object(p.B)(e));\r\n\t\t\t\t\tHWH5.openWebview({uri: t})\r\n\t\t\t\t}, C.onNetworkStatusChange = S((function (e, t, n) {\r\n\t\t\t\t\tif (\"function\" == typeof e) {\r\n\t\t\t\t\t\tHWH5.registerNetworkListener();\r\n\t\t\t\t\t\tvar r = {\r\n\t\t\t\t\t\t\ttype: \"onNetworkStatusChange\", func: function (t) {\r\n\t\t\t\t\t\t\t\tvar n = {};\r\n\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\tn = JSON.parse(t)\r\n\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\tn = t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn e(n)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treturn C.removeEventListenerByType(r.type), void C.addEventListener(r, t, n).then((function () {\r\n\t\t\t\t\t\t\tt({status: 1})\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t\tn({\r\n\t\t\t\t\t\tcode: \"10802\",\r\n\t\t\t\t\t\tmessage: \"The parameter is incorrect. Please check the documentation\",\r\n\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t})\r\n\t\t\t\t}));\r\n\t\t\t\tvar H = !1;\r\n\t\t\t\tC.setWatermark = S((function (e, t) {\r\n\t\t\t\t\tfunction n(e) {\r\n\t\t\t\t\t\tvar t, n, r, a = {\r\n\t\t\t\t\t\t\twatermark_txt: e,\r\n\t\t\t\t\t\t\twatermark_color: \"#999999\",\r\n\t\t\t\t\t\t\twatermark_alpha: .2,\r\n\t\t\t\t\t\t\twatermark_x_space: 130,\r\n\t\t\t\t\t\t\twatermark_y_space: 150,\r\n\t\t\t\t\t\t\twatermark_angle: 8,\r\n\t\t\t\t\t\t\twatermark_fontsize: \"12px\",\r\n\t\t\t\t\t\t\twatermark_width: (t = e, r = document.createElement(\"span\"), r.innerText = t, r.className = \"HWH5-getTextWidth\", document.querySelector(\"body\").appendChild(r), n = document.querySelector(\".HWH5-getTextWidth\").offsetWidth, document.querySelector(\".HWH5-getTextWidth\").remove(), n),\r\n\t\t\t\t\t\t\twatermark_height: 16,\r\n\t\t\t\t\t\t\twatermark_cols: 10,\r\n\t\t\t\t\t\t\twatermark_rows: 15\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\t_.a.load(a), H = !0\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (e && \"string\" == typeof e) return n(e), void t({status: \"1\", statusCode: \"1\"});\r\n\t\t\t\t\tp.p.getGlobalUserInfo().then((function () {\r\n\t\t\t\t\t\tk.c.userInfo;\r\n\t\t\t\t\t\tn(\"\"), t({status: \"1\", statusCode: \"1\"})\r\n\t\t\t\t\t}))\r\n\t\t\t\t})), C.removeWatermark = function () {\r\n\t\t\t\t\tH && (_.a.remove(), H = !1)\r\n\t\t\t\t};\r\n\t\t\t\tvar T = {};\r\n\t\t\t\tfunction A(e, t, n) {\r\n\t\t\t\t\tvar r = {code: \"\", msg: \"\"};\r\n\t\t\t\t\tHWH5.encryptFile({\r\n\t\t\t\t\t\tfilePath: e.filePath,\r\n\t\t\t\t\t\tetype: e.encryptEtype,\r\n\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t}).then((function (e) {\r\n\t\t\t\t\t\tt(e)\r\n\t\t\t\t\t})).catch((function () {\r\n\t\t\t\t\t\tr.code = \"10903\", r.msg = \"encryptFile fail\", HWH5.removeFile({\r\n\t\t\t\t\t\t\tpath: e.filePath,\r\n\t\t\t\t\t\t\tetype: e.deleteEtype,\r\n\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t}).catch((function (t) {\r\n\t\t\t\t\t\t\tconsole.log(\"common encryptFile fail remove fail \", t), HWH5.removeFile({\r\n\t\t\t\t\t\t\t\tpath: e.filePath,\r\n\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t}), HWH5.removeFile({\r\n\t\t\t\t\t\t\t\tpath: e.filePath,\r\n\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t}), HWH5.removeFile({path: e.filePath, common_internal_call: !0})\r\n\t\t\t\t\t\t})), n(r)\r\n\t\t\t\t\t}))\r\n\t\t\t\t}\r\n\t\t\t\tC.onBluetoothEvents = S((function (e, t) {\r\n\t\t\t\t\tvar n = {\r\n\t\t\t\t\t\ttype: \"onBluetoothEvents\", func: function (e) {\r\n\t\t\t\t\t\t\tvar n = {};\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tn = JSON.parse(e)\r\n\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\tt(e)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tn.type && T[n.type] ? (\"CB_BVC\" !== n.type && \"BLE_CVC\" !== n.type || !n.data.value || (n.data.value = Object(p.b)(n.data.value)), \"BT_DF\" === n.type && n.data && n.data.devices && n.data.devices.length > 0 && n.data.devices.forEach((function (e, t) {\r\n\t\t\t\t\t\t\t\tvar r = e;\r\n\t\t\t\t\t\t\t\tif (r.advertisData) {\r\n\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\tr.advertisData = Object(p.b)(r.advertisData)\r\n\t\t\t\t\t\t\t\t\t} catch (t) {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log('common parse \"advertisData\" fail', t, e.advertisData)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tn.data.devices[t] = r\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tr.serviceData && (r.serviceData = Object(p.z)(r.serviceData))\r\n\t\t\t\t\t\t\t})), T[n.type](n.data)) : t(\"callBack onBluetoothEvents type error\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t\tC.removeEventListenerByType(n.type), C.addEventListener(n, e, t)\r\n\t\t\t\t})), C.onBLECharacteristicValueChange = function (e) {\r\n\t\t\t\t\tT.BLE_CVC = e\r\n\t\t\t\t}, C.onBLEConnectionStateChange = function (e) {\r\n\t\t\t\t\tT.BLE_CSC = e\r\n\t\t\t\t}, C.onBluetoothAdapterStateChange = function (e) {\r\n\t\t\t\t\tT.BT_ASC = e\r\n\t\t\t\t}, C.onBluetoothDeviceFound = function (e) {\r\n\t\t\t\t\tT.BT_DF = e\r\n\t\t\t\t}, C.onBluetoothConnectionStateChange = function (e) {\r\n\t\t\t\t\tT.CB_CSC = e\r\n\t\t\t\t}, C.onBluetoothValueChange = function (e) {\r\n\t\t\t\t\tT.CB_BVC = e\r\n\t\t\t\t}, C.onBondStateChange = function (e) {\r\n\t\t\t\t\tT.CB_BSC = e\r\n\t\t\t\t}, C.enableValidateParameter = function (e) {\r\n\t\t\t\t\tx.b.enable(e)\r\n\t\t\t\t}, C.downloadFileAndEncrypt = S((function (e, t, n) {\r\n\t\t\t\t\tHWH5.downloadFile(e).then((function () {\r\n\t\t\t\t\t\tA(e, t, n)\r\n\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\tn(e)\r\n\t\t\t\t\t}))\r\n\t\t\t\t})), C.downloadEDMAndEncrypt = S((function (e, t, n) {\r\n\t\t\t\t\tHWH5.downloadToMDM(e).then((function () {\r\n\t\t\t\t\t\tA(e, t, n)\r\n\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\tn(e)\r\n\t\t\t\t\t}))\r\n\t\t\t\t})), C.downloadFileVPNAndEncrypt = S((function (e, t, n) {\r\n\t\t\t\t\tHWH5.downloadFileVPN(e).then((function () {\r\n\t\t\t\t\t\tA(e, t, n)\r\n\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\tn(e)\r\n\t\t\t\t\t}))\r\n\t\t\t\t})), C.getUpdateManager = i()(a.a.mark((function t() {\r\n\t\t\t\t\tvar n, r;\r\n\t\t\t\t\treturn a.a.wrap((function (t) {\r\n\t\t\t\t\t\tfor (; ;) switch (t.prev = t.next) {\r\n\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\treturn t.next = 2, Object(p.n)(1);\r\n\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\tif (n = t.sent, r = {}, !n || \"-1\" !== n.status) {\r\n\t\t\t\t\t\t\t\t\tt.next = 7;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn e.alert(\"We码已下线\"), t.abrupt(\"return\", r);\r\n\t\t\t\t\t\t\tcase 7:\r\n\t\t\t\t\t\t\t\treturn r.onCheckForUpdate = function () {\r\n\t\t\t\t\t\t\t\t\tvar e = i()(a.a.mark((function e(t) {\r\n\t\t\t\t\t\t\t\t\t\tvar r, o;\r\n\t\t\t\t\t\t\t\t\t\treturn a.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!n || \"2\" !== n.status) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 3;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn t({hasUpdate: \"1\"}), e.abrupt(\"return\");\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tr = 0, o = setInterval(i()(a.a.mark((function e() {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn a.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn r += 1, e.next = 3, Object(p.n)(1);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(n = e.sent) && \"2\" === n.status && (t({hasUpdate: \"1\"}), clearInterval(o)), 2 === r && clearInterval(o);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 6:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))), 3e3);\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t\t\t\t\t})));\r\n\t\t\t\t\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}(), t.abrupt(\"return\", r);\r\n\t\t\t\t\t\t\tcase 9:\r\n\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\treturn t.stop()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}), t)\r\n\t\t\t\t}))), C.makeSchemaAPI = S((function (e, t, n) {\r\n\t\t\t\t\tvar r = e.apiName, a = e.schema, o = {code: \"\", msg: \"\", status: \"\"};\r\n\t\t\t\t\treturn r && a && \"string\" == typeof r && \"string\" == typeof a ? HWH5[r] ? (o.code = \"30802\", o.msg = \"Api has already been declared\", o.status = \"0\", o.statusCode = \"0\", void n(o)) : (Object(N.a)(r, a), void t({\r\n\t\t\t\t\t\tstatus: \"1\",\r\n\t\t\t\t\t\tstatusCode: \"1\"\r\n\t\t\t\t\t})) : (o.code = \"10802\", o.msg = \"Parameter error\", o.status = \"0\", o.statusCode = \"0\", void n(o))\r\n\t\t\t\t})), C.setNavigationCallBacks = function (e) {\r\n\t\t\t\t\tvar t = {\r\n\t\t\t\t\t\ttype: \"wecode_navigation_call_backs\", common_internal_call: !0, func: function (t) {\r\n\t\t\t\t\t\t\te[t] && e[t]()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t\tC.removeEventListenerByType(t.type), C.addEventListener(t, p.h, p.h)\r\n\t\t\t\t}, C.getRealtimeLogManager = function () {\r\n\t\t\t\t\treturn new h.a\r\n\t\t\t\t}, C.__getBuildTimestamp = function () {\r\n\t\t\t\t\treturn {timestamp: \"2020-12-29 17:53:23\"}\r\n\t\t\t\t};\r\n\t\t\t\tt.a = function () {\r\n\t\t\t\t\tfor (var e = 0; e < v.a.length; e += 1) {\r\n\t\t\t\t\t\tvar t = v.a[e].apiName;\r\n\t\t\t\t\t\tHWH5[t] = C[t]\r\n\t\t\t\t\t}\r\n\t\t\t\t\tHWH5.eventListener = []\r\n\t\t\t\t}\r\n\t\t\t}).call(this, n(40))\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\t(function (e) {\r\n\t\t\t\tn.d(t, \"a\", (function () {\r\n\t\t\t\t\treturn h\r\n\t\t\t\t}));\r\n\t\t\t\tvar r = n(1), a = n.n(r), o = n(4), i = n.n(o), c = n(21), u = n.n(c), s = n(3), f = n.n(s), l = n(0),\r\n\t\t\t\t\tp = n(108), d = Object(p.a)(5, 1e3);\r\n\t\t\t\tfunction h() {\r\n\t\t\t\t\tvar t = {\r\n\t\t\t\t\t\teventId: \"WECODE_REALTIME_LOG\",\r\n\t\t\t\t\t\teventLabel: \"We码实时日志\",\r\n\t\t\t\t\t\textendData: {appId: \"\", type: \"\", filterMsg: \"\", logLevel: \"\", logContent: \"\", page: \"\"}\r\n\t\t\t\t\t};\r\n\t\t\t\t\tfunction n(e) {\r\n\t\t\t\t\t\treturn !(!e || \"string\" != typeof e) || (console.warn(\"params must be string\"), !1)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction r() {\r\n\t\t\t\t\t\treturn e.location.href ? e.location.href.substr(e.location.href.indexOf(\"apps/\"), e.location.href.length) : \"\"\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction o(e) {\r\n\t\t\t\t\t\td(f()(a.a.mark((function n() {\r\n\t\t\t\t\t\t\tvar r, o, c;\r\n\t\t\t\t\t\t\treturn a.a.wrap((function (n) {\r\n\t\t\t\t\t\t\t\tfor (; ;) switch (n.prev = n.next) {\r\n\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\treturn r = e, n.next = 3, Object(l.n)();\r\n\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\to = n.sent, r.appId = o.appId, r.type = Object(l.m)(o.appId), (c = u()({}, t, {extendData: r})).extendData = i()(c.extendData), Object(l.t)(c);\r\n\t\t\t\t\t\t\t\t\tcase 9:\r\n\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\treturn n.stop()\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}), n)\r\n\t\t\t\t\t\t}))))\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this.info = function (e) {\r\n\t\t\t\t\t\tn(e) && o({logLevel: \"info\", logContent: e, page: r(), filterMsg: t.extendData.filterMsg})\r\n\t\t\t\t\t}, this.warn = function (e) {\r\n\t\t\t\t\t\tn(e) && o({logLevel: \"warn\", logContent: e, page: r(), filterMsg: t.extendData.filterMsg})\r\n\t\t\t\t\t}, this.error = function (e) {\r\n\t\t\t\t\t\tn(e) && o({logLevel: \"error\", logContent: e, page: r(), filterMsg: t.extendData.filterMsg})\r\n\t\t\t\t\t}, this.setFilterMsg = function (e) {\r\n\t\t\t\t\t\tt.extendData.filterMsg = e && \"string\" == typeof e ? e : \"\"\r\n\t\t\t\t\t}, this.addFilterMsg = function (e) {\r\n\t\t\t\t\t\tn(e) && (t.extendData.filterMsg = \"\".concat(t.extendData.filterMsg, \" \").concat(e))\r\n\t\t\t\t\t}, this\r\n\t\t\t\t}\r\n\t\t\t}).call(this, n(40))\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\t(function (e) {\r\n\t\t\t\tvar r, a = n(20), o = n.n(a), i = n(17), c = n.n(i),\r\n\t\t\t\t\tu = \"object\" === (\"undefined\" == typeof self ? \"undefined\" : c()(self)) && self.self === self && self || \"object\" === (void 0 === e ? \"undefined\" : c()(e)) && e.global === e && e || void 0;\r\n\t\t\t\tnull != u && (r = u.throttledQueue);\r\n\t\t\t\tvar s = function (e, t, n) {\r\n\t\t\t\t\tn && (t /= e, e = 1), t < 200 && console.warn(\"An interval of less than 200ms can create performance issues.\");\r\n\t\t\t\t\tvar r, a = [], i = o()(), c = function n() {\r\n\t\t\t\t\t\tvar c = i + t, u = o()();\r\n\t\t\t\t\t\tif (u < c) return clearTimeout(r), void (r = setTimeout(n, c - u));\r\n\t\t\t\t\t\tfor (var s = a.splice(0, e), f = 0; f < s.length; f++) s[f]();\r\n\t\t\t\t\t\ti = o()(), r = a.length ? setTimeout(n, t) : null\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn function (e) {\r\n\t\t\t\t\t\ta.push(e), r || (r = setTimeout(c, t))\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\ts.noConflict = function () {\r\n\t\t\t\t\treturn u.throttledQueue = r, s\r\n\t\t\t\t}, t.a = s\r\n\t\t\t}).call(this, n(40))\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(77), n(33), n(48), n(118), n(126), n(127), e.exports = n(6).Promise\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(53), a = n(44);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn function (t, n) {\r\n\t\t\t\t\tvar o, i, c = String(a(t)), u = r(n), s = c.length;\r\n\t\t\t\t\treturn u < 0 || u >= s ? e ? \"\" : void 0 : (o = c.charCodeAt(u)) < 55296 || o > 56319 || u + 1 === s || (i = c.charCodeAt(u + 1)) < 56320 || i > 57343 ? e ? c.charAt(u) : o : e ? c.slice(u, u + 2) : i - 56320 + (o - 55296 << 10) + 65536\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(81), a = n(36), o = n(47), i = {};\r\n\t\t\tn(24)(i, n(11)(\"iterator\"), (function () {\r\n\t\t\t\treturn this\r\n\t\t\t})), e.exports = function (e, t, n) {\r\n\t\t\t\te.prototype = r(i, {next: a(1, n)}), o(e, t + \" Iterator\")\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(19), a = n(56), o = n(113);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn function (t, n, i) {\r\n\t\t\t\t\tvar c, u = r(t), s = a(u.length), f = o(i, s);\r\n\t\t\t\t\tif (e && n != n) {\r\n\t\t\t\t\t\tfor (; s > f;) if ((c = u[f++]) != c) return !0\r\n\t\t\t\t\t} else for (; s > f; f++) if ((e || f in u) && u[f] === n) return e || f || 0;\r\n\t\t\t\t\treturn !e && -1\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(53), a = Math.max, o = Math.min;\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\treturn (e = r(e)) < 0 ? a(e + t, 0) : o(e, t)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(27), a = n(39), o = n(57)(\"IE_PROTO\"), i = Object.prototype;\r\n\t\t\te.exports = Object.getPrototypeOf || function (e) {\r\n\t\t\t\treturn e = a(e), r(e, o) ? e[o] : \"function\" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? i : null\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(116), a = n(117), o = n(30), i = n(19);\r\n\t\t\te.exports = n(78)(Array, \"Array\", (function (e, t) {\r\n\t\t\t\tthis._t = i(e), this._i = 0, this._k = t\r\n\t\t\t}), (function () {\r\n\t\t\t\tvar e = this._t, t = this._k, n = this._i++;\r\n\t\t\t\treturn !e || n >= e.length ? (this._t = void 0, a(1)) : a(0, \"keys\" == t ? n : \"values\" == t ? e[n] : [n, e[n]])\r\n\t\t\t}), \"values\"), o.Arguments = o.Array, r(\"keys\"), r(\"values\"), r(\"entries\")\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function () {\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\treturn {value: t, done: !!e}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r, a, o, i, c = n(34), u = n(9), s = n(35), f = n(60), l = n(10), p = n(25), d = n(45), h = n(119),\r\n\t\t\t\tm = n(120), v = n(88), g = n(89).set, y = n(122)(), b = n(62), w = n(90), x = n(123), k = n(91),\r\n\t\t\t\tN = u.TypeError, _ = u.process, S = _ && _.versions, C = S && S.v8 || \"\", O = u.Promise,\r\n\t\t\t\tI = \"process\" == f(_), j = function () {\r\n\t\t\t\t}, E = a = b.f, L = !!function () {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar e = O.resolve(1), t = (e.constructor = {})[n(11)(\"species\")] = function (e) {\r\n\t\t\t\t\t\t\te(j, j)\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treturn (I || \"function\" == typeof PromiseRejectionEvent) && e.then(j) instanceof t && 0 !== C.indexOf(\"6.6\") && -1 === x.indexOf(\"Chrome/66\")\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t}\r\n\t\t\t\t}(), P = function (e) {\r\n\t\t\t\t\tvar t;\r\n\t\t\t\t\treturn !(!p(e) || \"function\" != typeof (t = e.then)) && t\r\n\t\t\t\t}, H = function (e, t) {\r\n\t\t\t\t\tif (!e._n) {\r\n\t\t\t\t\t\te._n = !0;\r\n\t\t\t\t\t\tvar n = e._c;\r\n\t\t\t\t\t\ty((function () {\r\n\t\t\t\t\t\t\tfor (var r = e._v, a = 1 == e._s, o = 0, i = function (t) {\r\n\t\t\t\t\t\t\t\tvar n, o, i, c = a ? t.ok : t.fail, u = t.resolve, s = t.reject, f = t.domain;\r\n\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\tc ? (a || (2 == e._h && F(e), e._h = 1), !0 === c ? n = r : (f && f.enter(), n = c(r), f && (f.exit(), i = !0)), n === t.promise ? s(N(\"Promise-chain cycle\")) : (o = P(n)) ? o.call(n, u, s) : u(n)) : s(r)\r\n\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\tf && !i && f.exit(), s(e)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}; n.length > o;) i(n[o++]);\r\n\t\t\t\t\t\t\te._c = [], e._n = !1, t && !e._h && T(e)\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t}, T = function (e) {\r\n\t\t\t\t\tg.call(u, (function () {\r\n\t\t\t\t\t\tvar t, n, r, a = e._v, o = A(e);\r\n\t\t\t\t\t\tif (o && (t = w((function () {\r\n\t\t\t\t\t\t\tI ? _.emit(\"unhandledRejection\", a, e) : (n = u.onunhandledrejection) ? n({\r\n\t\t\t\t\t\t\t\tpromise: e,\r\n\t\t\t\t\t\t\t\treason: a\r\n\t\t\t\t\t\t\t}) : (r = u.console) && r.error && r.error(\"Unhandled promise rejection\", a)\r\n\t\t\t\t\t\t})), e._h = I || A(e) ? 2 : 1), e._a = void 0, o && t.e) throw t.v\r\n\t\t\t\t\t}))\r\n\t\t\t\t}, A = function (e) {\r\n\t\t\t\t\treturn 1 !== e._h && 0 === (e._a || e._c).length\r\n\t\t\t\t}, F = function (e) {\r\n\t\t\t\t\tg.call(u, (function () {\r\n\t\t\t\t\t\tvar t;\r\n\t\t\t\t\t\tI ? _.emit(\"rejectionHandled\", e) : (t = u.onrejectionhandled) && t({promise: e, reason: e._v})\r\n\t\t\t\t\t}))\r\n\t\t\t\t}, B = function (e) {\r\n\t\t\t\t\tvar t = this;\r\n\t\t\t\t\tt._d || (t._d = !0, (t = t._w || t)._v = e, t._s = 2, t._a || (t._a = t._c.slice()), H(t, !0))\r\n\t\t\t\t}, W = function (e) {\r\n\t\t\t\t\tvar t, n = this;\r\n\t\t\t\t\tif (!n._d) {\r\n\t\t\t\t\t\tn._d = !0, n = n._w || n;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tif (n === e) throw N(\"Promise can't be resolved itself\");\r\n\t\t\t\t\t\t\t(t = P(e)) ? y((function () {\r\n\t\t\t\t\t\t\t\tvar r = {_w: n, _d: !1};\r\n\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\tt.call(e, s(W, r, 1), s(B, r, 1))\r\n\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\tB.call(r, e)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})) : (n._v = e, n._s = 1, H(n, !1))\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\tB.call({_w: n, _d: !1}, e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tL || (O = function (e) {\r\n\t\t\t\th(this, O, \"Promise\", \"_h\"), d(e), r.call(this);\r\n\t\t\t\ttry {\r\n\t\t\t\t\te(s(W, this, 1), s(B, this, 1))\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tB.call(this, e)\r\n\t\t\t\t}\r\n\t\t\t}, (r = function (e) {\r\n\t\t\t\tthis._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1\r\n\t\t\t}).prototype = n(124)(O.prototype, {\r\n\t\t\t\tthen: function (e, t) {\r\n\t\t\t\t\tvar n = E(v(this, O));\r\n\t\t\t\t\treturn n.ok = \"function\" != typeof e || e, n.fail = \"function\" == typeof t && t, n.domain = I ? _.domain : void 0, this._c.push(n), this._a && this._a.push(n), this._s && H(this, !1), n.promise\r\n\t\t\t\t}, catch: function (e) {\r\n\t\t\t\t\treturn this.then(void 0, e)\r\n\t\t\t\t}\r\n\t\t\t}), o = function () {\r\n\t\t\t\tvar e = new r;\r\n\t\t\t\tthis.promise = e, this.resolve = s(W, e, 1), this.reject = s(B, e, 1)\r\n\t\t\t}, b.f = E = function (e) {\r\n\t\t\t\treturn e === O || e === i ? new o(e) : a(e)\r\n\t\t\t}), l(l.G + l.W + l.F * !L, {Promise: O}), n(47)(O, \"Promise\"), n(125)(\"Promise\"), i = n(6).Promise, l(l.S + l.F * !L, \"Promise\", {\r\n\t\t\t\treject: function (e) {\r\n\t\t\t\t\tvar t = E(this);\r\n\t\t\t\t\treturn (0, t.reject)(e), t.promise\r\n\t\t\t\t}\r\n\t\t\t}), l(l.S + l.F * (c || !L), \"Promise\", {\r\n\t\t\t\tresolve: function (e) {\r\n\t\t\t\t\treturn k(c && this === i ? O : this, e)\r\n\t\t\t\t}\r\n\t\t\t}), l(l.S + l.F * !(L && n(92)((function (e) {\r\n\t\t\t\tO.all(e).catch(j)\r\n\t\t\t}))), \"Promise\", {\r\n\t\t\t\tall: function (e) {\r\n\t\t\t\t\tvar t = this, n = E(t), r = n.resolve, a = n.reject, o = w((function () {\r\n\t\t\t\t\t\tvar n = [], o = 0, i = 1;\r\n\t\t\t\t\t\tm(e, !1, (function (e) {\r\n\t\t\t\t\t\t\tvar c = o++, u = !1;\r\n\t\t\t\t\t\t\tn.push(void 0), i++, t.resolve(e).then((function (e) {\r\n\t\t\t\t\t\t\t\tu || (u = !0, n[c] = e, --i || r(n))\r\n\t\t\t\t\t\t\t}), a)\r\n\t\t\t\t\t\t})), --i || r(n)\r\n\t\t\t\t\t}));\r\n\t\t\t\t\treturn o.e && a(o.v), n.promise\r\n\t\t\t\t}, race: function (e) {\r\n\t\t\t\t\tvar t = this, n = E(t), r = n.reject, a = w((function () {\r\n\t\t\t\t\t\tm(e, !1, (function (e) {\r\n\t\t\t\t\t\t\tt.resolve(e).then(n.resolve, r)\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}));\r\n\t\t\t\t\treturn a.e && r(a.v), n.promise\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e, t, n, r) {\r\n\t\t\t\tif (!(e instanceof t) || void 0 !== r && r in e) throw TypeError(n + \": incorrect invocation!\");\r\n\t\t\t\treturn e\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(35), a = n(86), o = n(87), i = n(14), c = n(56), u = n(61), s = {}, f = {};\r\n\t\t\t(t = e.exports = function (e, t, n, l, p) {\r\n\t\t\t\tvar d, h, m, v, g = p ? function () {\r\n\t\t\t\t\treturn e\r\n\t\t\t\t} : u(e), y = r(n, l, t ? 2 : 1), b = 0;\r\n\t\t\t\tif (\"function\" != typeof g) throw TypeError(e + \" is not iterable!\");\r\n\t\t\t\tif (o(g)) {\r\n\t\t\t\t\tfor (d = c(e.length); d > b; b++) if ((v = t ? y(i(h = e[b])[0], h[1]) : y(e[b])) === s || v === f) return v\r\n\t\t\t\t} else for (m = g.call(e); !(h = m.next()).done;) if ((v = a(m, y, h.value, t)) === s || v === f) return v\r\n\t\t\t}).BREAK = s, t.RETURN = f\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\tvar r = void 0 === n;\r\n\t\t\t\tswitch (t.length) {\r\n\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\treturn r ? e() : e.call(n);\r\n\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\treturn r ? e(t[0]) : e.call(n, t[0]);\r\n\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\treturn r ? e(t[0], t[1]) : e.call(n, t[0], t[1]);\r\n\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\treturn r ? e(t[0], t[1], t[2]) : e.call(n, t[0], t[1], t[2]);\r\n\t\t\t\t\tcase 4:\r\n\t\t\t\t\t\treturn r ? e(t[0], t[1], t[2], t[3]) : e.call(n, t[0], t[1], t[2], t[3])\r\n\t\t\t\t}\r\n\t\t\t\treturn e.apply(n, t)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(9), a = n(89).set, o = r.MutationObserver || r.WebKitMutationObserver, i = r.process,\r\n\t\t\t\tc = r.Promise,\r\n\t\t\t\tu = \"process\" == n(38)(i);\r\n\t\t\te.exports = function () {\r\n\t\t\t\tvar e, t, n, s = function () {\r\n\t\t\t\t\tvar r, a;\r\n\t\t\t\t\tfor (u && (r = i.domain) && r.exit(); e;) {\r\n\t\t\t\t\t\ta = e.fn, e = e.next;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\ta()\r\n\t\t\t\t\t\t} catch (r) {\r\n\t\t\t\t\t\t\tthrow e ? n() : t = void 0, r\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tt = void 0, r && r.enter()\r\n\t\t\t\t};\r\n\t\t\t\tif (u) n = function () {\r\n\t\t\t\t\ti.nextTick(s)\r\n\t\t\t\t}; else if (!o || r.navigator && r.navigator.standalone) if (c && c.resolve) {\r\n\t\t\t\t\tvar f = c.resolve(void 0);\r\n\t\t\t\t\tn = function () {\r\n\t\t\t\t\t\tf.then(s)\r\n\t\t\t\t\t}\r\n\t\t\t\t} else n = function () {\r\n\t\t\t\t\ta.call(r, s)\r\n\t\t\t\t}; else {\r\n\t\t\t\t\tvar l = !0, p = document.createTextNode(\"\");\r\n\t\t\t\t\tnew o(s).observe(p, {characterData: !0}), n = function () {\r\n\t\t\t\t\t\tp.data = l = !l\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn function (r) {\r\n\t\t\t\t\tvar a = {fn: r, next: void 0};\r\n\t\t\t\t\tt && (t.next = a), e || (e = a, n()), t = a\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(9).navigator;\r\n\t\t\te.exports = r && r.userAgent || \"\"\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(24);\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\tfor (var a in t) n && e[a] ? e[a] = t[a] : r(e, a, t[a]);\r\n\t\t\t\treturn e\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(9), a = n(6), o = n(18), i = n(15), c = n(11)(\"species\");\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tvar t = \"function\" == typeof a[e] ? a[e] : r[e];\r\n\t\t\t\ti && t && !t[c] && o.f(t, c, {\r\n\t\t\t\t\tconfigurable: !0, get: function () {\r\n\t\t\t\t\t\treturn this\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(10), a = n(6), o = n(9), i = n(88), c = n(91);\r\n\t\t\tr(r.P + r.R, \"Promise\", {\r\n\t\t\t\tfinally: function (e) {\r\n\t\t\t\t\tvar t = i(this, a.Promise || o.Promise), n = \"function\" == typeof e;\r\n\t\t\t\t\treturn this.then(n ? function (n) {\r\n\t\t\t\t\t\treturn c(t, e()).then((function () {\r\n\t\t\t\t\t\t\treturn n\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t} : e, n ? function (n) {\r\n\t\t\t\t\t\treturn c(t, e()).then((function () {\r\n\t\t\t\t\t\t\tthrow n\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t} : e)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(10), a = n(62), o = n(90);\r\n\t\t\tr(r.S, \"Promise\", {\r\n\t\t\t\ttry: function (e) {\r\n\t\t\t\t\tvar t = a.f(this), n = o(e);\r\n\t\t\t\t\treturn (n.e ? t.reject : t.resolve)(n.v), t.promise\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = [{\r\n\t\t\t\tapiName: \"openUserProfile\",\r\n\t\t\t\tschema: \"ui://welink.contacts/userDetailController\"\r\n\t\t\t}, {apiName: \"createIMGroupChat\", schema: \"ui://welink.im/imCreateGroupChat\"}, {\r\n\t\t\t\tapiName: \"selectContacts\",\r\n\t\t\t\tschema: \"ui://welink.contacts/usersSelectorController\"\r\n\t\t\t}, {apiName: \"openIMChat\", schema: \"ui://welink.im/gotoChatController\"}, {\r\n\t\t\t\tapiName: \"writeMail\",\r\n\t\t\t\tschema: \"ui://welink.mail/writemail\"\r\n\t\t\t}, {apiName: \"openWebview\", schema: \"\"}, {\r\n\t\t\t\tapiName: \"getIMGroupList\",\r\n\t\t\t\tschema: \"method://welink.im/getGroupDetailList\"\r\n\t\t\t}, {apiName: \"makePhoneCall\", schema: \"method://welink.im/makingCall\"}, {\r\n\t\t\t\tapiName: \"selectUsers\",\r\n\t\t\t\tschema: \"ui://welink.contacts/usersSelectorControllerV2\"\r\n\t\t\t}, {apiName: \"startMeeting\", schema: \"ui://welink.conference/startConf\"}]\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = [{apiName: \"addEventListener\"}, {apiName: \"removeEventListener\"}, {apiName: \"removeEventListenerByType\"}, {apiName: \"getEventListeners\"}, {apiName: \"ready\"}, {apiName: \"error\"}, {apiName: \"onBLECharacteristicValueChange\"}, {apiName: \"onBLEConnectionStateChange\"}, {apiName: \"onBluetoothAdapterStateChange\"}, {apiName: \"onBluetoothDeviceFound\"}, {apiName: \"onBluetoothConnectionStateChange\"}, {apiName: \"onBluetoothValueChange\"}, {apiName: \"onBondStateChange\"}, {apiName: \"onBluetoothEvents\"}]\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = function (e) {\r\n\t\t\t\t\"use strict\";\r\n\t\t\t\tvar t = Object.prototype, n = t.hasOwnProperty, r = \"function\" == typeof Symbol ? Symbol : {},\r\n\t\t\t\t\ta = r.iterator || \"@@iterator\", o = r.asyncIterator || \"@@asyncIterator\",\r\n\t\t\t\t\ti = r.toStringTag || \"@@toStringTag\";\r\n\t\t\t\tfunction c(e, t, n, r) {\r\n\t\t\t\t\tvar a = t && t.prototype instanceof f ? t : f, o = Object.create(a.prototype), i = new k(r || []);\r\n\t\t\t\t\treturn o._invoke = function (e, t, n) {\r\n\t\t\t\t\t\tvar r = \"suspendedStart\";\r\n\t\t\t\t\t\treturn function (a, o) {\r\n\t\t\t\t\t\t\tif (\"executing\" === r) throw new Error(\"Generator is already running\");\r\n\t\t\t\t\t\t\tif (\"completed\" === r) {\r\n\t\t\t\t\t\t\t\tif (\"throw\" === a) throw o;\r\n\t\t\t\t\t\t\t\treturn _()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tfor (n.method = a, n.arg = o; ;) {\r\n\t\t\t\t\t\t\t\tvar i = n.delegate;\r\n\t\t\t\t\t\t\t\tif (i) {\r\n\t\t\t\t\t\t\t\t\tvar c = b(i, n);\r\n\t\t\t\t\t\t\t\t\tif (c) {\r\n\t\t\t\t\t\t\t\t\t\tif (c === s) continue;\r\n\t\t\t\t\t\t\t\t\t\treturn c\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (\"next\" === n.method) n.sent = n._sent = n.arg; else if (\"throw\" === n.method) {\r\n\t\t\t\t\t\t\t\t\tif (\"suspendedStart\" === r) throw r = \"completed\", n.arg;\r\n\t\t\t\t\t\t\t\t\tn.dispatchException(n.arg)\r\n\t\t\t\t\t\t\t\t} else \"return\" === n.method && n.abrupt(\"return\", n.arg);\r\n\t\t\t\t\t\t\t\tr = \"executing\";\r\n\t\t\t\t\t\t\t\tvar f = u(e, t, n);\r\n\t\t\t\t\t\t\t\tif (\"normal\" === f.type) {\r\n\t\t\t\t\t\t\t\t\tif (r = n.done ? \"completed\" : \"suspendedYield\", f.arg === s) continue;\r\n\t\t\t\t\t\t\t\t\treturn {value: f.arg, done: n.done}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\"throw\" === f.type && (r = \"completed\", n.method = \"throw\", n.arg = f.arg)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}(e, n, i), o\r\n\t\t\t\t}\r\n\t\t\t\tfunction u(e, t, n) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\treturn {type: \"normal\", arg: e.call(t, n)}\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\treturn {type: \"throw\", arg: e}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\te.wrap = c;\r\n\t\t\t\tvar s = {};\r\n\t\t\t\tfunction f() {\r\n\t\t\t\t}\r\n\t\t\t\tfunction l() {\r\n\t\t\t\t}\r\n\t\t\t\tfunction p() {\r\n\t\t\t\t}\r\n\t\t\t\tvar d = {};\r\n\t\t\t\td[a] = function () {\r\n\t\t\t\t\treturn this\r\n\t\t\t\t};\r\n\t\t\t\tvar h = Object.getPrototypeOf, m = h && h(h(N([])));\r\n\t\t\t\tm && m !== t && n.call(m, a) && (d = m);\r\n\t\t\t\tvar v = p.prototype = f.prototype = Object.create(d);\r\n\t\t\t\tfunction g(e) {\r\n\t\t\t\t\t[\"next\", \"throw\", \"return\"].forEach((function (t) {\r\n\t\t\t\t\t\te[t] = function (e) {\r\n\t\t\t\t\t\t\treturn this._invoke(t, e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}))\r\n\t\t\t\t}\r\n\t\t\t\tfunction y(e, t) {\r\n\t\t\t\t\tvar r;\r\n\t\t\t\t\tthis._invoke = function (a, o) {\r\n\t\t\t\t\t\tfunction i() {\r\n\t\t\t\t\t\t\treturn new t((function (r, i) {\r\n\t\t\t\t\t\t\t\t!function r(a, o, i, c) {\r\n\t\t\t\t\t\t\t\t\tvar s = u(e[a], e, o);\r\n\t\t\t\t\t\t\t\t\tif (\"throw\" !== s.type) {\r\n\t\t\t\t\t\t\t\t\t\tvar f = s.arg, l = f.value;\r\n\t\t\t\t\t\t\t\t\t\treturn l && \"object\" == typeof l && n.call(l, \"__await\") ? t.resolve(l.__await).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tr(\"next\", e, i, c)\r\n\t\t\t\t\t\t\t\t\t\t}), (function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tr(\"throw\", e, i, c)\r\n\t\t\t\t\t\t\t\t\t\t})) : t.resolve(l).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tf.value = e, i(f)\r\n\t\t\t\t\t\t\t\t\t\t}), (function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn r(\"throw\", e, i, c)\r\n\t\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tc(s.arg)\r\n\t\t\t\t\t\t\t\t}(a, o, r, i)\r\n\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn r = r ? r.then(i, i) : i()\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tfunction b(e, t) {\r\n\t\t\t\t\tvar n = e.iterator[t.method];\r\n\t\t\t\t\tif (void 0 === n) {\r\n\t\t\t\t\t\tif (t.delegate = null, \"throw\" === t.method) {\r\n\t\t\t\t\t\t\tif (e.iterator.return && (t.method = \"return\", t.arg = void 0, b(e, t), \"throw\" === t.method)) return s;\r\n\t\t\t\t\t\t\tt.method = \"throw\", t.arg = new TypeError(\"The iterator does not provide a 'throw' method\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn s\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar r = u(n, e.iterator, t.arg);\r\n\t\t\t\t\tif (\"throw\" === r.type) return t.method = \"throw\", t.arg = r.arg, t.delegate = null, s;\r\n\t\t\t\t\tvar a = r.arg;\r\n\t\t\t\t\treturn a ? a.done ? (t[e.resultName] = a.value, t.next = e.nextLoc, \"return\" !== t.method && (t.method = \"next\", t.arg = void 0), t.delegate = null, s) : a : (t.method = \"throw\", t.arg = new TypeError(\"iterator result is not an object\"), t.delegate = null, s)\r\n\t\t\t\t}\r\n\t\t\t\tfunction w(e) {\r\n\t\t\t\t\tvar t = {tryLoc: e[0]};\r\n\t\t\t\t\t1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t)\r\n\t\t\t\t}\r\n\t\t\t\tfunction x(e) {\r\n\t\t\t\t\tvar t = e.completion || {};\r\n\t\t\t\t\tt.type = \"normal\", delete t.arg, e.completion = t\r\n\t\t\t\t}\r\n\t\t\t\tfunction k(e) {\r\n\t\t\t\t\tthis.tryEntries = [{tryLoc: \"root\"}], e.forEach(w, this), this.reset(!0)\r\n\t\t\t\t}\r\n\t\t\t\tfunction N(e) {\r\n\t\t\t\t\tif (e) {\r\n\t\t\t\t\t\tvar t = e[a];\r\n\t\t\t\t\t\tif (t) return t.call(e);\r\n\t\t\t\t\t\tif (\"function\" == typeof e.next) return e;\r\n\t\t\t\t\t\tif (!isNaN(e.length)) {\r\n\t\t\t\t\t\t\tvar r = -1, o = function t() {\r\n\t\t\t\t\t\t\t\tfor (; ++r < e.length;) if (n.call(e, r)) return t.value = e[r], t.done = !1, t;\r\n\t\t\t\t\t\t\t\treturn t.value = void 0, t.done = !0, t\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\treturn o.next = o\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn {next: _}\r\n\t\t\t\t}\r\n\t\t\t\tfunction _() {\r\n\t\t\t\t\treturn {value: void 0, done: !0}\r\n\t\t\t\t}\r\n\t\t\t\treturn l.prototype = v.constructor = p, p.constructor = l, p[i] = l.displayName = \"GeneratorFunction\", e.isGeneratorFunction = function (e) {\r\n\t\t\t\t\tvar t = \"function\" == typeof e && e.constructor;\r\n\t\t\t\t\treturn !!t && (t === l || \"GeneratorFunction\" === (t.displayName || t.name))\r\n\t\t\t\t}, e.mark = function (e) {\r\n\t\t\t\t\treturn Object.setPrototypeOf ? Object.setPrototypeOf(e, p) : (e.__proto__ = p, i in e || (e[i] = \"GeneratorFunction\")), e.prototype = Object.create(v), e\r\n\t\t\t\t}, e.awrap = function (e) {\r\n\t\t\t\t\treturn {__await: e}\r\n\t\t\t\t}, g(y.prototype), y.prototype[o] = function () {\r\n\t\t\t\t\treturn this\r\n\t\t\t\t}, e.AsyncIterator = y, e.async = function (t, n, r, a, o) {\r\n\t\t\t\t\tvoid 0 === o && (o = Promise);\r\n\t\t\t\t\tvar i = new y(c(t, n, r, a), o);\r\n\t\t\t\t\treturn e.isGeneratorFunction(n) ? i : i.next().then((function (e) {\r\n\t\t\t\t\t\treturn e.done ? e.value : i.next()\r\n\t\t\t\t\t}))\r\n\t\t\t\t}, g(v), v[i] = \"Generator\", v[a] = function () {\r\n\t\t\t\t\treturn this\r\n\t\t\t\t}, v.toString = function () {\r\n\t\t\t\t\treturn \"[object Generator]\"\r\n\t\t\t\t}, e.keys = function (e) {\r\n\t\t\t\t\tvar t = [];\r\n\t\t\t\t\tfor (var n in e) t.push(n);\r\n\t\t\t\t\treturn t.reverse(), function n() {\r\n\t\t\t\t\t\tfor (; t.length;) {\r\n\t\t\t\t\t\t\tvar r = t.pop();\r\n\t\t\t\t\t\t\tif (r in e) return n.value = r, n.done = !1, n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn n.done = !0, n\r\n\t\t\t\t\t}\r\n\t\t\t\t}, e.values = N, k.prototype = {\r\n\t\t\t\t\tconstructor: k, reset: function (e) {\r\n\t\t\t\t\t\tif (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = void 0, this.tryEntries.forEach(x), !e) for (var t in this) \"t\" === t.charAt(0) && n.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0)\r\n\t\t\t\t\t}, stop: function () {\r\n\t\t\t\t\t\tthis.done = !0;\r\n\t\t\t\t\t\tvar e = this.tryEntries[0].completion;\r\n\t\t\t\t\t\tif (\"throw\" === e.type) throw e.arg;\r\n\t\t\t\t\t\treturn this.rval\r\n\t\t\t\t\t}, dispatchException: function (e) {\r\n\t\t\t\t\t\tif (this.done) throw e;\r\n\t\t\t\t\t\tvar t = this;\r\n\t\t\t\t\t\tfunction r(n, r) {\r\n\t\t\t\t\t\t\treturn i.type = \"throw\", i.arg = e, t.next = n, r && (t.method = \"next\", t.arg = void 0), !!r\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (var a = this.tryEntries.length - 1; a >= 0; --a) {\r\n\t\t\t\t\t\t\tvar o = this.tryEntries[a], i = o.completion;\r\n\t\t\t\t\t\t\tif (\"root\" === o.tryLoc) return r(\"end\");\r\n\t\t\t\t\t\t\tif (o.tryLoc <= this.prev) {\r\n\t\t\t\t\t\t\t\tvar c = n.call(o, \"catchLoc\"), u = n.call(o, \"finallyLoc\");\r\n\t\t\t\t\t\t\t\tif (c && u) {\r\n\t\t\t\t\t\t\t\t\tif (this.prev < o.catchLoc) return r(o.catchLoc, !0);\r\n\t\t\t\t\t\t\t\t\tif (this.prev < o.finallyLoc) return r(o.finallyLoc)\r\n\t\t\t\t\t\t\t\t} else if (c) {\r\n\t\t\t\t\t\t\t\t\tif (this.prev < o.catchLoc) return r(o.catchLoc, !0)\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tif (!u) throw new Error(\"try statement without catch or finally\");\r\n\t\t\t\t\t\t\t\t\tif (this.prev < o.finallyLoc) return r(o.finallyLoc)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, abrupt: function (e, t) {\r\n\t\t\t\t\t\tfor (var r = this.tryEntries.length - 1; r >= 0; --r) {\r\n\t\t\t\t\t\t\tvar a = this.tryEntries[r];\r\n\t\t\t\t\t\t\tif (a.tryLoc <= this.prev && n.call(a, \"finallyLoc\") && this.prev < a.finallyLoc) {\r\n\t\t\t\t\t\t\t\tvar o = a;\r\n\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\to && (\"break\" === e || \"continue\" === e) && o.tryLoc <= t && t <= o.finallyLoc && (o = null);\r\n\t\t\t\t\t\tvar i = o ? o.completion : {};\r\n\t\t\t\t\t\treturn i.type = e, i.arg = t, o ? (this.method = \"next\", this.next = o.finallyLoc, s) : this.complete(i)\r\n\t\t\t\t\t}, complete: function (e, t) {\r\n\t\t\t\t\t\tif (\"throw\" === e.type) throw e.arg;\r\n\t\t\t\t\t\treturn \"break\" === e.type || \"continue\" === e.type ? this.next = e.arg : \"return\" === e.type ? (this.rval = this.arg = e.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === e.type && t && (this.next = t), s\r\n\t\t\t\t\t}, finish: function (e) {\r\n\t\t\t\t\t\tfor (var t = this.tryEntries.length - 1; t >= 0; --t) {\r\n\t\t\t\t\t\t\tvar n = this.tryEntries[t];\r\n\t\t\t\t\t\t\tif (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), x(n), s\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, catch: function (e) {\r\n\t\t\t\t\t\tfor (var t = this.tryEntries.length - 1; t >= 0; --t) {\r\n\t\t\t\t\t\t\tvar n = this.tryEntries[t];\r\n\t\t\t\t\t\t\tif (n.tryLoc === e) {\r\n\t\t\t\t\t\t\t\tvar r = n.completion;\r\n\t\t\t\t\t\t\t\tif (\"throw\" === r.type) {\r\n\t\t\t\t\t\t\t\t\tvar a = r.arg;\r\n\t\t\t\t\t\t\t\t\tx(n)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn a\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthrow new Error(\"illegal catch attempt\")\r\n\t\t\t\t\t}, delegateYield: function (e, t, n) {\r\n\t\t\t\t\t\treturn this.delegate = {\r\n\t\t\t\t\t\t\titerator: N(e),\r\n\t\t\t\t\t\t\tresultName: t,\r\n\t\t\t\t\t\t\tnextLoc: n\r\n\t\t\t\t\t\t}, \"next\" === this.method && (this.arg = void 0), s\r\n\t\t\t\t\t}\r\n\t\t\t\t}, e\r\n\t\t\t}(e.exports);\r\n\t\t\ttry {\r\n\t\t\t\tregeneratorRuntime = r\r\n\t\t\t} catch (e) {\r\n\t\t\t\tFunction(\"r\", \"regeneratorRuntime = r\")(r)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(132), e.exports = n(6).Array.isArray\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10);\r\n\t\t\tr(r.S, \"Array\", {isArray: n(94)})\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(134), e.exports = n(6).Object.keys\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(39), a = n(37);\r\n\t\t\tn(95)(\"keys\", (function () {\r\n\t\t\t\treturn function (e) {\r\n\t\t\t\t\treturn a(r(e))\r\n\t\t\t\t}\r\n\t\t\t}))\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(6), a = r.JSON || (r.JSON = {stringify: JSON.stringify});\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn a.stringify.apply(a, arguments)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\treturn encodeURIComponent(e).replace(/[!'()*]/g, (function (e) {\r\n\t\t\t\t\treturn \"%\" + e.charCodeAt(0).toString(16).toUpperCase()\r\n\t\t\t\t}))\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\t/*\r\n    object-assign\r\n    (c) Sindre Sorhus\r\n    @license MIT\r\n    */\r\n\t\t\tvar r = Object.getOwnPropertySymbols, a = Object.prototype.hasOwnProperty,\r\n\t\t\t\to = Object.prototype.propertyIsEnumerable;\r\n\t\t\tfunction i(e) {\r\n\t\t\t\tif (null == e) throw new TypeError(\"Object.assign cannot be called with null or undefined\");\r\n\t\t\t\treturn Object(e)\r\n\t\t\t}\r\n\t\t\te.exports = function () {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (!Object.assign) return !1;\r\n\t\t\t\t\tvar e = new String(\"abc\");\r\n\t\t\t\t\tif (e[5] = \"de\", \"5\" === Object.getOwnPropertyNames(e)[0]) return !1;\r\n\t\t\t\t\tfor (var t = {}, n = 0; n < 10; n++) t[\"_\" + String.fromCharCode(n)] = n;\r\n\t\t\t\t\tif (\"0123456789\" !== Object.getOwnPropertyNames(t).map((function (e) {\r\n\t\t\t\t\t\treturn t[e]\r\n\t\t\t\t\t})).join(\"\")) return !1;\r\n\t\t\t\t\tvar r = {};\r\n\t\t\t\t\treturn \"abcdefghijklmnopqrst\".split(\"\").forEach((function (e) {\r\n\t\t\t\t\t\tr[e] = e\r\n\t\t\t\t\t})), \"abcdefghijklmnopqrst\" === Object.keys(Object.assign({}, r)).join(\"\")\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treturn !1\r\n\t\t\t\t}\r\n\t\t\t}() ? Object.assign : function (e, t) {\r\n\t\t\t\tfor (var n, c, u = i(e), s = 1; s < arguments.length; s++) {\r\n\t\t\t\t\tfor (var f in n = Object(arguments[s])) a.call(n, f) && (u[f] = n[f]);\r\n\t\t\t\t\tif (r) {\r\n\t\t\t\t\t\tc = r(n);\r\n\t\t\t\t\t\tfor (var l = 0; l < c.length; l++) o.call(n, c[l]) && (u[c[l]] = n[c[l]])\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn u\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = new RegExp(\"%[a-f0-9]{2}\", \"gi\"), a = new RegExp(\"(%[a-f0-9]{2})+\", \"gi\");\r\n\t\t\tfunction o(e, t) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn decodeURIComponent(e.join(\"\"))\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t}\r\n\t\t\t\tif (1 === e.length) return e;\r\n\t\t\t\tt = t || 1;\r\n\t\t\t\tvar n = e.slice(0, t), r = e.slice(t);\r\n\t\t\t\treturn Array.prototype.concat.call([], o(n), o(r))\r\n\t\t\t}\r\n\t\t\tfunction i(e) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn decodeURIComponent(e)\r\n\t\t\t\t} catch (a) {\r\n\t\t\t\t\tfor (var t = e.match(r), n = 1; n < t.length; n++) t = (e = o(t, n).join(\"\")).match(r);\r\n\t\t\t\t\treturn e\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tif (\"string\" != typeof e) throw new TypeError(\"Expected `encodedURI` to be of type `string`, got `\" + typeof e + \"`\");\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn e = e.replace(/\\+/g, \" \"), decodeURIComponent(e)\r\n\t\t\t\t} catch (t) {\r\n\t\t\t\t\treturn function (e) {\r\n\t\t\t\t\t\tfor (var t = {\"%FE%FF\": \"��\", \"%FF%FE\": \"��\"}, n = a.exec(e); n;) {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tt[n[0]] = decodeURIComponent(n[0])\r\n\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\tvar r = i(n[0]);\r\n\t\t\t\t\t\t\t\tr !== n[0] && (t[n[0]] = r)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tn = a.exec(e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tt[\"%C2\"] = \"�\";\r\n\t\t\t\t\t\tfor (var o = Object.keys(t), c = 0; c < o.length; c++) {\r\n\t\t\t\t\t\t\tvar u = o[c];\r\n\t\t\t\t\t\t\te = e.replace(new RegExp(u, \"g\"), t[u])\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn e\r\n\t\t\t\t\t}(e)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\tvar n = \"undefined\" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || \"undefined\" != typeof msCrypto && \"function\" == typeof window.msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto);\r\n\t\t\tif (n) {\r\n\t\t\t\tvar r = new Uint8Array(16);\r\n\t\t\t\te.exports = function () {\r\n\t\t\t\t\treturn n(r), r\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tvar a = new Array(16);\r\n\t\t\t\te.exports = function () {\r\n\t\t\t\t\tfor (var e, t = 0; t < 16; t++) 0 == (3 & t) && (e = 4294967296 * Math.random()), a[t] = e >>> ((3 & t) << 3) & 255;\r\n\t\t\t\t\treturn a\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\tfor (var n = [], r = 0; r < 256; ++r) n[r] = (r + 256).toString(16).substr(1);\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tvar r = t || 0, a = n;\r\n\t\t\t\treturn [a[e[r++]], a[e[r++]], a[e[r++]], a[e[r++]], \"-\", a[e[r++]], a[e[r++]], \"-\", a[e[r++]], a[e[r++]], \"-\", a[e[r++]], a[e[r++]], \"-\", a[e[r++]], a[e[r++]], a[e[r++]], a[e[r++]], a[e[r++]], a[e[r++]]].join(\"\")\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(48), n(33), e.exports = n(142)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(14), a = n(61);\r\n\t\t\te.exports = n(6).getIterator = function (e) {\r\n\t\t\t\tvar t = a(e);\r\n\t\t\t\tif (\"function\" != typeof t) throw TypeError(e + \" is not iterable!\");\r\n\t\t\t\treturn r(t.call(e))\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(33), n(48), e.exports = n(63).f(\"iterator\")\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(96), n(77), n(148), n(149), e.exports = n(6).Symbol\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(46)(\"meta\"), a = n(25), o = n(27), i = n(18).f, c = 0, u = Object.isExtensible || function () {\r\n\t\t\t\treturn !0\r\n\t\t\t}, s = !n(26)((function () {\r\n\t\t\t\treturn u(Object.preventExtensions({}))\r\n\t\t\t})), f = function (e) {\r\n\t\t\t\ti(e, r, {value: {i: \"O\" + ++c, w: {}}})\r\n\t\t\t}, l = e.exports = {\r\n\t\t\t\tKEY: r, NEED: !1, fastKey: function (e, t) {\r\n\t\t\t\t\tif (!a(e)) return \"symbol\" == typeof e ? e : (\"string\" == typeof e ? \"S\" : \"P\") + e;\r\n\t\t\t\t\tif (!o(e, r)) {\r\n\t\t\t\t\t\tif (!u(e)) return \"F\";\r\n\t\t\t\t\t\tif (!t) return \"E\";\r\n\t\t\t\t\t\tf(e)\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn e[r].i\r\n\t\t\t\t}, getWeak: function (e, t) {\r\n\t\t\t\t\tif (!o(e, r)) {\r\n\t\t\t\t\t\tif (!u(e)) return !0;\r\n\t\t\t\t\t\tif (!t) return !1;\r\n\t\t\t\t\t\tf(e)\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn e[r].w\r\n\t\t\t\t}, onFreeze: function (e) {\r\n\t\t\t\t\treturn s && l.NEED && u(e) && !o(e, r) && f(e), e\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(37), a = n(49), o = n(50);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tvar t = r(e), n = a.f;\r\n\t\t\t\tif (n) for (var i, c = n(e), u = o.f, s = 0; c.length > s;) u.call(e, i = c[s++]) && t.push(i);\r\n\t\t\t\treturn t\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(19), a = n(65).f, o = {}.toString,\r\n\t\t\t\ti = \"object\" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\r\n\t\t\te.exports.f = function (e) {\r\n\t\t\t\treturn i && \"[object Window]\" == o.call(e) ? function (e) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\treturn a(e)\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\treturn i.slice()\r\n\t\t\t\t\t}\r\n\t\t\t\t}(e) : a(r(e))\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(64)(\"asyncIterator\")\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(64)(\"observable\")\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(33), n(151), e.exports = n(6).Array.from\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(35), a = n(10), o = n(39), i = n(86), c = n(87), u = n(56), s = n(97), f = n(61);\r\n\t\t\ta(a.S + a.F * !n(92)((function (e) {\r\n\t\t\t\tArray.from(e)\r\n\t\t\t})), \"Array\", {\r\n\t\t\t\tfrom: function (e) {\r\n\t\t\t\t\tvar t, n, a, l, p = o(e), d = \"function\" == typeof this ? this : Array, h = arguments.length,\r\n\t\t\t\t\t\tm = h > 1 ? arguments[1] : void 0, v = void 0 !== m, g = 0, y = f(p);\r\n\t\t\t\t\tif (v && (m = r(m, h > 2 ? arguments[2] : void 0, 2)), null == y || d == Array && c(y)) for (n = new d(t = u(p.length)); t > g; g++) s(n, g, v ? m(p[g], g) : p[g]); else for (l = y.call(p), n = new d; !(a = l.next()).done; g++) s(n, g, v ? i(l, m, [a.value, g], !0) : a.value);\r\n\t\t\t\t\treturn n.length = g, n\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(13);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tif (r(e)) return e\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(67), a = n(98), o = n(41);\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\tif (void 0 !== o && a(Object(e))) {\r\n\t\t\t\t\tvar n = [], i = !0, c = !1, u = void 0;\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tfor (var s, f = r(e); !(i = (s = f.next()).done) && (n.push(s.value), !t || n.length !== t); i = !0) ;\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tc = !0, u = e\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\ti || null == f.return || f.return()\r\n\t\t\t\t\t\t} finally {\r\n\t\t\t\t\t\t\tif (c) throw u\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(48), n(33), e.exports = n(155)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(60), a = n(11)(\"iterator\"), o = n(30);\r\n\t\t\te.exports = n(6).isIterable = function (e) {\r\n\t\t\t\tvar t = Object(e);\r\n\t\t\t\treturn void 0 !== t[a] || \"@@iterator\" in t || o.hasOwnProperty(r(t))\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function () {\r\n\t\t\t\tthrow new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(158), e.exports = n(6).Date.now\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10);\r\n\t\t\tr(r.S, \"Date\", {\r\n\t\t\t\tnow: function () {\r\n\t\t\t\t\treturn (new Date).getTime()\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(13), a = n(100);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tif (r(e)) return a(e)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(51), a = n(98), o = n(41);\r\n\t\t\te.exports = function (e) {\r\n\t\t\t\tif (void 0 !== o && a(Object(e))) return r(e)\r\n\t\t\t}\r\n\t\t}, function (e, t) {\r\n\t\t\te.exports = function () {\r\n\t\t\t\tthrow new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\te.exports = n(163)\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(164), e.exports = n(6).Object.assign\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10);\r\n\t\t\tr(r.S + r.F, \"Object\", {assign: n(165)})\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tvar r = n(15), a = n(37), o = n(49), i = n(50), c = n(39), u = n(84), s = Object.assign;\r\n\t\t\te.exports = !s || n(26)((function () {\r\n\t\t\t\tvar e = {}, t = {}, n = Symbol(), r = \"abcdefghijklmnopqrst\";\r\n\t\t\t\treturn e[n] = 7, r.split(\"\").forEach((function (e) {\r\n\t\t\t\t\tt[e] = e\r\n\t\t\t\t})), 7 != s({}, e)[n] || Object.keys(s({}, t)).join(\"\") != r\r\n\t\t\t})) ? function (e, t) {\r\n\t\t\t\tfor (var n = c(e), s = arguments.length, f = 1, l = o.f, p = i.f; s > f;) for (var d, h = u(arguments[f++]), m = l ? a(h).concat(l(h)) : a(h), v = m.length, g = 0; v > g;) d = m[g++], r && !p.call(h, d) || (n[d] = h[d]);\r\n\t\t\t\treturn n\r\n\t\t\t} : s\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(167);\r\n\t\t\tvar r = n(6).Object;\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\treturn r.defineProperties(e, t)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10);\r\n\t\t\tr(r.S + r.F * !n(15), \"Object\", {defineProperties: n(82)})\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(169);\r\n\t\t\tvar r = n(6).Object;\r\n\t\t\te.exports = function (e, t, n) {\r\n\t\t\t\treturn r.defineProperty(e, t, n)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10);\r\n\t\t\tr(r.S + r.F * !n(15), \"Object\", {defineProperty: n(18).f})\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(171), e.exports = n(6).Object.getOwnPropertyDescriptors\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10), a = n(172), o = n(19), i = n(66), c = n(97);\r\n\t\t\tr(r.S, \"Object\", {\r\n\t\t\t\tgetOwnPropertyDescriptors: function (e) {\r\n\t\t\t\t\tfor (var t, n, r = o(e), u = i.f, s = a(r), f = {}, l = 0; s.length > l;) void 0 !== (n = u(r, t = s[l++])) && c(f, t, n);\r\n\t\t\t\t\treturn f\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(65), a = n(49), o = n(14), i = n(9).Reflect;\r\n\t\t\te.exports = i && i.ownKeys || function (e) {\r\n\t\t\t\tvar t = r.f(o(e)), n = a.f;\r\n\t\t\t\treturn n ? t.concat(n(e)) : t\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(174);\r\n\t\t\tvar r = n(6).Object;\r\n\t\t\te.exports = function (e, t) {\r\n\t\t\t\treturn r.getOwnPropertyDescriptor(e, t)\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(19), a = n(66).f;\r\n\t\t\tn(95)(\"getOwnPropertyDescriptor\", (function () {\r\n\t\t\t\treturn function (e, t) {\r\n\t\t\t\t\treturn a(r(e), t)\r\n\t\t\t\t}\r\n\t\t\t}))\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(96), e.exports = n(6).Object.getOwnPropertySymbols\r\n\t\t}, function (e, t, n) {\r\n\t\t\tn(177), e.exports = n(6).parseInt\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10), a = n(178);\r\n\t\t\tr(r.G + r.F * (parseInt != a), {parseInt: a})\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(9).parseInt, a = n(179).trim, o = n(101), i = /^[-+]?0[xX]/;\r\n\t\t\te.exports = 8 !== r(o + \"08\") || 22 !== r(o + \"0x16\") ? function (e, t) {\r\n\t\t\t\tvar n = a(String(e), 3);\r\n\t\t\t\treturn r(n, t >>> 0 || (i.test(n) ? 16 : 10))\r\n\t\t\t} : r\r\n\t\t}, function (e, t, n) {\r\n\t\t\tvar r = n(10), a = n(44), o = n(26), i = n(101), c = \"[\" + i + \"]\", u = RegExp(\"^\" + c + c + \"*\"),\r\n\t\t\t\ts = RegExp(c + c + \"*$\"), f = function (e, t, n) {\r\n\t\t\t\t\tvar a = {}, c = o((function () {\r\n\t\t\t\t\t\treturn !!i[e]() || \"​\" != \"​\"[e]()\r\n\t\t\t\t\t})), u = a[e] = c ? t(l) : i[e];\r\n\t\t\t\t\tn && (a[n] = u), r(r.P + r.F * c, \"String\", a)\r\n\t\t\t\t}, l = f.trim = function (e, t) {\r\n\t\t\t\t\treturn e = String(a(e)), 1 & t && (e = e.replace(u, \"\")), 2 & t && (e = e.replace(s, \"\")), e\r\n\t\t\t\t};\r\n\t\t\te.exports = f\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.r(t);\r\n\t\t\tvar r = n(1), a = n.n(r), o = n(3), i = n.n(o), c = n(2), u = n.n(c), s = n(0), f = n(32),\r\n\t\t\t\tl = function (e) {\r\n\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\treturn new u.a((function (n, r) {\r\n\t\t\t\t\t\t\te(t, n, r)\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t}, p = {};\r\n\t\t\tp.ready = l(function () {\r\n\t\t\t\tvar e = i()(a.a.mark((function e(t, n, r) {\r\n\t\t\t\t\treturn a.a.wrap((function (e) {\r\n\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\tif (\"function\" == typeof t) {\r\n\t\t\t\t\t\t\t\t\te.next = 3;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn r({status: \"0\", msg: \"Parameter is not a method\"}), e.abrupt(\"return\");\r\n\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\"1\" === s.e.status ? t() : Object(f.b)(\"__config_ready__\", t), n();\r\n\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t})));\r\n\t\t\t\treturn function (t, n, r) {\r\n\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t}()), p.error = l(function () {\r\n\t\t\t\tvar e = i()(a.a.mark((function e(t, n, r) {\r\n\t\t\t\t\treturn a.a.wrap((function (e) {\r\n\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\tif (\"function\" == typeof t) {\r\n\t\t\t\t\t\t\t\t\te.next = 3;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn r({status: \"0\", msg: \"Parameter is not a method\"}), e.abrupt(\"return\");\r\n\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\"0\" === s.e.status ? t(s.e) : Object(f.b)(\"__config_error__\", t), n();\r\n\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t})));\r\n\t\t\t\treturn function (t, n, r) {\r\n\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t}());\r\n\t\t\tt.default = function () {\r\n\t\t\t\tfor (var e = [{apiName: \"ready\"}, {apiName: \"error\"}], t = 0; t < e.length; t += 1) {\r\n\t\t\t\t\tvar n = e[t].apiName;\r\n\t\t\t\t\tHWH5[n] = p[n]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, function (e, t, n) {\r\n\t\t\t\"use strict\";\r\n\t\t\tn.r(t);\r\n\t\t\tvar r, a, o = n(2), i = n.n(o), c = n(5), u = n.n(c), s = n(16), f = n.n(s), l = n(12), p = n.n(l),\r\n\t\t\t\td = n(42),\r\n\t\t\t\th = n.n(d), m = (a = (r = {}).hasOwnProperty, {\r\n\t\t\t\t\tsubscribe: function (e, t) {\r\n\t\t\t\t\t\ta.call(r, e) || (r[e] = []);\r\n\t\t\t\t\t\tvar n = r[e].push(t) - 1;\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tremove: function () {\r\n\t\t\t\t\t\t\t\tdelete r[e][n]\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, publish: function (e, t) {\r\n\t\t\t\t\t\ta.call(r, e) && r[e].forEach((function (e) {\r\n\t\t\t\t\t\t\te(void 0 !== t ? t : {})\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t}), v = n(43), g = n(21), y = n.n(g), b = n(105), w = n.n(b), x = n(17), k = n.n(x), N = n(1), _ = n.n(N),\r\n\t\t\t\tS = n(13), C = n.n(S), O = n(3), I = n.n(O), j = n(23), E = n.n(j), L = n(4), P = n.n(L), H = n(29),\r\n\t\t\t\tT = n(0), A = n(22), F = n(7), B = function (e) {\r\n\t\t\t\t\treturn Object(H.a)((function (t) {\r\n\t\t\t\t\t\tvar n = P()({funcName: e.funcName, data: e.data, callbackId: t});\r\n\t\t\t\t\t\tObject(T.s)(\"action\", e.data, e.funcName, e.apiName, void 0, t), HWH5.callMethod(n)\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t}, W = function (e) {\r\n\t\t\t\t\tvar t = [], n = [].concat(E()(f.a), E()(p.a));\r\n\t\t\t\t\treturn e.forEach((function (e) {\r\n\t\t\t\t\t\tvar r = !1;\r\n\t\t\t\t\t\tn.forEach((function (n) {\r\n\t\t\t\t\t\t\te === n.apiName && (t.push(n.nativeName ? n.nativeName : n.schema), r = !0)\r\n\t\t\t\t\t\t})), r || t.push(e)\r\n\t\t\t\t\t})), t\r\n\t\t\t\t}, D = function () {\r\n\t\t\t\t\tvar e = I()(_.a.mark((function e(t) {\r\n\t\t\t\t\t\tvar n, r;\r\n\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\treturn n = \"\", n = C()(t.filePath) ? t.filePath : [t.filePath], e.next = 4, HWH5.zipsFiles({\r\n\t\t\t\t\t\t\t\t\t\tfilesPath: n,\r\n\t\t\t\t\t\t\t\t\t\ttestCover: t.testCover\r\n\t\t\t\t\t\t\t\t\t}).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\treturn e\r\n\t\t\t\t\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log(\"File packaging failed, \", e)\r\n\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\tcase 4:\r\n\t\t\t\t\t\t\t\t\tif (!(r = e.sent) || !r.tempFilePath) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 7;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", r.tempFilePath);\r\n\t\t\t\t\t\t\t\tcase 7:\r\n\t\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", null);\r\n\t\t\t\t\t\t\t\tcase 8:\r\n\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t})));\r\n\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t}\r\n\t\t\t\t}(), M = function () {\r\n\t\t\t\t\tvar e = I()(_.a.mark((function e(t) {\r\n\t\t\t\t\t\tvar n;\r\n\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\treturn e.next = 2, HWH5.compressImage(t).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\treturn e\r\n\t\t\t\t\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log(\"File compression failed, \", e)\r\n\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\t\tif (!(n = e.sent) || !n.tempFilePath) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 5;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", n.tempFilePath);\r\n\t\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", null);\r\n\t\t\t\t\t\t\t\tcase 6:\r\n\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t})));\r\n\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t}\r\n\t\t\t\t}();\r\n\t\t\tfunction U(e) {\r\n\t\t\t\treturn null !== e && \"object\" === k()(e)\r\n\t\t\t}\r\n\t\t\tvar R = function () {\r\n\t\t\t\tvar e = I()(_.a.mark((function e(t, n) {\r\n\t\t\t\t\tvar r, a, o, i, c;\r\n\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\treturn e.next = 2, HWH5.getAuthCode({clientId: n});\r\n\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\treturn r = e.sent, a = r.code, o = {\r\n\t\t\t\t\t\t\t\t\tappid: n,\r\n\t\t\t\t\t\t\t\t\tsso: \"welink\",\r\n\t\t\t\t\t\t\t\t\ttoken: a\r\n\t\t\t\t\t\t\t\t}, i = {\"Content-Type\": \"application/json\"}, e.prev = 6, e.next = 9, HWH5.fetchInternet(\"\".concat(t, \"/jwt/token\"), {\r\n\t\t\t\t\t\t\t\t\tbody: P()(o),\r\n\t\t\t\t\t\t\t\t\theaders: i,\r\n\t\t\t\t\t\t\t\t\tmethod: \"post\"\r\n\t\t\t\t\t\t\t\t}).then((function (e) {\r\n\t\t\t\t\t\t\t\t\treturn e.json()\r\n\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\tcase 9:\r\n\t\t\t\t\t\t\t\tif (!(c = e.sent)) {\r\n\t\t\t\t\t\t\t\t\te.next = 13;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn HWH5.setStorage({\r\n\t\t\t\t\t\t\t\t\tkey: \"welink_roma_auth_\".concat(n),\r\n\t\t\t\t\t\t\t\t\tdata: P()({time: (new Date).getTime(), jwt: c})\r\n\t\t\t\t\t\t\t\t}), e.abrupt(\"return\", \"\".concat(c.token_type, \" \").concat(c.access_token));\r\n\t\t\t\t\t\t\tcase 13:\r\n\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", null);\r\n\t\t\t\t\t\t\tcase 16:\r\n\t\t\t\t\t\t\t\treturn e.prev = 16, e.t0 = e.catch(6), e.abrupt(\"return\", null);\r\n\t\t\t\t\t\t\tcase 19:\r\n\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}), e, null, [[6, 16]])\r\n\t\t\t\t})));\r\n\t\t\t\treturn function (t, n) {\r\n\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t}(), J = function () {\r\n\t\t\t\tvar e = I()(_.a.mark((function e(t) {\r\n\t\t\t\t\tvar n, r, a, o;\r\n\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\treturn e.next = 2, HWH5.getStorage(\"welink_roma_auth_\".concat(t));\r\n\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\tif (n = e.sent) {\r\n\t\t\t\t\t\t\t\t\te.next = 5;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", null);\r\n\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\tif (r = n.jwt, a = n.time, r) {\r\n\t\t\t\t\t\t\t\t\te.next = 9;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn console.warn(\"Failed to get token\"), e.abrupt(\"return\", null);\r\n\t\t\t\t\t\t\tcase 9:\r\n\t\t\t\t\t\t\t\tif (o = (new Date).getTime(), !(1e3 * w()(r.expire_in, 10) + a < o)) {\r\n\t\t\t\t\t\t\t\t\te.next = 13;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", null);\r\n\t\t\t\t\t\t\tcase 13:\r\n\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", \"\".concat(r.token_type, \" \").concat(r.access_token));\r\n\t\t\t\t\t\t\tcase 14:\r\n\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t})));\r\n\t\t\t\treturn function (t) {\r\n\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t}(), G = function () {\r\n\t\t\t\tvar e = I()(_.a.mark((function e(t, n, r, a) {\r\n\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\tHWH5[t] = function () {\r\n\t\t\t\t\t\t\t\t\tvar e = I()(_.a.mark((function e(o, c) {\r\n\t\t\t\t\t\t\t\t\t\tvar u, s, f, l, p, d, h, m, v, g, b, w, x, k, N, S, C, O, I;\r\n\t\t\t\t\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (Object(T.w)() && a && console.warn(\"“\".concat(t, \"” 暂不支持PC\")), u = o, null !== r && (u = U(u) ? y()({}, r, u) : \"string\" == typeof u ? o : r), s = n, \"fetch\" !== t && \"fetchInternet\" !== t && \"generateQRCode\" !== t && \"fetchIntranet\" !== t && \"fetchVPN\" !== t || (u = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: u,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmethod: c && c.method || \"get\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, \"string\" == typeof (u = y()(u, c)).method && (u.method = u.method.toLocaleLowerCase())), \"fetchRomaApi\" !== t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 30;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif ((l = (f = c).config) && l.baseUrl) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 11;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn p = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcode: \"10802\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"The parameter is incorrect. Please check the documentation\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, e.abrupt(\"return\", i.a.reject(p));\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 11:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.next = 13, Object(T.n)();\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 13:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn d = e.sent, h = d.appId, m = (m = h.endsWith(\".dev.debug\") ? h.replace(\".dev.debug\", \"\") : h).endsWith(\".debug\") ? m.replace(\".debug\", \"\") : m, e.next = 19, J(m);\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 19:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (v = e.sent) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 24;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.next = 23, R(l.baseUrl, m);\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 23:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tv = e.sent;\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 24:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tf.headers || (f.headers = {}), f.headers[\"X-HW-TOKEN\"] = v, u = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: u = u.startsWith(\"https://\") || u.startsWith(\"http://\") ? u : l.baseUrl + u,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmethod: f && f.method || \"get\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, \"string\" == typeof (u = y()(u, f)).method && (u.method = u.method.toLocaleLowerCase());\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 30:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\"cache\" === t && (s = u && u.key && void 0 !== u.data ? \"setCache\" : \"getCache\"), \"setStorage\" === t && (s = \"setCache\"), \"getStorage\" === t && (s = \"getCache\"), \"showLoading\" === t && (u = {status: !0}), \"hideLoading\" === t && (u = {status: !1}), \"uploadImage\" !== t || !u.filePath || !(u.maxWidth || u.maxHeight || u.maxSize)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 39;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.next = 38, M(u);\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 38:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tu.filePath = e.sent;\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 39:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\"uploadFile\" !== t || !u.filePath || !u.zip) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 43;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.next = 42, D(u);\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 42:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tu.filePath = e.sent;\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 43:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\"setNavigationBarButtons\" === t && u.length > 0) for (HWH5.removeEventListenerByType && HWH5.removeEventListenerByType(\"navigationBarButtonClick\"), g = 0; g < u.length; g += 1) void 0 !== HWH5.addEventListener && HWH5.addEventListener({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"navigationBarButtonClick\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfunc: u[g].func\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\"playMedia\" !== t || !u || !u.backgroundAudioUrl) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 47;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn \"playMediaBackground\", e.abrupt(\"return\", B({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfuncName: \"playMediaBackground\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: u,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiName: \"playMediaBackground\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 47:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif ((\"config\" === t || \"checkJsApi\" === t) && u.jsApiList.length > 0 && (\"config\" === t && (delete T.e.status, delete T.e.errorCode, delete T.e.msg), u.apiNameList = u.jsApiList, u.jsApiList = W(u.jsApiList)), \"enableFeedback\" !== t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 53;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.next = 51, Object(T.n)();\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 51:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tb = e.sent, u = {queryString: \"module=wecode&wecodeId=\".concat(b.appId)};\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 53:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\"openBluetoothAdapter\" === t && HWH5.onBluetoothEvents(), \"writeBLECharacteristicValue\" !== t && \"writeDataToBluetooth\" !== t || !u.value || (u.value = Object(T.a)(u.value)), \"hwa\" !== t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 61;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.next = 58, Object(T.n)();\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 58:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tw = e.sent, x = w.appId, u && void 0 !== u.extendData && null !== u.extendData ? ((k = U(u.extendData) ? u.extendData : JSON.parse(u.extendData)).wecodeId = x, u.extendData = P()(k)) : u.extendData = P()({wecodeId: x});\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 61:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\"playAudio\" !== t && \"playMedia\" !== t || !u || \"string\" != typeof u.cookies || (u.cookies = Object(T.f)(u.cookies)), \"config\" === t && u && (F.c.appId = u.appId), \"share\" !== t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 73;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 72;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 67:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tN = e.sent, S = N.appId, u.data.appid = S, e.next = 73;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 72:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tu.data.appid = F.c.appId;\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 73:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif ([\"getClouddriveFilesList\", \"uploadClouddriveFile\", \"downloadClouddriveFile\"].indexOf(t) > -1 && (\"WeCode\", u.packageName = u.packageName ? u.packageName : \"WeCode\"), \"setNavigationBarType\" === t && (u = {navigationBarType: u}), \"setNavigationBar\" === t && (u = {navigationBar: u}), \"navigateToPage\" !== t && \"navigateToWecode\" !== t || !u || !u.uri) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 80;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!(\"string\" == typeof u.uri && u.uri.indexOf(\"wecodeDefine1\") > -1)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 80;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn C = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcode: \"30803\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"The URI contains invalid keywords.\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, e.abrupt(\"return\", i.a.reject(C));\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 80:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!(A.b.getState() || F.f[t] && F.f[t].j_p_c) || Object(A.a)(t, u)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 83;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn O = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcode: \"10802\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"The parameter is incorrect. Please check the documentation\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"error\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, e.abrupt(\"return\", i.a.reject(O));\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 83:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!Object(T.u)() || \"checkSkyStoneStatus\" !== t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.next = 86;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn I = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatusCode: \"0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, e.abrupt(\"return\", i.a.resolve(I));\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 86:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.abrupt(\"return\", B({funcName: s, data: u, apiName: t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase 87:\r\n\t\t\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t\t\t\t\t})));\r\n\t\t\t\t\t\t\t\t\treturn function (t, n) {\r\n\t\t\t\t\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}();\r\n\t\t\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t})));\r\n\t\t\t\treturn function (t, n, r, a) {\r\n\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t}\r\n\t\t\t}(), V = function () {\r\n\t\t\t\tvar e = f.a;\r\n\t\t\t\te = n(93);\r\n\t\t\t\tfor (var t = 0; t < e.length; t += 1) {\r\n\t\t\t\t\tvar r = e[t], a = r.apiName, o = r.nativeName, i = r.defaultParams, c = void 0 === i ? null : i,\r\n\t\t\t\t\t\tu = r.pcNotSupport;\r\n\t\t\t\t\tG(a, o, c, u)\r\n\t\t\t\t}\r\n\t\t\t}, z = n(106);\r\n\t\t\tfunction q() {\r\n\t\t\t\treturn new i.a(function () {\r\n\t\t\t\t\tvar e = I()(_.a.mark((function e(t) {\r\n\t\t\t\t\t\tvar n;\r\n\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\tif (n = null, !u.a.HWH5 || \"function\" != typeof u.a.HWH5.hwa) {\r\n\t\t\t\t\t\t\t\t\t\te.next = 12;\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn e.t0 = u.a.HWH5, e.t1 = P.a, e.next = 6, new i.a(function () {\r\n\t\t\t\t\t\t\t\t\t\tvar e = I()(_.a.mark((function e(t) {\r\n\t\t\t\t\t\t\t\t\t\t\tvar n, r;\r\n\t\t\t\t\t\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn n = u.a.performance.timing, e.next = 3, Object(T.n)();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tr = e.sent, t({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turi: u.a.location.toString(),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdomInteractive: n.domInteractive - n.navigationStart,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdomContentLoaded: n.domContentLoadedEventEnd - n.navigationStart,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdomLoad: n.loadEventEnd - n.navigationStart,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappId: r.appId\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t\t\t\t\t\t})));\r\n\t\t\t\t\t\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}()).then((function (e) {\r\n\t\t\t\t\t\t\t\t\t\treturn e\r\n\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\tcase 6:\r\n\t\t\t\t\t\t\t\t\te.t2 = e.sent, e.t3 = (0, e.t1)(e.t2), e.t4 = {\r\n\t\t\t\t\t\t\t\t\t\teventId: \"WELINK_WECODE_PERFORMANCE\",\r\n\t\t\t\t\t\t\t\t\t\teventLabel: \"WeLink WECODE PERFORMANCE\",\r\n\t\t\t\t\t\t\t\t\t\textendData: e.t3,\r\n\t\t\t\t\t\t\t\t\t\tcommon_internal_call: !0\r\n\t\t\t\t\t\t\t\t\t}, n = e.t0.hwa.call(e.t0, e.t4), e.next = 13;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 12:\r\n\t\t\t\t\t\t\t\t\tn = null;\r\n\t\t\t\t\t\t\t\tcase 13:\r\n\t\t\t\t\t\t\t\t\tt(n);\r\n\t\t\t\t\t\t\t\tcase 14:\r\n\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t})));\r\n\t\t\t\t\treturn function (t) {\r\n\t\t\t\t\t\treturn e.apply(this, arguments)\r\n\t\t\t\t\t}\r\n\t\t\t\t}())\r\n\t\t\t}\r\n\t\t\tfunction K() {\r\n\t\t\t\treturn (K = I()(_.a.mark((function e() {\r\n\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\tif (u.a.performance) {\r\n\t\t\t\t\t\t\t\t\te.next = 2;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn e.abrupt(\"return\");\r\n\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\tif (!(u.a.performance.timing && u.a.performance.timing.loadEventEnd > 0)) {\r\n\t\t\t\t\t\t\t\t\te.next = 5;\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn e.next = 5, q();\r\n\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\tu.a.addEventListener(\"load\", I()(_.a.mark((function e() {\r\n\t\t\t\t\t\t\t\t\treturn _.a.wrap((function (e) {\r\n\t\t\t\t\t\t\t\t\t\tfor (; ;) switch (e.prev = e.next) {\r\n\t\t\t\t\t\t\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn e.t0 = setTimeout, e.next = 3, q;\r\n\t\t\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\t\t\te.t1 = e.sent, (0, e.t0)(e.t1, 0);\r\n\t\t\t\t\t\t\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}), e)\r\n\t\t\t\t\t\t\t\t}))));\r\n\t\t\t\t\t\t\tcase 6:\r\n\t\t\t\t\t\t\tcase\"end\":\r\n\t\t\t\t\t\t\t\treturn e.stop()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}), e)\r\n\t\t\t\t})))).apply(this, arguments)\r\n\t\t\t}\r\n\t\t\tn(31);\r\n\t\t\tvar Q = function (e, t) {\r\n\t\t\t\tfor (var n = t, r = function (t) {\r\n\t\t\t\t\tvar r = e[t].apiName;\r\n\t\t\t\t\tn[r] = function () {\r\n\t\t\t\t\t\tfor (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];\r\n\t\t\t\t\t\treturn new i.a((function (e, n) {\r\n\t\t\t\t\t\t\tvar a = m.subscribe(\"hwh5ready\", (function () {\r\n\t\t\t\t\t\t\t\tHWH5[r].apply(u.a, t).then((function (t) {\r\n\t\t\t\t\t\t\t\t\te(t)\r\n\t\t\t\t\t\t\t\t})).catch((function (e) {\r\n\t\t\t\t\t\t\t\t\tn(e)\r\n\t\t\t\t\t\t\t\t})), a.remove()\r\n\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t}))\r\n\t\t\t\t\t}\r\n\t\t\t\t}, a = 0; a < e.length; a += 1) r(a);\r\n\t\t\t\treturn n\r\n\t\t\t}, $ = function () {\r\n\t\t\t\tObject(z.a)(), (0, n(180).default)(), Object(v.c)(), V(), function () {\r\n\t\t\t\t\tK.apply(this, arguments)\r\n\t\t\t\t}(), u.a.HWH5.callbackNative = H.b\r\n\t\t\t};\r\n\t\t\t(function () {\r\n\t\t\t\tObject(T.u)() && u.a.webkit && u.a.webkit.messageHandlers ? (u.a.HWH5 = {\r\n\t\t\t\t\tcallMethod: function (e) {\r\n\t\t\t\t\t\tu.a.webkit.messageHandlers.HWH5.postMessage({callMethod: e})\r\n\t\t\t\t\t}, openURI: function (e) {\r\n\t\t\t\t\t\tu.a.webkit.messageHandlers.HWH5.postMessage({openURI: e})\r\n\t\t\t\t\t}\r\n\t\t\t\t}, $()) : \"undefined\" != typeof HWH5 && HWH5.callMethod ? $() : (u.a.HWH5 = {}, u.a.HWH5 = Q(f.a, u.a.HWH5), u.a.HWH5 = Q(p.a, u.a.HWH5), u.a.HWH5 = Q(h.a, u.a.HWH5), u.a._HWH5Init = function () {\r\n\t\t\t\t\t$(), m.publish(\"hwh5ready\")\r\n\t\t\t\t}), Object(T.q)()\r\n\t\t\t})();\r\n\t\t\tt.default = HWH5\r\n\t\t}])\r\n\t}))\r\n}\r\n/**\r\n * @description 去单点服务器登录\r\n */\r\nexport const toLogin = () => {\r\n\t// 删除Token\r\n\t// removeToken()\r\n\t// 判断是否在钉钉中\r\n\tif (isDingtalk() && __APP_ENV__.VUE_APP_SSO_CORP_ID) {\r\n\t\tdd.ready(() => {\r\n\t\t\tdd.runtime.permission.requestAuthCode({\r\n\t\t\t\tcorpId: __APP_ENV__.VUE_APP_SSO_CORP_ID, // 企业id\r\n\t\t\t\tonSuccess: (info) => {\r\n\t\t\t\t\tif (__APP_ENV__.VUE_APP_SSO_ALERT) {\r\n\t\t\t\t\t\talert(info.code)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 通过该免登授权码可以获取用户身份\r\n\t\t\t\t\twindow.location.href = ssoUrl() + '&code=' + info.code + '&device=1'\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t} else if (isWelink()) {\r\n\t\tHWH5.getAuthCode().then(data => {\r\n\t\t\t// 通过该免登授权码可以获取用户身份\r\n\t\t\twindow.location.href = ssoUrl() + '&code=' + data.code + '&device=2'\r\n\t\t}).catch(error => {\r\n\t\t\tconsole.log('获取异常', error);\r\n\t\t});\r\n\t} else {\r\n\t\twindow.location.href = ssoUrl()\r\n\t}\r\n}\r\n/**\r\n * @description 去单点服务器登出\r\n */\r\nexport const toLogout = token => {\r\n\t// 删除Token\r\n\tremoveToken()\r\n\t// 回到单点\r\n\twindow.location.href = ssoUrl() + '&session_id=' + token\r\n}\r\n/**\r\n * @description 去单点服务器地址\r\n */\r\nexport const ssoUrl = url => {\r\n\tlet pageUrl = window.location.pathname + window.location.search;\r\n\tconsole.info(\"pageUrl:\" + pageUrl)\r\n\tif (pageUrl.indexOf('codeCallback') != -1) {\r\n\t\tpageUrl = __APP_ENV__.VITE_APP_PORTAL_HOST_URL\r\n\t} else {\r\n\t\tpageUrl = encodeURIComponent(pageUrl)\r\n\t}\r\n\tconsole.info(\"pageUrl:\" + pageUrl)\r\n\tconst portalUrl = __APP_ENV__.VITE_APP_PORTAL_HOST_URL || pageUrl;\r\n\tconst ssoHostUrl = __APP_ENV__.VITE_APP_SSO_HOST_URL;\r\n\tconst callbackUrl = __APP_ENV__.VUE_APP_SSO_CALLBACK_URL || 'codeCallback';\r\n\tconst responseType = __APP_ENV__.VITE_APP_SSO_RESPONSE_TYPE || 'code';\r\n\tconst clientId = __APP_ENV__.VITE_APP_SSO_APP_KEY || 'chaos-test';\r\n\tconst contextPath = __APP_ENV__.VITE_APP_PORTAL_HOST_CONTEXT_PATH || '/';\r\n\tlet redirectUri = pageUrl;\r\n\tif (contextPath != '/') {\r\n\t\tredirectUri = pageUrl.replace(encodeURIComponent(contextPath), encodeURIComponent('/'))\r\n\t}\r\n\tlet codeCallbackUrl = encodeURIComponent(`${portalUrl}${callbackUrl}?redirect_uri=${redirectUri}`);\r\n\tconsole.info(\"codeCallbackUrl:\" + codeCallbackUrl)\r\n\tlet api = 'oauth'\r\n\tif (isDingtalk() && __APP_ENV__.VITE_APP_SSO_CORP_ID) {\r\n\t\tapi = 'app'\r\n\t}\r\n\tif (isWelink()) {\r\n\t\tapi = 'app'\r\n\t}\r\n\tlet ssoUrl = `${ssoHostUrl}${api}/authorize`\r\n\tlet params = `?response_type=${responseType}&client_id=${clientId}&redirect_uri=${codeCallbackUrl}`\r\n\tlet finalUrl = ssoUrl + params;\r\n\tconsole.info(\"finalUrl:\" + finalUrl)\r\n\treturn finalUrl\r\n}\r\nexport const setToken = token => {\r\n\twindow.localStorage.setItem(__APP_ENV__.VITE_APP_SSO_SESSION_TOKEN_KEY || 'sso-token', token)\r\n}\r\nexport const getToken = () => {\r\n\tconst token = window.localStorage.getItem(__APP_ENV__.VITE_APP_SSO_SESSION_TOKEN_KEY || 'sso-token')\r\n\tif (token) {\r\n\t\treturn token\r\n\t}\r\n\treturn false\r\n}\r\nexport const removeToken = () => {\r\n\twindow.localStorage.removeItem(__APP_ENV__.VITE_APP_SSO_SESSION_TOKEN_KEY || 'sso-token')\r\n}\r\nexport const setUser = user => {\r\n\twindow.localStorage.setItem(__APP_ENV__.VITE_APP_SSO_SESSION_USER_KEY || 'sso-user', JSON.stringify(user))\r\n}\r\nexport const getUser = () => {\r\n\tconst user = window.localStorage.getItem(__APP_ENV__.VITE_APP_SSO_SESSION_USER_KEY || 'sso-user')\r\n\tif (user) return JSON.parse(user)\r\n\telse return false\r\n}\r\nexport const removeUser = () => {\r\n\twindow.localStorage.removeItem(__APP_ENV__.VITE_APP_SSO_SESSION_USER_KEY || 'sso-user')\r\n}\r\nexport const remove = () => {\r\n\tremoveUser()\r\n\tremoveToken()\r\n}\r\n","<template>\r\n  <div class=\"user-bar\">\r\n    <a-dropdown class=\"user panel-item\">\r\n      <div class=\"user-avatar\">\r\n        <SmartAvatar :src=\"userInfo.avatar\"\r\n                     style=\"display: flex; flex-direction: row; align-items: center; justify-content: center\"/>\r\n        <label>{{ userName }}</label>\r\n        <slot name=\"avaOtherContent\"></slot>\r\n      </div>\r\n      <template #overlay>\r\n        <a-menu>\r\n          <a-menu-item key=\"clearCache\" @click=\"handleUser('clearCache')\">\r\n            <loading3-quarters-outlined style=\"margin-right: 8px\"/>\r\n            <span>清理缓存</span>\r\n          </a-menu-item>\r\n          <a-menu-divider/>\r\n          <a-menu-item key=\"outLogin\" @click=\"handleUser('outLogin')\">\r\n            <export-outlined style=\"margin-right: 8px\"/>\r\n            <span>退出登录</span>\r\n          </a-menu-item>\r\n        </a-menu>\r\n      </template>\r\n    </a-dropdown>\r\n    <slot name=\"barOtherContent\"></slot>\r\n    <div class=\"screen panel-item hidden-sm-and-down\" @click=\"fullscreen\">\r\n      <fullscreen-outlined/>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {createVNode, getCurrentInstance} from 'vue'\r\nimport {ExclamationCircleOutlined} from '@ant-design/icons-vue'\r\nimport {message} from 'ant-design-vue'\r\nimport {tool} from 'elead-ui-tool-v3'\r\nimport ssoApi from '@/api/auth/sso2Api'\r\nimport * as sso from \"@/utils/sso\"\r\nimport screenfull from 'screenfull'\r\nexport default {\r\n  name: 'UserBar',\r\n  components: {},\r\n  data() {\r\n    return {\r\n      lang: [],\r\n      userInfo: {},\r\n      userName: '',\r\n      userNameF: ''\r\n    }\r\n  },\r\n  watch: {\r\n    userInfoWatch(newVal, oldVal) {\r\n      this.userInfo = newVal\r\n    }\r\n  },\r\n  created() {\r\n    const {proxy} = getCurrentInstance()\r\n    this.userInfo = proxy.$TOOL.data.get('USER_INFO')\r\n    this.userName = this.userInfo.userName\r\n    // 获取默认语言\r\n    this.lang = new Array(this.$TOOL.data.get('APP_LANG') || this.$CONFIG.LANG)\r\n    this.userInfo = this.$TOOL.data.get('USER_INFO')\r\n    this.userNameF = this.userName.substring(0, 1)\r\n  },\r\n  methods: {\r\n    // 个人信息\r\n    handleUser(key) {\r\n      if (key === 'clearCache') {\r\n        this.$confirm({\r\n          title: '提示',\r\n          content: '确认清理所有缓存？',\r\n          icon: createVNode(ExclamationCircleOutlined),\r\n          maskClosable: false,\r\n          okText: '确定',\r\n          cancelText: '取消',\r\n          onOk() {\r\n            message.loading('正在清理中...', 1)\r\n            tool.data.clear()\r\n            setTimeout(() => {\r\n              sso.toLogin()\r\n            }, 100)\r\n          },\r\n          onCancel() {\r\n          }\r\n        })\r\n      }\r\n      if (key === 'outLogin') {\r\n        this.$confirm({\r\n          title: '提示',\r\n          content: '确认退出当前用户？',\r\n          icon: createVNode(ExclamationCircleOutlined),\r\n          maskClosable: false,\r\n          onOk() {\r\n            // 取得缓存中的token\r\n            const token = tool.data.get('TOKEN')\r\n            const param = {\r\n              token: token\r\n            }\r\n            message.loading('退出中...', 0)\r\n            ssoApi\r\n                .logout(param)\r\n                .then(() => {\r\n                  // message.c\r\n                  // 清理掉个人的一些信息\r\n                  tool.data.remove('TOKEN')\r\n                  tool.data.remove('USER_INFO')\r\n                  tool.data.remove('MENU')\r\n                  tool.data.remove('PERMISSIONS')\r\n                  sso.toLogin()\r\n                })\r\n                .catch(() => {\r\n                  tool.data.clear()\r\n                  sso.toLogin()\r\n                })\r\n          },\r\n          onCancel() {\r\n          }\r\n        })\r\n      }\r\n    },\r\n    // 设置多语言语种\r\n    handleIn18(key) {\r\n      this.lang = []\r\n      this.lang.push(key)\r\n      this.$i18n.locale = key\r\n      this.$TOOL.data.set('APP_LANG', key)\r\n    },\r\n    // 全屏\r\n    fullscreen() {\r\n      const element = document.documentElement\r\n      if (screenfull.isEnabled) {\r\n        screenfull.toggle(element)\r\n      }\r\n    }\r\n  }\r\n}\r\n</script>\r\n<style lang=\"less\" scoped>\r\n:deep(.ant-modal) {\r\n  top: 20px;\r\n}\r\n:deep(.ant-modal-content) {\r\n  border-radius: 10px;\r\n}\r\n.user-bar {\r\n  display: flex !important;\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}\r\n.user-bar .panel-item:hover {\r\n  background: var(--header-color-split);\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  cursor: pointer;\r\n  width: 60px;\r\n}\r\n</style>\r\n","/* eslint-disable eqeqeq */\r\n<!--\r\n * @Descripttion: 处理iframe持久化，涉及store(VUEX)\r\n * @version: 1.0\r\n * @Author: sakuya\r\n * @Date: 2021年6月30日13:20:41\r\n * @LastEditors:\r\n * @LastEditTime:\r\n-->\r\n<template>\r\n\t<div v-show=\"$route.meta.type == 'iframe'\" class=\"iframe-pages\">\r\n\t\t<iframe\r\n\t\t\tv-for=\"item in iframeList\"\r\n\t\t\tv-show=\"$route.meta.url == item.meta.url\"\r\n\t\t\t:key=\"item.meta.url\"\r\n\t\t\t:src=\"item.meta.url\"\r\n\t\t\tframeborder=\"0\"\r\n\t\t></iframe>\r\n\t</div>\r\n</template>\r\n<script>\r\n\texport default {\r\n    name:\"IframeView\",\r\n\t\tdata() {\r\n\t\t\treturn {}\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\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\tmounted() {},\r\n\t\tmethods: {\r\n\t\t\tpush(route) {\r\n\t\t\t\t// eslint-disable-next-line eqeqeq\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 if (this.ismobile || !this.layoutTags) {\r\n\t\t\t\t\tthis.$store.commit('clearIframeList')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n<style scoped>\r\n\t.iframe-pages {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tbackground: #fff;\r\n\t}\r\n\tiframe {\r\n\t\tborder: 0;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tdisplay: block;\r\n\t}\r\n</style>\r\n","<template>\r\n  <div v-if=\"moduleUnfoldOpen\">\r\n    <a-menu v-model:selectedKeys=\"selectedKeys\" mode=\"horizontal\" v-if=\"menu && menu.length > 1\" class=\"module-menu\"\r\n            id=\"moduleMunu\">\r\n      <a-menu-item v-for=\"item in menu\" :key=\"item.id\" style=\"padding-right: 5px; position: relative\"\r\n                   @click=\"moduleClick(item.id)\">\r\n        <template #icon>\r\n          <component :is=\"item.meta.icon\"/>\r\n        </template>\r\n        <span style=\"margin-left: -5px\">{{ item.meta.title }}</span>\r\n      </a-menu-item>\r\n    </a-menu>\r\n  </div>\r\n  <div v-else>\r\n    <a-popover v-if=\"menu.length > 1\" placement=\"bottomLeft\">\r\n      <template #content>\r\n        <a-row :gutter=\"[0, 5]\" class=\"module-row\">\r\n          <div v-for=\"item in menu\" :key=\"item.id\">\r\n            <a-col :span=\"6\">\r\n              <a-tag class=\"module-card\" :color=\"item.color\" @click=\"moduleClick(item.id)\">\r\n                <component :is=\"item.meta.icon\" class=\"module-card-icon\"/>\r\n                <div class=\"module-card-font\">{{ item.meta.title }}</div>\r\n              </a-tag>\r\n            </a-col>\r\n          </div>\r\n        </a-row>\r\n      </template>\r\n      <div class=\"module-comp\">\r\n        <appstore-outlined/>\r\n      </div>\r\n    </a-popover>\r\n  </div>\r\n</template>\r\n<script setup name=\"ModuleMenu\">\r\nimport {tool} from 'elead-ui-tool-v3'\r\nimport store from \"@/store\"\r\nimport router from \"@/router\"\r\nimport {watch} from 'vue'\r\nconst emit = defineEmits({switchModule: null})\r\n// 监听目录是否折叠\r\nwatch(\r\n    () => store.state.global.moduleUnfoldOpen,\r\n    (newValue) => {\r\n      moduleUnfoldOpen.value = newValue\r\n      nextTick(() => {\r\n        setModuleBackColor()\r\n      })\r\n    }\r\n)\r\n// 监听是否开启了顶栏颜色\r\nwatch(\r\n    () => store.state.global.topHanderThemeColorOpen,\r\n    (newValue) => {\r\n      moduleBackColor.value = newValue\r\n      setModuleBackColor()\r\n    }\r\n)\r\nconst menu = router.getMenu()\r\nconst selectedKeys = ref([tool.data.get('SNOWY_MENU_MODULE_ID')])\r\nconst moduleClick = (id) => {\r\n  emit('switchModule', id)\r\n  tool.data.set('SNOWY_MENU_MODULE_ID', id)\r\n  nextTick(() => {\r\n    setSelectedKeys()\r\n  })\r\n}\r\nconst moduleUnfoldOpen = ref(store.state.global.moduleUnfoldOpen)\r\nconst moduleBackColor = ref(store.state.global.topHanderThemeColorOpen)\r\nonMounted(() => {\r\n  setModuleBackColor()\r\n})\r\n// 设置背景色\r\nconst setModuleBackColor = () => {\r\n  if (moduleUnfoldOpen.value && menu.length > 1) {\r\n    try {\r\n      const moduleMunu = document.getElementById('moduleMunu')\r\n      moduleBackColor.value ? moduleMunu.classList.add('module-menu-color') : moduleMunu.classList.remove('module-menu-color')\r\n    } catch (err) {\r\n    }\r\n    setSelectedKeys()\r\n  }\r\n}\r\n// 设置选中\r\nconst setSelectedKeys = () => {\r\n  // 顶部应用列表让显示出来默认的，不这么实现不会显示的，相信老俞\r\n  moduleBackColor.value ? (selectedKeys.value = new Array([])) : (selectedKeys.value = [tool.data.get('SNOWY_MENU_MODULE_ID')])\r\n}\r\n</script>\r\n<style type=\"less\">\r\n.module-row {\r\n  max-width: 357px;\r\n}\r\n.module-card {\r\n  width: 80px;\r\n  height: 80px;\r\n  background-color: #0d84ff;\r\n  text-align: center;\r\n  align-items: center;\r\n  cursor: pointer;\r\n  border-radius: 2px;\r\n}\r\n.module-card-icon {\r\n  color: white;\r\n  font-size: 20px;\r\n  margin-top: 20px;\r\n}\r\n.module-card-font {\r\n  color: white;\r\n  font-size: 8px;\r\n}\r\n.module-comp {\r\n  display: flex;\r\n  padding: 0 15px;\r\n  height: 49px;\r\n  text-align: center;\r\n  justify-content: center;\r\n  align-items: center;\r\n  cursor: pointer;\r\n}\r\n.module-comp:hover {\r\n  background: var(--header-color-split);\r\n}\r\n.ant-menu-horizontal > .ant-menu-item::after,\r\n.ant-menu-horizontal > .ant-menu-submenu::after {\r\n  content: none;\r\n}\r\n.module-menu {\r\n  line-height: 50px;\r\n  border-bottom: 0px;\r\n}\r\n.module-menu-color {\r\n  color: white;\r\n  background-color: var(--primary-color);\r\n}\r\n</style>\r\n","<template>\r\n  <a-layout>\r\n    <a-layout-sider width=\"80\" :theme=\"sideTheme\" :trigger=\"null\" collapsible>\r\n      <header id=\"snowyHeaderLogo\" class=\"snowy-header-logo\">\r\n        <div class=\"snowy-header-left\">\r\n          <div class=\"logo-bar\">\r\n            <router-link to=\"/\">\r\n              <img class=\"logo\" :src=\"logourl\"/>\r\n            </router-link>\r\n            <div class=\"title\">\r\n              <img :src=\"texturl\" alt=\"\"/>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </header>\r\n      <a-menu v-model:selectedKeys=\"doublerowSelectedKey\" :theme=\"sideTheme\" class=\"snowy-doublerow-layout-menu\">\r\n        <a-menu-item v-for=\"item in menu\" :key=\"item.path\"\r\n                     style=\"text-align: center; border-radius: 6px; height: auto; line-height: 20px; flex: none; display: block; padding: 6px 0 !important\"\r\n                     @click=\"showMenu(item)\">\r\n          <a v-if=\"item.meta && item.meta.type === 'link'\" :href=\"item.path\" target=\"_blank\" @click.stop=\"() => {}\"></a>\r\n          <template #icon>\r\n            <component :is=\"item.meta.icon\" style=\"padding-left: 10px\"/>\r\n          </template>\r\n          <div class=\"snowy-doublerow-layout-menu-item-fort-div\">\r\n            <span class=\"snowy-doublerow-layout-menu-item-fort-div-span\"> {{ item.meta.title }} </span>\r\n          </div>\r\n        </a-menu-item>\r\n      </a-menu>\r\n    </a-layout-sider>\r\n    <a-layout-sider style=\"background: #f5f8fb\" v-show=\"layoutSiderDowbleMenu\"\r\n                    v-model:collapsed=\"$store.state.global.menuIsCollapse\" :trigger=\"null\" width=\"170\" collapsible\r\n                    :theme=\"secondMenuSideTheme\">\r\n      <div v-if=\"!menuIsCollapse\" id=\"snowyDoublerowSideTop\" class=\"snowy-doublerow-side-top\">\r\n        <h2 class=\"snowy-title\" v-if=\"pmenu.meta\">{{ pmenu.meta.title }}</h2>\r\n      </div>\r\n      <a-menu\r\n          style=\"background: #f5f8fb\"\r\n          v-model:collapsed=\"$store.state.global.menuIsCollapse\"\r\n          v-model:openKeys=\"openKeys\"\r\n          v-model:selectedKeys=\"selectedKeys\"\r\n          mode=\"inline\"\r\n          :theme=\"secondMenuSideTheme\"\r\n          @select=\"onSelect\"\r\n      >\r\n        <nav-menu :nav-menus=\"nextMenu\"></nav-menu>\r\n      </a-menu>\r\n    </a-layout-sider>\r\n    <a-layout style=\"margin-left: 2px\">\r\n      <div id=\"snowyHeader\" class=\"snowy-header\">\r\n        <div class=\"snowy-header-left\" style=\"padding-left: 0px\">\r\n          <module-menu @switchModule=\"switchModule\"/>\r\n          <top-bar/>\r\n        </div>\r\n        <div class=\"snowy-header-right\">\r\n          <user-bar>\r\n            <template #avaOtherContent>\r\n              <slot name=\"avaOtherContent\"></slot>\r\n            </template>\r\n            <template #barOtherContent>\r\n              <slot name=\"barOtherContent\"></slot>\r\n            </template>\r\n          </user-bar>\r\n        </div>\r\n      </div>\r\n      <!-- 多标签 -->\r\n      <Tags/>\r\n      <a-layout-content class=\"main-content-wrapper\">\r\n        <div id=\"adminui-main\" class=\"adminui-main\">\r\n          <router-view v-slot=\"{ Component }\">\r\n            <keep-alive>\r\n              <component :is=\"Component\"/>\r\n            </keep-alive>\r\n          </router-view>\r\n          <iframe-view></iframe-view>\r\n        </div>\r\n      </a-layout-content>\r\n    </a-layout>\r\n  </a-layout>\r\n  <!-- 退出最大化 -->\r\n  <div class=\"main-maximize-exit\" @click=\"exitMaximize\">\r\n    <fullscreen-exit-outlined style=\"color: #fff\"/>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {tool} from 'elead-ui-tool-v3'\r\nimport IframeView from \"@/components/layout/IframeView\";\r\nimport ModuleMenu from \"@/components/layout/ModuleMenu\";\r\nexport default defineComponent({\r\n  name: 'LayoutIndex',\r\n  components: {\r\n    ModuleMenu,\r\n    IframeView\r\n  },\r\n  props: ['texturl',\r\n    'logourl'],\r\n  data() {\r\n    return {\r\n      menu: [],\r\n      moduleMenu: [],\r\n      nextMenu: [],\r\n      pmenu: {},\r\n      doublerowSelectedKey: [],\r\n      layoutSiderDowbleMenu: true,\r\n      onSelectTag: false,\r\n      selectedKeys: [],\r\n      openKeys: [],\r\n      openKeysOther: [],\r\n      sysBaseConfig: tool.data.get('SNOWY_SYS_BASE_CONFIG') || this.$store.state.global.sysBaseConfig\r\n    }\r\n  },\r\n  computed: {\r\n    sideTheme() {\r\n      return 'dark'\r\n    },\r\n    secondMenuSideTheme() {\r\n      return 'light'\r\n    },\r\n    layout() {\r\n      return this.$store.state.global.layout\r\n    },\r\n    menuIsCollapse() {\r\n      return this.$store.state.global.menuIsCollapse\r\n    },\r\n    topHanderThemeColorOpen() {\r\n      return this.$store.state.global.topHanderThemeColorOpen\r\n    },\r\n    topHanderThemeColorSpread() {\r\n      return this.$store.state.global.topHanderThemeColorSpread\r\n    }\r\n  },\r\n  watch: {\r\n    $route() {\r\n      this.showThis()\r\n    },\r\n    layout: {\r\n      handler(val) {\r\n        document.body.setAttribute('data-layout',\r\n            val)\r\n        if (val && val.includes('doublerow')) {\r\n          this.setDoublerowSelectedKey()\r\n        }\r\n        this.$nextTick(() => {\r\n          // 顶栏主题色\r\n          this.switchoverTopHanderThemeColor()\r\n        })\r\n      },\r\n      immediate: true\r\n    },\r\n    topHanderThemeColorOpen() {\r\n      this.switchoverTopHanderThemeColor()\r\n    },\r\n    topHanderThemeColorSpread() {\r\n      this.switchoverTopHanderThemeColor()\r\n    }\r\n  },\r\n  created() {\r\n    // 判断浏览器宽度，顺手加入缓存\r\n    this.onLayoutResize()\r\n    window.addEventListener('resize',\r\n        this.onLayoutResize)\r\n    this.moduleMenu = this.$router.getMenu()\r\n    // 获取缓存中的菜单模块是哪个\r\n    const menuModuleId = this.$TOOL.data.get('SNOWY_MENU_MODULE_ID')\r\n    let menu = []\r\n    if (menuModuleId) {\r\n      // 防止切换一个无此应用的人\r\n      const module = this.$router.getMenu()\r\n          .filter((item) => item.id === menuModuleId)\r\n      if (module.length > 0) {\r\n        menu = module[0].children\r\n      } else {\r\n        menu = this.$router.getMenu()[0].children\r\n      }\r\n    } else {\r\n      menu = this.$router.getMenu()[0].children\r\n    }\r\n    // 此菜单为正常模块下的菜单\r\n    this.menu = this.filterUrl(menu)\r\n    this.showThis()\r\n  },\r\n  mounted() {\r\n    this.switchoverTopHanderThemeColor()\r\n  },\r\n  methods: {\r\n    // 切换应用\r\n    switchModule(id) {\r\n      const menu = this.moduleMenu\r\n      if (menu.length > 0) {\r\n        const menus = menu.filter((item) => item.id === id)[0].children\r\n        if (menus.length > 0) {\r\n          // 将此模块的唯一值加入缓存\r\n          this.$TOOL.data.set('SNOWY_MENU_MODULE_ID',\r\n              id)\r\n          // 正儿八百的菜单\r\n          this.menu = this.filterUrl(menus)\r\n          // 然后将其跳转至指定界面，默认始终取排序第一的\r\n          const path = this.traverseChild(this.menu)\r\n          this.$router.push({path})\r\n        } else {\r\n          this.$message.warning('该模块下无任何菜单')\r\n        }\r\n      }\r\n    },\r\n    // 遍历子集获取一个path\r\n    traverseChild(menu) {\r\n      if (menu[0].children !== undefined) {\r\n        if (menu[0].children.length > 0) {\r\n          return this.traverseChild(menu[0].children)\r\n        } else {\r\n          return menu[0].path\r\n        }\r\n      } else {\r\n        return menu[0].path\r\n      }\r\n    },\r\n    // 当菜单被选中时\r\n    onSelect(obj) {\r\n      this.onSelectTag = true\r\n      const pathLength = obj.keyPath.length\r\n      const path = obj.keyPath[pathLength - 1]\r\n      this.$router.push({path})\r\n      // 设置选中\r\n      this.selectedKeys = obj.selectedKeys\r\n    },\r\n    onLayoutResize() {\r\n      const clientWidth = document.body.clientWidth\r\n      if (clientWidth < 992) {\r\n        this.$store.commit('SET_ismobile',\r\n            true)\r\n      } else {\r\n        this.$store.commit('SET_ismobile',\r\n            false)\r\n      }\r\n    },\r\n    // 路由监听高亮\r\n    showThis() {\r\n      this.pmenu = this.$route.meta.breadcrumb ? this.$route.meta.breadcrumb[0] : {}\r\n      if (!this.pmenu || !this.pmenu.children) {\r\n        tool.getIndexPage({\r\n          menu: this.moduleMenu,\r\n          success: (defaultIndex) => {\r\n            this.$router.replace({\r\n              path: defaultIndex.cur.path\r\n            })\r\n          }\r\n        })\r\n        return\r\n      }\r\n      const nextTickMenu = this.filterUrl(this.pmenu.children)\r\n      this.$nextTick(() => {\r\n        let routeMenu = this.filterUrl(this.pmenu.children)\r\n        const active = this.$route.meta.active || this.$route.fullPath\r\n        const parentPathArray = this.getParentKeys(routeMenu,\r\n            active)\r\n        if (parentPathArray) {\r\n          const parentPath = parentPathArray[parentPathArray.length - 1]\r\n          // 这一串操作下来只为取到最上面的路由的孩子们，最后成为双排菜单的第二排\r\n          const nextMenuTemp = nextTickMenu.filter((item) => item.path === parentPath)[0].children\r\n          if (nextMenuTemp) {\r\n            this.nextMenu = nextTickMenu.filter((item) => item.path === parentPath)[0].children\r\n          }\r\n        }\r\n        this.selectedKeys = new Array(active)\r\n        if (!this.onSelectTag) {\r\n          const pidKey = this.getParentKeys(this.menu,\r\n              active)\r\n          this.openKeys = pidKey\r\n        } else if (this.$store.state.global.sideUniqueOpen) {\r\n          const pidKey = this.getParentKeys(this.menu,\r\n              active)\r\n          this.openKeys = pidKey\r\n        }\r\n        // 双排菜单下\r\n        if (this.layout === 'doublerow') {\r\n          this.setDoublerowSelectedKey()\r\n        }\r\n      })\r\n    },\r\n    // 双排菜单下点击显示右侧分栏\r\n    showMenu(route) {\r\n      this.pmenu = route\r\n      if (this.pmenu.children) {\r\n        this.nextMenu = this.filterUrl(this.pmenu.children)\r\n      }\r\n      if (!route.children || route.children.length === 0) {\r\n        this.layoutSiderDowbleMenu = false\r\n        this.$router.push({path: route.path})\r\n      } else {\r\n        this.layoutSiderDowbleMenu = true\r\n      }\r\n      if (this.layout === 'doublerow') {\r\n        this.doublerowSelectedKey = [route.path]\r\n        if (route && route['children'] && route['children'].length > 0) {\r\n          this.$router.push({path: route['children'][0].path})\r\n        }\r\n      }\r\n    },\r\n    // 设置双排菜单下的首列默认选中\r\n    setDoublerowSelectedKey() {\r\n      const pidKey = this.getParentKeys(this.menu,\r\n          this.selectedKeys.toString())\r\n      this.$nextTick(() => {\r\n        const pidKeyArray = []\r\n        for (const key in pidKey) {\r\n          pidKeyArray.push(key)\r\n        }\r\n        if (pidKeyArray.length > 1) {\r\n          this.layoutSiderDowbleMenu = true\r\n        } else {\r\n          this.layoutSiderDowbleMenu = false\r\n        }\r\n      })\r\n      // 设置第一排选中的\r\n      this.menu.forEach((item) => {\r\n        if (pidKey !== undefined) {\r\n          if (pidKey[pidKey.length - 1].toString() === item.path) {\r\n            this.doublerowSelectedKey = [item.path]\r\n          }\r\n        }\r\n      })\r\n    },\r\n    // 菜单展开/关闭的回调\r\n    onOpenChange(keys) {\r\n      if (this.$store.state.global.sideUniqueOpen) {\r\n        // 获取最新的\r\n        const openKey = keys[keys.length - 1]\r\n        if (keys.length > 1) {\r\n          // 获取上级\r\n          const pidKey = this.getParentKeys(this.menu,\r\n              openKey)\r\n          this.openKeys = pidKey\r\n        } else {\r\n          this.openKeys = Array.of(openKey) // new Array(openKey);\r\n        }\r\n      } else {\r\n        this.openKeys = keys\r\n      }\r\n    },\r\n    // 获取上级keys\r\n    getParentKeys(data,\r\n                  val) {\r\n      // 递归父级key\r\n      for (const element of data) {\r\n        if (element.path === val) {\r\n          return [element.path]\r\n        }\r\n        if (element.children) {\r\n          const far = this.getParentKeys(element.children,\r\n              val)\r\n          if (far) {\r\n            return far.concat(element.path)\r\n          }\r\n        }\r\n      }\r\n    },\r\n    // 转换外部链接的路由\r\n    filterUrl(map) {\r\n      const newMap = []\r\n      // eslint-disable-next-line no-unused-expressions\r\n      map &&\r\n      map.forEach((item) => {\r\n        item.meta = item.meta ? item.meta : {}\r\n        // 处理隐藏\r\n        if (item.meta.hidden) {\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')\r\n          .classList\r\n          .remove('main-maximize')\r\n    },\r\n    // 切换顶栏颜色\r\n    switchoverTopHanderThemeColor() {\r\n      // 界面顶栏设置颜色\r\n      const header = document.getElementById('snowyHeader')\r\n      this.topHanderThemeColorOpen ? header.classList.add('snowy-header-primary-color') : header.classList.remove('snowy-header-primary-color')\r\n      // 判断是否开启了通栏\r\n      const headerLogin = document.getElementById('snowyHeaderLogo')\r\n      try {\r\n        this.topHanderThemeColorSpread ? headerLogin.classList.add('snowy-header-logo-primary-color') : headerLogin.classList.remove('snowy-header-logo-primary-color')\r\n      } catch (e) {\r\n      }\r\n      // 如果是双排菜单，吧第二排的也给渲染了\r\n      if (this.layout === 'doublerow') {\r\n        const snowyDoublerowSideTop = document.getElementById('snowyDoublerowSideTop')\r\n        try {\r\n          this.topHanderThemeColorSpread ? snowyDoublerowSideTop.classList.add('snowy-doublerow-side-top-primary-color') : snowyDoublerowSideTop.classList.remove('snowy-doublerow-side-top-primary-color')\r\n        } catch (e) {\r\n        }\r\n      }\r\n    }\r\n  }\r\n})\r\n</script>\r\n","<template>\r\n\t<a-result status=\"403\" title=\"403\" sub-title=\"对不起，您没有访问此页面的权限。\"> </a-result>\r\n</template>\r\n<script name=\"Page403\"></script>\r\n","<template>\r\n  <a-result status=\"404\" title=\"404\" sub-title=\"页面不存在 , 或没有权限 。\">\r\n    <template #extra>\r\n      <a-button type=\"primary\" @click=\"gohome\">返回首页</a-button>\r\n      <!--      <a-button type=\"primary\" @click=\"gohome\">返回首页</a-button>\r\n            <a-button type=\"dashed\" @click=\"goback\">返回上一页</a-button>-->\r\n    </template>\r\n  </a-result>\r\n</template>\r\n<script name=\"Page404\">\r\nimport * as sso from '@/utils/sso'\r\nimport {_defaultIndex, getIndexPage} from \"elead-ui-tool-v3\";\r\nimport {tool} from 'elead-ui-tool-v3'\r\nexport default {\r\n  mounted() {\r\n    // localStorage.clear()\r\n    // sso.toLogin()\r\n  },\r\n  methods: {\r\n    gohome() {\r\n      getIndexPage({\r\n        menu: tool.data.get('MENU'),\r\n        success: (_defaultIndex) => {\r\n          this.$router.replace({\r\n            path: _defaultIndex.cur.path\r\n          })\r\n        }\r\n      })\r\n    },\r\n    goback() {\r\n      this.$router.go(-1)\r\n    }\r\n  }\r\n}\r\n</script>\r\n","<template>\r\n\t<div>444</div>\r\n</template>\r\n<script name=\"PageEmpty\"></script>\r\n","<template>\r\n\t<div class=\"ant-dropdown-menu s-tool-column ant-dropdown-content\">\r\n\t\t<div class=\"s-tool-column-header s-tool-column-item\">\r\n\t\t\t<a-checkbox :indeterminate=\"indeterminate\" :checked=\"checkAll\" @change=\"onCheckAllChange\"> 列展示 </a-checkbox>\r\n\t\t\t<a @click=\"reset\"><i class=\"fa fa-refresh\"></i> 重置</a>\r\n\t\t</div>\r\n\t\t<a-divider />\r\n\t\t<div class=\"ant-checkbox-group\">\r\n\t\t\t<div>\r\n\t\t\t\t<draggable :list=\"columnsSetting\" item-key=\"dataIndex\" animation=\"300\" @end=\"emitColumnChange\">\r\n\t\t\t\t\t<template #item=\"{ element }\">\r\n\t\t\t\t\t\t<div class=\"s-tool-column-item\">\r\n\t\t\t\t\t\t\t<div class=\"s-tool-column-handle layout-items-center\">\r\n\t\t\t\t\t\t\t\t<more-outlined />\r\n\t\t\t\t\t\t\t\t<more-outlined />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<a-checkbox v-model:checked=\"element.checked\" @change=\"onChange\">{{ element.title }}</a-checkbox>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</draggable>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport draggable from 'vuedraggable-es'\r\n\r\n\texport default {\r\n\t\tcomponents: {\r\n\t\t\tdraggable\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tcolumns: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t\tdefault: () => []\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tindeterminate: false,\r\n\t\t\t\tcheckAll: true,\r\n\t\t\t\tcolumnsSetting: [],\r\n\t\t\t\toriginColumns: []\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.columnsSetting = this.columns.map((value) => {\r\n\t\t\t\tif (value.hasOwnProperty('checked')) {\r\n\t\t\t\t\tif (!value.checked) {\r\n\t\t\t\t\t\tthis.checkAll = false\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvalue.checked = true\r\n\t\t\t\t}\r\n\t\t\t\treturn value\r\n\t\t\t})\r\n\t\t\tthis.originColumns = [...this.columnsSetting]\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\treset() {\r\n\t\t\t\tthis.originColumns = [...this.columnsSetting]\r\n\t\t\t\tthis.indeterminate = false\r\n\t\t\t\tthis.checkAll = true\r\n\t\t\t\tthis.emitColumnChange()\r\n\t\t\t},\r\n\t\t\tonChange() {\r\n\t\t\t\tconst checkedList = this.columnsSetting.filter((value) => value.checked)\r\n\t\t\t\tthis.indeterminate = Boolean(checkedList.length) && checkedList.length < this.columnsSetting.length\r\n\t\t\t\tthis.checkAll = checkedList.length === this.columnsSetting.length\r\n\t\t\t\tthis.emitColumnChange()\r\n\t\t\t},\r\n\t\t\tonCheckAllChange(e) {\r\n\t\t\t\te.preventDefault()\r\n\t\t\t\tconst val = e.target.checked\r\n\t\t\t\tObject.assign(this, {\r\n\t\t\t\t\tindeterminate: false,\r\n\t\t\t\t\tcheckAll: val,\r\n\t\t\t\t\tcolumnsSetting: this.columns.map((value) => ({\r\n\t\t\t\t\t\t...value,\r\n\t\t\t\t\t\tchecked: val\r\n\t\t\t\t\t}))\r\n\t\t\t\t})\r\n\t\t\t\tthis.emitColumnChange()\r\n\t\t\t},\r\n\t\t\temitColumnChange() {\r\n\t\t\t\t// eslint-disable-next-line vue/require-explicit-emits\r\n\t\t\t\tthis.$emit('columnChange', this.columnsSetting)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"less\" scoped></style>\r\n","<script lang=\"jsx\">\r\n\timport { tableProps } from 'ant-design-vue/es/table/Table.js'\r\n\timport { get } from 'lodash-es'\r\n\timport draggable from 'vuedraggable-es'\r\n\timport columnSetting from './columnSetting.vue'\r\n\timport './index.less'\r\n\r\n\t/*\r\n\t\t// 参考示例：form-fields配置（用于SearchForm组件）\r\n\t\t:form-fields=\"[\r\n\t\t\t{ label: 'PO/项目名称', name: 'poName', span: 6 },\r\n\t\t\t{ label: 'PO/项目编码', name: 'projectCode', span: 6, advanced: true },\r\n\t\t\t{ label: '年份', name: 'year', span: 6, advanced: true },\r\n\t\t\t{ label: '月份', name: 'month', span: 6, advanced: true },\r\n\t\t\t{ label: '姓名', name: 'userName', span: 6, advanced: true }\r\n\t\t]\"\r\n\t\t*/\r\n\texport default {\r\n\t\tcomponents: {\r\n\t\t\tdraggable,\r\n\t\t\tcolumnSetting\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tshowOperator: true,\r\n\t\t\t\tneedTotalList: [],\r\n\t\t\t\tselectedRows: [],\r\n\t\t\t\tselectedRowKeys: [],\r\n\t\t\t\tlocalLoading: false,\r\n\t\t\t\tlocalDataSource: [],\r\n\t\t\t\tlocalPagination: Object.assign({}, this.pagination),\r\n\t\t\t\tisFullscreen: false,\r\n\t\t\t\tcustomSize: this.compSize,\r\n\t\t\t\tcolumnsSetting: [],\r\n\t\t\t\tlocalSettings: {\r\n\t\t\t\t\trowClassName: this.rowClassName,\r\n\t\t\t\t\trowClassNameSwitch: Boolean(this.rowClassName)\r\n\t\t\t\t},\r\n\t\t\t\tuploadLoading: false\r\n\t\t\t}\r\n\t\t},\r\n\t\t// eslint-disable-next-line vue/order-in-components\r\n\t\tprops: Object.assign({}, tableProps(), {\r\n\t\t\tpageSizeOptions: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t\tdefault: [10, 20, 30, 40, 50, 100, 200]\r\n\t\t\t},\r\n\t\t\trowKey: {\r\n\t\t\t\ttype: [String, Function],\r\n\t\t\t\tdefault: 'key'\r\n\t\t\t},\r\n\t\t\tdata: {\r\n\t\t\t\ttype: Function,\r\n\t\t\t\trequired: true\r\n\t\t\t},\r\n\t\t\tpageNum: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 1\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '10'\r\n\t\t\t},\r\n\t\t\tshowSizeChanger: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: true\r\n\t\t\t},\r\n\t\t\tcompSize: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'middle'\r\n\t\t\t},\r\n\t\t\talert: {\r\n\t\t\t\ttype: [Object, Boolean],\r\n\t\t\t\tdefault: null\r\n\t\t\t},\r\n\t\t\trowSelection: {\r\n\t\t\t\ttype: Object,\r\n\t\t\t\tdefault: null\r\n\t\t\t},\r\n\t\t\t/** @Deprecated */\r\n\t\t\tshowAlertInfo: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: false\r\n\t\t\t},\r\n\t\t\tshowPagination: {\r\n\t\t\t\ttype: [String, Boolean],\r\n\t\t\t\tdefault: 'auto'\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * enable page URI mode\r\n\t\t\t *\r\n\t\t\t * e.g:\r\n\t\t\t * /users/1\r\n\t\t\t * /users/2\r\n\t\t\t * /users/3?queryParam=test\r\n\t\t\t * ...\r\n\t\t\t */\r\n\t\t\tpageURI: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: false\r\n\t\t\t},\r\n\t\t\textraTool: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t\tdefault: () => []\r\n\t\t\t},\r\n\t\t\t// 配置工具栏\r\n\t\t\ttoolConfig: {\r\n\t\t\t\ttype: Object,\r\n\t\t\t\tdefault: () => ({\r\n\t\t\t\t\trefresh: false,\r\n\t\t\t\t\theight: false,\r\n\t\t\t\t\tcolumnSetting: false,\r\n\t\t\t\t\tstriped: false\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// 操作按钮配置\r\n\t\t\toperatorConfig: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t\tdefault: () => []\r\n\t\t\t}\r\n\t\t\t/*\r\n\t\t\t\t// 参考示例：operatorConfig配置\r\n\t\t\t\tconst operatorConfig = computed(() => [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttext: '提交',\r\n\t\t\t\t\t\ticon: 'fa fa-check',\r\n\t\t\t\t\t\tonClick: batchCompleteTask,\r\n\t\t\t\t\t\tdisabled: selectedRowKeys.value.length === 0,\r\n\t\t\t\t\t\tvisible: hasPerm('timeSheetTaskComplete')\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttext: '提交所有',\r\n\t\t\t\t\t\ticon: 'fa fa-check-square-o',\r\n\t\t\t\t\t\ttype: 'popconfirm',\r\n\t\t\t\t\t\tconfirmTitle: '将会提交所有的待办数据?',\r\n\t\t\t\t\t\tokText: '是',\r\n\t\t\t\t\t\tcancelText: '否',\r\n\t\t\t\t\t\tonClick: batchAllCompleteTask,\r\n\t\t\t\t\t\tvisible: hasPerm('timeSheetTaskComplete')\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttext: '修改详情',\r\n\t\t\t\t\t\ticon: 'fa fa-edit',\r\n\t\t\t\t\t\tonClick: () => {\r\n\t\t\t\t\t\t\tif (selectedRowKeys.value.length === 1) {\r\n\t\t\t\t\t\t\t\trecordRef.value.onOpen(selectedRowKeys.value[0], 1)\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tmessage.warning('请选择一条记录进行修改')\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tdisabled: selectedRowKeys.value.length !== 1,\r\n\t\t\t\t\t\tvisible: hasPerm('timeSheetTaskRecordEdit')\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttext: '删除',\r\n\t\t\t\t\t\ticon: 'fa fa-trash',\r\n\t\t\t\t\t\tdanger: true,\r\n\t\t\t\t\t\tonClick: deleteBatchTimeSheetRecord,\r\n\t\t\t\t\t\tdisabled: selectedRowKeys.value.length === 0,\r\n\t\t\t\t\t\tvisible: hasPerm('timeSheetTaskRecordDelete') && actionType.value\r\n\t\t\t\t\t}\r\n\t\t\t\t])\r\n\t\t\t\t*/\r\n\t\t}),\r\n\t\twatch: {\r\n\t\t\t'localPagination.current': function (val) {\r\n\t\t\t\tthis.pageURI &&\r\n\t\t\t\t\tthis.$router.push({\r\n\t\t\t\t\t\t...this.$route,\r\n\t\t\t\t\t\tname: this.$route.name,\r\n\t\t\t\t\t\tparams: Object.assign({}, this.$route.params, {\r\n\t\t\t\t\t\t\tcurrent: val\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tpageNum(val) {\r\n\t\t\t\tObject.assign(this.localPagination, {\r\n\t\t\t\t\tcurrent: val\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tsize(val) {\r\n\t\t\t\tObject.assign(this.localPagination, {\r\n\t\t\t\t\tsize: val\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tshowSizeChanger(val) {\r\n\t\t\t\tObject.assign(this.localPagination, {\r\n\t\t\t\t\tshowSizeChanger: val\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tcolumns(v) {\r\n\t\t\t\tthis.columnsSetting = v\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tconst { current } = this.$route.params\r\n\t\t\tconst localPageNum = (this.pageURI && current && parseInt(current)) || this.pageNum\r\n\t\t\tthis.localPagination =\r\n\t\t\t\t(['auto', true].includes(this.showPagination) &&\r\n\t\t\t\t\tObject.assign({}, this.localPagination, {\r\n\t\t\t\t\t\tcurrent: localPageNum,\r\n\t\t\t\t\t\tsize: this.size, //this.compSize, size// 改动\r\n\t\t\t\t\t\tshowSizeChanger: this.showSizeChanger,\r\n\t\t\t\t\t\tpageSizeOptions: this.pageSizeOptions,\r\n\t\t\t\t\t\tshowTotal: (total, range) => {\r\n\t\t\t\t\t\t\treturn `${range[0]}-${range[1]} 共 ${total} 条 `\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})) ||\r\n\t\t\t\tfalse\r\n\t\t\tthis.needTotalList = this.initTotalList(this.columns)\r\n\t\t\tthis.loadData()\r\n\t\t\tthis.columnsSetting = this.columns\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t/**\r\n\t\t\t * 表格重新加载方法\r\n\t\t\t * 如果参数为 true, 则强制刷新到第一页\r\n\t\t\t * @param bool Boolean\r\n\t\t\t */\r\n\t\t\trefresh(bool = false) {\r\n\t\t\t\tbool &&\r\n\t\t\t\t\t(this.localPagination = Object.assign(\r\n\t\t\t\t\t\t{},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tcurrent: 1,\r\n\t\t\t\t\t\t\tsize: this.size\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t))\r\n\t\t\t\tthis.loadData()\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 加载数据方法\r\n\t\t\t * @param {Object} pagination 分页选项器\r\n\t\t\t * @param {Object} filters 过滤条件\r\n\t\t\t * @param {Object} sorter 排序条件\r\n\t\t\t */\r\n\t\t\tloadData(pagination, filters, sorter) {\r\n\t\t\t\tthis.localLoading = true\r\n\t\t\t\tconst parameter = Object.assign(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcurrent: (pagination && pagination.current) || (this.showPagination && this.localPagination.current) || this.pageNum,\r\n\t\t\t\t\t\tsize: (pagination && pagination.pageSize) || (this.showPagination && this.localPagination.pageSize) || this.pageSize\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(sorter &&\r\n\t\t\t\t\t\tsorter.field && {\r\n\t\t\t\t\t\t\tsortField: sorter.field\r\n\t\t\t\t\t\t}) ||\r\n\t\t\t\t\t\t{},\r\n\t\t\t\t\t(sorter &&\r\n\t\t\t\t\t\tsorter.order && {\r\n\t\t\t\t\t\t\tsortOrder: sorter.order\r\n\t\t\t\t\t\t}) ||\r\n\t\t\t\t\t\t{},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t...filters\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t\tconst result = this.data(parameter)\r\n\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\tif ((typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function') {\r\n\t\t\t\t\tresult.then((r) => {\r\n\t\t\t\t\t\tif (r == null) {\r\n\t\t\t\t\t\t\tthis.localLoading = false\r\n\t\t\t\t\t\t\treturn\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.localPagination =\r\n\t\t\t\t\t\t\t(this.showPagination &&\r\n\t\t\t\t\t\t\t\tObject.assign({}, this.localPagination, {\r\n\t\t\t\t\t\t\t\t\tcurrent: r.current, // pageNo, // 返回结果中的当前分页数\r\n\t\t\t\t\t\t\t\t\ttotal: r.total, // totalRows, // 返回结果中的总记录数\r\n\t\t\t\t\t\t\t\t\tshowSizeChanger: this.showSizeChanger,\r\n\t\t\t\t\t\t\t\t\tshowTotal: (total, range) => {\r\n\t\t\t\t\t\t\t\t\t\treturn `${range[0]}-${range[1]} 共 ${total} 条 `\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\tsize: (pagination && pagination.size) || this.localPagination.size\r\n\t\t\t\t\t\t\t\t})) ||\r\n\t\t\t\t\t\t\tfalse\r\n\t\t\t\t\t\t// 后端数据records为null保存修复\r\n\t\t\t\t\t\tif (r.records == null) {\r\n\t\t\t\t\t\t\tr.records = []\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页\r\n\t\t\t\t\t\tif (r.records.length === 0 && this.showPagination && this.localPagination.current > 1) {\r\n\t\t\t\t\t\t\tthis.localPagination.current--\r\n\t\t\t\t\t\t\tthis.loadData()\r\n\t\t\t\t\t\t\treturn\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// 当情况满足时，表示数据不满足分页大小，关闭 table 分页功能\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t/*\r\n\tif ((['auto', true].includes(this.showPagination) && r.total <= (r.pages * this.localPagination.size))) {\r\n\tthis.localPagination.hideOnSinglePage = true\r\n\t}\r\n\t*/\r\n\t\t\t\t\t\t\tif (!this.showPagination) {\r\n\t\t\t\t\t\t\t\tthis.localPagination.hideOnSinglePage = true\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\tthis.localPagination = false\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// 返回结果中的数组数据\r\n\t\t\t\t\t\tif (this.showPagination === false) {\r\n\t\t\t\t\t\t\t// 既然配置了不分页，那么我们这里接收到肯定是数组\r\n\t\t\t\t\t\t\tthis.localDataSource = []\r\n\t\t\t\t\t\t\tif (r instanceof Array) {\r\n\t\t\t\t\t\t\t\tthis.localDataSource = r\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.localDataSource = r.records\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.localLoading = false\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tinitTotalList(columns) {\r\n\t\t\t\tconst totalList = []\r\n\t\t\t\tcolumns &&\r\n\t\t\t\t\tcolumns instanceof Array &&\r\n\t\t\t\t\tcolumns.forEach((column) => {\r\n\t\t\t\t\t\tif (column.needTotal) {\r\n\t\t\t\t\t\t\ttotalList.push({\r\n\t\t\t\t\t\t\t\t...column,\r\n\t\t\t\t\t\t\t\ttotal: 0\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\treturn totalList\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 用于更新已选中的列表数据 total 统计\r\n\t\t\t * @param selectedRowKeys\r\n\t\t\t * @param selectedRows\r\n\t\t\t */\r\n\t\t\tupdateSelect(selectedRowKeys, selectedRows) {\r\n\t\t\t\tthis.selectedRows = selectedRows\r\n\t\t\t\tthis.selectedRowKeys = selectedRowKeys\r\n\t\t\t\tconst list = this.needTotalList\r\n\t\t\t\tthis.needTotalList = list.map((item) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\ttotal: selectedRows.reduce((sum, val) => {\r\n\t\t\t\t\t\t\tconst total = sum + parseInt(get(val, item.dataIndex))\r\n\t\t\t\t\t\t\treturn isNaN(total) ? 0 : total\r\n\t\t\t\t\t\t}, 0)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 清空 table 已选中项\r\n\t\t\t */\r\n\t\t\tclearSelected() {\r\n\t\t\t\tif (this.rowSelection) {\r\n\t\t\t\t\tthis.rowSelection.onChange([], [])\r\n\t\t\t\t\tthis.updateSelect([], [])\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 刷新并清空已选\r\n\t\t\t */\r\n\t\t\tclearRefreshSelected(bool = false) {\r\n\t\t\t\tthis.refresh(bool)\r\n\t\t\t\tthis.clearSelected()\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 处理交给 table 使用者去处理 clear 事件时，内部选中统计同时调用\r\n\t\t\t * @param callback\r\n\t\t\t * @returns {*}\r\n\t\t\t */\r\n\t\t\trenderClear(callback) {\r\n\t\t\t\tif (this.selectedRowKeys.length <= 0) return null\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<a\r\n\t\t\t\t\t\tclassName=\"ml-6\"\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\tcallback()\r\n\t\t\t\t\t\t\tthis.clearSelected()\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t清空{' '}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\trenderAlert() {\r\n\t\t\t\t// 绘制统计列数据\r\n\t\t\t\t// eslint-disable-next-line no-unused-vars\r\n\t\t\t\tconst needTotalItems = this.needTotalList.map((item) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<span className=\"mr-3\">\r\n\t\t\t\t\t\t\t{item.title} 总计 <a className=\"font-6\">{!item.customRender ? item.total : item.customRender(item.total)}</a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t)\r\n\t\t\t\t})\r\n\t\t\t\t// 绘制 清空 按钮\r\n\t\t\t\t// eslint-disable-next-line no-unused-vars\r\n\t\t\t\tconst clearItem = typeof this.alert.clear === 'boolean' && this.alert.clear ? this.renderClear(this.clearSelected) : typeof this.alert.clear === 'function' ? this.renderClear(this.alert.clear) : null\r\n\t\t\t\t// 绘制 alert 组件\r\n\t\t\t\tif (alert) {\r\n\t\t\t\t\tconst message = (\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<span className=\"mr-3\">\r\n\t\t\t\t\t\t\t\t已选择: <a className=\"font-6\">{this.selectedRows.length}</a>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t{needTotalItems}\r\n\t\t\t\t\t\t\t{clearItem}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)\r\n\t\t\t\t\treturn <a-alert showIcon class=\"mb-4\" message={message} />\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcolumnChange(val) {\r\n\t\t\t\tthis.columnsSetting = val\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 获取按钮类型\r\n\t\t\t * @param {Object} config - 按钮配置\r\n\t\t\t * @returns {String} 按钮类型\r\n\t\t\t */\r\n\t\t\tgetButtonType(config) {\r\n\t\t\t\t// 如果明确传入了 buttonType，直接使用\r\n\t\t\t\tif (config.buttonType) {\r\n\t\t\t\t\treturn config.buttonType\r\n\t\t\t\t}\r\n\t\t\t\t// 如果按钮文字包含\"提交\"或\"审批\"，使用 primary\r\n\t\t\t\tif (config.text && (config.text.includes('提交') || config.text.includes('审批'))) {\r\n\t\t\t\t\treturn 'primary'\r\n\t\t\t\t}\r\n\t\t\t\t// 默认使用 link\r\n\t\t\t\treturn 'link'\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 渲染操作按钮\r\n\t\t\t */\r\n\t\t\trenderOperatorButtons() {\r\n\t\t\t\tconst buttons = this.operatorConfig\r\n\t\t\t\t\t.map((config, index) => {\r\n\t\t\t\t\t\t// 检查按钮是否可见\r\n\t\t\t\t\t\tconst isVisible = typeof config.visible === 'function' ? config.visible() : config.visible\r\n\t\t\t\t\t\tif (isVisible === false) return null\r\n\r\n\t\t\t\t\t\t// 检查按钮是否禁用\r\n\t\t\t\t\t\tconst isDisabled = typeof config.disabled === 'function' ? config.disabled() : config.disabled\r\n\r\n\t\t\t\t\t\t// 获取按钮类型\r\n\t\t\t\t\t\tconst buttonType = this.getButtonType(config)\r\n\r\n\t\t\t\t\t\tif (config.type === 'popconfirm') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<a-popconfirm key={index} title={config.confirmTitle || '确认执行此操作？'} ok-text={config.okText || '确定'} cancel-text={config.cancelText || '取消'} onConfirm={config.onClick}>\r\n\t\t\t\t\t\t\t\t\t<a-button type={buttonType} danger={config.danger} disabled={isDisabled} style={{ padding: '4px 8px' }}>\r\n\t\t\t\t\t\t\t\t\t\t{config.icon && (typeof config.icon === 'string' ? <i class={config.icon} style={{ marginRight: '4px' }} /> : <span style={{ marginRight: '4px' }}>{config.icon}</span>)}\r\n\t\t\t\t\t\t\t\t\t\t{config.text}\r\n\t\t\t\t\t\t\t\t\t</a-button>\r\n\t\t\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t} else if (config.type === 'upload') {\r\n\r\n\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<a-upload\r\n\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\tref={config.ref || 'upload'}\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\t\t\t\t\taccept={(config.uploadProps && config.uploadProps.accept) || config.accept}\r\n\t\t\t\t\t\t\t\t\t\t\theaders={(config.uploadProps && config.uploadProps.headers) || config.headers}\r\n\t\t\t\t\t\t\t\t\t\t\tshow-upload-list={(config.uploadProps && config.uploadProps.showUploadList) || false}\r\n\t\t\t\t\t\t\t\t\t\t\taction={(config.uploadProps && config.uploadProps.action) || (config.uploadProps && config.uploadProps.uploadUrl) || config.action || config.uploadUrl}\r\n\t\t\t\t\t\t\t\t\t\t\tshow-file-list={(config.uploadProps && config.uploadProps.showFileList) || false}\r\n\t\t\t\t\t\t\t\t\t\t\tauto-upload={(config.uploadProps && config.uploadProps.autoUpload) || true}\r\n\t\t\t\t\t\t\t\t\t\t\tmultiple={(config.uploadProps && config.uploadProps.multiple) || false}\r\n\t\t\t\t\t\t\t\t\t\t\ton-success={(config.uploadProps && config.uploadProps.onSuccess) || config.onSuccess}\r\n\t\t\t\t\t\t\t\t\t\t\ton-error={(config.uploadProps && config.uploadProps.onError) || config.onError}\r\n\t\t\t\t\t\t\t\t\t\t\tbefore-upload={(config.uploadProps && config.uploadProps.beforeUpload) || (() => true)}\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: 'inline-block' }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<a-button slot=\"trigger\" type={buttonType} disabled={isDisabled} loading={config.loading || false} style={{ padding: '4px 8px' }}>\r\n\t\t\t\t\t\t\t\t\t\t{config.icon && (typeof config.icon === 'string' ? <i class={config.icon} style={{ marginRight: '4px' }} /> : <span style={{ marginRight: '4px' }}>{config.icon}</span>)}\r\n\t\t\t\t\t\t\t\t\t\t{config.text}\r\n\t\t\t\t\t\t\t\t\t</a-button>\r\n\t\t\t\t\t\t\t\t</a-upload>\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<a-button key={index} type={buttonType} danger={config.danger} disabled={isDisabled} onClick={config.onClick} style={{ padding: '4px 8px' }}>\r\n\t\t\t\t\t\t\t\t\t{config.icon && (typeof config.icon === 'string' ? <i class={config.icon} style={{ marginRight: '4px' }} /> : <span style={{ marginRight: '4px' }}>{config.icon}</span>)}\r\n\t\t\t\t\t\t\t\t\t{config.text}\r\n\t\t\t\t\t\t\t\t</a-button>\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.filter(Boolean)\r\n\r\n\t\t\t\t// 使用divider分隔按钮\r\n\t\t\t\tconst buttonsWithDividers = []\r\n\t\t\t\tbuttons.forEach((button, index) => {\r\n\t\t\t\t\tbuttonsWithDividers.push(button)\r\n\t\t\t\t\tif (index < buttons.length - 1) {\r\n\t\t\t\t\t\tbuttonsWithDividers.push(<a-divider key={`divider-${index}`} type=\"vertical\" />)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div class=\"operator-buttons\" style={{ display: 'flex', alignItems: 'center' }}>\r\n\t\t\t\t\t\t{buttonsWithDividers}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\thandleResizeColumn(w, col) {\r\n\t\t\t\tcol.width = w\r\n\t\t\t},\r\n\t\t\trenderHeader() {\r\n\t\t\t\tlet tools = [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname: 'refresh',\r\n\t\t\t\t\t\ticon: <i class=\"fa fa-refresh ml-4\" />,\r\n\t\t\t\t\t\ttitle: '刷新',\r\n\t\t\t\t\t\tonClick: () => {\r\n\t\t\t\t\t\t\tthis.refresh()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname: 'height',\r\n\t\t\t\t\t\ticon: <i class=\"fa fa-arrows-v\" />,\r\n\t\t\t\t\t\ttitle: '密度',\r\n\t\t\t\t\t\tisDropdown: true,\r\n\t\t\t\t\t\tmenu: () => {\r\n\t\t\t\t\t\t\tconst onClick = ({ key }) => {\r\n\t\t\t\t\t\t\t\tthis.customSize = key\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<a-menu onClick={onClick} selectable selectedKeys={[this.customSize]}>\r\n\t\t\t\t\t\t\t\t\t<a-menu-item key=\"default\">默认</a-menu-item>\r\n\t\t\t\t\t\t\t\t\t<a-menu-item key=\"middle\">中等</a-menu-item>\r\n\t\t\t\t\t\t\t\t\t<a-menu-item key=\"small\">紧凑</a-menu-item>\r\n\t\t\t\t\t\t\t\t</a-menu>\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonClick: () => {}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname: 'columnSetting',\r\n\t\t\t\t\t\ticon: <i class=\"fa fa-cog\" />,\r\n\t\t\t\t\t\ttitle: '列设置',\r\n\t\t\t\t\t\tisPopover: true,\r\n\t\t\t\t\t\tvisible: false,\r\n\t\t\t\t\t\tmenu: () => {\r\n\t\t\t\t\t\t\treturn <columnSetting columns={this.columns} onColumnChange={this.columnChange} />\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonClick: () => {}\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t\tif (this.extraTool.length) {\r\n\t\t\t\t\ttools = tools.concat(this.extraTool)\r\n\t\t\t\t}\r\n\t\t\t\t// 斑马纹\r\n\t\t\t\tconst changeRowClass = (value) => {\r\n\t\t\t\t\tconst val = value.target.checked\r\n\t\t\t\t\tthis.localSettings.rowClassNameSwitch = val\r\n\t\t\t\t\tconst evenClass = val ? (_record, index) => (index % 2 === 1 ? 'table-striped' : null) : this.rowClassName\r\n\t\t\t\t\tthis.localSettings.rowClassName = evenClass\r\n\t\t\t\t}\r\n\t\t\t\tconst setShowOperator = () => {\r\n\t\t\t\t\tif (this.showOperator === true) {\r\n\t\t\t\t\t\tthis.showOperator = false\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.showOperator = true\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap', width: '100%', 'margin-bottom': '10px' }}>\r\n\t\t\t\t\t\t{this.showOperator && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{this.$slots.pageInfo && this.$slots.pageInfo()}\r\n\t\t\t\t\t\t\t\t{this.$slots.operator && this.$slots.operator()}\r\n\t\t\t\t\t\t\t\t{this.operatorConfig.length > 0 && this.renderOperatorButtons()}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', gap: '8px', justifyContent: 'space-between', margin: '0 0 0 auto' }}>\r\n\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\r\n\t\t\t\t\t\t\t\t{this.toolConfig.striped ? (\r\n\t\t\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center' }}>\r\n\t\t\t\t\t\t\t\t\t\t<a-checkbox checked={this.localSettings.rowClassNameSwitch} onChange={changeRowClass}>\r\n\t\t\t\t\t\t\t\t\t\t\t斑马纹\r\n\t\t\t\t\t\t\t\t\t\t</a-checkbox>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\r\n\t\t\t\t\t\t\t\t{tools.map((tool, index) => {\r\n\t\t\t\t\t\t\t\t\tif (!this.toolConfig[tool.name]) {\r\n\t\t\t\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tconst toolElement = (\r\n\t\t\t\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', cursor: 'pointer' }} onClick={tool.onClick}>\r\n\t\t\t\t\t\t\t\t\t\t\t{tool.icon}\r\n\t\t\t\t\t\t\t\t\t\t\t<span style={{ marginLeft: '4px' }}>{tool.title}</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\tlet wrappedElement\r\n\t\t\t\t\t\t\t\t\tif (tool.isPopover) {\r\n\t\t\t\t\t\t\t\t\t\twrappedElement = (\r\n\t\t\t\t\t\t\t\t\t\t\t<a-popover trigger={'click'} placement=\"topLeft\" overlayClassName=\"s-table-column-settings\" arrow-point-at-center content={tool.menu()}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{toolElement}\r\n\t\t\t\t\t\t\t\t\t\t\t</a-popover>\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t} else if (tool.isDropdown) {\r\n\t\t\t\t\t\t\t\t\t\twrappedElement = (\r\n\t\t\t\t\t\t\t\t\t\t\t<a-dropdown trigger={['click']} overlay={tool.menu()}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{toolElement}\r\n\t\t\t\t\t\t\t\t\t\t\t</a-dropdown>\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\twrappedElement = toolElement\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t{wrappedElement}\r\n\t\t\t\t\t\t\t\t\t\t\t{index < tools.filter((t) => this.toolConfig[t.name]).length - 1 && <a-divider type=\"vertical\" />}\r\n\t\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tlet props = {}\r\n\t\t\tconst localKeys = Object.keys(this.$data)\r\n\t\t\tconst showAlert = (typeof this.alert === 'object' && this.alert !== null && this.alert.show && typeof this.rowSelection.selectedRowKeys !== 'undefined') || this.alert\r\n\t\t\tObject.keys(tableProps()).forEach((k) => {\r\n\t\t\t\tconst localKey = `local${k.substring(0, 1).toUpperCase()}${k.substring(1)}`\r\n\t\t\t\tif (localKeys.includes(localKey)) {\r\n\t\t\t\t\tprops[k] = this[localKey]\r\n\t\t\t\t\treturn props[k]\r\n\t\t\t\t}\r\n\t\t\t\tif (k === 'rowSelection') {\r\n\t\t\t\t\tif (showAlert && this.rowSelection) {\r\n\t\t\t\t\t\t// 如果需要使用alert，则重新绑定 rowSelection 事件\r\n\t\t\t\t\t\tprops[k] = {\r\n\t\t\t\t\t\t\t...this.rowSelection,\r\n\t\t\t\t\t\t\tselectedRows: this.selectedRows,\r\n\t\t\t\t\t\t\tselectedRowKeys: this.selectedRowKeys,\r\n\t\t\t\t\t\t\tonChange: (selectedRowKeys, selectedRows) => {\r\n\t\t\t\t\t\t\t\tthis.updateSelect(selectedRowKeys, selectedRows)\r\n\t\t\t\t\t\t\t\ttypeof this[k].onChange !== 'undefined' && this[k].onChange(selectedRowKeys, selectedRows)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn props[k]\r\n\t\t\t\t\t} else if (!showAlert && this.rowSelection) {\r\n\t\t\t\t\t\tprops[k] = {\r\n\t\t\t\t\t\t\t...this.rowSelection,\r\n\t\t\t\t\t\t\tselectedRows: this.selectedRows,\r\n\t\t\t\t\t\t\tselectedRowKeys: this.selectedRowKeys,\r\n\t\t\t\t\t\t\tonChange: (selectedRowKeys, selectedRows) => {\r\n\t\t\t\t\t\t\t\tthis.updateSelect(selectedRowKeys, selectedRows)\r\n\t\t\t\t\t\t\t\ttypeof this[k].onChange !== 'undefined' && this[k].onChange(selectedRowKeys, selectedRows)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn props[k]\r\n\t\t\t\t\t} else if (!this.rowSelection) {\r\n\t\t\t\t\t\t// 如果没打算开启 rowSelection 则清空默认的选择项\r\n\t\t\t\t\t\tprops[k] = null\r\n\t\t\t\t\t\treturn props[k]\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis[k] && (props[k] = this[k])\r\n\t\t\t\t// 此处配置表格大小与要显示的列\r\n\t\t\t\tprops = {\r\n\t\t\t\t\t...props,\r\n\t\t\t\t\tsize: this.customSize, // 注意这个size是a-table组件需要的，这里不能跟别的地方成为compSize\r\n\t\t\t\t\tcolumns: this.columnsSetting.filter((value) => value.checked === undefined || value.checked)\r\n\t\t\t\t}\r\n\t\t\t\treturn props[k]\r\n\t\t\t})\r\n\t\t\tconst table = (\r\n\t\t\t\t<a-table\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t\t{...this.localSettings}\r\n\t\t\t\t\tv-slots={this.$slots}\r\n\t\t\t\t\tonChange={this.loadData}\r\n\t\t\t\t\tonExpand={(expanded, record) => {\r\n\t\t\t\t\t\tthis.$emit('expand', expanded, record)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonResizeColumn={this.handleResizeColumn}\r\n\t\t\t\t/>\r\n\t\t\t)\r\n\t\t\tlet result = (\r\n\t\t\t\t<div className=\"table-wrapper\">\r\n\t\t\t\t\t{this.renderHeader()}\r\n\t\t\t\t\t{showAlert ? this.renderAlert() : null}\r\n\t\t\t\t\t{table}\r\n\t\t\t\t</div>\r\n\t\t\t)\r\n\t\t\treturn result\r\n\t\t}\r\n\t}\r\n</script>\r\n","<template>\r\n\t<div\r\n\t\tref=\"slideBtn\"\r\n\t\tclass=\"slideBtn\"\r\n\t\t:class=\"{\r\n\t\t\tshowLeft: isShowMenu,\r\n\t\t\thideLeft: !isShowMenu\r\n\t\t}\"\r\n\t\t@click=\"showMenuLeft\"\r\n\t>\r\n\t\t<caret-left v-if=\"isShowMenu\" size=\"13\" />\r\n\t\t<caret-right v-if=\"!isShowMenu\" size=\"13\" />\r\n\t</div>\r\n</template>\r\n<script setup name=\"SlideBtn\">\r\n\timport { onMounted } from 'vue'\r\n\tconst emit = defineEmits(['emitMenu', 'init'])\r\n\tconst cachePrefix = __APP_ENV__.VITE_CACHE_PREFIX\r\n\tconst cacheName = cachePrefix + '_' + 'SLIDE_BTN'\r\n\tconst props = defineProps({\r\n\t\tidLayoutMenu: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: () => ''\r\n\t\t},\r\n\t\tidLeftMenu: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: () => ''\r\n\t\t}\r\n\t})\r\n\tlet glMenuState = ref(undefined)\r\n\tlet slideBtn = ref()\r\n\tlet isShowMenu = ref(true)\r\n\tlet initSlideBtn = () => {\r\n\t\tconst layoutMenu = document.querySelectorAll(props.idLayoutMenu)[0]\r\n\t\tconst leftMenu = document.querySelectorAll(props.idLeftMenu)[0]\r\n\t\tconst _glMenuState = window.localStorage.getItem(cacheName)\r\n\t\tif (_glMenuState == null || _glMenuState == undefined || _glMenuState == '') {\r\n\t\t\tglMenuState.value = {\r\n\t\t\t\tisShowMenu: true,\r\n\t\t\t\tshowleft: layoutMenu.clientWidth + leftMenu.clientWidth,\r\n\t\t\t\thideleft: layoutMenu.clientWidth,\r\n\t\t\t\tselfWidth: slideBtn.value.clientWidth\r\n\t\t\t}\r\n\t\t\twindow.localStorage.setItem(cacheName, JSON.stringify(glMenuState.value))\r\n\t\t} else {\r\n\t\t\tglMenuState.value = JSON.parse(window.localStorage.getItem(cacheName))\r\n\t\t}\r\n\t\tisShowMenu.value = glMenuState.value.isShowMenu\r\n\t\tif (isShowMenu.value) {\r\n\t\t\tslideBtn.value.style.left = glMenuState.value.showleft - glMenuState.value.selfWidth + 'px'\r\n\t\t} else {\r\n\t\t\tslideBtn.value.style.left = glMenuState.value.hideleft + 'px'\r\n\t\t}\r\n\t\temit('init', isShowMenu.value)\r\n\t}\r\n\tlet showMenuLeft = () => {\r\n\t\tconst leftMenu = document.querySelectorAll(props.idLayoutMenu)[0]\r\n\t\tconst showleft = glMenuState.value.showleft\r\n\t\tconst hideleft = glMenuState.value.hideleft\r\n\t\tconst selfWidth = glMenuState.value.selfWidth\r\n\t\tisShowMenu.value = !isShowMenu.value\r\n\t\tif (isShowMenu.value) {\r\n\t\t\tslideBtn.value.style.left = showleft - selfWidth + 'px'\r\n\t\t} else {\r\n\t\t\tslideBtn.value.style.left = hideleft + 'px'\r\n\t\t}\r\n\t\tglMenuState.value.isShowMenu = isShowMenu.value\r\n\t\twindow.localStorage.setItem(cacheName, JSON.stringify(glMenuState.value))\r\n\t\temit('emitMenu', isShowMenu.value)\r\n\t}\r\n\tonMounted(() => {\r\n\t\tinitSlideBtn()\r\n\t})\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.slideBtn {\r\n\t\topacity: 0.5;\r\n\t\tz-index: 9;\r\n\t\tcursor: pointer;\r\n\t\tposition: fixed;\r\n\t\ttop: 48%;\r\n\t\tfont-size: 12px;\r\n\t\tpadding: 24px 0px;\r\n\t\tbackground: #ebebeb;\r\n\t\tcolor: #767b81;\r\n\t\twidth: 14px !important;\r\n\t\theight: 70px !important;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\t&:hover {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t&.showLeft {\r\n\t\t\tborder: 1px solid #a8afb7;\r\n\t\t\tborder-radius: 6px;\r\n\t\t\tborder-bottom-right-radius: 0;\r\n\t\t\tborder-top-right-radius: 0;\r\n\t\t\tborder-right: none;\r\n\t\t}\r\n\t\t&.hideLeft {\r\n\t\t\tborder: 1px solid #a8afb7;\r\n\t\t\tborder-radius: 6px;\r\n\t\t\tborder-bottom-left-radius: 0;\r\n\t\t\tborder-top-left-radius: 0;\r\n\t\t\tborder-left: none;\r\n\t\t}\r\n\t}\r\n</style>\r\n","<template>\r\n\t<div class=\"SplitLayout\">\r\n\t\t<a-row>\r\n\t\t\t<a-col class=\"leftSpan\" id=\"leftSpan\" :class=\"{ hideMenu: !isShowMenu }\">\r\n\t\t\t\t<a-card :bordered=\"false\" class=\"contentLeft\">\r\n\t\t\t\t\t<slot name=\"contentLeft\"></slot>\r\n\t\t\t\t</a-card>\r\n\t\t\t\t<SlideBtn id-layout-menu=\".ant-layout-sider\" id-left-menu=\"#leftSpan\" @emitMenu=\"emitMenu\" @init=\"initMenu\" />\r\n\t\t\t</a-col>\r\n\t\t\t<a-col class=\"rightSpan\">\r\n\t\t\t\t<a-card :bordered=\"false\" class=\"contentRight\">\r\n\t\t\t\t\t<slot name=\"contentRight\"></slot>\r\n\t\t\t\t</a-card>\r\n\t\t\t</a-col>\r\n\t\t</a-row>\r\n\t</div>\r\n</template>\r\n<script setup name=\"SplitLayout\">\r\n\tlet props = defineProps({\r\n\t\tleftSpan: {\r\n\t\t\ttype: Number,\r\n\t\t\tdefault: () => 4\r\n\t\t}\r\n\t})\r\n\tlet rightSpan = computed(() => {\r\n\t\treturn 24 - props.leftSpan\r\n\t})\r\n\tlet isShowMenu = ref(true)\r\n\tlet initIsShowMenu = ref(true)\r\n\tlet emitMenu = (val) => {\r\n\t\tisShowMenu.value = val\r\n\t}\r\n\tlet initMenu = (val) => {\r\n\t\tisShowMenu.value = val\r\n\t}\r\n</script>\r\n<style scoped lang=\"less\">\r\n\t.SplitLayout {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\toverflow: hidden;\r\n\t\t.ant-row {\r\n\t\t\theight: 100%;\r\n\t\t\twidth: 100%;\r\n\t\t\toverflow: hidden;\r\n\t\t\t.leftSpan,\r\n\t\t\t.rightSpan {\r\n\t\t\t\tflex: 1;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\tjustify-content: flex-start;\r\n\t\t\t\talign-items: flex-start;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\toverflow: hidden;\r\n\t\t\t\t& > * {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t}\r\n\t\t\t\t.contentLeft,\r\n\t\t\t\t.contentRight {\r\n\t\t\t\t\tbackground: none;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\t& > :deep(.ant-card-body) {\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.contentRight {\r\n\t\t\t\t\tbackground: #fff;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.leftSpan {\r\n\t\t\t\tflex: 0 0 258px;\r\n\t\t\t\t//transition: all 0.5s;\r\n\t\t\t\tbackground: #f5f8fb;\r\n\t\t\t\t.contentLeft {\r\n\t\t\t\t\t//transition: all 2.5s;\r\n\t\t\t\t\t//opacity: 1;\r\n\t\t\t\t}\r\n\t\t\t\t&.hideMenu {\r\n\t\t\t\t\tflex: 0 0 0px !important;\r\n\t\t\t\t\t.contentLeft {\r\n\t\t\t\t\t\t//transition: none;\r\n\t\t\t\t\t\t//opacity: 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.leftSpan {\r\n\t\t\t\tposition: relative;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import { message } from 'ant-design-vue'\r\nimport { config, tool } from 'elead-ui-tool-v3'\r\n\r\n/**\r\n * 通用js方法封装处理\r\n * Copyright (c) 2019 ruoyi\r\n */\r\nconst baseURL = __APP_ENV__.VITE_API_BASEURL\r\nexport default {\r\n\t//res 为全部文件参数\r\n\t//lengthComputable 文件的总大小\r\n\t//如果没上面两个参数 , onProgress 将无法计算大小\r\n\tasync downloadByUrl({ id, type, fileName, success, fail, res, onProgress, lengthComputable }) {\r\n\t\tlet isCompleteReached = false // 添加一个标志\r\n\t\tconst url = baseURL + '/' + type + '/file/url/' + id\r\n\t\tvar xhr = new XMLHttpRequest()\r\n\t\tvar formData = new FormData()\r\n\t\txhr.open('get', url)\r\n\t\txhr.setRequestHeader('Token', config.TOKEN_PREFIX + tool.data.get('TOKEN'))\r\n\t\txhr.setRequestHeader('Authorization', config.TOKEN_PREFIX + tool.data.get('TOKEN'))\r\n\t\txhr.responseType = 'blob'\r\n\t\txhr.onerror = function() {\r\n\t\t\tmessage.destroy()\r\n\t\t\tmessage.error('文档下载失败，请联系管理员')\r\n\t\t\tif (fail) {\r\n\t\t\t\tfail()\r\n\t\t\t}\r\n\t\t}\r\n\t\txhr.onprogress = (event) => {\r\n\t\t\tlet fileSize = event.total || lengthComputable\r\n\t\t\tif (fileSize) {\r\n\t\t\t\tlet percentComplete = Math.round((event.loaded / fileSize) * 100)\r\n\t\t\t\t// 检查是否首次达到100%且还没有标记为完成\r\n\t\t\t\tif (percentComplete === 100 && !isCompleteReached) {\r\n\t\t\t\t\tonProgress({\r\n\t\t\t\t\t\tpercentComplete\r\n\t\t\t\t\t})\r\n\t\t\t\t\tisCompleteReached = true // 设置标志，表示100%已完成\r\n\t\t\t\t}\r\n\t\t\t\t// 如果还没达到100%，则正常更新进度\r\n\t\t\t\telse if (percentComplete < 100) {\r\n\t\t\t\t\tonProgress({\r\n\t\t\t\t\t\tpercentComplete\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tonProgress({\r\n\t\t\t\t\terror: '无法获取文件大小'\r\n\t\t\t\t})\r\n\t\t\t\tconsole.log('无法获取文件大小,计算进度失败')\r\n\t\t\t}\r\n\t\t}\r\n\t\txhr.onload = function(e) {\r\n\t\t\tif (this.status == 200) {\r\n\t\t\t\tvar blob = this.response\r\n\t\t\t\tif (window.navigator.msSaveOrOpenBlob) {\r\n\t\t\t\t\tnavigator.msSaveBlob(blob, fileName)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar a = document.createElement('a')\r\n\t\t\t\t\tvar url = window.URL ? window.URL.createObjectURL(blob) : window.webkitURL.createObjectURL(blob)()\r\n\t\t\t\t\ta.href = url\r\n\t\t\t\t\ta.download = fileName\r\n\t\t\t\t\tdocument.body.appendChild(a)\r\n\t\t\t\t\ta.click()\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url)\r\n\t\t\t\t}\r\n\t\t\t\tif (success) {\r\n\t\t\t\t\tsuccess()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tmessage.destroy()\r\n\t\t\t\tmessage.error('文档下载失败，请联系管理员')\r\n\t\t\t\tif (fail) {\r\n\t\t\t\t\tfail()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\txhr.send(formData)\r\n\t\treturn false\r\n\t}, async fileGetInfo(id, type, fileName, callback) {\r\n\t\tconst url = baseURL + '/' + type + '/file/url/' + id\r\n\t\tcallback({\r\n\t\t\turl,\r\n\t\t\ttoken: config.TOKEN_PREFIX + tool.data.get('TOKEN'),\r\n\t\t\tAuthorization: config.TOKEN_PREFIX + tool.data.get('TOKEN'),\r\n\t\t\tfileName\r\n\t\t})\r\n\t\treturn false\r\n\t}, async downloadByUrl2(urlParams,fileName) {\r\n\t\tconst url = baseURL + urlParams\r\n\t\tvar xhr = new XMLHttpRequest()\r\n\t\tvar formData = new FormData()\r\n\t\txhr.open('get', url)\r\n\t\txhr.setRequestHeader('Token', config.TOKEN_PREFIX + tool.data.get('TOKEN'))\r\n\t\txhr.setRequestHeader('Authorization', config.TOKEN_PREFIX + tool.data.get('TOKEN'))\r\n\t\txhr.responseType = 'blob'\r\n\t\txhr.onload = function(e) {\r\n\t\t\tif (this.status == 200) {\r\n\t\t\t\tvar blob = this.response\r\n\t\t\t\tif (window.navigator.msSaveOrOpenBlob) {\r\n\t\t\t\t\tnavigator.msSaveBlob(blob, fileName)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar a = document.createElement('a')\r\n\t\t\t\t\tvar url = window.URL ? window.URL.createObjectURL(blob) : window.webkitURL.createObjectURL(blob)()\r\n\t\t\t\t\tconsole.log('url------------------>', url)\r\n\t\t\t\t\ta.href = url\r\n\t\t\t\t\ta.download = fileName\r\n\t\t\t\t\tdocument.body.appendChild(a)\r\n\t\t\t\t\ta.click()\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tmessage.error('文档下载失败，请联系管理员')\r\n\t\t\t}\r\n\t\t}\r\n\t\txhr.send(formData)\r\n\t\treturn false\r\n\t}\r\n}\r\n","<template>\r\n  <div class=\"FilePreview\">\r\n    <a-modal :transitionName=\"''\" :maskTransitionName=\"''\" :mask=\"false\" destroyOnClose centered width=\"100%\"\r\n             wrap-class-name=\"full-modal\" ref=\"userOrgPosSelectorRef\" v-model:visible=\"visible\" @cancel=\"modalClear\">\r\n      <template #title>\r\n        <div style=\"display: flex;flex-direction: column;justify-content: center;align-items: center\">\r\n          <div style=\"width: 100%; text-align: center\">{{ _fileName }}</div>\r\n        </div>\r\n      </template>\r\n      <template #footer>\r\n        <div style=\"display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 12px\">\r\n          <a-space wrap>\r\n            <a-button :icon=\"h(SyncOutlined)\" type=\"primary\" block @click=\"refresh\">刷新</a-button>\r\n            <a-button :icon=\"h(PlusCircleOutlined)\" type=\"primary\" block v-if=\"attachmentType == 'IMAGE'\"\r\n                      @click=\"imageCtrl('放大')\">放大\r\n            </a-button>\r\n            <a-button :icon=\"h(MinusCircleOutlined)\" type=\"primary\" v-if=\"attachmentType == 'IMAGE'\"\r\n                      @click=\"imageCtrl('缩小')\">缩小\r\n            </a-button>\r\n            <a-button :icon=\"h(UndoOutlined)\" type=\"primary\" v-if=\"attachmentType == 'IMAGE'\"\r\n                      @click=\"imageCtrl('旋转')\">旋转\r\n            </a-button>\r\n            <a-button :icon=\"h(LogoutOutlined)\" type=\"link\" block @click=\"modalClear\">退出</a-button>\r\n          </a-space>\r\n        </div>\r\n      </template>\r\n      <div\r\n          style=\"width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start\">\r\n        <div\r\n            style=\"width: 100%; height: 20%; display: flex; flex-direction: row; justify-content: center; align-items: center\"\r\n            v-if=\"loading\">\r\n          <a-spin :spinning=\"loading && !showProgress\" :indicator=\"indicator\"></a-spin>\r\n          <a-progress v-if=\"showProgress\" type=\"circle\" :percent=\"progress\" />\r\n        </div>\r\n        <iframe v-if=\"showIframe\" v-show=\"!loading\" ref=\"iframe\" width=\"100%\" height=\"100%\" :src=\"src\"></iframe>\r\n      </div>\r\n    </a-modal>\r\n  </div>\r\n</template>\r\n<script setup name=\"FilePreview\">\r\nimport {h} from 'vue'\r\nimport {\r\n  LoadingOutlined,\r\n  SyncOutlined,\r\n  PlusCircleOutlined,\r\n  MinusCircleOutlined,\r\n  UndoOutlined,\r\n  LogoutOutlined\r\n} from '@ant-design/icons-vue'\r\nimport downloadFile from \"@/utils/downloadFile.js\";\r\n//import { ref } from 'vue'\r\nconst indicator = h(LoadingOutlined, {\r\n  style: {\r\n    fontSize: '34px'\r\n  },\r\n  spin: true\r\n})\r\nlet showProgress = ref(false)\r\nlet progress = ref(0)\r\nlet iframeHost = __APP_ENV__.VITE_PREVIEW_HOST\r\nlet iframeAddress = __APP_ENV__.VITE_PREVIEW_ADDRESS\r\nlet visible = ref(false)\r\nlet loading = ref(true)\r\nlet address = ref(iframeAddress)\r\nlet iframe = ref()\r\nlet _fileName = ref(undefined)\r\nlet _id = ref(undefined)\r\nlet _type = ref(undefined)\r\nlet showIframe = ref(true)\r\nlet attachmentType = ref(undefined)\r\nlet src = ref('')\r\nconst imageCtrl = (type) => {\r\n  try {\r\n    iframe.value.contentWindow.postMessage(\r\n        JSON.stringify({\r\n          attachmentCtrl: {\r\n            type\r\n          }\r\n        }),\r\n        iframeHost\r\n    )\r\n  } catch (e) {\r\n  }\r\n}\r\nconst refresh = () => {\r\n  showIframe.value = false\r\n  loading.value = true\r\n  setTimeout(() => {\r\n    showIframe.value = true\r\n    setData({id: _id.value, fileName: _fileName.value, type: _type.value})\r\n  }, 50)\r\n}\r\nconst showModal = () => {\r\n  showIframe.value = true\r\n  visible.value = true\r\n}\r\nconst modalClear = (e) => {\r\n  window.removeEventListener('message', listenFileLoad)\r\n  visible.value = false\r\n  showIframe.value = false\r\n  loading.value = true\r\n}\r\nconst listenFileLoad = (res) => {\r\n  try {\r\n    let data = JSON.parse(res.data)\r\n    if (data.event == 'loading' && data.bool === true) {\r\n      loading.value = true\r\n    } else if (data.event == 'loading' && data.bool === false) {\r\n      loading.value = false\r\n    } else if (data.event == 'loading' && data.bool === false && data.errorMsg) {\r\n      loading.value = false\r\n    } else if (data.event == 'progress' && data.hasOwnProperty('percentComplete') && !data.errorMsg) {\r\n      showProgress.value = true\r\n      progress.value = data.percentComplete\r\n      if (progress.value === 100) {\r\n        setTimeout(() => {\r\n          showProgress.value = false\r\n        }, 500)\r\n      }\r\n    }\r\n  } catch (e) {\r\n  }\r\n}\r\nconst setData = ({id, type, fileName, lengthComputable}) => {\r\n  showProgress.value = false\r\n  progress.value = 0\r\n  if (/(\\.gif|\\.jpeg|\\.png|\\.jpg|\\.bmp)/gi.test(fileName)) {\r\n    attachmentType.value = 'IMAGE'\r\n  } else if (/(\\.pdf)/gi.test(fileName)) {\r\n    attachmentType.value = 'PDF'\r\n  } else if (/(\\.doc|\\.docx|\\.xls|\\.xlsx|\\.ppt|\\.pptx)/gi.test(fileName)) {\r\n    attachmentType.value = 'WORD'\r\n  } else if (/(\\.txt)/gi.test(fileName)) {\r\n    attachmentType.value = 'TXT'\r\n  } else {\r\n    attachmentType.value = 'NO_TYPE'\r\n  }\r\n  loading.value = true\r\n  _fileName.value = fileName\r\n  _id.value = id\r\n  _type.value = type\r\n  window.removeEventListener('message', listenFileLoad)\r\n  window.addEventListener('message', listenFileLoad)\r\n  showModal()\r\n  return new Promise((resolve, reject) => {\r\n    downloadFile.fileGetInfo(id, type, fileName, (xhr) => {\r\n      src.value = address.value + '?token=' + xhr.token + '&fileName=' + xhr.fileName + '&url=' + xhr.url + '&lengthComputable=' + lengthComputable\r\n      console.log('src.value------------------>', src.value)\r\n    })\r\n  })\r\n}\r\ndefineExpose({\r\n  showModal,\r\n  modalClear,\r\n  setData\r\n})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n.FilePreview {\r\n}\r\n</style>\r\n<style lang=\"less\">\r\n.full-modal {\r\n  .ant-modal {\r\n    max-width: 100%;\r\n    top: 0;\r\n    padding-bottom: 0;\r\n    margin: 0;\r\n  }\r\n  .ant-modal-content {\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: calc(100vh);\r\n  }\r\n  .ant-modal-body {\r\n    flex: 1;\r\n    padding: 0;\r\n  }\r\n  .ant-modal-footer,\r\n  .ant-modal-header {\r\n    background-color: #f5f5f5;\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n\t<a-form ref=\"searchFormRef\" name=\"advanced_search\" :model=\"formState\" :label-col=\"{ span: 6 }\" class=\"mb-4 ant-advanced-search-form\">\r\n\t\t<a-row :gutter=\"24\">\r\n\t\t\t<!-- 使用具名插槽来接收字段内容，父组件通过插槽提供输入控件 -->\r\n\t\t\t<template v-for=\"(item, index) in formFields\" :key=\"index\">\r\n\t\t\t\t<a-col :span=\"item.span || 6\" v-if=\"!item.advanced || advanced\">\r\n\t\t\t\t\t<a-form-item :name=\"item.name\" :rules=\"item.rules\">\r\n\t\t\t\t\t\t<template #label>\r\n\t\t\t\t\t\t\t<a-tooltip :title=\"item.label\" placement=\"top\">\r\n\t\t\t\t\t\t\t\t<span style=\"display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap\">\r\n\t\t\t\t\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<slot :name=\"item.slot || item.name\" :item=\"item\" :formState=\"formState\">\r\n\t\t\t\t\t\t\t<!-- 插槽内容由父组件提供，这里不定义默认内容 -->\r\n\t\t\t\t\t\t</slot>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t</template>\r\n\r\n\t\t\t<!-- 操作按钮区域 -->\r\n\t\t\t<a-col :span=\"buttonSpan\" class=\"ctrl-buttons\" style=\"display: flex; justify-content: flex-end; align-items: center; padding: 12px; padding-top: 0\">\r\n\t\t\t\t<a-button size=\"small\" type=\"primary\" @click=\"handleSearch\">查询</a-button>\r\n\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t<a-button size=\"small\" @click=\"handleReset\">重置</a-button>\r\n\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t<a-button size=\"small\" type=\"link\" @click=\"toggleAdvanced\">\r\n\t\t\t\t\t{{ advanced ? '收起' : '展开' }}\r\n\t\t\t\t\t<i :class=\"advanced ? 'fa fa-chevron-up' : 'fa fa-chevron-down'\" style=\"margin-left: 4px\" />\r\n\t\t\t\t</a-button>\r\n\t\t\t</a-col>\r\n\t\t</a-row>\r\n\t</a-form>\r\n</template>\r\n\r\n<script setup name=\"SearchForm\">\r\n\timport { ref, computed } from 'vue'\r\n\timport { Form, Row, Col, Button } from 'ant-design-vue'\r\n\r\n\tconst props = defineProps({\r\n\t\tformState: {\r\n\t\t\ttype: Object,\r\n\t\t\trequired: true\r\n\t\t},\r\n\t\tformFields: {\r\n\t\t\ttype: Array,\r\n\t\t\trequired: true,\r\n\t\t\tdefault: () => []\r\n\t\t}\r\n\t})\r\n\r\n\tconst emit = defineEmits(['search', 'reset'])\r\n\r\n\tconst searchFormRef = ref()\r\n\tconst advanced = ref(false)\r\n\r\n\t// 计算操作按钮的span值，确保始终在最后一格\r\n\tconst buttonSpan = computed(() => {\r\n\t\t// 获取当前显示的字段\r\n\t\tconst visibleFields = props.formFields.filter((item) => !item.advanced || advanced.value)\r\n\t\t// 计算当前行已占用的span\r\n\t\tconst totalSpan = visibleFields.reduce((sum, item) => sum + (item.span || 6), 0)\r\n\t\t// 计算当前行剩余的span\r\n\t\tconst remainingSpan = 24 - (totalSpan % 24)\r\n\t\t// 如果剩余空间足够放按钮(至少6个span)，则使用剩余空间，否则使用6个span\r\n\t\treturn remainingSpan >= 6 ? remainingSpan : 6\r\n\t})\r\n\r\n\tconst toggleAdvanced = () => {\r\n\t\tadvanced.value = !advanced.value\r\n\t}\r\n\r\n\tconst handleSearch = () => {\r\n\t\temit('search')\r\n\t}\r\n\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t\temit('reset')\r\n\t}\r\n\r\n\t// 暴露方法给父组件\r\n\tconst resetFields = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\r\n\tdefineExpose({\r\n\t\tresetFields\r\n\t})\r\n</script>\r\n\r\n<style scoped lang=\"less\"></style>\r\n","import store from '@/store'\r\nexport const panesValues = ['人员', '部门', '岗位']\r\nexport const replaceTag = ({ path, autoPushLatestView, $router, query, params, name }) => {\r\n\tlet tags = store.state.viewTags.viewTags\r\n\tif (path) {\r\n\t\tlet target = tags.find((res) => {\r\n\t\t\treturn new RegExp(path, 'ig').test(res.path)\r\n\t\t})\r\n\t\tif (target) {\r\n\t\t\tstore.commit('removeViewTags', target)\r\n\t\t\tstore.commit('removeIframeList', target)\r\n\t\t\tstore.commit('removeKeepLive', target.name)\r\n\t\t\tif (autoPushLatestView) {\r\n\t\t\t\tconst latestView = tags.slice(-1)[0]\r\n\t\t\t\tif (latestView) {\r\n\t\t\t\t\t$router.push(latestView)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$router.push('/')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (query) {\r\n\t\t\t$router.push({\r\n\t\t\t\tpath,\r\n\t\t\t\tquery: {\r\n\t\t\t\t\t...query\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t$router.push({\r\n\t\t\t\tpath\r\n\t\t\t})\r\n\t\t}\r\n\t} else if (name) {\r\n\t\tlet target = tags.find((res) => {\r\n\t\t\treturn name === res.name\r\n\t\t})\r\n\t\tif (target) {\r\n\t\t\tstore.commit('removeViewTags', target)\r\n\t\t\tstore.commit('removeIframeList', target)\r\n\t\t\tstore.commit('removeKeepLive', target.name)\r\n\t\t\tif (autoPushLatestView) {\r\n\t\t\t\tconst latestView = tags.slice(-1)[0]\r\n\t\t\t\tif (latestView) {\r\n\t\t\t\t\t$router.push(latestView)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$router.push('/')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (params) {\r\n\t\t\t$router.push({\r\n\t\t\t\tname,\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t...params\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t$router.push({\r\n\t\t\t\tname\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\nexport const jumpHandler = ({ userId, router }) => {\r\n\treplaceTag({\r\n\t\tpath: '/training/growthDetail',\r\n\t\tautoPushLatestView: true,\r\n\t\t$router: router,\r\n\t\tquery: {\r\n\t\t\tuserId\r\n\t\t}\r\n\t})\r\n\twindow.parent.postMessage('potalIframeRenderLoadingFinish', '*')\r\n}\r\n/*iframe 嵌套逻辑*/\r\nexport const isFrame = () => {\r\n\treturn window.top !== window.self\r\n}\r\n","import {loadScript} from 'elead-ui-tool-v3'\r\n\r\n\r\nfunction libFlowInstance() {\r\n}\r\nexport const libFlowPackageMethods = new libFlowInstance()\r\nexport const installLibMethods = (res) => {\r\n\tfor (const i in res) {\r\n\t\tlibFlowInstance.prototype[i] = res[i]\r\n\t}\r\n}\r\n\r\n\r\nloadScript({\r\n\turlObjs: [\r\n\t\t{\r\n\t\t\turl: 'https://itest.e-lead.cn/resources/font-awesome.min.oa.css'\r\n\t\t}\r\n\t]\r\n})","<!--\r\n@Create By Tim For 19/08/14\r\n@单点登录成功回调组件\r\n-->\r\n<template>\r\n  <div class=\"CodeCallbackContainer\"></div>\r\n</template>\r\n<script>\r\nimport { config, tool, getDefaultIndex, getIndexPage, getSysMenuDefault } from 'elead-ui-tool-v3'\r\nimport ssoApi from '@/api/auth/sso2Api'\r\nimport permissionApi from '@/api/sys/permissionApi'\r\n//import PersonalDirectoryApi from '@/api/file/personalDirectoryApi'\r\nimport dictApi from '@/api/dev/dictApi'\r\nimport configApi from '@/api/dev/configApi'\r\nimport { message } from 'ant-design-vue'\r\nimport { isFrame } from '@/utils/other'\r\nimport userCenterApi from '@/api/sys/userCenterApi'\r\nimport { libFlowPackageMethods } from \"@/utils/exportInstallMethods\";\r\nexport default {\r\n  name: 'authLoginCodeCallback',\r\n  watch: {\r\n    $route: {\r\n      handler: function (route) {\r\n        this.redirect = route.query && route.query.redirect_uri\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  data() {\r\n    return {}\r\n  },\r\n  mounted() {\r\n    const { redirect_uri, code } = this.getParams()\r\n    this.handleCallback({ redirectUri: redirect_uri, code })\r\n  },\r\n  methods: {\r\n    getParams(name, defaultValue) {\r\n      // 获取当前url\r\n      const parameterObject = {}\r\n      const url = window.location.href\r\n      let parameter = url.split('?')[1]\r\n      if (!parameter) {\r\n        // 这个界面无参数属于非法访问，跳转到登录界面让他登录去\r\n        // window.location.href = '/login'\r\n        return parameterObject\r\n      }\r\n      const parameterArray = parameter.split('&')\r\n      // 当然了，不可能只有一个参数\r\n      if (!parameterArray) {\r\n        // window.location.href = '/login'\r\n        return parameterObject\r\n      }\r\n      // 遍历数组，拿到json对象\r\n      for (let i = 0; i < parameterArray.length; i++) {\r\n        parameterObject[parameterArray[i].split('=')[0]] = parameterArray[i].split('=')[1]\r\n      }\r\n      return parameterObject\r\n    },\r\n    async handleCallback({ redirectUri, code }) {\r\n      \r\n      let token = ''\r\n      /*iframe 嵌套逻辑*/\r\n      if (isFrame()) {\r\n        let f = async () => {\r\n          return new Promise((resolve, reject) => {\r\n            setTimeout(() => {\r\n              resolve(tool.data.get('TOKEN'))\r\n            }, 100)\r\n          })\r\n        }\r\n        token = await f()\r\n      } else {\r\n        token = await ssoApi.codeCallback(redirectUri, code)\r\n      }\r\n      // 成功换取到token,将token保存到cookie\r\n      tool.data.set('TOKEN', token)\r\n      //获取用户信息\r\n      const loginUser = await ssoApi.getInfo()\r\n      let roleCodes = await permissionApi.roleCodeInfo({ userId: loginUser.id })\r\n      //文件系统特殊逻辑\r\n      try {\r\n        if (libFlowPackageMethods.PersonalDirectoryApi) {\r\n          if (!roleCodes || roleCodes.indexOf('default') === -1) {\r\n            await libFlowPackageMethods.PersonalDirectoryApi.grantDefaultRole()\r\n            roleCodes = await permissionApi.roleCodeInfo({ userId: loginUser.id })\r\n          }\r\n        }\r\n      } catch (e) {\r\n      }\r\n      // 获取 buttonCodeList\r\n      const permissions = await permissionApi.permissionInfo({ userId: loginUser.id })\r\n      loginUser.buttonCodeList = permissions\r\n      loginUser.roleCodeList = roleCodes\r\n      tool.data.set('USER_INFO', loginUser)\r\n      // 获取用户的菜单\r\n      const menu = await getSysMenuDefault({ userCenterApi }).catch((err) => {\r\n        this.islogin = false\r\n        return\r\n      })\r\n      getDefaultIndex(menu, null)\r\n      tool.data.set('MENU', menu)\r\n      getIndexPage({\r\n        menu, success: (_defaultIndex) => {\r\n          this.$router.replace({\r\n            path: _defaultIndex.cur.path\r\n          })\r\n        }\r\n      })\r\n      message.success('登录成功')\r\n      nextTick(() => {\r\n        // 配置\r\n        if (!tool.data.get('SNOWY_SYS_BASE_CONFIG')) {\r\n          let formData = ref(config.SYS_BASE_CONFIG)\r\n          configApi.configSysBaseList().then((data) => {\r\n            if (data) {\r\n              data.forEach((item) => {\r\n                formData.value[item.configKey] = item.configValue\r\n              })\r\n              tool.data.set('SNOWY_SYS_BASE_CONFIG', formData.value)\r\n              this.$store.commit('SET_sysBaseConfig', formData.value)\r\n            }\r\n          })\r\n        }\r\n        // 字典\r\n        dictApi.dictTree().then((data) => {\r\n          // 设置字典到store中\r\n          tool.data.set('DICT_TYPE_TREE_DATA', data)\r\n        })\r\n        /*iframe 嵌套逻辑*/\r\n        if (isFrame()) {\r\n          window.parent.postMessage('potalIframeReady', '*')\r\n        }\r\n      })\r\n    }\r\n  }\r\n}\r\n</script>\r\n","/**\r\n *  Copyright [2022] [https://www.xiaonuo.vip]\r\n *\tSnowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：\r\n *\t1.请不要删除和修改根目录下的LICENSE文档。\r\n *\t2.请不要删除和修改Snowy源码头部的版权声明。\r\n *\t3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文档的项目出处，作者声明等。\r\n *\t4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip\r\n *\t5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。\r\n *\t6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip\r\n */\r\nexport const required = (text, method = ['blur', 'change']) => ({\r\n\trequired: true,\r\n\tmessage: text,\r\n\ttrigger: method\r\n})\r\n// 常用正则规则大全：https://any86.github.io/any-rule/\r\nexport const rules = {\r\n\tphone: {\r\n\t\tpattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$/,\r\n\t\tmessage: '请填写符合要求的11位手机号',\r\n\t\ttrigger: 'blur'\r\n\t},\r\n\temail: {\r\n\t\tpattern: /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/,\r\n\t\tmessage: '请填写正确的邮箱号',\r\n\t\ttrigger: 'blur'\r\n\t},\r\n\tidCard: {\r\n\t\tpattern: /(^\\d{8}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}$)|(^\\d{6}(18|19|20)\\d{2}(0[1-9]|10|11|12)([0-2]\\d|30|31)\\d{3}(\\d|X|x)$)/,\r\n\t\tmessage: '请填写符合要求的身份证号',\r\n\t\ttrigger: 'blur'\r\n\t},\r\n\tlettersNum: {\r\n\t\tpattern: /^[A-Za-z0-9]+$/,\r\n\t\tmessage: '填写内容须是字母或数字组成',\r\n\t\ttrigger: 'blur'\r\n\t},\r\n\tnumber: {\r\n\t\tpattern: /^\\d{1,}$/,\r\n\t\tmessage: '填写内容必须是纯数字',\r\n\t\ttrigger: 'blur'\r\n\t}\r\n}\r\nexport default {\r\n\trules,\r\n\trequired\r\n}\r\n","const uiwIconComponentMap = import.meta.glob('../assets/icons/uiw/*.vue') // 异步方式\r\nconst uiwIcons = Object.keys(uiwIconComponentMap).map((key) => {\r\n\treturn key.slice(key.lastIndexOf('/') + 1, key.lastIndexOf('.'))\r\n})\r\nexport default {\r\n\ticons: [\r\n\t\t{\r\n\t\t\tname: '基础',\r\n\t\t\tkey: 'default',\r\n\t\t\ticonItem: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: '线框风格',\r\n\t\t\t\t\tkey: 'default',\r\n\t\t\t\t\titem: [\r\n\t\t\t\t\t\t'step-backward-outlined',\r\n\t\t\t\t\t\t'step-forward-outlined',\r\n\t\t\t\t\t\t'fast-backward-outlined',\r\n\t\t\t\t\t\t'fast-forward-outlined',\r\n\t\t\t\t\t\t'shrink-outlined',\r\n\t\t\t\t\t\t'arrows-alt-outlined',\r\n\t\t\t\t\t\t'down-outlined',\r\n\t\t\t\t\t\t'up-outlined',\r\n\t\t\t\t\t\t'left-outlined',\r\n\t\t\t\t\t\t'right-outlined',\r\n\t\t\t\t\t\t'caret-up-outlined',\r\n\t\t\t\t\t\t'caret-down-outlined',\r\n\t\t\t\t\t\t'caret-left-outlined',\r\n\t\t\t\t\t\t'caret-right-outlined',\r\n\t\t\t\t\t\t'up-circle-outlined',\r\n\t\t\t\t\t\t'down-circle-outlined',\r\n\t\t\t\t\t\t'left-circle-outlined',\r\n\t\t\t\t\t\t'right-circle-outlined',\r\n\t\t\t\t\t\t'double-right-outlined',\r\n\t\t\t\t\t\t'double-left-outlined',\r\n\t\t\t\t\t\t'vertical-left-outlined',\r\n\t\t\t\t\t\t'vertical-right-outlined',\r\n\t\t\t\t\t\t'vertical-align-top-outlined',\r\n\t\t\t\t\t\t'vertical-align-middle-outlined',\r\n\t\t\t\t\t\t'vertical-align-bottom-outlined',\r\n\t\t\t\t\t\t'forward-outlined',\r\n\t\t\t\t\t\t'backward-outlined',\r\n\t\t\t\t\t\t'rollback-outlined',\r\n\t\t\t\t\t\t'enter-outlined',\r\n\t\t\t\t\t\t'retweet-outlined',\r\n\t\t\t\t\t\t'swap-outlined',\r\n\t\t\t\t\t\t'swap-left-outlined',\r\n\t\t\t\t\t\t'swap-right-outlined',\r\n\t\t\t\t\t\t'arrow-up-outlined',\r\n\t\t\t\t\t\t'arrow-down-outlined',\r\n\t\t\t\t\t\t'arrow-left-outlined',\r\n\t\t\t\t\t\t'arrow-right-outlined',\r\n\t\t\t\t\t\t'play-circle-outlined',\r\n\t\t\t\t\t\t'up-Square-outlined',\r\n\t\t\t\t\t\t'down-square-outlined',\r\n\t\t\t\t\t\t'left-square-outlined',\r\n\t\t\t\t\t\t'right-square-outlined',\r\n\t\t\t\t\t\t'login-outlined',\r\n\t\t\t\t\t\t'logout-outlined',\r\n\t\t\t\t\t\t'menu-fold-outlined',\r\n\t\t\t\t\t\t'menu-unfold-outlined',\r\n\t\t\t\t\t\t'border-bottom-outlined',\r\n\t\t\t\t\t\t'border-horizontal-outlined',\r\n\t\t\t\t\t\t'border-inner-outlined',\r\n\t\t\t\t\t\t'border-outer-outlined',\r\n\t\t\t\t\t\t'border-left-outlined',\r\n\t\t\t\t\t\t'border-right-outlined',\r\n\t\t\t\t\t\t'border-top-outlined',\r\n\t\t\t\t\t\t'border-verticle-outlined',\r\n\t\t\t\t\t\t'pic-center-outlined',\r\n\t\t\t\t\t\t'pic-left-outlined',\r\n\t\t\t\t\t\t'pic-right-outlined',\r\n\t\t\t\t\t\t'radius-bottomleft-outlined',\r\n\t\t\t\t\t\t'radius-bottomright-outlined',\r\n\t\t\t\t\t\t'radius-upleft-outlined',\r\n\t\t\t\t\t\t'radius-upright-outlined',\r\n\t\t\t\t\t\t'fullscreen-outlined',\r\n\t\t\t\t\t\t'fullscreen-exit-outlined',\r\n\t\t\t\t\t\t'question-outlined',\r\n\t\t\t\t\t\t'question-circle-outlined',\r\n\t\t\t\t\t\t'plus-outlined',\r\n\t\t\t\t\t\t'plus-circle-outlined',\r\n\t\t\t\t\t\t'pause-outlined',\r\n\t\t\t\t\t\t'pause-circle-outlined',\r\n\t\t\t\t\t\t'minus-outlined',\r\n\t\t\t\t\t\t'minus-circle-outlined',\r\n\t\t\t\t\t\t'plus-square-outlined',\r\n\t\t\t\t\t\t'minus-square-outlined',\r\n\t\t\t\t\t\t'info-outlined',\r\n\t\t\t\t\t\t'info-circle-outlined',\r\n\t\t\t\t\t\t'exclamation-outlined',\r\n\t\t\t\t\t\t'exclamation-circle-outlined',\r\n\t\t\t\t\t\t'close-outlined',\r\n\t\t\t\t\t\t'close-circle-outlined',\r\n\t\t\t\t\t\t'close-square-outlined',\r\n\t\t\t\t\t\t'check-outlined',\r\n\t\t\t\t\t\t'check-circle-outlined',\r\n\t\t\t\t\t\t'check-square-outlined',\r\n\t\t\t\t\t\t'clock-circle-outlined',\r\n\t\t\t\t\t\t'warning-outlined',\r\n\t\t\t\t\t\t'issues-close-outlined',\r\n\t\t\t\t\t\t'stop-outlined',\r\n\t\t\t\t\t\t'edit-outlined',\r\n\t\t\t\t\t\t'form-outlined',\r\n\t\t\t\t\t\t'copy-outlined',\r\n\t\t\t\t\t\t'scissor-outlined',\r\n\t\t\t\t\t\t'delete-outlined',\r\n\t\t\t\t\t\t'snippets-outlined',\r\n\t\t\t\t\t\t'diff-outlined',\r\n\t\t\t\t\t\t'highlight-outlined',\r\n\t\t\t\t\t\t'align-center-outlined',\r\n\t\t\t\t\t\t'align-left-outlined',\r\n\t\t\t\t\t\t'align-right-outlined',\r\n\t\t\t\t\t\t'bg-colors-outlined',\r\n\t\t\t\t\t\t'bold-outlined',\r\n\t\t\t\t\t\t'italic-outlined',\r\n\t\t\t\t\t\t'underline-outlined',\r\n\t\t\t\t\t\t'strikethrough-outlined',\r\n\t\t\t\t\t\t'redo-outlined',\r\n\t\t\t\t\t\t'undo-outlined',\r\n\t\t\t\t\t\t'zoom-in-outlined',\r\n\t\t\t\t\t\t'zoom-out-outlined',\r\n\t\t\t\t\t\t'font-colors-outlined',\r\n\t\t\t\t\t\t'font-size-outlined',\r\n\t\t\t\t\t\t'line-height-outlined',\r\n\t\t\t\t\t\t'dash-outlined',\r\n\t\t\t\t\t\t'small-dash-outlined',\r\n\t\t\t\t\t\t'sort-ascending-outlined',\r\n\t\t\t\t\t\t'sort-descending-outlined',\r\n\t\t\t\t\t\t'drag-outlined',\r\n\t\t\t\t\t\t'ordered-list-outlined',\r\n\t\t\t\t\t\t'unordered-list-outlined',\r\n\t\t\t\t\t\t'radius-setting-outlined',\r\n\t\t\t\t\t\t'column-width-outlined',\r\n\t\t\t\t\t\t'column-height-outlined',\r\n\t\t\t\t\t\t'account-book-outlined',\r\n\t\t\t\t\t\t'aim-outlined',\r\n\t\t\t\t\t\t'alert-outlined',\r\n\t\t\t\t\t\t'apartment-outlined',\r\n\t\t\t\t\t\t'api-outlined',\r\n\t\t\t\t\t\t'appstore-add-outlined',\r\n\t\t\t\t\t\t'appstore-outlined',\r\n\t\t\t\t\t\t'audio-outlined',\r\n\t\t\t\t\t\t'audio-muted-outlined',\r\n\t\t\t\t\t\t'audit-outlined',\r\n\t\t\t\t\t\t'bank-outlined',\r\n\t\t\t\t\t\t'barcode-outlined',\r\n\t\t\t\t\t\t'bars-outlined',\r\n\t\t\t\t\t\t'bell-outlined',\r\n\t\t\t\t\t\t'block-outlined',\r\n\t\t\t\t\t\t'book-outlined',\r\n\t\t\t\t\t\t'border-outlined',\r\n\t\t\t\t\t\t'borderless-table-outlined',\r\n\t\t\t\t\t\t'branches-outlined',\r\n\t\t\t\t\t\t'bug-outlined',\r\n\t\t\t\t\t\t'build-outlined',\r\n\t\t\t\t\t\t'bulb-outlined',\r\n\t\t\t\t\t\t'calculator-outlined',\r\n\t\t\t\t\t\t'calendar-outlined',\r\n\t\t\t\t\t\t'camera-outlined',\r\n\t\t\t\t\t\t'car-outlined',\r\n\t\t\t\t\t\t'carry-out-outlined',\r\n\t\t\t\t\t\t'ci-circle-outlined',\r\n\t\t\t\t\t\t'ci-outlined',\r\n\t\t\t\t\t\t'clear-outlined',\r\n\t\t\t\t\t\t'cloud-download-outlined',\r\n\t\t\t\t\t\t'cloud-outlined',\r\n\t\t\t\t\t\t'cloud-server-outlined',\r\n\t\t\t\t\t\t'cloud-sync-outlined',\r\n\t\t\t\t\t\t'cloud-upload-outlined',\r\n\t\t\t\t\t\t'cluster-outlined',\r\n\t\t\t\t\t\t'code-outlined',\r\n\t\t\t\t\t\t'coffee-outlined',\r\n\t\t\t\t\t\t'comment-outlined',\r\n\t\t\t\t\t\t'compass-outlined',\r\n\t\t\t\t\t\t'compress-outlined',\r\n\t\t\t\t\t\t'console-sql-outlined',\r\n\t\t\t\t\t\t'contacts-outlined',\r\n\t\t\t\t\t\t'container-outlined',\r\n\t\t\t\t\t\t'control-outlined',\r\n\t\t\t\t\t\t'copyright-circle-outlined',\r\n\t\t\t\t\t\t'copyright-outlined',\r\n\t\t\t\t\t\t'credit-card-outlined',\r\n\t\t\t\t\t\t'crown-outlined',\r\n\t\t\t\t\t\t'customer-service-outlined',\r\n\t\t\t\t\t\t'dashboard-outlined',\r\n\t\t\t\t\t\t'database-outlined',\r\n\t\t\t\t\t\t'delete-column-outlined',\r\n\t\t\t\t\t\t'delete-row-outlined',\r\n\t\t\t\t\t\t'delivered-procedure-outlined',\r\n\t\t\t\t\t\t'deployment-unit-outlined',\r\n\t\t\t\t\t\t'desktop-outlined',\r\n\t\t\t\t\t\t'dingtalk-outlined',\r\n\t\t\t\t\t\t'disconnect-outlined',\r\n\t\t\t\t\t\t'dislike-outlined',\r\n\t\t\t\t\t\t'dollar-circle-outlined',\r\n\t\t\t\t\t\t'dollar-outlined',\r\n\t\t\t\t\t\t'download-outlined',\r\n\t\t\t\t\t\t'ellipsis-outlined',\r\n\t\t\t\t\t\t'environment-outlined',\r\n\t\t\t\t\t\t'euro-circle-outlined',\r\n\t\t\t\t\t\t'euro-outlined',\r\n\t\t\t\t\t\t'exception-outlined',\r\n\t\t\t\t\t\t'expand-alt-outlined',\r\n\t\t\t\t\t\t'expand-outlined',\r\n\t\t\t\t\t\t'experiment-outlined',\r\n\t\t\t\t\t\t'export-outlined',\r\n\t\t\t\t\t\t'eye-outlined',\r\n\t\t\t\t\t\t'eye-invisible-outlined',\r\n\t\t\t\t\t\t'field-binary-outlined',\r\n\t\t\t\t\t\t'field-number-outlined',\r\n\t\t\t\t\t\t'field-string-outlined',\r\n\t\t\t\t\t\t'field-time-outlined',\r\n\t\t\t\t\t\t'file-add-outlined',\r\n\t\t\t\t\t\t'file-done-outlined',\r\n\t\t\t\t\t\t'file-excel-outlined',\r\n\t\t\t\t\t\t'file-exclamation-outlined',\r\n\t\t\t\t\t\t'file-outlined',\r\n\t\t\t\t\t\t'file-gif-outlined',\r\n\t\t\t\t\t\t'file-image-outlined',\r\n\t\t\t\t\t\t'file-jpg-outlined',\r\n\t\t\t\t\t\t'file-markdown-outlined',\r\n\t\t\t\t\t\t'file-pdf-outlined',\r\n\t\t\t\t\t\t'file-ppt-outlined',\r\n\t\t\t\t\t\t'file-protect-outlined',\r\n\t\t\t\t\t\t'file-search-outlined',\r\n\t\t\t\t\t\t'file-sync-outlined',\r\n\t\t\t\t\t\t'file-text-outlined',\r\n\t\t\t\t\t\t'file-unknown-outlined',\r\n\t\t\t\t\t\t'file-word-outlined',\r\n\t\t\t\t\t\t'file-zip-outlined',\r\n\t\t\t\t\t\t'filter-outlined',\r\n\t\t\t\t\t\t'fire-outlined',\r\n\t\t\t\t\t\t'flag-outlined',\r\n\t\t\t\t\t\t'folder-add-outlined',\r\n\t\t\t\t\t\t'folder-outlined',\r\n\t\t\t\t\t\t'folder-open-outlined',\r\n\t\t\t\t\t\t'folder-view-outlined',\r\n\t\t\t\t\t\t'fork-outlined',\r\n\t\t\t\t\t\t'format-painter-outlined',\r\n\t\t\t\t\t\t'frown-outlined',\r\n\t\t\t\t\t\t'function-outlined',\r\n\t\t\t\t\t\t'fund-projection-screen-outlined',\r\n\t\t\t\t\t\t'fund-view-outlined',\r\n\t\t\t\t\t\t'funnel-plot-outlined',\r\n\t\t\t\t\t\t'gateway-outlined',\r\n\t\t\t\t\t\t'gif-outlined',\r\n\t\t\t\t\t\t'gift-outlined',\r\n\t\t\t\t\t\t'global-outlined',\r\n\t\t\t\t\t\t'gold-outlined',\r\n\t\t\t\t\t\t'group-outlined',\r\n\t\t\t\t\t\t'hdd-outlined',\r\n\t\t\t\t\t\t'heart-outlined',\r\n\t\t\t\t\t\t'history-outlined',\r\n\t\t\t\t\t\t'holder-outlined',\r\n\t\t\t\t\t\t'home-outlined',\r\n\t\t\t\t\t\t'hourglass-outlined',\r\n\t\t\t\t\t\t'idcard-outlined',\r\n\t\t\t\t\t\t'import-outlined',\r\n\t\t\t\t\t\t'inbox-outlined',\r\n\t\t\t\t\t\t'insert-row-above-outlined',\r\n\t\t\t\t\t\t'insert-row-below-outlined',\r\n\t\t\t\t\t\t'insert-row-left-outlined',\r\n\t\t\t\t\t\t'insert-row-right-outlined',\r\n\t\t\t\t\t\t'insurance-outlined',\r\n\t\t\t\t\t\t'interaction-outlined',\r\n\t\t\t\t\t\t'key-outlined',\r\n\t\t\t\t\t\t'laptop-outlined',\r\n\t\t\t\t\t\t'layout-outlined',\r\n\t\t\t\t\t\t'like-outlined',\r\n\t\t\t\t\t\t'line-outlined',\r\n\t\t\t\t\t\t'link-outlined',\r\n\t\t\t\t\t\t'loading3-quarters-outlined',\r\n\t\t\t\t\t\t'loading-outlined',\r\n\t\t\t\t\t\t'lock-outlined',\r\n\t\t\t\t\t\t'mac-command-outlined',\r\n\t\t\t\t\t\t'mail-outlined',\r\n\t\t\t\t\t\t'man-outlined',\r\n\t\t\t\t\t\t'medicine-box-outlined',\r\n\t\t\t\t\t\t'meh-outlined',\r\n\t\t\t\t\t\t'menu-outlined',\r\n\t\t\t\t\t\t'merge-cells-outlined',\r\n\t\t\t\t\t\t'message-outlined',\r\n\t\t\t\t\t\t'mobile-outlined',\r\n\t\t\t\t\t\t'money-collect-outlined',\r\n\t\t\t\t\t\t'monitor-outlined',\r\n\t\t\t\t\t\t'more-outlined',\r\n\t\t\t\t\t\t'node-collapse-outlined',\r\n\t\t\t\t\t\t'node-expand-outlined',\r\n\t\t\t\t\t\t'node-index-outlined',\r\n\t\t\t\t\t\t'notification-outlined',\r\n\t\t\t\t\t\t'number-outlined',\r\n\t\t\t\t\t\t'one-to-one-outlined',\r\n\t\t\t\t\t\t'paper-clip-outlined',\r\n\t\t\t\t\t\t'partition-outlined',\r\n\t\t\t\t\t\t'pay-circle-outlined',\r\n\t\t\t\t\t\t'percentage-outlined',\r\n\t\t\t\t\t\t'phone-outlined',\r\n\t\t\t\t\t\t'picture-outlined',\r\n\t\t\t\t\t\t'play-square-outlined',\r\n\t\t\t\t\t\t'pound-circle-outlined',\r\n\t\t\t\t\t\t'pound-outlined',\r\n\t\t\t\t\t\t'poweroff-outlined',\r\n\t\t\t\t\t\t'printer-outlined',\r\n\t\t\t\t\t\t'profile-outlined',\r\n\t\t\t\t\t\t'project-outlined',\r\n\t\t\t\t\t\t'property-safety-outlined',\r\n\t\t\t\t\t\t'pull-request-outlined',\r\n\t\t\t\t\t\t'pushpin-outlined',\r\n\t\t\t\t\t\t'qrcode-outlined',\r\n\t\t\t\t\t\t'read-outlined',\r\n\t\t\t\t\t\t'reconciliation-outlined',\r\n\t\t\t\t\t\t'red-envelope-outlined',\r\n\t\t\t\t\t\t'reload-outlined',\r\n\t\t\t\t\t\t'rest-outlined',\r\n\t\t\t\t\t\t'robot-outlined',\r\n\t\t\t\t\t\t'rocket-outlined',\r\n\t\t\t\t\t\t'rotate-left-outlined',\r\n\t\t\t\t\t\t'rotate-right-outlined',\r\n\t\t\t\t\t\t'safety-certificate-outlined',\r\n\t\t\t\t\t\t'safety-outlined',\r\n\t\t\t\t\t\t'save-outlined',\r\n\t\t\t\t\t\t'scan-outlined',\r\n\t\t\t\t\t\t'schedule-outlined',\r\n\t\t\t\t\t\t'search-outlined',\r\n\t\t\t\t\t\t'security-scan-outlined',\r\n\t\t\t\t\t\t'select-outlined',\r\n\t\t\t\t\t\t'send-outlined',\r\n\t\t\t\t\t\t'setting-outlined',\r\n\t\t\t\t\t\t'shake-outlined',\r\n\t\t\t\t\t\t'share-alt-outlined',\r\n\t\t\t\t\t\t'shop-outlined',\r\n\t\t\t\t\t\t'shopping-cart-outlined',\r\n\t\t\t\t\t\t'shopping-outlined',\r\n\t\t\t\t\t\t'sisternode-outlined',\r\n\t\t\t\t\t\t'skin-outlined',\r\n\t\t\t\t\t\t'smile-outlined',\r\n\t\t\t\t\t\t'solution-outlined',\r\n\t\t\t\t\t\t'sound-outlined',\r\n\t\t\t\t\t\t'split-cells-outlined',\r\n\t\t\t\t\t\t'star-outlined',\r\n\t\t\t\t\t\t'subnode-outlined',\r\n\t\t\t\t\t\t'switcher-outlined',\r\n\t\t\t\t\t\t'sync-outlined',\r\n\t\t\t\t\t\t'table-outlined',\r\n\t\t\t\t\t\t'tablet-outlined',\r\n\t\t\t\t\t\t'tag-outlined',\r\n\t\t\t\t\t\t'tags-outlined',\r\n\t\t\t\t\t\t'team-outlined',\r\n\t\t\t\t\t\t'thunderbolt-outlined',\r\n\t\t\t\t\t\t'to-top-outlined',\r\n\t\t\t\t\t\t'tool-outlined',\r\n\t\t\t\t\t\t'trademark-circle-outlined',\r\n\t\t\t\t\t\t'trademark-outlined',\r\n\t\t\t\t\t\t'transaction-outlined',\r\n\t\t\t\t\t\t'translation-outlined',\r\n\t\t\t\t\t\t'trophy-outlined',\r\n\t\t\t\t\t\t'ungroup-outlined',\r\n\t\t\t\t\t\t'unlock-outlined',\r\n\t\t\t\t\t\t'upload-outlined',\r\n\t\t\t\t\t\t'usb-outlined',\r\n\t\t\t\t\t\t'user-add-outlined',\r\n\t\t\t\t\t\t'user-delete-outlined',\r\n\t\t\t\t\t\t'user-outlined',\r\n\t\t\t\t\t\t'user-switch-outlined',\r\n\t\t\t\t\t\t'usergroup-add-outlined',\r\n\t\t\t\t\t\t'usergroup-delete-outlined',\r\n\t\t\t\t\t\t'verified-outlined',\r\n\t\t\t\t\t\t'video-camera-add-outlined',\r\n\t\t\t\t\t\t'video-camera-outlined',\r\n\t\t\t\t\t\t'wallet-outlined',\r\n\t\t\t\t\t\t'whats-app-outlined',\r\n\t\t\t\t\t\t'wifi-outlined',\r\n\t\t\t\t\t\t'woman-outlined'\r\n\t\t\t\t\t]\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: '实底风格',\r\n\t\t\t\t\tkey: 'filled',\r\n\t\t\t\t\titem: [\r\n\t\t\t\t\t\t'step-backward-filled',\r\n\t\t\t\t\t\t'step-forward-filled',\r\n\t\t\t\t\t\t'fast-backward-filled',\r\n\t\t\t\t\t\t'fast-forward-filled',\r\n\t\t\t\t\t\t'caret-up-filled',\r\n\t\t\t\t\t\t'caret-down-filled',\r\n\t\t\t\t\t\t'caret-left-filled',\r\n\t\t\t\t\t\t'caret-right-filled',\r\n\t\t\t\t\t\t'up-circle-filled',\r\n\t\t\t\t\t\t'down-circle-filled',\r\n\t\t\t\t\t\t'left-circle-filled',\r\n\t\t\t\t\t\t'right-circle-filled',\r\n\t\t\t\t\t\t'forward-filled',\r\n\t\t\t\t\t\t'backward-filled',\r\n\t\t\t\t\t\t'play-circle-filled',\r\n\t\t\t\t\t\t'up-square-filled',\r\n\t\t\t\t\t\t'down-square-filled',\r\n\t\t\t\t\t\t'left-square-filled',\r\n\t\t\t\t\t\t'right-square-filled',\r\n\t\t\t\t\t\t'question-circle-filled',\r\n\t\t\t\t\t\t'plus-circle-filled',\r\n\t\t\t\t\t\t'pause-circle-filled',\r\n\t\t\t\t\t\t'minus-circle-filled',\r\n\t\t\t\t\t\t'plus-square-filled',\r\n\t\t\t\t\t\t'minus-square-filled',\r\n\t\t\t\t\t\t'info-circle-filled',\r\n\t\t\t\t\t\t'exclamation-circle-filled',\r\n\t\t\t\t\t\t'close-circle-filled',\r\n\t\t\t\t\t\t'close-square-filled',\r\n\t\t\t\t\t\t'check-circle-filled',\r\n\t\t\t\t\t\t'check-square-filled',\r\n\t\t\t\t\t\t'clock-circle-filled',\r\n\t\t\t\t\t\t'warning-filled',\r\n\t\t\t\t\t\t'stop-filled',\r\n\t\t\t\t\t\t'edit-filled',\r\n\t\t\t\t\t\t'copy-filled',\r\n\t\t\t\t\t\t'delete-filled',\r\n\t\t\t\t\t\t'snippets-filled',\r\n\t\t\t\t\t\t'diff-filled',\r\n\t\t\t\t\t\t'highlight-filled',\r\n\t\t\t\t\t\t'pie-chart-filled',\r\n\t\t\t\t\t\t'box-plot-filled',\r\n\t\t\t\t\t\t'fund-filled',\r\n\t\t\t\t\t\t'sliders-filled',\r\n\t\t\t\t\t\t'android-filled',\r\n\t\t\t\t\t\t'apple-filled',\r\n\t\t\t\t\t\t'windows-filled',\r\n\t\t\t\t\t\t'chrome-filled',\r\n\t\t\t\t\t\t'github-filled',\r\n\t\t\t\t\t\t'aliwangwang-filled',\r\n\t\t\t\t\t\t'weibo-square-filled',\r\n\t\t\t\t\t\t'weibo-circle-filled',\r\n\t\t\t\t\t\t'taobao-circle-filled',\r\n\t\t\t\t\t\t'html5-filled',\r\n\t\t\t\t\t\t'wechat-filled',\r\n\t\t\t\t\t\t'youtube-filled',\r\n\t\t\t\t\t\t'alipay-circle-filled',\r\n\t\t\t\t\t\t'skype-filled',\r\n\t\t\t\t\t\t'gitlab-filled',\r\n\t\t\t\t\t\t'linkedin-filled',\r\n\t\t\t\t\t\t'facebook-filled',\r\n\t\t\t\t\t\t'code-sandbox-circle-filled',\r\n\t\t\t\t\t\t'codepen-circle-filled',\r\n\t\t\t\t\t\t'slack-square-filled',\r\n\t\t\t\t\t\t'behance-square-filled',\r\n\t\t\t\t\t\t'dribbble-square-filled',\r\n\t\t\t\t\t\t'instagram-filled',\r\n\t\t\t\t\t\t'yuque-filled',\r\n\t\t\t\t\t\t'yahoo-filled',\r\n\t\t\t\t\t\t'account-book-filled',\r\n\t\t\t\t\t\t'alert-filled',\r\n\t\t\t\t\t\t'alipay-square-filled',\r\n\t\t\t\t\t\t'amazon-circle-filled',\r\n\t\t\t\t\t\t'amazon-square-filled',\r\n\t\t\t\t\t\t'api-filled',\r\n\t\t\t\t\t\t'appstore-filled',\r\n\t\t\t\t\t\t'audio-filled',\r\n\t\t\t\t\t\t'bank-filled',\r\n\t\t\t\t\t\t'behance-circle-filled',\r\n\t\t\t\t\t\t'bell-filled',\r\n\t\t\t\t\t\t'book-filled',\r\n\t\t\t\t\t\t'bug-filled',\r\n\t\t\t\t\t\t'build-filled',\r\n\t\t\t\t\t\t'bulb-filled',\r\n\t\t\t\t\t\t'calculator-filled',\r\n\t\t\t\t\t\t'calendar-filled',\r\n\t\t\t\t\t\t'camera-filled',\r\n\t\t\t\t\t\t'car-filled',\r\n\t\t\t\t\t\t'carry-out-filled',\r\n\t\t\t\t\t\t'ci-circle-filled',\r\n\t\t\t\t\t\t'cloud-filled',\r\n\t\t\t\t\t\t'code-filled',\r\n\t\t\t\t\t\t'code-sandbox-square-filled',\r\n\t\t\t\t\t\t'codepen-square-filled',\r\n\t\t\t\t\t\t'compass-filled',\r\n\t\t\t\t\t\t'contacts-filled',\r\n\t\t\t\t\t\t'container-filled',\r\n\t\t\t\t\t\t'control-filled',\r\n\t\t\t\t\t\t'copyright-circle-filled',\r\n\t\t\t\t\t\t'credit-card-filled',\r\n\t\t\t\t\t\t'crown-filled',\r\n\t\t\t\t\t\t'customer-service-filled',\r\n\t\t\t\t\t\t'dashboard-filled',\r\n\t\t\t\t\t\t'database-filled',\r\n\t\t\t\t\t\t'dingtalk-circle-filled',\r\n\t\t\t\t\t\t'dingtalk-square-filled',\r\n\t\t\t\t\t\t'dislike-filled',\r\n\t\t\t\t\t\t'dollar-circle-filled',\r\n\t\t\t\t\t\t'dribbble-circle-filled',\r\n\t\t\t\t\t\t'dropbox-circle-filled',\r\n\t\t\t\t\t\t'dropbox-square-filled',\r\n\t\t\t\t\t\t'environment-filled',\r\n\t\t\t\t\t\t'euro-circle-filled',\r\n\t\t\t\t\t\t'experiment-filled',\r\n\t\t\t\t\t\t'eye-filled',\r\n\t\t\t\t\t\t'eye-invisible-filled',\r\n\t\t\t\t\t\t'file-add-filled',\r\n\t\t\t\t\t\t'file-excel-filled',\r\n\t\t\t\t\t\t'file-exclamation-filled',\r\n\t\t\t\t\t\t'file-filled',\r\n\t\t\t\t\t\t'file-image-filled',\r\n\t\t\t\t\t\t'file-markdown-filled',\r\n\t\t\t\t\t\t'file-pdf-filled',\r\n\t\t\t\t\t\t'file-ppt-filled',\r\n\t\t\t\t\t\t'file-text-filled',\r\n\t\t\t\t\t\t'file-unknown-filled',\r\n\t\t\t\t\t\t'file-word-filled',\r\n\t\t\t\t\t\t'file-zip-filled',\r\n\t\t\t\t\t\t'filter-filled',\r\n\t\t\t\t\t\t'fire-filled',\r\n\t\t\t\t\t\t'flag-filled',\r\n\t\t\t\t\t\t'folder-add-filled',\r\n\t\t\t\t\t\t'folder-filled',\r\n\t\t\t\t\t\t'folder-open-filled',\r\n\t\t\t\t\t\t'format-painter-filled',\r\n\t\t\t\t\t\t'frown-filled',\r\n\t\t\t\t\t\t'funnel-plot-filled',\r\n\t\t\t\t\t\t'gift-filled',\r\n\t\t\t\t\t\t'gold-filled',\r\n\t\t\t\t\t\t'golden-filled',\r\n\t\t\t\t\t\t'google-circle-filled',\r\n\t\t\t\t\t\t'google-plus-circle-filled',\r\n\t\t\t\t\t\t'google-plus-square-filled',\r\n\t\t\t\t\t\t'google-square-filled',\r\n\t\t\t\t\t\t'hdd-filled',\r\n\t\t\t\t\t\t'heart-filled',\r\n\t\t\t\t\t\t'home-filled',\r\n\t\t\t\t\t\t'hourglass-filled',\r\n\t\t\t\t\t\t'idcard-filled',\r\n\t\t\t\t\t\t'ie-circle-filled',\r\n\t\t\t\t\t\t'ie-square-filled',\r\n\t\t\t\t\t\t'insurance-filled',\r\n\t\t\t\t\t\t'interaction-filled',\r\n\t\t\t\t\t\t'layout-filled',\r\n\t\t\t\t\t\t'like-filled',\r\n\t\t\t\t\t\t'lock-filled',\r\n\t\t\t\t\t\t'mac-command-filled',\r\n\t\t\t\t\t\t'mail-filled',\r\n\t\t\t\t\t\t'medicine-box-filled',\r\n\t\t\t\t\t\t'medium-circle-filled',\r\n\t\t\t\t\t\t'medium-square-filled',\r\n\t\t\t\t\t\t'meh-filled',\r\n\t\t\t\t\t\t'message-filled',\r\n\t\t\t\t\t\t'mobile-filled',\r\n\t\t\t\t\t\t'money-collect-filled',\r\n\t\t\t\t\t\t'notification-filled',\r\n\t\t\t\t\t\t'pay-circle-filled',\r\n\t\t\t\t\t\t'phone-filled',\r\n\t\t\t\t\t\t'picture-filled',\r\n\t\t\t\t\t\t'play-square-filled',\r\n\t\t\t\t\t\t'pound-circle-filled',\r\n\t\t\t\t\t\t'printer-filled',\r\n\t\t\t\t\t\t'profile-filled',\r\n\t\t\t\t\t\t'project-filled',\r\n\t\t\t\t\t\t'property-safety-filled',\r\n\t\t\t\t\t\t'pushpin-filled',\r\n\t\t\t\t\t\t'qq-circle-filled',\r\n\t\t\t\t\t\t'qq-square-filled',\r\n\t\t\t\t\t\t'read-filled',\r\n\t\t\t\t\t\t'reconciliation-filled',\r\n\t\t\t\t\t\t'red-envelope-filled',\r\n\t\t\t\t\t\t'reddit-circle-filled',\r\n\t\t\t\t\t\t'reddit-square-filled',\r\n\t\t\t\t\t\t'rest-filled',\r\n\t\t\t\t\t\t'robot-filled',\r\n\t\t\t\t\t\t'rocket-filled',\r\n\t\t\t\t\t\t'safety-certificate-filled',\r\n\t\t\t\t\t\t'save-filled',\r\n\t\t\t\t\t\t'schedule-filled',\r\n\t\t\t\t\t\t'security-scan-filled',\r\n\t\t\t\t\t\t'setting-filled',\r\n\t\t\t\t\t\t'shop-filled',\r\n\t\t\t\t\t\t'shopping-filled',\r\n\t\t\t\t\t\t'signal-filled',\r\n\t\t\t\t\t\t'sketch-circle-filled',\r\n\t\t\t\t\t\t'sketch-square-filled',\r\n\t\t\t\t\t\t'skin-filled',\r\n\t\t\t\t\t\t'slack-circle-filled',\r\n\t\t\t\t\t\t'smile-filled',\r\n\t\t\t\t\t\t'sound-filled',\r\n\t\t\t\t\t\t'star-filled',\r\n\t\t\t\t\t\t'switcher-filled',\r\n\t\t\t\t\t\t'tablet-filled',\r\n\t\t\t\t\t\t'tag-filled',\r\n\t\t\t\t\t\t'tags-filled',\r\n\t\t\t\t\t\t'taobao-square-filled',\r\n\t\t\t\t\t\t'thunderbolt-filled',\r\n\t\t\t\t\t\t'tool-filled',\r\n\t\t\t\t\t\t'trademark-circle-filled',\r\n\t\t\t\t\t\t'trophy-filled',\r\n\t\t\t\t\t\t'twitter-circle-filled',\r\n\t\t\t\t\t\t'twitter-square-filled',\r\n\t\t\t\t\t\t'unlock-filled',\r\n\t\t\t\t\t\t'usb-filled',\r\n\t\t\t\t\t\t'video-camera-filled',\r\n\t\t\t\t\t\t'wallet-filled',\r\n\t\t\t\t\t\t'zhihu-circle-filled',\r\n\t\t\t\t\t\t'zhihu-square-filled'\r\n\t\t\t\t\t]\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: '双色风格',\r\n\t\t\t\t\tkey: 'twotone',\r\n\t\t\t\t\titem: [\r\n\t\t\t\t\t\t'up-circle-two-tone',\r\n\t\t\t\t\t\t'down-circle-two-tone',\r\n\t\t\t\t\t\t'left-circle-two-tone',\r\n\t\t\t\t\t\t'right-circle-two-tone',\r\n\t\t\t\t\t\t'play-circle-two-tone',\r\n\t\t\t\t\t\t'up-square-two-tone',\r\n\t\t\t\t\t\t'down-square-two-tone',\r\n\t\t\t\t\t\t'left-square-two-tone',\r\n\t\t\t\t\t\t'right-square-two-tone',\r\n\t\t\t\t\t\t'question-circle-two-tone',\r\n\t\t\t\t\t\t'plus-circle-two-tone',\r\n\t\t\t\t\t\t'pause-circle-two-tone',\r\n\t\t\t\t\t\t'minus-circle-two-tone',\r\n\t\t\t\t\t\t'plus-square-two-tone',\r\n\t\t\t\t\t\t'minus-square-two-tone',\r\n\t\t\t\t\t\t'info-circle-two-tone',\r\n\t\t\t\t\t\t'exclamation-circle-two-tone',\r\n\t\t\t\t\t\t'close-circle-two-tone',\r\n\t\t\t\t\t\t'close-square-two-tone',\r\n\t\t\t\t\t\t'check-circle-two-tone',\r\n\t\t\t\t\t\t'check-square-two-tone',\r\n\t\t\t\t\t\t'clock-circle-two-tone',\r\n\t\t\t\t\t\t'warning-two-tone',\r\n\t\t\t\t\t\t'stop-two-tone',\r\n\t\t\t\t\t\t'edit-two-tone',\r\n\t\t\t\t\t\t'copy-two-tone',\r\n\t\t\t\t\t\t'delete-two-tone',\r\n\t\t\t\t\t\t'snippets-two-tone',\r\n\t\t\t\t\t\t'diff-two-tone',\r\n\t\t\t\t\t\t'highlight-two-tone',\r\n\t\t\t\t\t\t'pie-chart-two-tone',\r\n\t\t\t\t\t\t'box-plot-two-tone',\r\n\t\t\t\t\t\t'fund-two-tone',\r\n\t\t\t\t\t\t'sliders-two-tone',\r\n\t\t\t\t\t\t'account-book-two-tone',\r\n\t\t\t\t\t\t'alert-two-tone',\r\n\t\t\t\t\t\t'api-two-tone',\r\n\t\t\t\t\t\t'appstore-two-tone',\r\n\t\t\t\t\t\t'audio-two-tone',\r\n\t\t\t\t\t\t'bank-two-tone',\r\n\t\t\t\t\t\t'bell-two-tone',\r\n\t\t\t\t\t\t'book-two-tone',\r\n\t\t\t\t\t\t'bug-two-tone',\r\n\t\t\t\t\t\t'build-two-tone',\r\n\t\t\t\t\t\t'bulb-two-tone',\r\n\t\t\t\t\t\t'calculator-two-tone',\r\n\t\t\t\t\t\t'calendar-two-tone',\r\n\t\t\t\t\t\t'camera-two-tone',\r\n\t\t\t\t\t\t'car-two-tone',\r\n\t\t\t\t\t\t'carry-out-two-tone',\r\n\t\t\t\t\t\t'ci-circle-two-tone',\r\n\t\t\t\t\t\t'ci-two-tone',\r\n\t\t\t\t\t\t'cloud-two-tone',\r\n\t\t\t\t\t\t'code-two-tone',\r\n\t\t\t\t\t\t'compass-two-tone',\r\n\t\t\t\t\t\t'contacts-two-tone',\r\n\t\t\t\t\t\t'container-two-tone',\r\n\t\t\t\t\t\t'control-two-tone',\r\n\t\t\t\t\t\t'copyright-circle-two-tone',\r\n\t\t\t\t\t\t'copyright-two-tone',\r\n\t\t\t\t\t\t'credit-card-two-tone',\r\n\t\t\t\t\t\t'crown-two-tone',\r\n\t\t\t\t\t\t'customer-service-two-tone',\r\n\t\t\t\t\t\t'dashboard-two-tone',\r\n\t\t\t\t\t\t'database-two-tone',\r\n\t\t\t\t\t\t'dislike-two-tone',\r\n\t\t\t\t\t\t'dollar-circle-two-tone',\r\n\t\t\t\t\t\t'dollar-two-tone',\r\n\t\t\t\t\t\t'environment-two-tone',\r\n\t\t\t\t\t\t'euro-circle-two-tone',\r\n\t\t\t\t\t\t'account-book-two-tone',\r\n\t\t\t\t\t\t'alert-two-tone',\r\n\t\t\t\t\t\t'api-two-tone',\r\n\t\t\t\t\t\t'appstore-two-tone',\r\n\t\t\t\t\t\t'audio-two-tone',\r\n\t\t\t\t\t\t'bank-two-tone',\r\n\t\t\t\t\t\t'bell-two-tone',\r\n\t\t\t\t\t\t'book-two-tone',\r\n\t\t\t\t\t\t'bug-two-tone',\r\n\t\t\t\t\t\t'build-two-tone',\r\n\t\t\t\t\t\t'bulb-two-tone',\r\n\t\t\t\t\t\t'calculator-two-tone',\r\n\t\t\t\t\t\t'calendar-two-tone',\r\n\t\t\t\t\t\t'camera-two-tone',\r\n\t\t\t\t\t\t'car-two-tone',\r\n\t\t\t\t\t\t'carry-out-two-tone',\r\n\t\t\t\t\t\t'ci-circle-two-tone',\r\n\t\t\t\t\t\t'ci-two-tone',\r\n\t\t\t\t\t\t'cloud-two-tone',\r\n\t\t\t\t\t\t'code-two-tone',\r\n\t\t\t\t\t\t'compass-two-tone',\r\n\t\t\t\t\t\t'contacts-two-tone',\r\n\t\t\t\t\t\t'container-two-tone',\r\n\t\t\t\t\t\t'control-two-tone',\r\n\t\t\t\t\t\t'copyright-circle-two-tone',\r\n\t\t\t\t\t\t'copyright-two-tone',\r\n\t\t\t\t\t\t'credit-card-two-tone',\r\n\t\t\t\t\t\t'crown-two-tone',\r\n\t\t\t\t\t\t'customer-service-two-tone',\r\n\t\t\t\t\t\t'dashboard-two-tone',\r\n\t\t\t\t\t\t'database-two-tone',\r\n\t\t\t\t\t\t'dislike-two-tone',\r\n\t\t\t\t\t\t'dollar-circle-two-tone',\r\n\t\t\t\t\t\t'dollar-two-tone',\r\n\t\t\t\t\t\t'environment-two-tone',\r\n\t\t\t\t\t\t'euro-circle-two-tone',\r\n\t\t\t\t\t\t'euro-two-tone',\r\n\t\t\t\t\t\t'experiment-two-tone',\r\n\t\t\t\t\t\t'eye-two-tone',\r\n\t\t\t\t\t\t'eye-invisible-two-tone',\r\n\t\t\t\t\t\t'file-add-two-tone',\r\n\t\t\t\t\t\t'file-excel-two-tone',\r\n\t\t\t\t\t\t'file-exclamation-two-tone',\r\n\t\t\t\t\t\t'file-two-tone',\r\n\t\t\t\t\t\t'file-image-two-tone',\r\n\t\t\t\t\t\t'file-markdown-two-tone',\r\n\t\t\t\t\t\t'file-pdf-two-tone',\r\n\t\t\t\t\t\t'file-ppt-two-tone',\r\n\t\t\t\t\t\t'file-text-two-tone',\r\n\t\t\t\t\t\t'file-unknown-two-tone',\r\n\t\t\t\t\t\t'file-word-two-tone',\r\n\t\t\t\t\t\t'file-zip-two-tone',\r\n\t\t\t\t\t\t'filter-two-tone',\r\n\t\t\t\t\t\t'fire-two-tone',\r\n\t\t\t\t\t\t'flag-two-tone',\r\n\t\t\t\t\t\t'folder-add-two-tone',\r\n\t\t\t\t\t\t'folder-two-tone',\r\n\t\t\t\t\t\t'folder-open-two-tone',\r\n\t\t\t\t\t\t'frown-two-tone',\r\n\t\t\t\t\t\t'funnel-plot-two-tone',\r\n\t\t\t\t\t\t'gift-two-tone',\r\n\t\t\t\t\t\t'gold-two-tone',\r\n\t\t\t\t\t\t'hdd-two-tone',\r\n\t\t\t\t\t\t'heart-two-tone',\r\n\t\t\t\t\t\t'home-two-tone',\r\n\t\t\t\t\t\t'hourglass-two-tone',\r\n\t\t\t\t\t\t'idcard-two-tone',\r\n\t\t\t\t\t\t'insurance-two-tone',\r\n\t\t\t\t\t\t'interaction-two-tone',\r\n\t\t\t\t\t\t'layout-two-tone',\r\n\t\t\t\t\t\t'like-two-tone',\r\n\t\t\t\t\t\t'lock-two-tone',\r\n\t\t\t\t\t\t'mail-two-tone',\r\n\t\t\t\t\t\t'medicine-box-two-tone',\r\n\t\t\t\t\t\t'meh-two-tone',\r\n\t\t\t\t\t\t'message-two-tone',\r\n\t\t\t\t\t\t'mobile-two-tone',\r\n\t\t\t\t\t\t'money-collect-two-tone',\r\n\t\t\t\t\t\t'notification-two-tone',\r\n\t\t\t\t\t\t'phone-two-tone',\r\n\t\t\t\t\t\t'picture-two-tone',\r\n\t\t\t\t\t\t'play-square-two-tone',\r\n\t\t\t\t\t\t'pound-circle-two-tone',\r\n\t\t\t\t\t\t'printer-two-tone',\r\n\t\t\t\t\t\t'profile-two-tone',\r\n\t\t\t\t\t\t'project-two-tone',\r\n\t\t\t\t\t\t'property-safety-two-tone',\r\n\t\t\t\t\t\t'pushpin-two-tone',\r\n\t\t\t\t\t\t'reconciliation-two-tone',\r\n\t\t\t\t\t\t'red-envelope-two-tone',\r\n\t\t\t\t\t\t'rest-two-tone',\r\n\t\t\t\t\t\t'rocket-two-tone',\r\n\t\t\t\t\t\t'safety-certificate-two-tone',\r\n\t\t\t\t\t\t'save-two-tone',\r\n\t\t\t\t\t\t'schedule-two-tone',\r\n\t\t\t\t\t\t'security-scan-two-tone',\r\n\t\t\t\t\t\t'setting-two-tone',\r\n\t\t\t\t\t\t'shop-two-tone',\r\n\t\t\t\t\t\t'shopping-two-tone',\r\n\t\t\t\t\t\t'skin-two-tone',\r\n\t\t\t\t\t\t'smile-two-tone',\r\n\t\t\t\t\t\t'sound-two-tone',\r\n\t\t\t\t\t\t'star-two-tone',\r\n\t\t\t\t\t\t'switcher-two-tone',\r\n\t\t\t\t\t\t'tablet-two-tone',\r\n\t\t\t\t\t\t'tag-two-tone',\r\n\t\t\t\t\t\t'tags-two-tone',\r\n\t\t\t\t\t\t'thunderbolt-two-tone',\r\n\t\t\t\t\t\t'tool-two-tone',\r\n\t\t\t\t\t\t'trademark-circle-two-tone',\r\n\t\t\t\t\t\t'trophy-two-tone',\r\n\t\t\t\t\t\t'unlock-two-tone',\r\n\t\t\t\t\t\t'usb-two-tone',\r\n\t\t\t\t\t\t'video-camera-two-tone',\r\n\t\t\t\t\t\t'wallet-two-tone'\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\t{\r\n\t\t\tname: '扩展',\r\n\t\t\tkey: 'extend',\r\n\t\t\ticonItem: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: '常用',\r\n\t\t\t\t\tkey: 'default',\r\n\t\t\t\t\titem: uiwIcons\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: '其他',\r\n\t\t\t\t\tkey: 'other',\r\n\t\t\t\t\titem: ['GiteeIcon']\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t]\r\n}\r\n","<template>\r\n\t<a-modal v-model:visible=\"visible\" title=\"图标选择\" :mask-closable=\"false\" :width=\"800\" :destroy-on-close=\"true\" :footer=\"null\" @cancel=\"onCancel\">\r\n\t\t<a-tabs v-model:activeKey=\"activeKey\" tab-position=\"left\" size=\"small\" @change=\"paneChange\">\r\n\t\t\t<a-tab-pane v-for=\"item in iconData\" :key=\"item.key\" :tab=\"item.name\">\r\n\t\t\t\t<div v-if=\"item.iconItem.length > 1\" class=\"xn-icon-select-radio\">\r\n\t\t\t\t\t<a-radio-group v-model:value=\"iconItemDefault\" @change=\"radioGroupChange\">\r\n\t\t\t\t\t\t<a-radio-button v-for=\"iconItem in item.iconItem\" :key=\"iconItem.key\" :value=\"iconItem.key\">{{ iconItem.name }}</a-radio-button>\r\n\t\t\t\t\t</a-radio-group>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div :key=\"iconItemIns\" v-for=\"iconItemIns in item.iconItem\">\r\n\t\t\t\t\t<div v-if=\"iconItemIns.key === iconItemDefault\" class=\"xn-icon-select-list\">\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t<li v-for=\"icon in iconItemIns.item\" :key=\"icon\" :class=\"icon === modelValue ? 'active' : ''\" @click=\"selectIcon(icon)\">\r\n\t\t\t\t\t\t\t\t<component :is=\"icon\" class=\"xn-icons\" />\r\n\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</a-tab-pane>\r\n\t\t</a-tabs>\r\n\t</a-modal>\r\n</template>\r\n<script>\r\n\timport iconSelect from '@/utils/iconSelect.js'\r\n\texport default {\r\n    name:'IconSelector',\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tvisible: false,\r\n\t\t\t\ticonData: [],\r\n\t\t\t\tmodelValue: '',\r\n\t\t\t\tactiveKey: 'default',\r\n\t\t\t\ticonItemDefault: 'default'\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.iconData.push(...iconSelect.icons)\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t// 打开\r\n\t\t\tshowIconModal(value) {\r\n\t\t\t\tthis.visible = true\r\n\t\t\t\tthis.defaultSetting(value)\r\n\t\t\t},\r\n\t\t\t// 默认配置\r\n\t\t\tdefaultSetting(value) {\r\n\t\t\t\tif ((value !== undefined) & (value !== '') & (value !== 'undefined')) {\r\n\t\t\t\t\tthis.modelValue = value\r\n\t\t\t\t\t// 判断展开哪个\r\n\t\t\t\t\tif (value.indexOf('-outlined') > -1 || value.indexOf('-filled') > -1 || value.indexOf('-two-tone') > -1) {\r\n\t\t\t\t\t\tthis.activeKey = 'default'\r\n\t\t\t\t\t\tif (value.indexOf('-two-tone') > -1) {\r\n\t\t\t\t\t\t\tthis.iconItemDefault = 'twotone'\r\n\t\t\t\t\t\t} else if (value.indexOf('-filled') > -1) {\r\n\t\t\t\t\t\t\tthis.iconItemDefault = 'filled'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (value.indexOf('-extend') > -1) {\r\n\t\t\t\t\t\t// 扩展列表\r\n\t\t\t\t\t\tthis.activeKey = 'extend'\r\n\t\t\t\t\t\t// 如扩展其他顶部单选的情况，默认选中在这里配置,同时这里需要做判断\r\n\t\t\t\t\t\t// this.iconItemDefault = '您的json中配置的'\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 切换标签页，如果是切换到了没用额外的标签页的地方，我们将其置为默认\r\n\t\t\tpaneChange(e) {\r\n\t\t\t\tif (e.indexOf('default') === -1) {\r\n\t\t\t\t\tthis.iconItemDefault = 'default'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 切换icon风格\r\n\t\t\tradioGroupChange(e) {\r\n\t\t\t\tthis.iconItemDefault = e.target.value\r\n\t\t\t},\r\n\t\t\t// 选择图标后关闭并返回\r\n\t\t\tselectIcon(value) {\r\n\t\t\t\tthis.defaultValue = value\r\n\t\t\t\tthis.visible = false\r\n\t\t\t\t// eslint-disable-next-line vue/require-explicit-emits\r\n\t\t\t\tthis.$emit('iconCallBack', this.defaultValue)\r\n\t\t\t},\r\n\t\t\tonCancel() {\r\n\t\t\t\tthis.visible = false\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n<style lang=\"less\" scoped>\r\n\t.xn-icon-select-radio {\r\n\t\tpadding-left: 5px;\r\n\t\tpadding-bottom: 10px;\r\n\t}\r\n\t.xn-icons {\r\n\t\tfont-size: 26px;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n\t.xn-icon-select-list {\r\n\t\theight: 360px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t.xn-icon-select-list ul {\r\n\t\tli {\r\n\t\t\tdisplay: inline-block;\r\n\t\t\twidth: 60px;\r\n\t\t\theight: 60px;\r\n\t\t\tpadding: 18px;\r\n\t\t\tmargin: 5px;\r\n\t\t\tborder-radius: 2px;\r\n\t\t\tvertical-align: top;\r\n\t\t\tbox-shadow: 0 0 0 1px var(--border-color-split);\r\n\t\t\ttransition: all 0.1s;\r\n\t\t\tposition: relative;\r\n\t\t\t&:hover,\r\n\t\t\t&.active {\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tcolor: #ffffff;\r\n\t\t\t\tbackground-color: var(--primary-color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer\r\n\t\t:title=\"formData.id ? '编辑单页' : '增加单页'\"\r\n\t\t:width=\"500\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:body-style=\"{ paddingBottom: '80px' }\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"单页名称：\" name=\"title\">\r\n\t\t\t\t<a-input v-model:value=\"formData.title\" placeholder=\"请输入单页名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"单页类型：\" name=\"menuType\">\r\n\t\t\t\t<a-radio-group\r\n\t\t\t\t\tv-model:value=\"formData.menuType\"\r\n\t\t\t\t\tbutton-style=\"solid\"\r\n\t\t\t\t\t:options=\"categoryOptions\"\r\n\t\t\t\t\toption-type=\"button\"\r\n\t\t\t\t>\r\n\t\t\t\t</a-radio-group>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item name=\"path\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t类型为内外链条时，输入https开头的链接即可（例：https://www.xiaonuo.vip）,正常路由前面必须有反斜杠！\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp {{ formData.menuType === 'MENU' ? '路由地址' : 'https链接地址' }}：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input v-model:value=\"formData.path\" placeholder=\"请输入路由地址\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item v-if=\"formData.menuType === 'MENU'\" name=\"component\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title> 按规范可设置为代码组件文件夹名称,注：首字母无反斜杠哦！ </template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp 组件地址：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input\r\n\t\t\t\t\tv-model:value=\"formData.component\"\r\n\t\t\t\t\taddon-before=\"src/views/\"\r\n\t\t\t\t\tplaceholder=\"请输入组件地址\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t/>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item name=\"name\" v-if=\"formData.menuType === 'MENU'\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title> 按规范可设置为代码组件文件夹名称,注：首字母无反斜杠哦！ </template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp 别名：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input\r\n\t\t\t\t\tv-model:value=\"formData.name\"\r\n\t\t\t\t\taddon-before=\"setup name=\"\r\n\t\t\t\t\tplaceholder=\"请输入组件组件中name属性\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t/>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-alert style=\"margin-bottom: 10px\" message=\"温馨提示：排序第一条为首页页面！\" type=\"warning\" closable />\r\n\t\t\t<a-form-item label=\"图标：\" name=\"icon\">\r\n\t\t\t\t<a-input v-model:value=\"formData.icon\" style=\"width: calc(100% - 70px)\" placeholder=\"请选择图标\" allow-clear />\r\n\t\t\t\t<a-button type=\"primary\" @click=\"iconSelector.showIconModal(formData.icon)\">选择</a-button>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序:\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t\t<Icon-selector ref=\"iconSelector\" @iconCallBack=\"iconCallBack\" />\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"spaForm\">\r\nimport {required} from '@/utils/formRules'\r\nimport IconSelector from '@/comDefault/Selector/iconSelector.vue'\r\nimport spaApi from '@/api/sys/resource/spaApi'\r\nimport {getCurrentInstance} from 'vue'\r\n// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\tconst formData = ref({})\r\n\tconst submitLoading = ref(false)\r\n\tconst iconSelector = ref()\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tmenuType: 'MENU',\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformRef.value.resetFields()\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\ttitle: [required('请输入菜单名称')],\r\n\t\tmenuType: [required('请选择菜单类型')],\r\n\t\tpath: [required('请输入路由地址')],\r\n\t\tname: [required('请输入组件中name属性')],\r\n\t\tmodule: [required('请选择模块')],\r\n\t\tcomponent: [required('请输入组件地址')]\r\n\t}\r\n\t// 图标选择器回调\r\n\tconst iconCallBack = (value) => {\r\n\t\tformData.value.icon = value\r\n\t}\r\n\tconst { proxy } = getCurrentInstance()\r\n\tlet categoryOptions = proxy.$TOOL\r\n\t\t.dictTypeList('MENU_TYPE')\r\n\t\t.filter((item) => {\r\n\t\t\t// 排除\r\n\t\t\tif (item.dictValue !== 'CATALOG') {\r\n\t\t\t\treturn item\r\n\t\t\t}\r\n\t\t})\r\n\t\t.map((item) => {\r\n\t\t\treturn {\r\n\t\t\t\tvalue: item['dictValue'],\r\n\t\t\t\tlabel: item['name'] + '页'\r\n\t\t\t}\r\n\t\t})\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value\r\n\t\t\t.validate()\r\n\t\t\t.then(() => {\r\n\t\t\t\tconst param = parameterChanges(formData.value)\r\n\t\t\t\tsubmitLoading.value = true\r\n\t\t\t\tspaApi.submitForm(param, !param.id).then(() => {\r\n\t\t\t\t\tvisible.value = false\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t}).finally(() => {\r\n\t\t\t\t\tsubmitLoading.value = false\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\tconst parameterChanges = (data) => {\r\n\t\tif (!data.component) {\r\n\t\t\treturn data\r\n\t\t}\r\n\t\t// 如果用户输入的组件path路径\r\n\t\tif (data.component.slice(0, 1) === '/') {\r\n\t\t\tdata.component = data.component.slice(1)\r\n\t\t}\r\n\t\treturn data\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-alert style=\"margin-bottom: 10px\" message=\"温馨提示：排序第一条为首页页面！\" show-icon type=\"warning\" closable />\r\n\t<SearchForm\r\n\t\t:form-state=\"searchFormState\"\r\n\t\t:form-fields=\"[\r\n\t\t\t{ label: '名称关键词', name: 'searchKey', span: 8 },\r\n\t\t\t{ label: '类型', name: 'menuType', span: 8 }\r\n\t\t]\"\r\n\t\t@search=\"table.refresh(true)\"\r\n\t\t@reset=\"handleReset\"\r\n\t\tref=\"formRef\"\r\n\t>\r\n\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入单页名称关键词\" allow-clear />\r\n\t\t</template>\r\n\t\t<template #menuType=\"{ formState }\">\r\n\t\t\t<a-select v-model:value=\"formState.menuType\" :options=\"categoryOptions\" placeholder=\"请选择类型\" allow-clear />\r\n\t\t</template>\r\n\t</SearchForm>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table\r\n\t\t\tref=\"table\"\r\n\t\t\t:columns=\"columns\"\r\n\t\t\t:data=\"loadData\"\r\n\t\t\t:alert=\"options.alert.show\"\r\n\t\t\tbordered\r\n\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t:tool-config=\"toolConfig\"\r\n\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t>\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'icon'\">\r\n\t\t\t\t\t<component :is=\"record.icon\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'menuType'\">\r\n\t\t\t\t\t<a-tag v-if=\"record.menuType === 'MENU'\" color=\"blue\"> {{ $TOOL.dictTypeData('MENU_TYPE', record.menuType) }}页 </a-tag>\r\n\t\t\t\t\t<a-tag v-if=\"record.menuType === 'IFRAME'\" color=\"purple\"> {{ $TOOL.dictTypeData('MENU_TYPE', record.menuType) }}页 </a-tag>\r\n\t\t\t\t\t<a-tag v-if=\"record.menuType === 'LINK'\" color=\"orange\"> {{ $TOOL.dictTypeData('MENU_TYPE', record.menuType) }}页 </a-tag>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a-space>\r\n\t\t\t\t\t\t<a @click=\"form.onOpen(record)\">编辑</a>\r\n\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t<a-popconfirm title=\"确定要删除此单页吗？\" @confirm=\"removeSpa(record)\">\r\n\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t</a-space>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n</template>\r\n<script setup name=\"sysResourceSpaIndex\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport spaApi from '@/api/sys/resource/spaApi'\r\n\timport { tool } from 'elead-ui-tool-v3'\r\n\timport Form from './form.vue'\r\n\tlet searchFormState = reactive({})\r\n\tconst formRef = ref()\r\n\tconst table = ref(null)\r\n\tlet form = ref()\r\n\t// handleReset方法\r\n\tconst handleReset = () => {\r\n\t\tformRef.value?.resetFields()\r\n\t}\r\n\t// operatorConfig配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增单页',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen()\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchSpa,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0\r\n\t\t}\r\n\t])\r\n\tconst toolConfig = { refresh: true, height: true, columnSetting: false, striped: false }\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '单页名称',\r\n\t\t\tdataIndex: 'title',\r\n\t\t\twidth: 260\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '图标',\r\n\t\t\tdataIndex: 'icon'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '类型',\r\n\t\t\tdataIndex: 'menuType'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '路由地址',\r\n\t\t\tdataIndex: 'path',\r\n\t\t\tellipsis: true,\r\n\t\t\twidth: 150\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '组件',\r\n\t\t\tdataIndex: 'component',\r\n\t\t\tellipsis: true,\r\n\t\t\twidth: 150\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\t\t\tdataIndex: 'sortCode',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '创建时间',\r\n\t\t\tdataIndex: 'createTime',\r\n\t\t\tellipsis: true,\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\twidth: '180px',\r\n\t\t\talign: 'center',\r\n\t\t\tscopedSlots: { customRender: 'action' }\r\n\t\t}\r\n\t]\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tlet categoryOptions = tool\r\n\t\t.dictTypeList('MENU_TYPE')\r\n\t\t.filter((item) => {\r\n\t\t\t// 排除\r\n\t\t\tif (item.dictValue !== 'CATALOG') {\r\n\t\t\t\treturn item\r\n\t\t\t}\r\n\t\t})\r\n\t\t.map((item) => {\r\n\t\t\treturn {\r\n\t\t\t\tvalue: item['dictValue'],\r\n\t\t\t\tlabel: item['name'] + '页'\r\n\t\t\t}\r\n\t\t})\r\n\t// 列表数据\r\n\tconst loadData = (parameter) => {\r\n\t\treturn spaApi.spaPage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 删除\r\n\tconst removeSpa = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tspaApi.spaDelete(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchSpa = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\tspaApi.spaDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n</script>\r\n<style scoped></style>\r\n","<template>\r\n\t<a-drawer\r\n\t\t:title=\"formData.id ? '编辑菜单' : '增加菜单'\"\r\n\t\t:width=\"500\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:body-style=\"{ paddingBottom: '80px' }\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"显示名称：\" name=\"title\">\r\n\t\t\t\t<a-input v-model:value=\"formData.title\" placeholder=\"请输入显示名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"菜单类型：\" name=\"menuType\">\r\n\t\t\t\t<a-radio-group\r\n\t\t\t\t\tv-model:value=\"formData.menuType\"\r\n\t\t\t\t\tbutton-style=\"solid\"\r\n\t\t\t\t\t:options=\"categoryOptions\"\r\n\t\t\t\t\toption-type=\"button\"\r\n\t\t\t\t>\r\n\t\t\t\t</a-radio-group>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"上级菜单：\" name=\"parentId\">\r\n\t\t\t\t<a-tree-select\r\n\t\t\t\t\tv-model:value=\"formData.parentId\"\r\n\t\t\t\t\tv-model:treeExpandedKeys=\"defaultExpandedKeys\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t:dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n\t\t\t\t\tplaceholder=\"请选择上级菜单\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t\ttree-default-expand-all\r\n\t\t\t\t\t:tree-data=\"treeData\"\r\n\t\t\t\t\t:field-names=\"{\r\n\t\t\t\t\t\tchildren: 'children',\r\n\t\t\t\t\t\tlabel: 'title',\r\n\t\t\t\t\t\tvalue: 'id'\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\tselectable=\"false\"\r\n\t\t\t\t\ttree-line\r\n\t\t\t\t\t@change=\"parentChange(formData.parentId)\"\r\n\t\t\t\t></a-tree-select>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item v-if=\"formData.menuType !== 'CATALOG'\" name=\"path\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t类型为内外链条时，输入https开头的链接即可（例：https://xiaonuo.vip）,正常路由前面必须有反斜杠！\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp {{ formData.menuType === 'MENU' || formData.menuType === 'CATALOG' ? '路由地址' : 'https链接地址' }}：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input v-model:value=\"formData.path\" placeholder=\"请输入路由地址\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item v-if=\"formData.menuType === 'MENU'\" name=\"component\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title> 按规范可设置为代码组件文件夹名称,注：首字母无反斜杠哦！ </template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp 组件地址：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input\r\n\t\t\t\t\tv-model:value=\"formData.component\"\r\n\t\t\t\t\taddon-before=\"src/views/\"\r\n\t\t\t\t\tplaceholder=\"请输入组件地址\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t/>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item v-if=\"formData.menuType === 'MENU'\" name=\"name\">\r\n\t\t\t\t<template #label>\r\n\t\t\t\t\t<a-tooltip>\r\n\t\t\t\t\t\t<template #title> 按规范可设置为代码组件文件夹名称,注：首字母无反斜杠哦！ </template>\r\n\t\t\t\t\t\t<question-circle-outlined />\r\n\t\t\t\t\t</a-tooltip>\r\n\t\t\t\t\t&nbsp 别名：\r\n\t\t\t\t</template>\r\n\t\t\t\t<a-input\r\n\t\t\t\t\tv-model:value=\"formData.name\"\r\n\t\t\t\t\taddon-before=\"setup name=\"\r\n\t\t\t\t\tplaceholder=\"请输入组件组件中name属性\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t/>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"图标：\" name=\"icon\">\r\n\t\t\t\t<a-input v-model:value=\"formData.icon\" style=\"width: calc(100% - 70px)\" placeholder=\"请选择图标\" allow-clear />\r\n\t\t\t\t<a-button type=\"primary\" @click=\"iconSelector.showIconModal(formData.icon)\">选择</a-button>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序:\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t\t<Icon-selector ref=\"iconSelector\" @iconCallBack=\"iconCallBack\" />\r\n\t</a-drawer>\r\n</template>\r\n<script setup>\r\nimport {required} from '@/utils/formRules'\r\nimport SnowflakeId from 'snowflake-id'\r\nimport menuApi from '@/api/sys/resource/menuApi'\r\nimport IconSelector from '@/comDefault/Selector/iconSelector.vue'\r\nimport {getCurrentInstance} from 'vue'\r\n// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\tconst treeData = ref([])\r\n\tlet iconSelector = ref()\r\n\t// 表单数据，也就是默认给一些数据\r\n\tconst formData = ref({})\r\n\t// 默认展开的节点(顶级)\r\n\tconst defaultExpandedKeys = ref([0])\r\n\tconst submitLoading = ref(false)\r\n\t// 模块ID\r\n\tconst moduleId = ref('')\r\n\t// 打开抽屉\r\n\tconst onOpen = (record, module) => {\r\n\t\tmoduleId.value = module\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tmenuType: 'MENU',\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t\t// 获取菜单树并加入顶级\r\n\t\tconst treeParam = {\r\n\t\t\tmodule: module\r\n\t\t}\r\n\t\tmenuApi.menuTreeSelector(treeParam).then((res) => {\r\n\t\t\ttreeData.value = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 0,\r\n\t\t\t\t\tparentId: '-1',\r\n\t\t\t\t\ttitle: '顶级',\r\n\t\t\t\t\tchildren: res\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformRef.value.resetFields()\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 选择上级加载模块的选择框\r\n\tconst parentChange = (value) => {\r\n\t\tif (value > 0) {\r\n\t\t\t// 执行接口去查询选择的上级是哪个模块，吧对应的也置为一样的\r\n\t\t\tconst param = {\r\n\t\t\t\tid: value\r\n\t\t\t}\r\n\t\t\tmenuApi.menuDetail(param).then((res) => {\r\n\t\t\t\tformData.value.module = res.module\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tformData.value.module = null\r\n\t\t}\r\n\t}\r\n\t// 图标选择器回调\r\n\tconst iconCallBack = (value) => {\r\n\t\tformData.value.icon = value\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\ttitle: [required('请输入菜单名称')],\r\n\t\tparentId: [required('请选择上级菜单')],\r\n\t\tmenuType: [required('请选择菜单类型')],\r\n\t\tpath: [required('请输入路由地址')],\r\n\t\tname: [required('请输入组件中name属性')],\r\n\t\tmodule: [required('请选择模块')],\r\n\t\tcomponent: [required('请输入组件地址')]\r\n\t}\r\n\tconst { proxy } = getCurrentInstance()\r\n\tlet categoryOptions = proxy.$TOOL.dictTypeList('MENU_TYPE').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value\r\n\t\t\t.validate()\r\n\t\t\t.then(() => {\r\n\t\t\t\tconst param = parameterChanges(formData.value)\r\n\t\t\t\tsubmitLoading.value = true\r\n\t\t\t\tmenuApi.submitForm(param, !param.id).then(() => {\r\n\t\t\t\t\tonClose()\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t})\r\n\t\t\t}).finally(() => {\r\n\t\t\t\tsubmitLoading.value = false\r\n\t\t\t})\r\n\t}\r\n\tconst parameterChanges = (data) => {\r\n\t\t// 每个都先增加一个模块ID\r\n\t\tdata.module = moduleId.value\r\n\t\t// 如果是目录级菜单，他的path跟name我们在前端生成，无需使用着填写\r\n\t\tif (data.menuType !== 'MENU') {\r\n\t\t\tconst snowflake = new SnowflakeId()\r\n\t\t\tconst uuid = snowflake.generate()\r\n\t\t\tif (!data.path) {\r\n\t\t\t\tdata.path = '/' + uuid\r\n\t\t\t}\r\n\t\t\tif (!data.name) {\r\n\t\t\t\tdata.name = uuid\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!data.component) {\r\n\t\t\treturn data\r\n\t\t}\r\n\t\t// 如果用户输入的组件path路径\r\n\t\tif (data.component.slice(0, 1) === '/') {\r\n\t\t\tdata.component = data.component.slice(1)\r\n\t\t}\r\n\t\treturn data\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-drawer\r\n\t\ttitle=\"更改模块\"\r\n\t\t:width=\"500\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:body-style=\"{ paddingBottom: '80px' }\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"显示名称：\" name=\"title\">\r\n\t\t\t\t<span>{{formData.title}}</span>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"所属目录：\" name=\"module\" v-if=\"formData.parentId === '0'\" >\r\n\t\t\t\t<a-radio-group v-model:value=\"formData.module\" button-style=\"solid\">\r\n\t\t\t\t\t<a-radio-button\r\n\t\t\t\t\t\tv-for=\"module in moduleTypeList\"\r\n\t\t\t\t\t\t:key=\"module.id\"\r\n\t\t\t\t\t\t:value=\"module.id\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<component :is=\"module.icon\" />\r\n\t\t\t\t\t\t{{ module.title }}</a-radio-button\r\n\t\t\t\t\t>\r\n\t\t\t\t</a-radio-group>\r\n\t\t\t</a-form-item>\r\n\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n\r\n<script setup>\r\nimport {required} from '@/utils/formRules'\r\nimport menuApi from '@/api/sys/resource/menuApi'\r\n// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\t// 表单数据，也就是默认给一些数据\r\n\tconst formData = ref({})\r\n\tconst submitLoading = ref(false)\r\n\tconst moduleTypeList = ref([])\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t\t// 获取模块列表\r\n\t\tmenuApi.menuModuleSelector().then((data) => {\r\n\t\t\tmoduleTypeList.value = data\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformRef.value.resetFields()\r\n\t\tvisible.value = false\r\n\t}\r\n\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\tmodule: [required('请选择所属目录')],\r\n\t}\r\n\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value\r\n\t\t\t.validate()\r\n\t\t\t.then(() => {\r\n\t\t\t\tconst param = {\r\n\t\t\t\t\tid: formData.value.id,\r\n\t\t\t\t\tmodule: formData.value.module\r\n\t\t\t\t}\r\n\t\t\t\tsubmitLoading.value = true\r\n\t\t\t\tmenuApi.menuChangeModule(param).then(() => {\r\n\t\t\t\t\tsubmitLoading.value = false\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t}).finally(() => {\r\n\t\t\t\t\tvisible.value = false\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-modal\r\n\t\tv-model:visible=\"visible\"\r\n\t\t:title=\"formData.id ? '编辑按钮' : '增加按钮'\"\r\n\t\t:width=\"500\"\r\n\t\t:mask-closable=\"false\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t@ok=\"onSubmit\"\r\n\t\t@cancel=\"onClose\"\r\n\t>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"显示名称：\" name=\"title\">\r\n\t\t\t\t<a-input v-model:value=\"formData.title\" placeholder=\"请输入显示名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"编码：\" name=\"code\">\r\n\t\t\t\t<a-input v-model:value=\"formData.code\" placeholder=\"请输入按钮编码\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序:\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" :min=\"0\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t</a-modal>\r\n</template>\r\n\r\n<script setup>\r\n\timport { required } from '@/utils/formRules'\r\n\timport buttonApi from '@/api/sys/resource/buttonApi'\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\t// 表单数据，也就是默认给一些数据\r\n\tconst formData = ref({})\r\n\tconst recordData = ref()\r\n\t// 打开弹框\r\n\tconst onOpen = (record, buttonData) => {\r\n\t\tvisible.value = true\r\n\t\trecordData.value = record\r\n\t\tformData.value = {\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (buttonData) {\r\n\t\t\tformData.value = Object.assign({}, buttonData)\r\n\t\t}\r\n\t}\r\n\t// 关闭弹框\r\n\tconst onClose = () => {\r\n\t\tformRef.value.resetFields()\r\n\t\tvisible.value = false\r\n\t}\r\n\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\ttitle: [required('请输入按钮名称')],\r\n\t\tcode: [required('请输入按钮编码')]\r\n\t}\r\n\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value\r\n\t\t\t.validate()\r\n\t\t\t.then(() => {\r\n\t\t\t\tconst defParam = {\r\n\t\t\t\t\tcategory: 'BUTTON',\r\n\t\t\t\t\t// module: recordData.value.module,\r\n\t\t\t\t\tparentId: recordData.value.id\r\n\t\t\t\t}\r\n\t\t\t\tconst param = Object.assign(defParam, formData.value)\r\n\t\t\t\tbuttonApi.submitForm(param, !formData.value.id).then((res) => {\r\n\t\t\t\t\tonClose()\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-drawer\r\n\t\ttitle=\"按钮权限\"\r\n\t\t:width=\"650\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:body-style=\"{ paddingBottom: '80px' }\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<s-table\r\n\t\t\tref=\"table\"\r\n\t\t\t:columns=\"columns\"\r\n\t\t\t:data=\"loadData\"\r\n\t\t\t:alert=\"false\"\r\n\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t:tool-config=\"toolConfig\"\r\n\t\t>\r\n\t\t\t<template #operator class=\"table-operator\">\r\n\t\t\t\t<a-button type=\"primary\" @click=\"buttonForm.onOpen(recordData)\">\r\n\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t<plus-outlined />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<span>新增按钮</span>\r\n\t\t\t\t</a-button>\r\n\t\t\t</template>\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.key === 'action'\">\r\n\t\t\t\t\t<a @click=\"buttonForm.onOpen(recordData, record)\">编辑</a>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a-popconfirm title=\"确定要删除此按钮吗？\" @confirm=\"removeButton(record)\">\r\n\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-drawer>\r\n\t<Form ref=\"buttonForm\" @successful=\"table.refresh(true)\" />\r\n</template>\r\n\r\n<script setup>\r\n\timport { message } from 'ant-design-vue'\r\n\timport buttonApi from '@/api/sys/resource/buttonApi'\r\n\timport Form from './form.vue'\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '名称',\r\n\t\t\tdataIndex: 'title'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '编码',\r\n\t\t\tdataIndex: 'code'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\t\t\tdataIndex: 'sortCode',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tkey: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\tscopedSlots: { customRender: 'action' }\r\n\t\t}\r\n\t]\r\n\tconst toolConfig = { refresh: true, height: false, columnSetting: false, striped: false }\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst searchFormState = ref()\r\n\tconst buttonForm = ref()\r\n\tconst recordData = ref()\r\n\tconst table = ref()\r\n\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\trecordData.value = record\r\n\t\tsearchFormState.value = {\r\n\t\t\tparentId: record.id,\r\n\t\t\tcategory: 'BUTTON'\r\n\t\t}\r\n\t\tvisible.value = true\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 加载按钮数据\r\n\tconst loadData = (parameter) => {\r\n\t\treturn buttonApi.buttonPage(Object.assign(parameter, searchFormState.value)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 删除\r\n\tconst removeButton = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tbuttonApi.buttonDelete(params).then((res) => {\r\n\t\t\tmessage.success(res.msg)\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-card :bordered=\"false\" class=\"select-card\">\r\n\t\t<a-space>\r\n\t\t\t<a-radio-group v-model:value=\"moduleType\" button-style=\"solid\">\r\n\t\t\t\t<a-radio-button v-for=\"module in moduleTypeList\" :key=\"module.id\" :value=\"module.id\" @click=\"moduleClock(module.id)\">\r\n\t\t\t\t\t<component :is=\"module.icon\" />\r\n\t\t\t\t\t{{ module.title }}</a-radio-button\r\n\t\t\t\t>\r\n\t\t\t</a-radio-group>\r\n\t\t</a-space>\r\n\t</a-card>\r\n\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"searchFormFields\" @search=\"onSearch\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t<a-input v-model:value=\"formState.searchKey\" allowClear placeholder=\"请输入菜单名称关键词\" />\r\n\t\t</template>\r\n\t</SearchForm>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table\r\n\t\t\tref=\"table\"\r\n\t\t\t:columns=\"columns\"\r\n\t\t\t:data=\"loadData\"\r\n\t\t\t:alert=\"options.alert.show\"\r\n\t\t\tbordered\r\n\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t:show-pagination=\"false\"\r\n\t\t\t:tool-config=\"toolConfig\"\r\n\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t>\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'path'\">\r\n\t\t\t\t\t<span v-if=\"record.menuType === 'MENU'\">{{ record.path }}</span>\r\n\t\t\t\t\t<span v-else>-</span>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'component'\">\r\n\t\t\t\t\t<span v-if=\"record.menuType === 'MENU'\">{{ record.component }}</span>\r\n\t\t\t\t\t<span v-else>-</span>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'icon'\">\r\n\t\t\t\t\t<component :is=\"record.icon\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'menuType'\">\r\n\t\t\t\t\t<a-tag v-if=\"record.menuType === 'CATALOG'\" color=\"cyan\">\r\n\t\t\t\t\t\t{{ $TOOL.dictTypeData('MENU_TYPE', record.menuType) }}\r\n\t\t\t\t\t</a-tag>\r\n\t\t\t\t\t<a-tag v-if=\"record.menuType === 'MENU'\" color=\"blue\">\r\n\t\t\t\t\t\t{{ $TOOL.dictTypeData('MENU_TYPE', record.menuType) }}\r\n\t\t\t\t\t</a-tag>\r\n\t\t\t\t\t<a-tag v-if=\"record.menuType === 'IFRAME'\" color=\"purple\">\r\n\t\t\t\t\t\t{{ $TOOL.dictTypeData('MENU_TYPE', record.menuType) }}\r\n\t\t\t\t\t</a-tag>\r\n\t\t\t\t\t<a-tag v-if=\"record.menuType === 'LINK'\" color=\"orange\">\r\n\t\t\t\t\t\t{{ $TOOL.dictTypeData('MENU_TYPE', record.menuType) }}\r\n\t\t\t\t\t</a-tag>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a-space>\r\n\t\t\t\t\t\t<a @click=\"form.onOpen(record, moduleType)\">编辑</a>\r\n\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t<a-popconfirm title=\"确定要删除此菜单吗？\" @confirm=\"deleteMenu(record)\">\r\n\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t\t<div v-if=\"record.parentId === '0' || record.menuType === 'MENU'\">\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a-dropdown>\r\n\t\t\t\t\t\t\t\t<a class=\"ant-dropdown-link\">\r\n\t\t\t\t\t\t\t\t\t更多\r\n\t\t\t\t\t\t\t\t\t<DownOutlined />\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<template #overlay>\r\n\t\t\t\t\t\t\t\t\t<a-menu>\r\n\t\t\t\t\t\t\t\t\t\t<a-menu-item v-if=\"record.parentId === '0'\">\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"changeModuleFormRef.onOpen(record)\">更改模块</a>\r\n\t\t\t\t\t\t\t\t\t\t</a-menu-item>\r\n\t\t\t\t\t\t\t\t\t\t<a-menu-item v-if=\"record.menuType === 'MENU'\">\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"button.onOpen(record)\">按钮权限</a>\r\n\t\t\t\t\t\t\t\t\t\t</a-menu-item>\r\n\t\t\t\t\t\t\t\t\t</a-menu>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</a-dropdown>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</a-space>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n\t<ChangeModuleForm ref=\"changeModuleFormRef\" @successful=\"table.refresh(true)\" />\r\n\t<Button ref=\"button\" />\r\n</template>\r\n<script setup name=\"sysResourceMenuIndex\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport menuApi from '@/api/sys/resource/menuApi'\r\n\timport Form from './form.vue'\r\n\timport ChangeModuleForm from './changeModuleForm.vue'\r\n\timport Button from '../button/index.vue'\r\n\tlet searchFormState = reactive({})\r\n\tconst table = ref(null)\r\n\tconst searchFormRef = ref(null)\r\n\tlet form = ref()\r\n\tlet changeModuleFormRef = ref()\r\n\tlet button = ref()\r\n\tlet field = ref()\r\n\tconst moduleType = ref()\r\n\tlet moduleTypeList = ref([])\r\n\r\n\t// 搜索表单字段配置\r\n\tconst searchFormFields = computed(() => [{ label: '菜单名称', name: 'searchKey', span: 6 }])\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增菜单',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen(undefined, moduleType.value)\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchMenu,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0\r\n\t\t}\r\n\t])\r\n\tconst toolConfig = { refresh: true, height: true, columnSetting: false, striped: false }\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '显示名称',\r\n\t\t\tdataIndex: 'title',\r\n\t\t\twidth: 260\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '图标',\r\n\t\t\tdataIndex: 'icon'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '类型',\r\n\t\t\tdataIndex: 'menuType'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '路由地址',\r\n\t\t\tdataIndex: 'path',\r\n\t\t\tellipsis: true,\r\n\t\t\twidth: 150\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '组件',\r\n\t\t\tdataIndex: 'component',\r\n\t\t\tellipsis: true,\r\n\t\t\twidth: 150\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\t\t\tdataIndex: 'sortCode',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '创建时间',\r\n\t\t\tdataIndex: 'createTime',\r\n\t\t\tellipsis: true,\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\twidth: '200px',\r\n\t\t\tscopedSlots: { customRender: 'action' }\r\n\t\t}\r\n\t]\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst loadData = (parameter) => {\r\n\t\tif (!moduleType.value) {\r\n\t\t\treturn menuApi.menuModuleSelector().then((data) => {\r\n\t\t\t\tmoduleTypeList.value = data\r\n\t\t\t\tmoduleType.value = data.length > 0 ? data[0].id : ''\r\n\t\t\t\tsearchFormState.module = moduleType.value\r\n\t\t\t\treturn menuApi.menuTree(Object.assign(parameter, searchFormState)).then((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\treturn data\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn []\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\treturn menuApi.menuTree(Object.assign(parameter, searchFormState)).then((data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\treturn data\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn []\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 切换应用标签查询菜单列表\r\n\tconst moduleClock = (value) => {\r\n\t\tsearchFormState.module = value\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 查询\r\n\tconst onSearch = () => {\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\r\n\t// 重置搜索表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\t/* const removeEmptyChildren = (data) => {\r\n\t\tif (data == null || data.length === 0) return;\r\n\t\tfor (let i = 0; i < data.length; i++) {\r\n\t\t\tconst item = data[i];\r\n\t\t\tif (item.children != null && item.children.length === 0) {\r\n\t\t\t\titem.children = null;\r\n\t\t\t} else {\r\n\t\t\t\tremoveEmptyChildren(item.children);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn data;\r\n\t};*/\r\n\t// 删除\r\n\tconst deleteMenu = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tmenuApi.menuDelete(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchMenu = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\tmenuApi.menuDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n</script>\r\n<style scoped>\r\n\t.select-card {\r\n\t\tmargin-top: -12px;\r\n\t\tmargin-left: -12px;\r\n\t\tmargin-right: -12px;\r\n\t\tmargin-bottom: 10px;\r\n\t\tpadding-top: -10px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer\r\n\t\t:title=\"formData.id ? '编辑模块' : '增加模块'\"\r\n\t\t:width=\"600\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:body-style=\"{ paddingBottom: '80px' }\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"模块名称：\" name=\"title\">\r\n\t\t\t\t<a-input v-model:value=\"formData.title\" placeholder=\"请输入模块名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"图标：\" name=\"icon\">\r\n\t\t\t\t<a-input v-model:value=\"formData.icon\" style=\"width: calc(100% - 70px)\" placeholder=\"请选择图标\" allow-clear />\r\n\t\t\t\t<a-button type=\"primary\" @click=\"iconSelector.showIconModal(formData.icon)\">选择</a-button>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序:\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t\t<Icon-selector ref=\"iconSelector\" @iconCallBack=\"iconCallBack\" />\r\n\t</a-drawer>\r\n</template>\r\n<script setup>\r\n\timport { required } from '@/utils/formRules'\r\n\timport moduleApi from '@/api/sys/resource/moduleApi'\r\n\timport IconSelector from '@/comDefault/Selector/iconSelector.vue'\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\tconst treeData = ref([])\r\n\tlet iconSelector = ref()\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformRef.value.resetFields()\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 图标选择器回调\r\n\tconst iconCallBack = (value) => {\r\n\t\tformData.value.icon = value\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\ttitle: [required('请输入模块名称')],\r\n\t\ticon: [required('请选择图标')],\r\n\t\tcolor: [required('请选择颜色')]\r\n\t}\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value\r\n\t\t\t.validate()\r\n\t\t\t.then(() => {\r\n        formData.value['color'] = '#05a045'\r\n\t\t\t\tmoduleApi.submitForm(formData.value, !formData.value.id).then(() => {\r\n\t\t\t\t\tonClose()\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"[{ label: '名称关键词', name: 'searchKey', span: 8 }]\" @search=\"table.refresh(true)\" @reset=\"handleReset\" ref=\"formRef\">\r\n\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入模块名称关键词\" />\r\n\t\t</template>\r\n\t</SearchForm>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table\r\n\t\t\tref=\"table\"\r\n\t\t\t:columns=\"columns\"\r\n\t\t\t:data=\"loadData\"\r\n\t\t\t:alert=\"options.alert.show\"\r\n\t\t\tbordered\r\n\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t:tool-config=\"toolConfig\"\r\n\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t>\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'icon'\">\r\n\t\t\t\t\t<a-tag :color=\"record.color\">\r\n\t\t\t\t\t\t<component :is=\"record.icon\" />\r\n\t\t\t\t\t</a-tag>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a-space>\r\n\t\t\t\t\t\t<a @click=\"form.onOpen(record)\">编辑</a>\r\n\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t<a-popconfirm title=\"确定要删除此模块吗？\" @confirm=\"deleteModule(record)\">\r\n\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t</a-space>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n</template>\r\n<script setup name=\"sysResourceModuleIndex\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport Form from './form.vue'\r\n\timport moduleApi from '@/api/sys/resource/moduleApi'\r\n\tlet searchFormState = reactive({})\r\n\tconst formRef = ref()\r\n\tconst table = ref()\r\n\tlet form = ref()\r\n\t// handleReset方法\r\n\tconst handleReset = () => {\r\n\t\tformRef.value?.resetFields()\r\n\t}\r\n\t// operatorConfig配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增模块',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen()\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchModule,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0\r\n\t\t}\r\n\t])\r\n\tconst toolConfig = { refresh: true, height: true, columnSetting: false, striped: false }\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '显示名称',\r\n\t\t\tdataIndex: 'title'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '图标',\r\n\t\t\tdataIndex: 'icon'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\t\t\tdataIndex: 'sortCode',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '创建时间',\r\n\t\t\tdataIndex: 'createTime',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: '200px'\r\n\t\t}\r\n\t]\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst loadData = (parameter) => {\r\n\t\treturn moduleApi.modulePage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 删除\r\n\tconst deleteModule = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tmoduleApi.moduleDelete(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchModule = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\tmoduleApi.moduleDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n</script>\r\n","<template>\r\n\t<a-card :bordered=\"false\" v-if=\"indexShow\">\r\n\t\t<s-table\r\n\t\t\tref=\"table\"\r\n\t\t\t:columns=\"columns\"\r\n\t\t\t:data=\"loadDate\"\r\n\t\t\t:expand-row-by-click=\"true\"\r\n\t\t\t:alert=\"options.alert.show\"\r\n\t\t\tbordered\r\n\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t:toolConfig=\"{ refresh: true, height: true, columnSetting: true, striped: false }\"\r\n\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t>\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'tablePrefix'\">\r\n\t\t\t\t\t{{ tablePrefixFilter(record.tablePrefix) }}\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'generateType'\">\r\n\t\t\t\t\t{{ generateTypeFilter(record.generateType) }}\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a @click=\"genPreviewRef.onOpen(record)\">预览</a>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a-popconfirm title=\"确定生成代码？\" @confirm=\"execGen(record)\">\r\n\t\t\t\t\t\t<a-button type=\"link\" size=\"small\">生成</a-button>\r\n\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a @click=\"openConfig(record)\">配置</a>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a-popconfirm title=\"删除此信息？\" @confirm=\"deleteCodeGen(record)\">\r\n\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<genSteps v-else ref=\"stepsRef\" @successful=\"table.refresh(true)\" @closed=\"closeConfig()\" />\r\n\t<genPreview ref=\"genPreviewRef\" />\r\n</template>\r\n<script setup name=\"genIndex\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport genBasicApi from '@/api/gen/genBasicApi'\r\n\tconst table = ref()\r\n\tconst indexShow = ref(true)\r\n\tconst stepsRef = ref()\r\n\tconst genPreviewRef = ref()\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新建',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => openConfig()\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchCodeGen,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0\r\n\t\t}\r\n\t])\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '业务名',\r\n\r\n\t\t\tdataIndex: 'busName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '功能名',\r\n\r\n\t\t\tdataIndex: 'functionName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '类名',\r\n\r\n\t\t\tdataIndex: 'className',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '包名',\r\n\r\n\t\t\tdataIndex: 'packageName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '作者',\r\n\r\n\t\t\tdataIndex: 'authorName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '移除表前缀',\r\n\r\n\t\t\tdataIndex: 'tablePrefix',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '生成方式',\r\n\r\n\t\t\tdataIndex: 'generateType',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 200\r\n\t\t}\r\n\t]\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadDate = (parameter) => {\r\n\t\treturn genBasicApi.basicPage(parameter).then((data) => {\r\n\t\t\treturn data\r\n\t\t})\r\n\t}\r\n\t// 列表选择配置\r\n\tlet selectedRowKeys = ref([])\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst generateTypeFilter = (text) => {\r\n\t\tconst array = [\r\n\t\t\t{\r\n\t\t\t\tlabel: '压缩包',\r\n\t\t\t\tvalue: 'ZIP'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: '项目内',\r\n\t\t\t\tvalue: 'PRO'\r\n\t\t\t}\r\n\t\t]\r\n\t\treturn array.find((f) => f.value === text).label\r\n\t}\r\n\tconst tablePrefixFilter = (text) => {\r\n\t\tconst array = [\r\n\t\t\t{\r\n\t\t\t\tlabel: '移除',\r\n\t\t\t\tvalue: 'Y'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: '不移除',\r\n\t\t\t\tvalue: 'N'\r\n\t\t\t}\r\n\t\t]\r\n\t\treturn array.find((f) => f.value === text).label\r\n\t}\r\n\t// 生成代码\r\n\tconst execGen = (record) => {\r\n\t\tconst param = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\tif (record.generateType === 'PRO') {\r\n\t\t\tgenBasicApi.basicExecGenPro(param).then(() => {\r\n\t\t\t\tmessage.success('操作成功')\r\n\t\t\t\ttable.value.refresh()\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t// 下载压缩包\r\n\t\t\tgenBasicApi.basicExecGenBiz(param).then((res) => {\r\n\t\t\t\tconst blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' })\r\n\t\t\t\tconst contentDisposition = res.headers['content-disposition']\r\n\t\t\t\tconst patt = new RegExp('filename=([^;]+\\\\.[^\\\\.;]+);*')\r\n\t\t\t\tconst $link = document.createElement('a')\r\n\t\t\t\t$link.href = URL.createObjectURL(blob)\r\n\t\t\t\t$link.download = decodeURIComponent(patt.exec(contentDisposition)[1])\r\n\t\t\t\t$link.click()\r\n\t\t\t\tdocument.body.appendChild($link)\r\n\t\t\t\tdocument.body.removeChild($link) // 下载完成移除元素\r\n\t\t\t\twindow.URL.revokeObjectURL($link.href) // 释放掉blob对象\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 删除\r\n\tconst deleteCodeGen = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tgenBasicApi.basicDelete(params).then(() => {\r\n\t\t\ttable.value.refresh()\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchCodeGen = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\tgenBasicApi.basicDelete(params).then(() => {\r\n\t\t\ttable.value.refresh()\r\n\t\t})\r\n\t}\r\n\t// 打开配置界面\r\n\tconst openConfig = (record) => {\r\n\t\tindexShow.value = false\r\n\t\tnextTick(() => {\r\n\t\t\tstepsRef.value.configSteps(record)\r\n\t\t})\r\n\t}\r\n\t// 关闭配置界面\r\n\tconst closeConfig = () => {\r\n\t\tindexShow.value = true\r\n\t}\r\n</script>\r\n","<template>\r\n  <a-card :bordered=\"false\">\r\n    <a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n      <a-row :gutter=\"16\">\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"选择主表：\" name=\"dbTable\">\r\n            <a-select v-model:value=\"formData.dbTable\" :options=\"tableList\" style=\"width: 100%\" placeholder=\"请选择主表\"\r\n                      @select=\"selectTableColumnsData(formData.dbTable, false)\"></a-select>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"选择主键：\" name=\"dbTableKey\">\r\n            <a-select v-model:value=\"formData.dbTableKey\" :options=\"tableColumns\" style=\"width: 100%\"\r\n                      placeholder=\"选择主键\"></a-select>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"表前缀移除：\" name=\"tablePrefix\">\r\n            <a-radio-group v-model:value=\"formData.tablePrefix\" :options=\"tablePrefixOptions\"\r\n                           @change=\"tablePrefixChange\"></a-radio-group>\r\n          </a-form-item>\r\n        </a-col>\r\n      </a-row>\r\n      <a-row :gutter=\"16\">\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"生成方式：\" name=\"generateType\">\r\n            <a-radio-group v-model:value=\"formData.generateType\" :options=\"generateTypeOptions\"></a-radio-group>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"所属模块：\" name=\"module\">\r\n            <a-select v-model:value=\"formData.module\" :options=\"moduleOptions\" style=\"width: 100%\"\r\n                      placeholder=\"请选择所属模块\" @change=\"moduleChange(formData.module, false)\"></a-select>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"上级目录：\" name=\"menuPid\">\r\n            <a-tree-select\r\n                v-model:value=\"formData.menuPid\"\r\n                style=\"width: 100%\"\r\n                :dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n                placeholder=\"请选择上级目录\"\r\n                allow-clear\r\n                tree-default-expand-all\r\n                :tree-data=\"menuTreeData\"\r\n                :field-names=\"{\r\n\t\t\t\t\t\t\t\tchildren: 'children',\r\n\t\t\t\t\t\t\t\tlabel: 'title',\r\n\t\t\t\t\t\t\t\tvalue: 'id'\r\n\t\t\t\t\t\t\t}\"\r\n                selectable=\"false\"\r\n                tree-line\r\n            ></a-tree-select>\r\n          </a-form-item>\r\n        </a-col>\r\n      </a-row>\r\n      <a-row :gutter=\"16\">\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"功能名：\" name=\"functionName\">\r\n            <a-input v-model:value=\"formData.functionName\" placeholder=\"请输入功能名\" allow-clear/>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"业务名：\" name=\"busName\">\r\n            <a-input v-model:value=\"formData.busName\" placeholder=\"请输入业务名\" allow-clear/>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"类名：\" name=\"className\">\r\n            <a-input v-model:value=\"formData.className\" placeholder=\"请输入类名\" allow-clear/>\r\n          </a-form-item>\r\n        </a-col>\r\n      </a-row>\r\n      <a-row :gutter=\"16\">\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"表单布局：\" name=\"formLayout\">\r\n            <a-radio-group v-model:value=\"formData.formLayout\" :options=\"formLayoutOptions\"/>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"使用栅格：\" name=\"gridWhether\">\r\n            <a-radio-group v-model:value=\"formData.gridWhether\" :options=\"gridWhetherOptions\"/>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"排序：\" name=\"sortCode\">\r\n            <a-slider v-model:value=\"formData.sortCode\" :max=\"100\" style=\"width: 100%\"/>\r\n          </a-form-item>\r\n        </a-col>\r\n      </a-row>\r\n      <a-row :gutter=\"16\">\r\n        <a-col :span=\"8\">\r\n          <a-form-item label=\"作者：\" name=\"authorName\">\r\n            <a-input v-model:value=\"formData.authorName\" placeholder=\"请输入作者名\" allow-clear/>\r\n          </a-form-item>\r\n        </a-col>\r\n        <a-col :span=\"8\" v-if=\"formData.generateType === 'BIZ'\">\r\n          <a-form-item label=\"包名：\" name=\"packageName\">\r\n            <a-input v-model:value=\"formData.packageName\" placeholder=\"请输入包名\" allow-clear/>\r\n          </a-form-item>\r\n        </a-col>\r\n      </a-row>\r\n    </a-form>\r\n  </a-card>\r\n</template>\r\n<script setup name=\"genBasic\">\r\nimport {required} from '@/utils/formRules'\r\nimport {tool} from 'elead-ui-tool-v3'\r\nimport genBasicApi from '@/api/gen/genBasicApi'\r\nconst formRef = ref()\r\n// 表单数据\r\nconst formData = ref({})\r\n// 定义\r\nconst tableList = ref([])\r\nconst tableColumns = ref([])\r\nconst menuTreeData = ref([])\r\nconst submitLoading = ref(false)\r\nconst moduleOptions = ref()\r\nconst generateTypeOptions = ref([\r\n  {\r\n    label: '压缩包',\r\n    value: 'ZIP'\r\n  },\r\n  {\r\n    label: '项目内',\r\n    value: 'PRO'\r\n  }\r\n])\r\nconst tablePrefixOptions = ref([\r\n  {\r\n    label: '移除',\r\n    value: 'Y'\r\n  },\r\n  {\r\n    label: '不移除',\r\n    value: 'N'\r\n  }\r\n])\r\nconst formLayoutOptions = ref([\r\n  {\r\n    label: '垂直',\r\n    value: 'vertical'\r\n  },\r\n  {\r\n    label: '水平',\r\n    value: 'horizontal'\r\n  }\r\n])\r\nconst gridWhetherOptions = ref([\r\n  {\r\n    label: '栅格布局',\r\n    value: 'Y'\r\n  },\r\n  {\r\n    label: '不使用',\r\n    value: 'N'\r\n  }\r\n])\r\n// 打开抽屉\r\nconst onOpen = (record) => {\r\n  // 加载默认的模块\r\n  moduleOptions.value = tool.data.get('MENU').map((item) => {\r\n    return {\r\n      label: item.name,\r\n      value: item.id\r\n    }\r\n  })\r\n  // 获取数据库中的所有表\r\n  genBasicApi.basicTables().then((data) => {\r\n    tableList.value = data.map((item) => {\r\n      return {\r\n        value: item['tableName'],\r\n        label: `${item['tableRemark']}-${item['tableName']}`,\r\n        tableRemark: item['tableRemark'] || item['tableName'],\r\n        tableColumns: []\r\n      }\r\n    })\r\n  })\r\n  if (record) {\r\n    const params = {\r\n      id: record.id\r\n    }\r\n    submitLoading.value = true\r\n    genBasicApi\r\n        .basicDetail(params)\r\n        .then((data) => {\r\n          formData.value = data\r\n          // 让主键选中\r\n          selectTableColumnsData(data.dbTable, true)\r\n          // 让模块旁边的上级菜单选中\r\n          moduleChange(data.module, true)\r\n        })\r\n        .finally(() => {\r\n          submitLoading.value = false\r\n        })\r\n  } else {\r\n    formData.value = {\r\n      sortCode: 99,\r\n      tablePrefix: 'Y',\r\n      generateType: 'ZIP',\r\n      packageName: 'vip.xiaonuo',\r\n      formLayout: 'vertical',\r\n      gridWhether: 'N'\r\n    }\r\n  }\r\n}\r\n// 默认要校验的\r\nconst formRules = {\r\n  tablePrefix: [required('请选择是否移除表前缀')],\r\n  dbTable: [required('请选择主表')],\r\n  dbTableKey: [required('请选择主表主键')],\r\n  generateType: [required('请选择生成方式')],\r\n  module: [required('请选择所属模块')],\r\n  menuPid: [required('请选择上级目录')],\r\n  functionName: [required('请输入功能名')],\r\n  busName: [required('请输入业务名')],\r\n  className: [required('请输入类名')],\r\n  packageName: [required('请输入包名')],\r\n  sortCode: [required('请选择排序')],\r\n  formLayout: [required('请选择表单布局')],\r\n  gridWhether: [required('请选择是否使用栅格')],\r\n  authorName: [required('请输入作者名')]\r\n}\r\n// 选择模板的回调\r\nconst moduleChange = (value, assign) => {\r\n  if (!assign) {\r\n    // 先去掉值\r\n    formData.value.menuPid = undefined\r\n  }\r\n  // 加载默认的模块\r\n  const menuTree = tool.data.get('MENU').find((item) => {\r\n    if (item.id === value) {\r\n      return item\r\n    }\r\n  })\r\n  menuTreeData.value = [\r\n    {\r\n      id: '0',\r\n      title: '顶级',\r\n      menuType: 'CATALOG',\r\n      children: traverseChildren(menuTree.children)\r\n    }\r\n  ]\r\n}\r\n// 遍历增加属性\r\nconst traverseChildren = (data = []) => {\r\n  // 递归遍历控件树\r\n  const traverse = (array) => {\r\n    array.forEach((element) => {\r\n      if (element.menuType === 'CATALOG') {\r\n        if (element.children) {\r\n          traverse(element.children)\r\n        }\r\n      } else {\r\n        // 设置不可用\r\n        element.disabled = true\r\n        element.selectable = false\r\n      }\r\n    })\r\n  }\r\n  traverse(data)\r\n  return data\r\n}\r\n// 获取表字段\r\nconst selectTableColumnsData = (tableName, assign) => {\r\n  if (!assign) {\r\n    formData.value.dbTableKey = undefined\r\n  }\r\n  formFieldAssign(tableName)\r\n  // 通过这个 tableName 查到这个表下的字段\r\n  const param = {\r\n    tableName: tableName\r\n  }\r\n  genBasicApi.basicTableColumns(param).then((data) => {\r\n    tableColumns.value = data.map((item) => {\r\n      return {\r\n        value: item['columnName'],\r\n        label: item['columnRemark'] || item['columnName']\r\n      }\r\n    })\r\n  })\r\n}\r\n// 点击选择是否移除前缀\r\nconst tablePrefixChange = () => {\r\n  const tableName = formData.value.dbTable\r\n  if (tableName) {\r\n    const tableNameHump = getTableNameToHump(tableName)\r\n    formData.value.busName = tableNameHump.toLowerCase()\r\n  }\r\n}\r\n// 表单内设置默认的值\r\nconst formFieldAssign = (value) => {\r\n  const data = tableList.value.find((item) => item.value === value)\r\n  formData.value.functionName = data.tableRemark\r\n  const tableNameHump = getTableNameToHump(data.value)\r\n  formData.value.busName = tableNameHump.toLowerCase()\r\n  formData.value.className = getClassName(data.value)\r\n}\r\n// 获取数据库表的驼峰命名\r\nconst getTableNameToHump = (tableName) => {\r\n  if (tableName) {\r\n    const arr = tableName.toLowerCase().split('_')\r\n    if (formData.value.tablePrefix === 'Y') {\r\n      arr.splice(0, 1)\r\n    }\r\n    for (let i = 0; i < arr.length; i++) {\r\n      // charAt()方法得到第一个字母，slice()得到第二个字母以后的字符串\r\n      arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1)\r\n    }\r\n    return arr.join('')\r\n  }\r\n  return ''\r\n}\r\n// 获取数据库表的驼峰命名\r\nconst getClassName = (tableName) => {\r\n  if (tableName) {\r\n    const arr = tableName.toLowerCase().split('_')\r\n    for (let i = 0; i < arr.length; i++) {\r\n      // charAt()方法得到第一个字母，slice()得到第二个字母以后的字符串\r\n      arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1)\r\n    }\r\n    return arr.join('')\r\n  }\r\n  return ''\r\n}\r\n// 验证并提交数据\r\nconst onSubmit = () => {\r\n  return new Promise((resolve, reject) => {\r\n    formRef.value\r\n        .validate()\r\n        .then(() => {\r\n          submitLoading.value = true\r\n          genBasicApi\r\n              .submitForm(formData.value, !formData.value.id)\r\n              .then((data) => {\r\n                resolve(data)\r\n              })\r\n              .finally(() => {\r\n                submitLoading.value = false\r\n              })\r\n        })\r\n        .catch((err) => {\r\n          reject(err)\r\n        })\r\n  })\r\n}\r\n// 调用这个函数将子组件的一些数据和方法暴露出去\r\ndefineExpose({\r\n  onOpen,\r\n  onSubmit\r\n})\r\n</script>\r\n<style scoped>\r\n.childAddButton {\r\n  margin-bottom: 10px;\r\n}\r\n.form-row {\r\n  background-color: var(--item-hover-bg);\r\n  margin-left: 0px !important;\r\n}\r\n.form-row-con {\r\n  padding-bottom: 5px;\r\n  padding-top: 5px;\r\n  padding-left: 15px;\r\n}\r\n.form-div {\r\n  padding-top: 10px;\r\n}\r\n</style>\r\n","<template>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadDate\" :expand-row-by-click=\"true\" :showPagination=\"false\" bordered :operator-config=\"operatorConfig\">\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'fieldRemark'\">\r\n\t\t\t\t\t<a-input v-model:value=\"record.fieldRemark\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'fieldJavaType'\">\r\n\t\t\t\t\t<a-select style=\"width: 100%\" v-model:value=\"record.fieldJavaType\" :options=\"fieldJavaTypeOptions\" placeholder=\"请选择\" :disabled=\"toCommonFieldEstimate(record)\" @change=\"fieldJavaTypeChange(record)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'effectType'\">\r\n\t\t\t\t\t<a-select style=\"width: 100%\" v-model:value=\"record.effectType\" :options=\"effectTypeOptions\" placeholder=\"请选择\" :disabled=\"toCommonFieldEstimate(record) || toFieldSelectEstimate(record)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'dictTypeCode'\">\r\n\t\t\t\t\t<a-select\r\n\t\t\t\t\t\tv-if=\"record.effectType === 'radio' || record.effectType === 'select' || record.effectType === 'checkbox'\"\r\n\t\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t\tv-model:value=\"record.dictTypeCode\"\r\n\t\t\t\t\t\t:options=\"dictTypeCodeOptions\"\r\n\t\t\t\t\t\tplaceholder=\"请选择字典\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<span v-else>无</span>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherTable'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherTable\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherRetract'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherRetract\" :disabled=\"!record.whetherTable\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherAddUpdate'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherAddUpdate\" :disabled=\"toFieldEstimate(record)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherRequired'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherRequired\" :disabled=\"toFieldEstimate(record) || !record.whetherAddUpdate\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'queryWhether'\">\r\n\t\t\t\t\t<a-switch v-model:checked=\"record.queryWhether\" :disabled=\"!record.whetherTable\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'queryType'\">\r\n\t\t\t\t\t<a-select v-if=\"record.queryWhether === true && record.effectType !== 'datepicker'\" style=\"width: 100%\" v-model:value=\"record.queryType\" :options=\"queryTypeOptions\" placeholder=\"请选择\" />\r\n\t\t\t\t\t<span v-else-if=\"record.effectType === 'datepicker' && record.queryWhether === true\">时间段</span>\r\n\t\t\t\t\t<span v-else>无</span>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n</template>\r\n<script setup name=\"genConfig\">\r\n\timport { tool } from 'elead-ui-tool-v3'\r\n\timport genConfigApi from '@/api/gen/genConfigApi'\r\n\timport { cloneDeep } from 'lodash-es'\r\n\r\n\tconst table = ref()\r\n\tconst recordData = ref()\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => {\r\n\t\treturn []\r\n\t})\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '字段',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '注释',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldRemark',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '类型',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldType',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '实体类型',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldJavaType',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '作用类型',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'effectType',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '字典',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'dictTypeCode',\r\n\t\t\twidth: 140\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '列表显示',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherTable',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '列省略',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherRetract',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '增改',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherAddUpdate',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '必填',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherRequired',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '查询',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'queryWhether',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '查询方式',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'queryType'\r\n\t\t}\r\n\t]\r\n\tconst onOpen = (record) => {\r\n\t\trecordData.value = record\r\n\t\tnextTick(() => {\r\n\t\t\ttable.value.refresh()\r\n\t\t})\r\n\t}\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadDate = (parameter) => {\r\n\t\tif (recordData.value) {\r\n\t\t\tparameter.basicId = recordData.value.id\r\n\t\t\treturn genConfigApi.configList(parameter).then((data) => {\r\n\t\t\t\trecordData.value = JSON.parse(JSON.stringify(data))\r\n\t\t\t\tlet deleteIndex = []\r\n\t\t\t\trecordData.value.forEach((item, index) => {\r\n\t\t\t\t\tfor (const key in item) {\r\n\t\t\t\t\t\tif (item[key] === 'Y') {\r\n\t\t\t\t\t\t\titem[key] = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (item[key] === 'N') {\r\n\t\t\t\t\t\t\titem[key] = false\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 如果是主键，我们不提供主键的配置，也用不到\r\n\t\t\t\t\tif (item.isTableKey) {\r\n\t\t\t\t\t\tdeleteIndex.push(index)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 去掉删除标识\r\n\t\t\t\t\tif (item.fieldName.toLowerCase().indexOf('delete_flag') > -1) {\r\n\t\t\t\t\t\tdeleteIndex.push(index)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 让默认的变成设置的\r\n\t\t\t\t\tfieldJavaTypeChange(item)\r\n\t\t\t\t})\r\n\t\t\t\tif (deleteIndex) {\r\n\t\t\t\t\tdeleteIndex.forEach((item, index) => {\r\n\t\t\t\t\t\tif (index > 0) {\r\n\t\t\t\t\t\t\titem = item - 1\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdelete recordData.value.splice(item, 1)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\treturn recordData.value\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tresolve([])\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 实体类型\r\n\tconst fieldJavaTypeOptions = ref([\r\n\t\t{\r\n\t\t\tlabel: 'Integer',\r\n\t\t\tvalue: 'Integer'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Long',\r\n\t\t\tvalue: 'Long'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'String',\r\n\t\t\tvalue: 'String'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Boolean',\r\n\t\t\tvalue: 'Boolean'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Float',\r\n\t\t\tvalue: 'Float'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Double',\r\n\t\t\tvalue: 'Double'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Date',\r\n\t\t\tvalue: 'Date'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'BigDecimal',\r\n\t\t\tvalue: 'BigDecimal'\r\n\t\t}\r\n\t])\r\n\t// 类型\r\n\tconst effectTypeOptions = ref([\r\n\t\t{\r\n\t\t\tlabel: '输入框',\r\n\t\t\tvalue: 'input'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '文本框',\r\n\t\t\tvalue: 'textarea'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '下拉框',\r\n\t\t\tvalue: 'select'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '单选框',\r\n\t\t\tvalue: 'radio'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '复选框',\r\n\t\t\tvalue: 'checkbox'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '日期选择器',\r\n\t\t\tvalue: 'datepicker'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '时间选择器',\r\n\t\t\tvalue: 'timepicker'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '数字输入框',\r\n\t\t\tvalue: 'inputNumber'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '滑动数字条',\r\n\t\t\tvalue: 'slider'\r\n\t\t}\r\n\t])\r\n\t// 字典数据\r\n\tconst dictTypeCodeOptions = tool.dictDataAll().map((item) => {\r\n\t\treturn {\r\n\t\t\tlabel: item.name,\r\n\t\t\tvalue: item.dictValue\r\n\t\t}\r\n\t})\r\n\t// 查询方式\r\n\tconst queryTypeOptions = ref([\r\n\t\t{\r\n\t\t\tlabel: '模糊包含',\r\n\t\t\tvalue: 'like'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '模糊不包含',\r\n\t\t\tvalue: 'notLike'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '等于',\r\n\t\t\tvalue: 'eq'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '不等于',\r\n\t\t\tvalue: 'ne'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '大于',\r\n\t\t\tvalue: 'gt'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '大于等于',\r\n\t\t\tvalue: 'ge'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '小于',\r\n\t\t\tvalue: 'lt'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '小于等于',\r\n\t\t\tvalue: 'le'\r\n\t\t}\r\n\t])\r\n\tconst emit = defineEmits({ successful: null }, { close: null })\r\n\tconst toFieldEstimate = (data) => {\r\n\t\tif (\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('create_user') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('create_time') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('update_user') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('update_time') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('delete_flag') > -1 ||\r\n\t\t\tdata.isTableKey === true\r\n\t\t) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\t// 通用字段是否可选\r\n\tconst toCommonFieldEstimate = (record) => {\r\n\t\tif (record.fieldName.toLowerCase().indexOf('create_user') > -1 || record.fieldName.toLowerCase().indexOf('update_user') > -1) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\t// 设置该下拉框是否能选\r\n\tconst toFieldSelectEstimate = (record) => {\r\n\t\tif (record.fieldJavaType === 'Date' && record.effectType === 'datepicker') {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\t// 实体类型选择触发\r\n\tconst fieldJavaTypeChange = (record) => {\r\n\t\tif (record.fieldJavaType === 'Date') {\r\n\t\t\trecord.effectType = 'datepicker'\r\n\t\t}\r\n\t}\r\n\t// 提交\r\n\tconst onSubmit = (tableData) => {\r\n\t\t// 使用表格中的字段配置数据，而不是基本表信息\r\n\t\t// recordData.value在loadDate后包含的是字段配置数组\r\n\t\tlet submitParam = cloneDeep(recordData.value)\r\n\t\t\r\n\t\t// 确保submitParam是数组且包含字段配置\r\n\t\tif (!Array.isArray(submitParam)) {\r\n\t\t\tconsole.error('提交数据格式错误：应该是字段配置数组', submitParam)\r\n\t\t\treturn Promise.reject('数据格式错误：请先加载表格配置数据')\r\n\t\t}\r\n\t\t\r\n\t\t// 检查是否包含字段配置信息\r\n\t\tif (submitParam.length === 0) {\r\n\t\t\tconsole.error('没有字段配置数据可提交')\r\n\t\t\treturn Promise.reject('没有字段配置数据，请先加载表格数据')\r\n\t\t}\r\n\t\t\r\n\t\tconsole.log('准备提交的字段配置数据：', submitParam)\r\n\t\tlet errStatus = 100\r\n\t\tsubmitParam.forEach((item) => {\r\n\t\t\t// 必填那一项转换\r\n\t\t\tfor (const key in item) {\r\n\t\t\t\tif (item[key] === true) {\r\n\t\t\t\t\titem[key] = 'Y'\r\n\t\t\t\t}\r\n\t\t\t\tif (item[key] === false) {\r\n\t\t\t\t\titem[key] = 'N'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (item.queryWhether === 'Y' && !item.queryType) {\r\n\t\t\t\t// 排除掉时间选择\r\n\t\t\t\tif (item.fieldJavaType !== 'Date' && item.effectType !== 'checkbox') {\r\n\t\t\t\t\terrStatus++\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif ((item.effectType === 'select' || item.effectType === 'radio' || item.effectType === 'checkbox') && !item.dictTypeCode) {\r\n\t\t\t\terrStatus++\r\n\t\t\t}\r\n\t\t})\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (errStatus > 100) {\r\n\t\t\t\treject('校验失败，请选择对应的下拉框选项')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tgenConfigApi\r\n\t\t\t\t.configEditBatch(submitParam)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tresolve(data)\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 抛出钩子\r\n\tdefineExpose({\r\n\t\tonOpen,\r\n\t\tonSubmit\r\n\t})\r\n</script>\r\n<style scoped>\r\n\t.table-wrapper {\r\n\t\tmargin-top: -16px !important;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer title=\"预览\" :width=\"1200\" :visible=\"visible\" :destroy-on-close=\"true\" :body-style=\"{ 'padding-top': '0px' }\" @close=\"onClose\">\r\n\t\t<a-spin :spinning=\"loadingSpinning\">\r\n\t\t\t<a-tabs v-model:activeKey=\"codeTypeActiveKey\" @change=\"codeTypeChange\">\r\n\t\t\t\t<a-tab-pane v-for=\"codeType in codeTypeArray\" :key=\"codeType.codeTypeKey\" :tab=\"codeType.codeTypeTitle\" force-render>\r\n\t\t\t\t\t<a-tabs v-model:activeKey=\"typeListActiveKey\" tab-position=\"left\" hide-add type=\"card\">\r\n\t\t\t\t\t\t<a-tab-pane v-for=\"pan in codeType.codeTypeList\" :key=\"pan.codeFileName\" :tab=\"pan.codeFileName\">\r\n\t\t\t\t\t\t\t<div style=\"height: calc(100vh - 160px); overflow: auto\">\r\n\t\t\t\t\t\t\t\t<a-textarea ref=\"textareaRef\" v-model:value=\"pan.codeFileContent\" :autoSize=\"true\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</a-tab-pane>\r\n\t\t\t\t\t</a-tabs>\r\n\t\t\t\t</a-tab-pane>\r\n\t\t\t</a-tabs>\r\n\t\t</a-spin>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"genPreview\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport genBasicApi from '@/api/gen/genBasicApi'\r\n\t// 默认是关闭状态\r\n\tconst visible = ref(false)\r\n\tconst codeTypeActiveKey = ref()\r\n\tconst typeListActiveKey = ref()\r\n\tconst loadingSpinning = ref(true)\r\n\tconst codeTypeArray = ref([])\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tconst param = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\tgenBasicApi\r\n\t\t\t.basicPreviewGen(param)\r\n\t\t\t.then((data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\tcodeTypeArray.value = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tcodeTypeKey: 'frontend',\r\n\t\t\t\t\t\t\tcodeTypeTitle: '前端代码',\r\n\t\t\t\t\t\t\tcodeTypeList: data.genBasicCodeFrontendResultList\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tcodeTypeKey: 'backend',\r\n\t\t\t\t\t\t\tcodeTypeTitle: '后端代码',\r\n\t\t\t\t\t\t\tcodeTypeList: data.genBasicCodeBackendResultList\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tcodeTypeKey: 'sqlend',\r\n\t\t\t\t\t\t\tcodeTypeTitle: 'SQL文档',\r\n\t\t\t\t\t\t\tcodeTypeList: data.genBasicCodeSqlResultList\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmessage.warning('预览失败：请检查问题或反馈小诺官方')\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tloadingSpinning.value = false\r\n\t\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 切换标签\r\n\tconst codeTypeChange = (value) => {\r\n\t\ttypeListActiveKey.value = codeTypeArray.value.find((f) => f.codeTypeKey === value).codeTypeList[0].codeFileName\r\n\t}\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<div>\r\n\t\t<a-card class=\"steps-card\" :bordered=\"false\">\r\n\t\t\t<a-row class=\"xn-row\">\r\n\t\t\t\t<a-col :span=\"6\"></a-col>\r\n\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t<a-steps :current=\"current\">\r\n\t\t\t\t\t\t<a-step v-for=\"item in steps\" :key=\"item.title\" :title=\"item.title\" />\r\n\t\t\t\t\t</a-steps>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"6\">\r\n\t\t\t\t\t<div style=\"float: right\">\r\n\t\t\t\t\t\t<a-button :disabled=\"current === 0\" style=\"margin-left: 8px\" @click=\"prev\"> 上一步 </a-button>\r\n\t\t\t\t\t\t<a-button :disabled=\"current === 2\" type=\"primary\" style=\"margin-left: 8px\" @click=\"next\"> 继续 </a-button>\r\n\t\t\t\t\t\t<a-button type=\"primary\" danger ghost style=\"margin-left: 8px\" @click=\"emit('closed')\"> 关闭 </a-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a-col>\r\n\t\t\t</a-row>\r\n\t\t</a-card>\r\n\t\t<div v-if=\"current === 0\">\r\n\t\t\t<genBasic ref=\"basicRef\" />\r\n\t\t</div>\r\n\t\t<div v-if=\"current === 1\">\r\n\t\t\t<genConfig ref=\"configRef\" />\r\n\t\t</div>\r\n\t\t<div v-if=\"current === 2\">\r\n\t\t\t<a-card>\r\n\t\t\t\t<a-result status=\"success\" title=\"操作成功\" sub-title=\"此刻可预览代码，同时您可以一键生成代码啦\">\r\n\t\t\t\t\t<template #extra>\r\n\t\t\t\t\t\t<a-space size=\"middle\">\r\n\t\t\t\t\t\t\t<a-button v-if=\"current > 0\" style=\"margin-left: 8px\" @click=\"genPreviewRef.onOpen(recordData)\">预览</a-button>\r\n\t\t\t\t\t\t\t<a-button v-if=\"current === steps.length - 1\" type=\"primary\" :loading=\"submitLoading\" @click=\"seveGenerate\">生成并关闭</a-button>\r\n\t\t\t\t\t\t</a-space>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</a-result>\r\n\t\t\t</a-card>\r\n\t\t\t<genPreview ref=\"genPreviewRef\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script setup name=\"genSteps\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport genBasicApi from '@/api/gen/genBasicApi'\r\n\tconst emit = defineEmits({ closed: null })\r\n\tconst current = ref(0)\r\n\tconst recordData = ref()\r\n\tconst submitLoading = ref(false)\r\n\tconst basicRef = ref()\r\n\tconst configRef = ref()\r\n\tconst genPreviewRef = ref()\r\n\t// 打开这个界面\r\n\tconst configSteps = (record) => {\r\n\t\tbasicRef.value.onOpen(record)\r\n\t}\r\n\t// 下一步\r\n\tconst next = () => {\r\n\t\tcurrent.value++\r\n\t\t// 判断是哪一步\r\n\t\tif (current.value === 1) {\r\n\t\t\tbasicRef.value.onSubmit().then((data) => {\r\n\t\t\t\trecordData.value = data\r\n\t\t\t\tcurrent.value++\r\n\t\t\t\tnextTick(() => {\r\n\t\t\t\t\tconfigRef.value.onOpen(data)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\tcurrent.value--\r\n\t\t}\r\n\t\tif (current.value === 2) {\r\n\t\t\tconsole.log(recordData.value)\r\n\t\t\tdebugger\r\n\t\t\tconfigRef.value\r\n\t\t\t\t.onSubmit(recordData.value)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tcurrent.value++\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tmessage.warning(err)\r\n\t\t\t\t})\r\n\t\t\tcurrent.value--\r\n\t\t}\r\n\t}\r\n\t// 上一步\r\n\tconst prev = () => {\r\n\t\tcurrent.value--\r\n\t\tif (current.value === 0) {\r\n\t\t\tnextTick(() => {\r\n\t\t\t\tbasicRef.value.onOpen(recordData.value)\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (current.value === 1) {\r\n\t\t\tnextTick(() => {\r\n\t\t\t\tconfigRef.value.onOpen(recordData.value)\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 分布步骤数据\r\n\tconst steps = [\r\n\t\t{\r\n\t\t\ttitle: '基础信息',\r\n\t\t\tcontent: '基础信息'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '详细配置',\r\n\t\t\tcontent: '详细配置'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '完成',\r\n\t\t\tcontent: '已经配置好代码生成，现在可以生成代码啦'\r\n\t\t}\r\n\t]\r\n\t// 生成代码\r\n\tconst seveGenerate = () => {\r\n\t\tconst param = {\r\n\t\t\tid: recordData.value.id\r\n\t\t}\r\n\t\tif (recordData.value.generateType === 'PRO') {\r\n\t\t\tgenBasicApi.basicExecGenPro(param).then(() => {\r\n\t\t\t\tmessage.success('操作成功')\r\n\t\t\t\temit('closed')\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t// 下载压缩包\r\n\t\t\tgenBasicApi.basicExecGenBiz(param).then((res) => {\r\n\t\t\t\tconst blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' })\r\n\t\t\t\tconst contentDisposition = res.headers['content-disposition']\r\n\t\t\t\tconst patt = new RegExp('filename=([^;]+\\\\.[^\\\\.;]+);*')\r\n\t\t\t\tconst $link = document.createElement('a')\r\n\t\t\t\t$link.href = URL.createObjectURL(blob)\r\n\t\t\t\t$link.download = decodeURIComponent(patt.exec(contentDisposition)[1])\r\n\t\t\t\t$link.click()\r\n\t\t\t\tdocument.body.appendChild($link)\r\n\t\t\t\tdocument.body.removeChild($link) // 下载完成移除元素\r\n\t\t\t\twindow.URL.revokeObjectURL($link.href) // 释放掉blob对象\r\n\t\t\t\temit('closed')\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 抛出钩子\r\n\tdefineExpose({\r\n\t\tconfigSteps\r\n\t})\r\n</script>\r\n<style scoped>\r\n\t.steps-card {\r\n\t\tmargin-top: -12px;\r\n\t\tmargin-left: -12px;\r\n\t\tmargin-right: -12px;\r\n\t\tmargin-bottom: 10px;\r\n\t\tpadding-top: -10px;\r\n\t}\r\n\t.xn-row {\r\n\t\tmargin-bottom: -10px;\r\n\t\tmargin-top: -10px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-row :gutter=\"10\" class=\"mb-2\">\r\n\t\t<a-col :span=\"16\">\r\n\t\t\t<a-card :bordered=\"false\" title=\"周统计\">\r\n\t\t\t\t<oplogColumnChart />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"8\">\r\n\t\t\t<a-card :bordered=\"false\" title=\"总比例\">\r\n\t\t\t\t<oplogPieChart />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"searchFormFields\" @search=\"onSearch\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t<template #logType=\"{ formState }\">\r\n\t\t\t<a-radio-group v-model:value=\"opLogType\" button-style=\"solid\">\r\n\t\t\t\t<a-radio-button v-for=\"opLog in opLogTypeList\" :key=\"opLog.value\" :value=\"opLog.value\" @click=\"opLogTypeClock(opLog.value)\">\r\n\t\t\t\t\t{{ opLog.label }}\r\n\t\t\t\t</a-radio-button>\r\n\t\t\t</a-radio-group>\r\n\t\t</template>\r\n\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t<a-input-search v-model:value=\"formState.searchKey\" placeholder=\"请输入名称关键字\" enter-button allowClear @search=\"onSearch\" />\r\n\t\t</template>\r\n\t</SearchForm>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadData\" bordered :row-key=\"(record) => record.id\" :operator-config=\"operatorConfig\">\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'className'\">\r\n\t\t\t\t\t<ellipsis :length=\"70\" tooltip>\r\n\t\t\t\t\t\t{{ record.className }}\r\n\t\t\t\t\t</ellipsis>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'methodName'\">\r\n\t\t\t\t\t<ellipsis :length=\"20\" tooltip>\r\n\t\t\t\t\t\t{{ record.methodName }}\r\n\t\t\t\t\t</ellipsis>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a-space>\r\n\t\t\t\t\t\t<a @click=\"detail.onOpen(record)\">详情</a>\r\n\t\t\t\t\t</a-space>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<vislogDetail ref=\"detail\" />\r\n</template>\r\n<script setup name=\"devLogOplogIndex\">\r\n\timport logApi from '@/api/dev/logApi'\r\n\r\n\tlet searchFormState = reactive({})\r\n\tconst searchFormRef = ref()\r\n\tconst table = ref()\r\n\tconst detail = ref()\r\n\tconst opLogType = ref('OPERATE')\r\n\tlet opLogTypeList = ref([\r\n\t\t{\r\n\t\t\tlabel: '操作日志',\r\n\t\t\tvalue: 'OPERATE'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '异常日志',\r\n\t\t\tvalue: 'EXCEPTION'\r\n\t\t}\r\n\t])\r\n\r\n\t// 搜索表单字段配置\r\n\tconst searchFormFields = computed(() => [\r\n\t\t{ label: '日志类型', name: 'logType', span: 6 },\r\n\t\t{ label: '关键字搜索', name: 'searchKey', span: 6 }\r\n\t])\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '清空',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\ttype: 'popconfirm',\r\n\t\t\tconfirmTitle: '确定清空操作与异常日志吗？',\r\n\t\t\tokText: '是',\r\n\t\t\tcancelText: '否',\r\n\t\t\tonClick: deleteBatchOpLog\r\n\t\t}\r\n\t])\r\n\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '名称',\r\n\r\n\t\t\tdataIndex: 'name'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'IP地址',\r\n\r\n\t\t\tdataIndex: 'opIp'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '地址',\r\n\r\n\t\t\tdataIndex: 'opAddress'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '类名称',\r\n\r\n\t\t\tdataIndex: 'className'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '方法名称',\r\n\r\n\t\t\tdataIndex: 'methodName'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作时间',\r\n\r\n\t\t\tdataIndex: 'opTime',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '用户',\r\n\r\n\t\t\tdataIndex: 'opUser'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 100\r\n\t\t}\r\n\t]\r\n\t// 切换应用标签查询\r\n\tconst opLogTypeClock = (value) => {\r\n\t\tsearchFormState.category = value\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 查询\r\n\tconst onSearch = () => {\r\n\t\tif (searchFormState.searchKey) {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t}\r\n\t}\r\n\tconst loadData = (parameter) => {\r\n\t\tsearchFormState.category = searchFormState.category ? searchFormState.category : opLogType.value\r\n\t\treturn logApi.logPage(Object.assign(parameter, searchFormState)).then((data) => {\r\n\t\t\treturn data\r\n\t\t})\r\n\t}\r\n\t// 清空\r\n\tconst deleteBatchOpLog = () => {\r\n\t\tconst param = {\r\n\t\t\tcategory: searchFormState.category ? searchFormState.category : opLogType.value\r\n\t\t}\r\n\t\tlogApi.logDelete(param).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n</script>\r\n","<template>\r\n\t<div id=\"pieChart\" style=\"height: 180px\"></div>\r\n</template>\r\n<script setup name=\"visLogPieChart\">\r\n\timport logApi from '@/api/dev/logApi'\r\n\timport { onMounted } from 'vue'\r\n\timport { Pie } from '@antv/g2plot'\r\n\tonMounted(() => {\r\n\t\tlogApi.logVisPieChartData().then((data) => {\r\n\t\t\tconst piePlot = new Pie('pieChart', {\r\n\t\t\t\tappendPadding: 10,\r\n\t\t\t\tdata,\r\n\t\t\t\tangleField: 'value',\r\n\t\t\t\tcolorField: 'type',\r\n\t\t\t\tradius: 0.9,\r\n\t\t\t\tcolor: ['#1890ff', 'rgb(188, 189, 190)'],\r\n\t\t\t\tlabel: {\r\n\t\t\t\t\ttype: 'inner',\r\n\t\t\t\t\toffset: '-30%',\r\n\t\t\t\t\tcontent: ({ percent }) => `${(percent * 100).toFixed(0)}%`,\r\n\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\tfontSize: 14,\r\n\t\t\t\t\t\ttextAlign: 'center'\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tinteractions: [{ type: 'element-active' }]\r\n\t\t\t})\r\n\t\t\tpiePlot.render()\r\n\t\t})\r\n\t})\r\n</script>\r\n","<template>\r\n\t<div id=\"visLogChartLine\" style=\"height: 180px\"></div>\r\n</template>\r\n<script setup name=\"visLogLineChart\">\r\n\timport logApi from '@/api/dev/logApi'\r\n\timport { Line } from '@antv/g2plot'\r\n\timport { onMounted } from 'vue'\r\n\tconst seriesKey = 'series'\r\n\tconst valueKey = 'value'\r\n\tconst processData = (data, yFields, meta) => {\r\n\t\tconst result = []\r\n\t\tdata.forEach((d) => {\r\n\t\t\tyFields.forEach((yField) => {\r\n\t\t\t\tconst name = meta?.[yField]?.alias || yField\r\n\t\t\t\tresult.push({ ...d, [seriesKey]: name, [valueKey]: d[yField] })\r\n\t\t\t})\r\n\t\t})\r\n\t\treturn result\r\n\t}\r\n\tonMounted(() => {\r\n\t\tconst lineMeta = {\r\n\t\t\tdate: {\r\n\t\t\t\talias: '登录登出周统计'\r\n\t\t\t},\r\n\t\t\tloginCount: {\r\n\t\t\t\talias: '登录'\r\n\t\t\t},\r\n\t\t\tlogoutCount: {\r\n\t\t\t\talias: '登出'\r\n\t\t\t}\r\n\t\t}\r\n\t\tlogApi.logVisLineChartData().then((data) => {\r\n\t\t\tconst line = new Line('visLogChartLine', {\r\n\t\t\t\tdata: processData(data, ['loginCount', 'logoutCount'], lineMeta),\r\n\t\t\t\tpadding: 'auto',\r\n\t\t\t\txField: 'date',\r\n\t\t\t\tyField: valueKey,\r\n\t\t\t\tseriesField: seriesKey,\r\n\t\t\t\tcolor: ['#1890ff', 'rgb(188, 189, 190)'],\r\n\t\t\t\tappendPadding: [0, 8, 0, 0]\r\n\t\t\t})\r\n\t\t\tline.render()\r\n\t\t})\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-drawer\r\n\t\ttitle=\"详情\"\r\n\t\t:width=\"600\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-descriptions :column=\"1\" size=\"middle\" bordered class=\"mb-2\">\r\n\t\t\t<a-descriptions-item label=\"名称\">{{ formData.name }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"IP地址\">{{ formData.opIp }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"地址\">{{ formData.opAddress }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"浏览器\">{{ formData.opBrowser }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"设备\">{{ formData.opOs }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"时间\">{{ formData.opTime }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"用户\">{{ formData.opUser }}</a-descriptions-item>\r\n\t\t</a-descriptions>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"vislogDetail\">\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\tconst table = ref()\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = record\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-drawer\r\n\t\ttitle=\"详情\"\r\n\t\t:width=\"600\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-descriptions :column=\"1\" size=\"middle\" bordered class=\"mb-2\">\r\n\t\t\t<a-descriptions-item label=\"名称\">{{ formData.name }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"请求IP\">{{ formData.opIp }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"IP来源\">{{ formData.opAddress }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"请求地址\">{{ formData.reqUrl }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"操作类\">{{ formData.className }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"操作方法\">{{ formData.methodName }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"操作时间\">{{ formData.opTime }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"操作人\">{{ formData.opUser }}</a-descriptions-item>\r\n\t\t</a-descriptions>\r\n\t\t<a-space direction=\"vertical\" class=\"mb-2\" style=\"width: 100%\">\r\n\t\t\t请求参数：\r\n\t\t\t<XnHighlightjs :code=\"paramJson\"></XnHighlightjs>\r\n\t\t</a-space>\r\n\t\t<a-space direction=\"vertical\" class=\"mb-2\" style=\"width: 100%\">\r\n\t\t\t返回结果：\r\n\t\t\t<XnHighlightjs language=\"JSON\" :code=\"resultJson\"></XnHighlightjs>\r\n\t\t</a-space>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"oplogDetail\">\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst formData = ref({})\r\n\tconst table = ref()\r\n\tconst paramJson = ref()\r\n\tconst resultJson = ref()\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = record\r\n\t\tif (record.paramJson) {\r\n\t\t\tconst code = JSON.parse(record.paramJson)\r\n\t\t\tparamJson.value = JSON.stringify(code, undefined, 2)\r\n\t\t} else {\r\n\t\t\tparamJson.value = '无'\r\n\t\t}\r\n\t\tif (record.category === 'EXCEPTION') {\r\n\t\t\tresultJson.value = record.exeMessage\r\n\t\t} else {\r\n\t\t\tif (record.resultJson) {\r\n\t\t\t\tconst code = JSON.parse(record.resultJson)\r\n\t\t\t\tresultJson.value = JSON.stringify(code, undefined, 2)\r\n\t\t\t} else {\r\n\t\t\t\tresultJson.value = '无'\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tparamJson.value = ''\r\n\t\tresultJson.value = ''\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-row :gutter=\"10\" class=\"mb-2\">\r\n\t\t<a-col :span=\"16\">\r\n\t\t\t<a-card :bordered=\"false\" title=\"周统计\">\r\n\t\t\t\t<visLogLineChart ref=\"lineChartRef\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"8\">\r\n\t\t\t<a-card :bordered=\"false\" title=\"总比例\">\r\n\t\t\t\t<visLogPieChart ref=\"pieChartRef\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"searchFormFields\" @search=\"onSearch\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t<template #logType=\"{ formState }\">\r\n\t\t\t<a-radio-group v-model:value=\"visLogType\" button-style=\"solid\">\r\n\t\t\t\t<a-radio-button v-for=\"visLog in visLogTypeList\" :key=\"visLog.value\" :value=\"visLog.value\" @click=\"visLogTypeClock(visLog.value)\">\r\n\t\t\t\t\t{{ visLog.label }}\r\n\t\t\t\t</a-radio-button>\r\n\t\t\t</a-radio-group>\r\n\t\t</template>\r\n\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t<a-input-search v-model:value=\"formState.searchKey\" placeholder=\"请输入名称关键字\" enter-button allowClear @search=\"onSearch\" />\r\n\t\t</template>\r\n\t</SearchForm>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadData\" bordered :row-key=\"(record) => record.id\" :operator-config=\"operatorConfig\">\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a-space>\r\n\t\t\t\t\t\t<a @click=\"detail.onOpen(record)\">详情</a>\r\n\t\t\t\t\t</a-space>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<vislogDetail ref=\"detail\" />\r\n</template>\r\n<script setup name=\"devLogVislogIndex\">\r\n\timport logApi from '@/api/dev/logApi'\r\n\r\n\tlet searchFormState = reactive({})\r\n\tconst searchFormRef = ref()\r\n\tconst table = ref()\r\n\tconst detail = ref()\r\n\tconst lineChartRef = ref()\r\n\tconst pieChartRef = ref()\r\n\tconst visLogType = ref('LOGIN')\r\n\tlet visLogTypeList = ref([\r\n\t\t{\r\n\t\t\tlabel: '登录日志',\r\n\t\t\tvalue: 'LOGIN'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '登出日志',\r\n\t\t\tvalue: 'LOGOUT'\r\n\t\t}\r\n\t])\r\n\r\n\t// 搜索表单字段配置\r\n\tconst searchFormFields = computed(() => [\r\n\t\t{ label: '日志类型', name: 'logType', span: 6 },\r\n\t\t{ label: '关键字搜索', name: 'searchKey', span: 6 }\r\n\t])\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '清空',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\ttype: 'popconfirm',\r\n\t\t\tconfirmTitle: '确定清空登录登出日志吗？',\r\n\t\t\tokText: '是',\r\n\t\t\tcancelText: '否',\r\n\t\t\tonClick: deleteBatchVisLog\r\n\t\t}\r\n\t])\r\n\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '名称',\r\n\r\n\t\t\tdataIndex: 'name'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'IP地址',\r\n\r\n\t\t\tdataIndex: 'opIp'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '地址',\r\n\r\n\t\t\tdataIndex: 'opAddress'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '浏览器',\r\n\r\n\t\t\tdataIndex: 'opBrowser'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '设备',\r\n\r\n\t\t\tdataIndex: 'opOs'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '时间',\r\n\r\n\t\t\tdataIndex: 'opTime',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '用户',\r\n\r\n\t\t\tdataIndex: 'opUser'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 100\r\n\t\t}\r\n\t]\r\n\t// 切换应用标签查询\r\n\tconst visLogTypeClock = (value) => {\r\n\t\tsearchFormState.category = value\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 查询\r\n\tconst onSearch = () => {\r\n\t\tif (searchFormState.searchKey) {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t}\r\n\t}\r\n\tconst loadData = (parameter) => {\r\n\t\tsearchFormState.category = searchFormState.category ? searchFormState.category : visLogType.value\r\n\t\treturn logApi.logPage(Object.assign(parameter, searchFormState)).then((data) => {\r\n\t\t\treturn data\r\n\t\t})\r\n\t}\r\n\t// 清空\r\n\tconst deleteBatchVisLog = () => {\r\n\t\tconst param = {\r\n\t\t\tcategory: searchFormState.category ? searchFormState.category : visLogType.value\r\n\t\t}\r\n\t\tlogApi.logDelete(param).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n</script>\r\n","<template>\r\n\t<a-spin :spinning=\"loadSpinning\">\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\" :label-col=\"labelCol\">\r\n\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t<a-col :span=\"3\">\r\n\t\t\t\t\t<a-form-item label=\"系统LOGO：\" name=\"SNOWY_SYS_LOGO\">\r\n\t\t\t\t\t\t<a-upload v-model:file-list=\"formData.SNOWY_SYS_LOGO\" class=\"avatar-uploader\" list-type=\"picture-card\" :show-upload-list=\"false\" :custom-request=\"customRequest\" accept=\"image/png, image/jpeg, image/jpg\">\r\n\t\t\t\t\t\t\t<img v-if=\"imageUrl\" :src=\"imageUrl\" alt=\"avatar\" style=\"max-height: 100px; max-width: 100px\" />\r\n\t\t\t\t\t\t\t<div v-else>\r\n\t\t\t\t\t\t\t\t<plus-outlined />\r\n\t\t\t\t\t\t\t\t<div class=\"ant-upload-text\">上传</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</a-upload>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t</a-row>\r\n\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"系统名称：\" name=\"SNOWY_SYS_NAME\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formData.SNOWY_SYS_NAME\" placeholder=\"请输入系统名称\" />\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"系统版本：\" name=\"SNOWY_SYS_VERSION\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formData.SNOWY_SYS_VERSION\" placeholder=\"请输入系统版本\" />\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"版权信息：\" name=\"SNOWY_SYS_COPYRIGHT\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formData.SNOWY_SYS_COPYRIGHT\" placeholder=\"请输入版权信息\" />\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t</a-row>\r\n\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"版权链接URL：\" name=\"SNOWY_SYS_COPYRIGHT_URL\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formData.SNOWY_SYS_COPYRIGHT_URL\" placeholder=\"请输入版权链接URL\" />\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"验证码开关：\" name=\"SNOWY_SYS_DEFAULT_CAPTCHA_OPEN\">\r\n\t\t\t\t\t\t<a-radio-group v-model:value=\"formData.SNOWY_SYS_DEFAULT_CAPTCHA_OPEN\" :options=\"commonSwitchOptions\" placeholder=\"请选择验证码开关\"></a-radio-group>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"默认文档引擎：\" name=\"SNOWY_SYS_DEFAULT_FILE_ENGINE\">\r\n\t\t\t\t\t\t<a-radio-group v-model:value=\"formData.SNOWY_SYS_DEFAULT_FILE_ENGINE\" :options=\"fileEngineOptions\" placeholder=\"请选择系统默认文档引擎\"></a-radio-group>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t</a-row>\r\n\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"默认快捷方式：\" name=\"SNOWY_SYS_DEFAULT_WORKBENCH_DATA\">\r\n\t\t\t\t\t\t<menuTreeSelect ref=\"menuTreeSelectRef\" :resultData=\"true\" />\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"系统默认密码：\" name=\"SNOWY_SYS_DEFAULT_PASSWORD\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formData.SNOWY_SYS_DEFAULT_PASSWORD\" placeholder=\"请输入系统默认密码\" />\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t<a-form-item label=\"系统描述：\" name=\"SNOWY_SYS_DEFAULT_DESCRRIPTION\">\r\n\t\t\t\t\t\t<a-textarea v-model:value=\"formData.SNOWY_SYS_DEFAULT_DESCRRIPTION\" placeholder=\"请输入系统描述\" :auto-size=\"{ minRows: 3, maxRows: 6 }\" />\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t</a-row>\r\n\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t<a-col :span=\"24\">\r\n\t\t\t\t\t<a-form-item>\r\n\t\t\t\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit()\">保存</a-button>\r\n\t\t\t\t\t\t<a-button style=\"margin-left: 10px\" @click=\"() => formRef.resetFields()\">重置</a-button>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t</a-row>\r\n\t\t</a-form>\r\n\t</a-spin>\r\n</template>\r\n<script setup name=\"sysConfig\">\r\nimport {cloneDeep} from 'lodash-es'\r\nimport {required} from '@/utils/formRules'\r\nimport {message} from 'ant-design-vue'\r\nimport configApi from '@/api/dev/configApi'\r\nimport {tool} from 'elead-ui-tool-v3'\r\n// 定义emit事件\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\t// 表单数据，也就是默认给一些数据\r\n\tconst formData = ref({})\r\n\tconst submitLoading = ref(false)\r\n\tconst imageUrl = ref('')\r\n\tconst menuTreeSelectRef = ref()\r\n\tconst loadSpinning = ref(true)\r\n\t// 查询此界面的配置项,并转为表单\r\n\tconst param = {\r\n\t\tcategory: 'SYS_BASE'\r\n\t}\r\n\tconfigApi.configList(param).then((data) => {\r\n\t\tloadSpinning.value = false\r\n\t\tif (data) {\r\n\t\t\tdata.forEach((item) => {\r\n\t\t\t\t// 如果是系统的logo，它这个组件要一个数组，我将其单独处理\r\n\t\t\t\tif (item.configKey === 'SNOWY_SYS_LOGO') {\r\n\t\t\t\t\tformData.value[item.configKey] = [item.configValue]\r\n\t\t\t\t\t// 让其回显\r\n\t\t\t\t\timageUrl.value = item.configValue\r\n\t\t\t\t} else if (item.configKey === 'SNOWY_SYS_DEFAULT_WORKBENCH_DATA') {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tmenuTreeSelectRef.value.setSelectData(JSON.parse(item.configValue).shortcut)\r\n\t\t\t\t\t\t// eslint-disable-next-line no-empty\r\n\t\t\t\t\t} catch (e) {}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tformData.value[item.configKey] = item.configValue\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tmessage.warning('表单项不存在，请初始化数据库')\r\n\t\t}\r\n\t})\r\n\t// 文档引擎\r\n\tconst fileEngineOptions = tool.dictTypeList('FILE_ENGINE').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 开关\r\n\tconst commonSwitchOptions = tool.dictTypeList('COMMON_SWITCH').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\tconst customRequest = (data) => {\r\n\t\tformData.value.SNOWY_SYS_LOGO = ref([])\r\n\t\tgetBase64(data.file)\r\n\t\t\t.then((res) => {\r\n\t\t\t\timageUrl.value = res\r\n\t\t\t\tformData.value.SNOWY_SYS_LOGO.push(res)\r\n\t\t\t})\r\n\t\t\t.catch((err) => {})\r\n\t}\r\n\t// 文档转base64，用于显示图片\r\n\tconst getBase64 = (file) => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t// FileReader类就是专门用来读文档的\r\n\t\t\tconst reader = new FileReader()\r\n\t\t\treader.readAsDataURL(file)\r\n\t\t\t// 成功和失败返回对应的信息，reader.result一个base64，可以直接使用\r\n\t\t\treader.onload = () => resolve(reader.result)\r\n\t\t\t// 失败返回失败的信息\r\n\t\t\treader.onerror = (error) => reject(error)\r\n\t\t})\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\tSNOWY_SYS_LOGO: [required('请上传系统LOGO')],\r\n\t\tSNOWY_SYS_NAME: [required('请输入系统名称')],\r\n\t\tSNOWY_SYS_VERSION: [required('请输入系统版本')],\r\n\t\tSNOWY_SYS_COPYRIGHT: [required('请输入版权信息')],\r\n\t\tSNOWY_SYS_COPYRIGHT_URL: [required('请输入版权链接URL')],\r\n\t\tSNOWY_SYS_DEFAULT_FILE_ENGINE: [required('请选择系统默认文档引擎')],\r\n\t\tSNOWY_SYS_DEFAULT_CAPTCHA_OPEN: [required('请选择系统验证码开关')],\r\n\t\tSNOWY_SYS_DEFAULT_PASSWORD: [required('请输入系统重置密码默认密码')]\r\n\t}\r\n\t// 表单固定label实现\r\n\tconst labelCol = ref({\r\n\t\tstyle: {\r\n\t\t\twidth: 150\r\n\t\t}\r\n\t})\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value\r\n\t\t\t.validate()\r\n\t\t\t.then(() => {\r\n\t\t\t\tsubmitLoading.value = true\r\n\t\t\t\tlet submitParam = cloneDeep(formData.value)\r\n\t\t\t\tsubmitParam.SNOWY_SYS_LOGO = submitParam.SNOWY_SYS_LOGO[0]\r\n\t\t\t\tconst param = Object.entries(submitParam).map((item) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tconfigKey: item[0],\r\n\t\t\t\t\t\tconfigValue: item[1]\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t// 创建快捷方式\r\n\t\t\t\tconst shortcut = {\r\n\t\t\t\t\tshortcut: menuTreeSelectRef.value.getSelectData()\r\n\t\t\t\t}\r\n\t\t\t\tparam.push({\r\n\t\t\t\t\tconfigKey: 'SNOWY_SYS_DEFAULT_WORKBENCH_DATA',\r\n\t\t\t\t\tconfigValue: JSON.stringify(shortcut)\r\n\t\t\t\t})\r\n\t\t\t\tconfigApi\r\n\t\t\t\t\t.configEditForm(param)\r\n\t\t\t\t\t.then(() => {})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\tsubmitLoading.value = false\r\n\t\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.catch(() => {})\r\n\t}\r\n</script>\r\n","<template>\r\n\t<a-drawer :title=\"formData.id ? '编辑配置' : '增加配置'\" :width=\"500\" :visible=\"visible\" :destroy-on-close=\"true\" :body-style=\"{ paddingBottom: '80px' }\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"配置键：\" name=\"configKey\">\r\n\t\t\t\t<a-input v-model:value=\"formData.configKey\" placeholder=\"请输入配置键\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"配置值：\" name=\"configValue\">\r\n\t\t\t\t<a-textarea v-model:value=\"formData.configValue\" placeholder=\"请输入配置值\" :auto-size=\"{ minRows: 2, maxRows: 5 }\" />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"备注：\" name=\"remark\">\r\n\t\t\t\t<a-input v-model:value=\"formData.remark\" placeholder=\"请输入备注\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序:\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" @click=\"onSubmit\" :loading=\"submitLoading\">保存</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n<script setup>\r\n\timport { required } from  '@/utils/formRules'\r\n\timport configApi from '@/api/dev/configApi'\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formRef = ref()\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\tconst submitLoading = ref()\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformRef.value.resetFields()\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\tconfigKey: [required('请输入配置键')],\r\n\t\tconfigValue: [required('请输入配置值')],\r\n\t\tsortCode: [required('请滑动排序')]\r\n\t}\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\tsubmitLoading.value = true\r\n\t\t\tconfigApi\r\n\t\t\t\t.submitForm(formData.value, !formData.value.id)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tonClose()\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tsubmitLoading.value = false\r\n\t\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<SearchForm\r\n\t\t:form-state=\"searchFormState\"\r\n\t\t:form-fields=\"[\r\n\t\t\t{ label: '关键字', name: 'searchKey', span: 8 }\r\n\t\t]\"\r\n\t\t@search=\"table.refresh(true)\"\r\n\t\t@reset=\"handleReset\"\r\n\t\tref=\"searchFormRef\"\r\n\t>\r\n\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入关键字\" allowClear />\r\n\t\t</template>\r\n\t</SearchForm>\r\n\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadData\" :alert=\"false\" bordered :row-key=\"(record) => record.id\" :tool-config=\"toolConfig\" :operator-config=\"operatorConfig\">\r\n\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t<template v-if=\"column.key === 'action'\">\r\n\t\t\t\t<a-space>\r\n\t\t\t\t\t<a @click=\"form.onOpen(record)\">编辑</a>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a-popconfirm title=\"确定要删除此配置吗？\" @confirm=\"deleteConfig(record)\">\r\n\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t</a-space>\r\n\t\t\t</template>\r\n\t\t</template>\r\n\t</s-table>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n</template>\r\n<script setup name=\"sysModule\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport Form from './form.vue'\r\n\timport configApi from '@/api/dev/configApi'\r\n\tlet searchFormState = reactive({})\r\n\tconst formRef = ref()\r\n\tconst searchFormRef = ref()\r\n\tconst table = ref()\r\n\tlet form = ref()\r\n\r\n\t// 重置搜索表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增配置',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen()\r\n\t\t}\r\n\t])\r\n\tconst toolConfig = { refresh: true, height: true, columnSetting: false, striped: false }\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '配置键',\r\n\r\n\t\t\tdataIndex: 'configKey',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '配置值',\r\n\r\n\t\t\tdataIndex: 'configValue',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '备注',\r\n\r\n\t\t\tdataIndex: 'remark'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\r\n\t\t\tdataIndex: 'sortCode',\r\n\t\t\twidth: 100,\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tkey: 'action',\r\n\t\t\twidth: 280,\r\n\t\t\tscopedSlots: { customRender: 'action' }\r\n\t\t}\r\n\t]\r\n\tconst loadData = (parameter) => {\r\n\t\treturn configApi.configPage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 删除\r\n\tconst deleteConfig = (record) => {\r\n\t\tlet params = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\tconfigApi.configDetail(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n</script>\r\n","<template>\r\n\t<a-card style=\"width: 100%\" :bordered=\"false\" :tab-list=\"tabListNoTitle\" :active-tab-key=\"noTitleKey\" @tabChange=\"(key) => onTabChange(key, 'noTitleKey')\">\r\n\t\t<p v-if=\"noTitleKey === 'sysConfig'\">\r\n\t\t\t<SysConfig />\r\n\t\t</p>\r\n\t\t<p v-else-if=\"noTitleKey === 'otherConfig'\">\r\n\t\t\t<other-config />\r\n\t\t</p>\r\n\t</a-card>\r\n</template>\r\n<script setup name=\"devConfigIndex\">\r\n\timport SysConfig from './sysConfig.vue'\r\n\timport otherConfig from './otherConfig/index.vue'\r\n\tconst key = ref('sysConfig')\r\n\tconst noTitleKey = ref('sysConfig')\r\n\tconst tabListNoTitle = [\r\n\t\t{\r\n\t\t\tkey: 'sysConfig',\r\n\t\t\ttab: '系统配置'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: 'otherConfig',\r\n\t\t\ttab: '其他配置'\r\n\t\t}\r\n\t]\r\n\tconst onTabChange = (value, type) => {\r\n\t\tif (type === 'key') {\r\n\t\t\tkey.value = value\r\n\t\t} else if (type === 'noTitleKey') {\r\n\t\t\tnoTitleKey.value = value\r\n\t\t}\r\n\t}\r\n</script>\r\n","<template>\r\n\t<a-drawer :title=\"formData.id ? '编辑字典' : '增加字典'\" :width=\"500\" :visible=\"visible\" :destroy-on-close=\"true\" :body-style=\"{ paddingBottom: '80px' }\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\" :label-col=\"labelCol\">\r\n\t\t\t<a-form-item label=\"上级字典：\" name=\"parentId\">\r\n\t\t\t\t<a-tree-select\r\n\t\t\t\t\tv-model:value=\"formData.parentId\"\r\n\t\t\t\t\tv-model:treeExpandedKeys=\"defaultExpandedKeys\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t:dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n\t\t\t\t\tplaceholder=\"请选择上级字典\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t\t:tree-data=\"treeData\"\r\n\t\t\t\t\t:field-names=\"{\r\n\t\t\t\t\t\tchildren: 'children',\r\n\t\t\t\t\t\tlabel: 'name',\r\n\t\t\t\t\t\tvalue: 'id'\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\tselectable=\"false\"\r\n\t\t\t\t\ttreeLine\r\n\t\t\t\t></a-tree-select>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"字典名称：\" name=\"dictLabel\">\r\n\t\t\t\t<a-input v-model:value=\"formData.dictLabel\" placeholder=\"请输入字典名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"字典值：\" name=\"dictValue\">\r\n\t\t\t\t<a-input v-model:value=\"formData.dictValue\" placeholder=\"请输入字典值\" allow-clear :disabled=\"formData.parentId === '0'\" />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序：\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"dictForm\">\r\n  import { required } from '@/utils/formRules.js'\r\n\timport dictApi from '@/api/dev/dictApi'\r\n\t// 定义emit事件\r\n\tconst emit = defineEmits({ successful: null })\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst formRef = ref()\r\n\t// 表单数据\r\n\tlet formData = ref({})\r\n\t// 定义树元素\r\n\tconst treeData = ref([])\r\n\t// 默认展开的节点(顶级)\r\n\tconst defaultExpandedKeys = ref([0])\r\n\t// 打开抽屉\r\n\tconst onOpen = (record, type) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tsortCode: 99,\r\n\t\t\tcategory: type\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t\tformData.value.category = type\r\n\t\t}\r\n\t\t// 获取树并加入顶级\r\n\t\tconst treeParam = {\r\n\t\t\tcategory: type\r\n\t\t}\r\n\t\tdictApi.dictTree(treeParam).then((res) => {\r\n\t\t\ttreeData.value = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 0,\r\n\t\t\t\t\tparentId: '-1',\r\n\t\t\t\t\tname: '顶级',\r\n\t\t\t\t\tchildren: res\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\tdictLabel: [required('请输入字典名称')],\r\n\t\tdictValue: [required('请选择字典值')],\r\n\t\tsortCode: [required('请选择排序')]\r\n\t}\r\n\t// 表单固定label实现\r\n\tconst labelCol = ref({\r\n\t\tstyle: {\r\n\t\t\twidth: 100\r\n\t\t}\r\n\t})\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\tdictApi.submitForm(formData.value, !formData.value.id).then(() => {\r\n\t\t\t\tvisible.value = false\r\n\t\t\t\temit('successful')\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-row>\r\n\t\t<a-col :span=\"5\">\r\n\t\t\t<a-input v-model:value=\"searchValue\" style=\"margin-bottom: 8px; width: 90%\" placeholder=\"搜索\" />\r\n\t\t\t<a-tree v-if=\"treeData.length > 0\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"> </a-tree>\r\n\t\t\t<a-empty v-else :image=\"Empty.PRESENTED_IMAGE_SIMPLE\" />\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"19\">\r\n\t\t\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"[{ label: '字典名称', name: 'searchKey', span: 8 }]\" @search=\"table.refresh(true)\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入字典名称\"></a-input>\r\n\t\t\t\t</template>\r\n\t\t\t</SearchForm>\r\n\t\t\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadData\" :expand-row-by-click=\"true\" bordered :row-key=\"(record) => record.id\" :operator-config=\"operatorConfig\">\r\n\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t{{ $TOOL.dictTypeData('DICT_CATEGORY', record.category) }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t<a @click=\"form.onOpen(record, 'FRM')\">编辑</a>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</template>\r\n\t\t\t</s-table>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<Form ref=\"form\" @successful=\"formSuccessful()\" />\r\n</template>\r\n<script setup>\r\n\timport { Empty } from 'ant-design-vue'\r\n\timport { cloneDeep } from 'lodash-es'\r\n\timport dictApi from '@/api/dev/dictApi'\r\n\timport Form from './form.vue'\r\n\tconst { proxy } = getCurrentInstance()\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '字典名称',\r\n\r\n\t\t\tdataIndex: 'dictLabel'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '字典值',\r\n\r\n\t\t\tdataIndex: 'dictValue'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '字典类型',\r\n\r\n\t\t\tdataIndex: 'dictType'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\r\n\t\t\tdataIndex: 'sortCode'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 150\r\n\t\t}\r\n\t]\r\n\t// 定义tableDOM\r\n\tconst table = ref(null)\r\n\tconst form = ref()\r\n\tconst searchFormRef = ref()\r\n\tlet searchFormState = reactive({})\r\n\t// 默认展开的节点\r\n\tconst defaultExpandedKeys = ref([])\r\n\tconst treeData = ref([])\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'dictLabel', key: 'id' }\r\n\tconst searchValue = ref('')\r\n\tconst gData = ref([])\r\n\twatch(searchValue, (value) => {\r\n\t\tif (value) {\r\n\t\t\ttreeData.value = gData.value.filter((item) => item.name.indexOf(value) > -1 || item.dictValue.indexOf(value) > -1)\r\n\t\t} else {\r\n\t\t\ttreeData.value = gData.value\r\n\t\t}\r\n\t})\r\n\tonMounted(() => {\r\n\t\tloadTreeData()\r\n\t})\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\t// loadTreeData()\r\n\t\tparameter.category = 'FRM'\r\n\t\treturn dictApi.dictPage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 加载左侧的树\r\n\tconst loadTreeData = () => {\r\n\t\tconst param = {\r\n\t\t\tcategory: 'FRM'\r\n\t\t}\r\n\t\tdictApi.dictTree(param).then((res) => {\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\tgData.value = cloneDeep(res)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.parentId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.parentId\r\n\t\t}\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 表单界面回调\r\n\tconst formSuccessful = () => {\r\n\t\ttable.value.refresh()\r\n\t\trefreshStoreDict()\r\n\t}\r\n\t// 刷新store中的字典\r\n\tconst refreshStoreDict = () => {\r\n\t\tdictApi.dictTree().then((res) => {\r\n\t\t\tproxy.$TOOL.data.set('DICT_TYPE_TREE_DATA', res)\r\n\t\t})\r\n\t}\r\n\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen(undefined, 'FRM')\r\n\t\t}\r\n\t])\r\n</script>\r\n<style scoped>\r\n\t.cardImp {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-row>\r\n\t\t<a-col :span=\"5\">\r\n\t\t\t<a-input v-model:value=\"searchValue\" style=\"margin-bottom: 8px; width: 90%\" placeholder=\"搜索\" />\r\n\t\t\t<a-tree v-if=\"treeData.length > 0\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"> </a-tree>\r\n\t\t\t<a-empty v-else :image=\"Empty.PRESENTED_IMAGE_SIMPLE\" />\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"19\">\r\n\t\t\t<SearchForm\r\n\t\t\t\t:form-state=\"searchFormState\"\r\n\t\t\t\t:form-fields=\"[\r\n\t\t\t\t\t{ label: '字典名称', name: 'searchKey', span: 8 }\r\n\t\t\t\t]\"\r\n\t\t\t\t@search=\"table.refresh(true)\"\r\n\t\t\t\t@reset=\"handleReset\"\r\n\t\t\t\tref=\"searchFormRef\"\r\n\t\t\t>\r\n\t\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入字典名称\" />\r\n\t\t\t\t</template>\r\n\t\t\t</SearchForm>\r\n\t\t\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadData\" :expand-row-by-click=\"true\" bordered :row-key=\"(record) => record.id\" :operator-config=\"operatorConfig\">\r\n\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t<a @click=\"form.onOpen(record, 'BIZ')\">编辑</a>\r\n\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t<a-popconfirm title=\"删除此字典与下级字典吗？\" @confirm=\"remove(record)\">\r\n\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</template>\r\n\t\t\t</s-table>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<Form ref=\"form\" @successful=\"formSuccessful()\" />\r\n</template>\r\n<script setup>\r\n\timport { Empty } from 'ant-design-vue'\r\n\timport { cloneDeep } from 'lodash-es'\r\n\timport dictApi from '@/api/dev/dictApi'\r\n\timport Form from './form.vue'\r\n\tconst { proxy } = getCurrentInstance()\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '字典名称',\r\n\r\n\t\t\tdataIndex: 'dictLabel'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '字典值',\r\n\r\n\t\t\tdataIndex: 'dictValue'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '字典类型',\r\n\r\n\t\t\tdataIndex: 'dictType'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\r\n\t\t\tdataIndex: 'sortCode'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 150\r\n\t\t}\r\n\t]\r\n\t// 定义tableDOM\r\n\tconst table = ref(null)\r\n\tconst form = ref()\r\n\tconst searchFormRef = ref()\r\n\tlet searchFormState = reactive({})\r\n\r\n\t// 重置搜索表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen(undefined, 'BIZ')\r\n\t\t}\r\n\t])\r\n\t// 默认展开的节点\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst treeData = ref([])\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'dictLabel', key: 'id' }\r\n\tconst searchValue = ref('')\r\n\tconst gData = ref([])\r\n\twatch(searchValue, (value) => {\r\n\t\tif (value) {\r\n\t\t\ttreeData.value = gData.value.filter((item) => item.name.indexOf(value) > -1 || item.dictValue.indexOf(value) > -1)\r\n\t\t} else {\r\n\t\t\ttreeData.value = gData.value\r\n\t\t}\r\n\t})\r\n\tonMounted(() => {\r\n\t\tloadTreeData()\r\n\t})\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\t// loadTreeData()\r\n\t\tparameter.category = 'BIZ'\r\n\t\treturn dictApi.dictPage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 加载左侧的树\r\n\tconst loadTreeData = () => {\r\n\t\tconst param = {\r\n\t\t\tcategory: 'BIZ'\r\n\t\t}\r\n\t\tdictApi.dictTree(param).then((res) => {\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\tgData.value = cloneDeep(res)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.parentId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.parentId\r\n\t\t}\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 删除\r\n\tconst remove = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tdictApi.dictDelete(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t\trefreshStoreDict()\r\n\t}\r\n\t// 表单界面回调\r\n\tconst formSuccessful = () => {\r\n\t\ttable.value.refresh()\r\n\t\trefreshStoreDict()\r\n\t\tloadTreeData()\r\n\t}\r\n\t// 刷新store中的字典\r\n\tconst refreshStoreDict = () => {\r\n\t\tdictApi.dictTree().then((res) => {\r\n\t\t\tproxy.$TOOL.data.set('DICT_TYPE_TREE_DATA', res)\r\n\t\t})\r\n\t}\r\n</script>\r\n<style scoped>\r\n\t.cardImp {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-card\r\n\t\t:bordered=\"false\"\r\n\t\t:active-tab-key=\"activeKey\"\r\n\t\t:tab-list=\"tabListNoTitle\"\r\n\t\t@tabChange=\"(key) => onTabChange(key, 'frmIndex')\"\r\n\t>\r\n\t\t<p v-if=\"activeKey === 'frmIndex'\">\r\n\t\t\t<frm-index />\r\n\t\t</p>\r\n\t\t<p v-if=\"activeKey === 'bizIndex'\">\r\n\t\t\t<biz-index />\r\n\t\t</p>\r\n\t</a-card>\r\n</template>\r\n<script setup name=\"devDictIndex\">\r\n\timport frmIndex from './category/frmIndex.vue'\r\n\timport bizIndex from './category/bizIndex.vue'\r\n\tconst activeKey = ref('frmIndex')\r\n\tconst tabListNoTitle = ref([\r\n\t\t{ key: 'frmIndex', tab: '系统字典' },\r\n\t\t{ key: 'bizIndex', tab: '业务字典' }\r\n\t])\r\n\tconst onTabChange = (value, type) => {\r\n\t\tif (type === 'key') {\r\n\t\t\tkey.value = value\r\n\t\t} else if (type === 'frmIndex') {\r\n\t\t\tactiveKey.value = value\r\n\t\t}\r\n\t}\r\n</script>\r\n","<template>\r\n  <a-drawer :title=\"formData.id ? '编辑组织' : '增加组织'\" :width=\"500\" :visible=\"visible\" :destroy-on-close=\"true\"\r\n            :body-style=\"{ paddingBottom: '80px' }\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n    <a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n      <a-form-item label=\"上级组织：\" name=\"parentId\">\r\n        <a-tree-select\r\n            v-model:value=\"formData.parentId\"\r\n            style=\"width: 100%\"\r\n            :dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n            placeholder=\"请选择上级组织\"\r\n            allow-clear\r\n            tree-default-expand-all\r\n            :tree-data=\"treeData\"\r\n            :field-names=\"{\r\n\t\t\t\t\t\tchildren: 'children',\r\n\t\t\t\t\t\tlabel: 'name',\r\n\t\t\t\t\t\tvalue: 'id'\r\n\t\t\t\t\t}\"\r\n            selectable=\"false\"\r\n            tree-line\r\n        ></a-tree-select>\r\n      </a-form-item>\r\n      <a-form-item label=\"组织名称：\" name=\"name\">\r\n        <a-input v-model:value=\"formData.name\" placeholder=\"请输入组织名称\" allow-clear/>\r\n      </a-form-item>\r\n      <a-form-item label=\"组织分类：\" name=\"category\">\r\n        <a-select v-model:value=\"formData.category\" :options=\"orgCategoryOptions\" style=\"width: 100%\"\r\n                  placeholder=\"请选择组织分类\"></a-select>\r\n      </a-form-item>\r\n      <a-form-item label=\"排序：\" name=\"sortCode\">\r\n        <a-slider v-model:value=\"formData.sortCode\" :max=\"100\"/>\r\n      </a-form-item>\r\n      <a-form-item label=\"指定主管：\" name=\"directorId\">\r\n        <a-button type=\"link\" style=\"padding-left: 0px\" @click=\"openSelector(formData.directorId)\">选择</a-button>\r\n        <a-tag v-if=\"formData.directorId && extJson.length > 0\" color=\"orange\" closable @close=\"closeUserTag\">\r\n          {{ extJson[0].name }}\r\n        </a-tag>\r\n        <a-input v-show=\"false\" v-model:value=\"formData.directorId\"/>\r\n      </a-form-item>\r\n    </a-form>\r\n    <template #footer>\r\n      <a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n      <a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n    </template>\r\n    <userSelectorPlus ref=\"us\" page-url=\"/sys/org/us\" org-url=\"/sys/org/orgTreeSelector\"\r\n                      :radio-model=\"true\" @onBack=\"userBack\"></userSelectorPlus>\r\n  </a-drawer>\r\n</template>\r\n<script setup name=\"orgForm\">\r\nimport {required} from '@/utils/formRules'\r\nimport orgApi from '@/api/sys/orgApi'\r\nimport {getCurrentInstance} from 'vue'\r\n// 定义emit事件\r\nconst emit = defineEmits({successful: null})\r\nconst {proxy} = getCurrentInstance()\r\n// 默认是关闭状态\r\nlet visible = ref(false)\r\nlet us = ref()\r\nconst formRef = ref()\r\n// 表单数据，也就是默认给一些数据\r\nconst formData = ref({})\r\n// 定义机构元素\r\nconst treeData = ref([])\r\nconst extJson = ref([])\r\nconst submitLoading = ref(false)\r\n// 打开抽屉\r\nconst onOpen = (record) => {\r\n  visible.value = true\r\n  extJson.value = ref([])\r\n  formData.value = {\r\n    sortCode: 99\r\n  }\r\n  if (record) {\r\n    const param = {\r\n      id: record.id\r\n    }\r\n    orgApi.orgDetail(param).then((data) => {\r\n      formData.value = Object.assign({}, data)\r\n      extJson.value = JSON.parse(formData.value.extJson) || []\r\n    })\r\n  }\r\n  // 获取机构树并加入顶级\r\n  orgApi.orgTree().then((res) => {\r\n    treeData.value = [\r\n      {\r\n        id: 0,\r\n        parentId: '-1',\r\n        name: '顶级',\r\n        children: res\r\n      }\r\n    ]\r\n  })\r\n}\r\n// 关闭抽屉\r\nconst onClose = () => {\r\n  visible.value = false\r\n}\r\n// 默认要校验的\r\nconst formRules = {\r\n  name: [required('请输入组织名称')],\r\n  category: [required('请选择组织分类')],\r\n  sortCode: [required('请选择排序')]\r\n}\r\n// 机构分类字典\r\nlet orgCategoryOptions = proxy.$TOOL.dictTypeList('ORG_CATEGORY').map((item) => {\r\n  return {\r\n    value: item['dictValue'],\r\n    label: item['name']\r\n  }\r\n})\r\n// 打开人员选择器，选择主管\r\nconst openSelector = (id) => {\r\n  let checkedUserIds = []\r\n  checkedUserIds.push(id)\r\n  us.value.showUserPlusModal(checkedUserIds)\r\n}\r\n// 人员选择器回调\r\nconst userBack = (value) => {\r\n  extJson.value = value\r\n  if (value.length > 0) {\r\n    formData.value.directorId = value[0].id\r\n  } else {\r\n    formData.value.directorId = ''\r\n  }\r\n}\r\n// 通过小标签删除主管\r\nconst closeUserTag = () => {\r\n  extJson.value = []\r\n  formData.value.directorId = ''\r\n}\r\n// 验证并提交数据\r\nconst onSubmit = () => {\r\n  formRef.value.validate().then(() => {\r\n    submitLoading.value = true\r\n    formData.value.extJson = JSON.stringify(extJson.value)\r\n    orgApi\r\n        .submitForm(formData.value, !formData.value.id)\r\n        .then(() => {\r\n          visible.value = false\r\n          emit('successful')\r\n        })\r\n        .finally(() => {\r\n          submitLoading.value = false\r\n        })\r\n  })\r\n}\r\n// 调用这个函数将子组件的一些数据和方法暴露出去\r\ndefineExpose({\r\n  onOpen\r\n})\r\n</script>\r\n","<template>\r\n\t<a-row>\r\n\t\t<a-col :span=\"5\">\r\n\t\t\t<a-card class=\"cardImp\" :bordered=\"false\" :loading=\"cardLoading\">\r\n\t\t\t\t<a-tree v-if=\"treeData.length > 0\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"></a-tree>\r\n\t\t\t\t<a-empty v-else :image=\"Empty.PRESENTED_IMAGE_SIMPLE\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"19\">\r\n\t\t\t<a-card :bordered=\"false\">\r\n\t\t\t\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"[{ label: '名称关键词', name: 'searchKey', span: 8 }]\" @search=\"table.refresh(true)\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入组织名称关键词\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</SearchForm>\r\n\t\t\t\t<s-table\r\n\t\t\t\t\tref=\"table\"\r\n\t\t\t\t\t:columns=\"columns\"\r\n\t\t\t\t\t:data=\"loadData\"\r\n\t\t\t\t\t:expand-row-by-click=\"true\"\r\n\t\t\t\t\t:alert=\"options.alert.show\"\r\n\t\t\t\t\tbordered\r\n\t\t\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('ORG_CATEGORY', record.category) }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t<a @click=\"form.onOpen(record)\">编辑</a>\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a-popconfirm title=\"删除此组织与下级组织吗？\" @confirm=\"removeOrg(record)\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除 </a-button>\r\n\t\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</s-table>\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n</template>\r\n<script setup name=\"sysOrgIndex\">\r\n\timport { message, Empty } from 'ant-design-vue'\r\n\timport orgApi from '@/api/sys/orgApi'\r\n\timport Form from './form.vue'\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '组织名称',\r\n\r\n\t\t\tdataIndex: 'name'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '分类',\r\n\r\n\t\t\tdataIndex: 'category'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\r\n\t\t\tdataIndex: 'sortCode'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 150\r\n\t\t}\r\n\t]\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 定义tableDOM\r\n\tconst table = ref(null)\r\n\tconst form = ref()\r\n\tconst searchFormRef = ref()\r\n\tlet searchFormState = reactive({})\r\n\t// 默认展开的节点\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst treeData = ref([])\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\tconst cardLoading = ref(true)\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\tloadTreeData()\r\n\t\treturn orgApi.orgPage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen(),\r\n\t\t\tvisible: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchOrg,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0,\r\n\t\t\tvisible: true\r\n\t\t}\r\n\t])\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\t// 加载左侧的树\r\n\tconst loadTreeData = () => {\r\n\t\torgApi.orgTree().then((res) => {\r\n\t\t\tcardLoading.value = false\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\t// 默认展开2级\r\n\t\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t\t// 因为0的顶级\r\n\t\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\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\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.parentId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.parentId\r\n\t\t}\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 删除\r\n\tconst removeOrg = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\torgApi.orgDelete(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchOrg = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\torgApi.orgDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n</script>\r\n<style scoped>\r\n\t.cardImp {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.primaryAdd {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer\r\n\t\t:title=\"formData.id ? '编辑用户' : '增加用户'\"\r\n\t\t:width=\"620\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:body-style=\"{ paddingBottom: '80px', 'padding-top': '0px' }\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-tabs v-model:activeKey=\"activeTabsKey\">\r\n\t\t\t\t<a-tab-pane key=\"1\" tab=\"基础信息\" force-render>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"账号：\" name=\"account\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.account\" placeholder=\"请输入账号\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"姓名：\" name=\"name\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.name\" placeholder=\"请输入姓名\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"性别：\" name=\"gender\">\r\n\t\t\t\t\t\t\t\t<a-radio-group v-model:value=\"formData.gender\" :options=\"genderOptions\"> </a-radio-group>\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"昵称：\" name=\"nickname\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.nickname\" placeholder=\"请输入昵称\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"手机号：\" name=\"phone\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.phone\" placeholder=\"请输入手机\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"邮箱：\" name=\"email\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.email\" placeholder=\"请输入邮箱\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"出生日期：\" name=\"birthday\">\r\n\t\t\t\t\t\t\t\t<a-date-picker v-model:value=\"formData.birthday\" value-format=\"YYYY-MM-DD\" style=\"width: 100%\" />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"选择组织：\" name=\"orgId\">\r\n\t\t\t\t\t\t\t\t<a-tree-select\r\n\t\t\t\t\t\t\t\t\tv-model:value=\"formData.orgId\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t\t\t\t\t:dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n\t\t\t\t\t\t\t\t\tplaceholder=\"请选择组织\"\r\n\t\t\t\t\t\t\t\t\tallow-clear\r\n\t\t\t\t\t\t\t\t\ttree-default-expand-all\r\n\t\t\t\t\t\t\t\t\t:tree-data=\"treeData\"\r\n\t\t\t\t\t\t\t\t\t:tree-default-expanded-keys=\"treeDefaultExpandedKeys\"\r\n\t\t\t\t\t\t\t\t\t:field-names=\"{\r\n\t\t\t\t\t\t\t\t\t\tchildren: 'children',\r\n\t\t\t\t\t\t\t\t\t\tlabel: 'name',\r\n\t\t\t\t\t\t\t\t\t\tvalue: 'id'\r\n\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t@change=\"selePositionData(formData.orgId, 0)\"\r\n\t\t\t\t\t\t\t\t></a-tree-select>\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"选择职位：\" name=\"positionId\">\r\n\t\t\t\t\t\t\t\t<a-select v-model:value=\"formData.positionId\" :options=\"positionData\" :field-names=\"{ label: 'name', value: 'id' }\" style=\"width: 100%\" placeholder=\"请选择职位\" allow-clear> </a-select>\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"选择主管：\" name=\"directorId\">\r\n\t\t\t\t\t\t\t\t<a-select v-model:value=\"formData.directorId\" :options=\"directorData\" :field-names=\"{ label: 'name', value: 'id' }\" style=\"width: 100%\" placeholder=\"请选择主管\" allow-clear> </a-select>\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"员工编号：\" name=\"empNo\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.empNo\" placeholder=\"请输入员工编号\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"职级：\" name=\"positionLevel\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.positionLevel\" placeholder=\"请输入职级\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"8\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"入职日期：\" name=\"entryDate\">\r\n\t\t\t\t\t\t\t\t<a-date-picker v-model:value=\"formData.entryDate\" value-format=\"YYYY-MM-DD\" style=\"width: 100%\" />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-form-item label=\"任职信息\" name=\"positionJson\">\r\n\t\t\t\t\t\t<a-button type=\"primary\" class=\"childAddButton\" @click=\"addDomains()\">\r\n\t\t\t\t\t\t\t<PlusOutlined />\r\n\t\t\t\t\t\t\t增加任职\r\n\t\t\t\t\t\t</a-button>\r\n\t\t\t\t\t\t<a-row :gutter=\"10\" class=\"form-row\">\r\n\t\t\t\t\t\t\t<a-col :span=\"7\" class=\"form-row-con\"> 机构 </a-col>\r\n\t\t\t\t\t\t\t<a-col :span=\"7\" class=\"form-row-con\"> 职位 </a-col>\r\n\t\t\t\t\t\t\t<a-col :span=\"7\" class=\"form-row-con\"> 主管 </a-col>\r\n\t\t\t\t\t\t\t<a-col :span=\"3\" class=\"form-row-con\"> 操作 </a-col>\r\n\t\t\t\t\t\t</a-row>\r\n\t\t\t\t\t\t<div v-for=\"(positionInfo, index) in formData.positionJson\" class=\"form-div\">\r\n\t\t\t\t\t\t\t<a-row :gutter=\"10\">\r\n\t\t\t\t\t\t\t\t<a-col :span=\"7\">\r\n\t\t\t\t\t\t\t\t\t<a-form-item :name=\"['positionJson', index, 'orgId']\" :rules=\"{ required: true, message: '请选择组织' }\">\r\n\t\t\t\t\t\t\t\t\t\t<a-tree-select\r\n\t\t\t\t\t\t\t\t\t\t\tv-model:value=\"positionInfo.orgId\"\r\n\t\t\t\t\t\t\t\t\t\t\tshow-search\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t\t\t\t\t\t\t:dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请选择组织\"\r\n\t\t\t\t\t\t\t\t\t\t\tallow-clear\r\n\t\t\t\t\t\t\t\t\t\t\ttree-default-expand-all\r\n\t\t\t\t\t\t\t\t\t\t\t:tree-data=\"treeData\"\r\n\t\t\t\t\t\t\t\t\t\t\t:tree-default-expanded-keys=\"treeDefaultExpandedKeys\"\r\n\t\t\t\t\t\t\t\t\t\t\t:field-names=\"{ children: 'children', label: 'name', value: 'id' }\"\r\n\t\t\t\t\t\t\t\t\t\t\t@select=\"childOrgSelect(positionInfo, 0)\"\r\n\t\t\t\t\t\t\t\t\t\t></a-tree-select>\r\n\t\t\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t\t<a-col :span=\"7\">\r\n\t\t\t\t\t\t\t\t\t<a-form-item :name=\"['positionJson', index, 'positionId']\" :rules=\"{ required: true, message: '请选择职位' }\">\r\n\t\t\t\t\t\t\t\t\t\t<a-select v-model:value=\"positionInfo.positionId\" :options=\"childPosData(positionInfo.orgId)\" :field-names=\"{ label: 'name', value: 'id' }\" style=\"width: 100%\" placeholder=\"请选择职位\" allow-clear>\r\n\t\t\t\t\t\t\t\t\t\t</a-select>\r\n\t\t\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t\t<a-col :span=\"7\">\r\n\t\t\t\t\t\t\t\t\t<a-form-item :name=\"['positionJson', index, 'directorId']\">\r\n\t\t\t\t\t\t\t\t\t\t<a-select v-model:value=\"positionInfo.directorId\" :options=\"childUserData(positionInfo.orgId)\" :field-names=\"{ label: 'name', value: 'id' }\" style=\"width: 100%\" placeholder=\"请选择主管\" allow-clear>\r\n\t\t\t\t\t\t\t\t\t\t</a-select>\r\n\t\t\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t\t<a-col :span=\"3\" style=\"margin-top: 4px\">\r\n\t\t\t\t\t\t\t\t\t<a-button size=\"small\" type=\"primary\" danger ghost @click=\"delDomains(index)\">移除</a-button>\r\n\t\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t</a-row>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-tab-pane>\r\n\t\t\t\t<a-tab-pane key=\"2\" tab=\"更多信息\" force-render>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"民族：\" name=\"nation\">\r\n\t\t\t\t\t\t\t\t<a-select v-model:value=\"formData.nation\" placeholder=\"请选择民族\" :options=\"nationOptions\"> </a-select>\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"籍贯：\" name=\"nativePlace\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.nativePlace\" placeholder=\"请输入籍贯\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"家庭住址：\" name=\"homeAddress\">\r\n\t\t\t\t\t\t\t\t<a-textarea v-model:value=\"formData.homeAddress\" placeholder=\"请输入家庭住址\" :auto-size=\"{ minRows: 2, maxRows: 5 }\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"通信地址：\" name=\"mailingAddress\">\r\n\t\t\t\t\t\t\t\t<a-textarea v-model:value=\"formData.mailingAddress\" placeholder=\"请输入通信地址\" :auto-size=\"{ minRows: 2, maxRows: 5 }\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"证件类型：\" name=\"idCardType\">\r\n\t\t\t\t\t\t\t\t<a-select v-model:value=\"formData.idCardType\" placeholder=\"请选择证件类型\" :options=\"idcardTypeOptions\"> </a-select>\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"证据号码：\" name=\"idCardNumber\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.idCardNumber\" placeholder=\"请输入通信地址\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"文化程度：\" name=\"cultureLevel\">\r\n\t\t\t\t\t\t\t\t<a-select v-model:value=\"formData.cultureLevel\" placeholder=\"请选择文化程度\" :options=\"cultureLevelOptions\"> </a-select>\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"政治面貌：\" name=\"politicalOutlook\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.politicalOutlook\" placeholder=\"请输入政治面貌\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"毕业学校：\" name=\"college\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.college\" placeholder=\"请输入毕业学校\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"学历：\" name=\"education\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.education\" placeholder=\"请输入学历\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"学制：\" name=\"eduLength\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.eduLength\" placeholder=\"请输入学制\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"学位：\" name=\"degree\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.degree\" placeholder=\"请输入学位\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"家庭电话：\" name=\"homeTel\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.homeTel\" placeholder=\"请输入家庭电话\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"办公电话：\" name=\"officeTel\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.officeTel\" placeholder=\"请输入办公电话\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"紧急联系人：\" name=\"emergencyContact\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.emergencyContact\" placeholder=\"请输入紧急联系人\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"紧急联系电话：\" name=\"emergencyPhone\">\r\n\t\t\t\t\t\t\t\t<a-input v-model:value=\"formData.emergencyPhone\" placeholder=\"请输入紧急联系电话\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t\t<a-row :gutter=\"16\">\r\n\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t<a-form-item label=\"紧急联系人地址：\" name=\"emergencyAddress\">\r\n\t\t\t\t\t\t\t\t<a-textarea v-model:value=\"formData.emergencyAddress\" placeholder=\"请输入紧急联系人地址\" :auto-size=\"{ minRows: 2, maxRows: 5 }\" allow-clear />\r\n\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t</a-row>\r\n\t\t\t\t</a-tab-pane>\r\n\t\t\t</a-tabs>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"formLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n<script setup>\r\n\timport userApi from '@/api/sys/userApi'\r\n\timport { required } from '@/utils/formRules'\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst formRef = ref()\r\n\tconst activeTabsKey = ref('1')\r\n\tconst { proxy } = getCurrentInstance()\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst formLoading = ref(false)\r\n\tconst treeData = ref([])\r\n\tconst treeDefaultExpandedKeys = ref([])\r\n\t// 主职职位数据\r\n\tlet positionData = ref([])\r\n\t// 主职主管人员数据\r\n\tlet directorData = ref([])\r\n\t// 定义一个装机构跟职位的壳\r\n\tlet childrenOrgPosArray = ref([])\r\n\t// 表单数据\r\n\tlet formData = ref({})\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tgender: '男',\r\n\t\t\tpositionJson: []\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tconvertFormData(record)\r\n\t\t}\r\n\t\t// 机构选择器数据\r\n\t\tuserApi.userOrgTreeSelector().then((res) => {\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\t// 默认展开2级\r\n\t\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t\t// 因为0的顶级\r\n\t\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\t\ttreeDefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\t\ttreeDefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\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\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\ttreeData.value = []\r\n\t\ttreeDefaultExpandedKeys.value = []\r\n\t\tpositionData.value = []\r\n\t\tdirectorData.value = []\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 回显数据\r\n\tconst convertFormData = (record) => {\r\n\t\tconst param = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\t// 查询详情\r\n\t\tuserApi.userDetail(param).then((data) => {\r\n\t\t\tif (data.positionJson) {\r\n\t\t\t\tconst positionJsonLocal = JSON.parse(data.positionJson).map((item) => {\r\n\t\t\t\t\tchildOrgSelect(item)\r\n\t\t\t\t\treturn item\r\n\t\t\t\t})\r\n\t\t\t\t// 替换表单中的格式与后端查到的\r\n\t\t\t\tdata.positionJson = positionJsonLocal\r\n\t\t\t}\r\n\t\t\tformData.value = Object.assign(formData.value, data)\r\n\t\t\tselePositionData(formData.value.orgId)\r\n\t\t})\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\taccount: [required('请输入账号')],\r\n\t\tname: [required('请输入姓名')],\r\n\t\tsex: [required('请选择性别')],\r\n\t\torgId: [required('请选择组织')],\r\n\t\tpositionId: [required('请选择职位')]\r\n\t}\r\n\t// 机构选择后查询对应的职位\r\n\tconst selePositionData = (orgId, type) => {\r\n\t\tif (orgId) {\r\n\t\t\tconst param = {\r\n\t\t\t\torgId: orgId\r\n\t\t\t}\r\n\t\t\tuserApi.userPositionSelector(param).then((res) => {\r\n\t\t\t\tpositionData.value = res\r\n\t\t\t})\r\n\t\t\tuserApi.userSelector(param).then((res) => {\r\n\t\t\t\tdirectorData.value = res\r\n\t\t\t})\r\n\t\t\t// 此类型代表选择的时候重置后面的职位\r\n\t\t\tif (type === 0) {\r\n\t\t\t\tformData.value.positionId = undefined\r\n\t\t\t\tformData.value.directorId = undefined\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tformData.value.positionId = undefined\r\n\t\t\tformData.value.directorId = undefined\r\n\t\t}\r\n\t}\r\n\t// 附属职位信息增行\r\n\tconst addDomains = () => {\r\n\t\tif (formData.value.positionJson === null) {\r\n\t\t\tformData.value.positionJson = []\r\n\t\t}\r\n\t\tformData.value.positionJson.push({\r\n\t\t\torgId: undefined,\r\n\t\t\tpositionId: undefined,\r\n\t\t\tdirectorId: undefined\r\n\t\t})\r\n\t}\r\n\t// 删减行\r\n\tconst delDomains = (index) => {\r\n\t\tformData.value.positionJson.splice(index, 1)\r\n\t}\r\n\t// 子表行内选择机构\r\n\tconst childOrgSelect = async (data, type) => {\r\n\t\t// 说明正在切换机构，我们就将他的后面的设置空\r\n\t\tif (type === 0) {\r\n\t\t\tformData.value.positionJson.filter((item) => {\r\n\t\t\t\tif (item.orgId === data.orgId) {\r\n\t\t\t\t\titem.positionId = undefined\r\n\t\t\t\t\titem.directorId = undefined\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tconst param = {\r\n\t\t\torgId: data.orgId\r\n\t\t}\r\n\t\t// 查询职位\r\n\t\tconst posList = await userApi.userPositionSelector(param)\r\n\t\t// 查询人员\r\n\t\tconst userList = await userApi.userSelector(param)\r\n\t\tconst obj = {\r\n\t\t\torgId: data.orgId,\r\n\t\t\tposList: posList,\r\n\t\t\tuserList: userList\r\n\t\t}\r\n\t\tchildrenOrgPosArray.value.push(obj)\r\n\t}\r\n\t// 获取行内职位数据\r\n\tconst childPosData = (value) => {\r\n\t\tconst resultData = childrenOrgPosArray.value.filter((item) => item.orgId === value)\r\n\t\tif (resultData.length > 0) {\r\n\t\t\treturn resultData[0].posList\r\n\t\t}\r\n\t}\r\n\t// 获取行内用户数据\r\n\tconst childUserData = (value) => {\r\n\t\tconst resultData = childrenOrgPosArray.value.filter((item) => item.orgId === value)\r\n\t\tif (resultData.length > 0) {\r\n\t\t\treturn resultData[0].userList\r\n\t\t}\r\n\t}\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\t// 因为不切断，我下面转换数据格式，影响上面表单会报错\r\n\t\t\tlet formDatas = JSON.parse(JSON.stringify(formData.value))\r\n\t\t\tif (formDatas.positionJson && formDatas.positionJson.length > 0) {\r\n\t\t\t\tformDatas.positionJson = JSON.stringify(formDatas.positionJson)\r\n\t\t\t} else {\r\n\t\t\t\tdelete formDatas.positionJson\r\n\t\t\t}\r\n\t\t\tformLoading.value = true\r\n\t\t\tuserApi\r\n\t\t\t\t.submitForm(formDatas, !formDatas.id)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tonClose()\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tformLoading.value = false\r\n\t\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 性别\r\n\tconst genderOptions = proxy.$TOOL.dictTypeList('GENDER').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 民族\r\n\tconst nationOptions = proxy.$TOOL.dictTypeList('NATION').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 身份证件\r\n\tconst idcardTypeOptions = proxy.$TOOL.dictTypeList('IDCARD_TYPE').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 文化程度\r\n\tconst cultureLevelOptions = proxy.$TOOL.dictTypeList('CULTURE_LEVEL').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n<style scoped type=\"less\">\r\n\t.childAddButton {\r\n\t\tmargin-bottom: 10px;\r\n\t}\r\n\t.form-row {\r\n\t\tbackground-color: var(--item-hover-bg);\r\n\t\tmargin-left: 0px !important;\r\n\t}\r\n\t.form-row-con {\r\n\t\tpadding-bottom: 5px;\r\n\t\tpadding-top: 5px;\r\n\t\tpadding-left: 15px;\r\n\t}\r\n\t.dashedButton {\r\n\t\tmargin-top: 10px;\r\n\t\twidth: 100%;\r\n\t}\r\n\t.form-div {\r\n\t\tpadding-top: 10px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-row>\r\n\t\t<a-col :span=\"5\">\r\n\t\t\t<a-card class=\"cardImp\" :bordered=\"false\" :loading=\"cardLoading\">\r\n\t\t\t\t<a-tree v-if=\"treeData.length > 0\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"></a-tree>\r\n\t\t\t\t<a-empty v-else :image=\"Empty.PRESENTED_IMAGE_SIMPLE\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"19\">\r\n\t\t\t<a-card :bordered=\"false\">\r\n\t\t\t\t<SearchForm\r\n\t\t\t\t\t:form-state=\"searchFormState\"\r\n\t\t\t\t\t:form-fields=\"[\r\n\t\t\t\t\t\t{ label: '姓名或账号', name: 'searchKey', span: 6 },\r\n\t\t\t\t\t\t{ label: '状态', name: 'userStatus', span: 6 }\r\n\t\t\t\t\t]\"\r\n\t\t\t\t\t@search=\"table.refresh(true)\"\r\n\t\t\t\t\t@reset=\"handleReset\"\r\n\t\t\t\t\tref=\"searchFormRef\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入姓名或账号\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #userStatus=\"{ formState }\">\r\n\t\t\t\t\t\t<a-select v-model:value=\"formState.userStatus\" placeholder=\"请选择状态\">\r\n\t\t\t\t\t\t\t<a-select-option v-for=\"item in statusData\" :key=\"item.dictValue\" :value=\"item.dictValue\">\r\n\t\t\t\t\t\t\t\t{{ item.name }}\r\n\t\t\t\t\t\t\t</a-select-option>\r\n\t\t\t\t\t\t</a-select>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</SearchForm>\r\n\t\t\t\t<s-table\r\n\t\t\t\t\tref=\"table\"\r\n\t\t\t\t\t:columns=\"columns\"\r\n\t\t\t\t\t:data=\"loadData\"\r\n\t\t\t\t\t:expand-row-by-click=\"true\"\r\n\t\t\t\t\tbordered\r\n\t\t\t\t\t:alert=\"options.alert.show\"\r\n\t\t\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'avatar'\">\r\n\t\t\t\t\t\t\t<SmartAvatar :src=\"record.avatar\" style=\"margin-bottom: -5px; margin-top: -5px\" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'gender'\">\r\n\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('GENDER', record.gender) }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'userStatus'\">\r\n\t\t\t\t\t\t\t<a-switch :loading=\"loading\" :checked=\"record.userStatus === 'ENABLE'\" @change=\"editStatus(record)\" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t<a @click=\"form.onOpen(record)\">编辑</a>\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a @click=\"selectRole(record)\">角色</a>\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a-popconfirm title=\"确定重置此用户密码？\" @confirm=\"resetPassword(record)\">\r\n\t\t\t\t\t\t\t\t<a>重置密码</a>\r\n\t\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a-popconfirm title=\"确定要删除此用户吗？\" @confirm=\"removeUser(record)\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">移除</a-button>\r\n\t\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</s-table>\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n\t<role-selector-plus ref=\"roleSelector\" page-url=\"/sys/user/roleSelector\" org-url=\"/sys/user/orgTreeSelector\" @onBack=\"roleBack\" />\r\n</template>\r\n<script setup name=\"sysUserIndex\">\r\n\timport { Empty, message } from 'ant-design-vue'\r\n\timport { getCurrentInstance } from 'vue'\r\n\timport userApi from '@/api/sys/userApi'\r\n\timport Form from './form.vue'\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '头像',\r\n\t\t\tdataIndex: 'avatar',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '账号',\r\n\t\t\tdataIndex: 'account',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '姓名',\r\n\t\t\tdataIndex: 'name'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '性别',\r\n\t\t\tdataIndex: 'gender',\r\n\t\t\twidth: 50\r\n\t\t},\r\n\t\t/*{\r\n    title: '手机',\r\n    dataIndex: 'phone',\r\n    ellipsis: true\r\n  },*/\r\n\t\t{\r\n\t\t\ttitle: '机构',\r\n\t\t\tdataIndex: 'orgName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '职位',\r\n\t\t\tdataIndex: 'positionName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '状态',\r\n\t\t\tdataIndex: 'userStatus',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 240\r\n\t\t}\r\n\t]\r\n\tconst { proxy } = getCurrentInstance()\r\n\tconst statusData = proxy.$TOOL.dictTypeList('COMMON_STATUS')\r\n\tconst searchFormRef = ref()\r\n\tlet defaultExpandedKeys = ref([])\r\n\tlet searchFormState = reactive({})\r\n\tconst table = ref(null)\r\n\tconst treeData = ref([])\r\n\tlet selectedRowKeys = ref([])\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\tlet form = ref(null)\r\n\tlet RoleSelector = ref()\r\n\tlet roleSelector = ref()\r\n\tconst selectedRecord = ref({})\r\n\tconst loading = ref(false)\r\n\tconst cardLoading = ref(true)\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\treturn userApi.userPage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '增加用户',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen(),\r\n\t\t\tvisible: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '批量移除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: removeBatchUser,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0,\r\n\t\t\tvisible: true\r\n\t\t}\r\n\t])\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\t// 左侧树查询\r\n\tuserApi.userOrgTreeSelector().then((res) => {\r\n\t\tcardLoading.value = false\r\n\t\tif (res !== null) {\r\n\t\t\ttreeData.value = res\r\n\t\t\t// 默认展开2级\r\n\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t// 因为0的顶级\r\n\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t})\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\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.orgId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.orgId\r\n\t\t}\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 修改状态\r\n\tconst editStatus = (record) => {\r\n\t\tloading.value = true\r\n\t\tif (record.userStatus === 'ENABLE') {\r\n\t\t\tuserApi\r\n\t\t\t\t.userDisableUser(record)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\ttable.value.refresh()\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tloading.value = false\r\n\t\t\t\t})\r\n\t\t} else {\r\n\t\t\tuserApi\r\n\t\t\t\t.userEnableUser(record)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\ttable.value.refresh()\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tloading.value = false\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 删除用户\r\n\tconst removeUser = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tuserApi.userDelete(params).then(() => {\r\n\t\t\ttable.value.refresh()\r\n\t\t})\r\n\t}\r\n\t// 批量删除用户\r\n\tconst removeBatchUser = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\tuserApi.userDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n\t// 打开角色选择器\r\n\tconst selectRole = (record) => {\r\n\t\tselectedRecord.value = record\r\n\t\t// 查询到已有角色，并转为ids的格式，给角色选择器\r\n\t\tconst param = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\tuserApi.userOwnRole(param).then((data) => {\r\n\t\t\troleSelector.value.showRolePlusModal(data)\r\n\t\t})\r\n\t}\r\n\t// 角色选择回调\r\n\tconst roleBack = (value) => {\r\n\t\tlet params = {\r\n\t\t\tid: selectedRecord.value.id,\r\n\t\t\troleIdList: []\r\n\t\t}\r\n\t\tif (value.length > 0) {\r\n\t\t\tvalue.forEach((item) => {\r\n\t\t\t\tparams.roleIdList.push(item.id)\r\n\t\t\t})\r\n\t\t}\r\n\t\tuserApi.grantRole(params).then(() => {})\r\n\t}\r\n\t// 重置用户密码\r\n\tconst resetPassword = (record) => {\r\n\t\tuserApi.userResetPassword(record).then(() => {})\r\n\t}\r\n</script>\r\n<style scoped>\r\n\t.cardImp {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.primaryAdd {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.snowy-table-avatar {\r\n\t\tmargin-top: -10px;\r\n\t\tmargin-bottom: -10px;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer :title=\"formData.id ? '编辑职位' : '增加职位'\" :width=\"500\" :visible=\"visible\" :destroy-on-close=\"true\" :body-style=\"{ paddingBottom: '80px' }\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"所属组织：\" name=\"orgId\">\r\n\t\t\t\t<a-tree-select\r\n\t\t\t\t\tv-model:value=\"formData.orgId\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t:dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n\t\t\t\t\tplaceholder=\"请选择组织\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t\ttree-default-expand-all\r\n\t\t\t\t\t:tree-data=\"treeData\"\r\n\t\t\t\t\t:field-names=\"{\r\n\t\t\t\t\t\tchildren: 'children',\r\n\t\t\t\t\t\tlabel: 'name',\r\n\t\t\t\t\t\tvalue: 'id'\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\tselectable=\"false\"\r\n\t\t\t\t\ttree-line\r\n\t\t\t\t></a-tree-select>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"职位名称：\" name=\"name\">\r\n\t\t\t\t<a-input v-model:value=\"formData.name\" placeholder=\"请输入职位名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"职位分类：\" name=\"category\">\r\n\t\t\t\t<a-select v-model:value=\"formData.category\" :options=\"positionCategoryOptions\" style=\"width: 100%\" placeholder=\"请选择职位分类\"> </a-select>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序：\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"positionForm\">\r\nimport {required} from '@/utils/formRules'\r\nimport {getCurrentInstance} from 'vue'\r\nimport orgApi from '@/api/sys/orgApi'\r\nimport positionApi from '@/api/sys/positionApi'\r\n// 定义emit事件\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst { proxy } = getCurrentInstance()\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst formRef = ref()\r\n\t// 表单数据，也就是默认给一些数据\r\n\tconst formData = ref({})\r\n\t// 定义机构元素\r\n\tconst treeData = ref([])\r\n\tconst submitLoading = ref(false)\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t\t// 获取机构树并加入顶级\r\n\t\torgApi.orgTree().then((res) => {\r\n\t\t\ttreeData.value = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 0,\r\n\t\t\t\t\tparentId: '-1',\r\n\t\t\t\t\tname: '顶级',\r\n\t\t\t\t\tchildren: res\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\torgId: [required('请选择所属组织')],\r\n\t\tname: [required('请输入职位名称')],\r\n\t\tcategory: [required('请选择职位分类')],\r\n\t\tsortCode: [required('请选择排序')]\r\n\t}\r\n\tlet positionCategoryOptions = proxy.$TOOL.dictTypeList('POSITION_CATEGORY').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\tsubmitLoading.value = true\r\n\t\t\tpositionApi.submitForm(formData.value, !formData.value.id).then(() => {\r\n\t\t\t\tvisible.value = false\r\n\t\t\t\tsubmitLoading.value = false\r\n\t\t\t\temit('successful')\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-row>\r\n\t\t<a-col :span=\"5\">\r\n\t\t\t<a-card class=\"cardImp\" :bordered=\"false\" :loading=\"cardLoading\">\r\n\t\t\t\t<a-tree v-if=\"treeData.length > 0\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"> </a-tree>\r\n\t\t\t\t<a-empty v-else :image=\"Empty.PRESENTED_IMAGE_SIMPLE\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"19\">\r\n\t\t\t<a-card :bordered=\"false\">\r\n\t\t\t\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"[{ label: '名称关键词', name: 'searchKey', span: 8 }]\" @search=\"table.refresh(true)\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入职位名称关键词\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</SearchForm>\r\n\t\t\t\t<s-table\r\n\t\t\t\t\tref=\"table\"\r\n\t\t\t\t\t:columns=\"columns\"\r\n\t\t\t\t\t:data=\"loadData\"\r\n\t\t\t\t\t:expand-row-by-click=\"true\"\r\n\t\t\t\t\t:alert=\"options.alert.show\"\r\n\t\t\t\t\tbordered\r\n\t\t\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('POSITION_CATEGORY', record.category) }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t<a @click=\"form.onOpen(record)\">编辑</a>\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a-popconfirm title=\"确定删除此职位？\" @confirm=\"removeOrg(record)\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</s-table>\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n</template>\r\n<script setup name=\"sysPositionIndex\">\r\n\timport { message, Empty } from 'ant-design-vue'\r\n\timport positionApi from '@/api/sys/positionApi'\r\n\timport orgApi from '@/api/sys/orgApi'\r\n\timport Form from './form.vue'\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '职位名称',\r\n\r\n\t\t\tdataIndex: 'name'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '分类',\r\n\r\n\t\t\tdataIndex: 'category'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\r\n\t\t\tdataIndex: 'sortCode'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 150\r\n\t\t}\r\n\t]\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 定义tableDOM\r\n\tconst table = ref(null)\r\n\tconst form = ref()\r\n\tconst searchFormRef = ref()\r\n\tlet searchFormState = reactive({})\r\n\t// 默认展开的节点\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst treeData = ref([])\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\tconst cardLoading = ref(true)\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\treturn positionApi.positionPage(Object.assign(parameter, searchFormState)).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen(),\r\n\t\t\tvisible: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchPosition,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0,\r\n\t\t\tvisible: true\r\n\t\t}\r\n\t])\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\t// 加载左侧的树\r\n\torgApi.orgTree().then((res) => {\r\n\t\tcardLoading.value = false\r\n\t\tif (res !== null) {\r\n\t\t\ttreeData.value = res\r\n\t\t\t// 默认展开2级\r\n\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t// 因为0的顶级\r\n\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t})\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\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.orgId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.orgId\r\n\t\t}\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 删除\r\n\tconst removeOrg = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tpositionApi.positionDelete(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchPosition = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\tpositionApi.positionDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n</script>\r\n<style scoped>\r\n\t.cardImp {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.primaryAdd {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer :title=\"formData.id ? '编辑角色' : '增加角色'\" :width=\"500\" :visible=\"visible\" :destroy-on-close=\"true\" :body-style=\"{ paddingBottom: '80px' }\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"角色名称：\" name=\"name\">\r\n\t\t\t\t<a-input v-model:value=\"formData.name\" placeholder=\"请输入角色名称\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"角色分类：\" name=\"category\">\r\n\t\t\t\t<a-select v-model:value=\"formData.category\" :options=\"categoryOptions\" style=\"width: 100%\" placeholder=\"请选择角色分类\"> </a-select>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"角色编码：\" name=\"code\">\r\n\t\t\t\t<a-input v-model:value=\"formData.code\" placeholder=\"请输入角色编码\" allow-clear />\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item v-if=\"formData.category === 'ORG'\" label=\"所属机构：\" name=\"orgId\">\r\n\t\t\t\t<a-tree-select\r\n\t\t\t\t\tv-model:value=\"formData.orgId\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t:dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n\t\t\t\t\tplaceholder=\"请选择组织\"\r\n\t\t\t\t\tallow-clear\r\n\t\t\t\t\ttree-default-expand-all\r\n\t\t\t\t\t:tree-data=\"treeData\"\r\n\t\t\t\t\t:field-names=\"{\r\n\t\t\t\t\t\tchildren: 'children',\r\n\t\t\t\t\t\tlabel: 'name',\r\n\t\t\t\t\t\tvalue: 'id'\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\tselectable=\"false\"\r\n\t\t\t\t\ttree-line\r\n\t\t\t\t></a-tree-select>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"排序：\" name=\"sortCode\">\r\n\t\t\t\t<a-slider v-model:value=\"formData.sortCode\" :max=\"100\" />\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"roleForm\">\r\n\timport { required } from '@/utils/formRules'\r\n\timport { getCurrentInstance } from 'vue'\r\n\timport orgApi from '@/api/sys/orgApi'\r\n\timport roleApi from '@/api/sys/roleApi'\r\n\t// 定义emit事件\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst { proxy } = getCurrentInstance()\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst formRef = ref()\r\n\t// 表单数据，也就是默认给一些数据\r\n\tconst formData = ref({})\r\n\t// 定义机构元素\r\n\tconst treeData = ref([])\r\n\tconst submitLoading = ref(false)\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tformData.value = {\r\n\t\t\tsortCode: 99\r\n\t\t}\r\n\t\tif (record) {\r\n\t\t\tformData.value = Object.assign({}, record)\r\n\t\t}\r\n\t\t// 获取机构树并加入顶级\r\n\t\torgApi.orgTree().then((res) => {\r\n\t\t\ttreeData.value = res\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\torgId: [required('请选择所属组织')],\r\n\t\tname: [required('请输入角色名称')],\r\n\t\tcategory: [required('请选择角色分类')],\r\n\t\tsortCode: [required('请选择排序')]\r\n\t}\r\n\t// 机构分类字典\r\n\tlet categoryOptions = proxy.$TOOL.dictTypeList('ROLE_CATEGORY').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\tsubmitLoading.value = true\r\n\t\t\troleApi\r\n\t\t\t\t.submitForm(formData.value, !formData.value.id)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tvisible.value = false\r\n\t\t\t\t\temit('successful')\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tsubmitLoading.value = false\r\n\t\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-modal\r\n\t\tv-model:visible=\"visible\"\r\n\t\ttitle=\"选择机构\"\r\n\t\t:width=\"400\"\r\n\t\t:mask-closable=\"false\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t@ok=\"handleOk\"\r\n\t\t@cancel=\"onClose\"\r\n\t>\r\n\t\t<div class=\"scopeDefineOrgTreeDiv\">\r\n\t\t\t<a-tree\r\n\t\t\t\tv-model:expandedKeys=\"defaultExpandedKeys\"\r\n\t\t\t\tv-model:checkedKeys=\"checkedKeys\"\r\n\t\t\t\t:tree-data=\"treeData\"\r\n\t\t\t\t:field-names=\"treeFieldNames\"\r\n\t\t\t\tcheckable\r\n\t\t\t\t:selectable=\"false\"\r\n\t\t\t\t@check=\"treeCheck\"\r\n\t\t\t>\r\n\t\t\t</a-tree>\r\n\t\t</div>\r\n\t</a-modal>\r\n</template>\r\n<script setup=\"props, context\" name=\"scopeDefineOrg\">\r\n\timport roleApi from '@/api/sys/roleApi'\r\n\tconst visible = ref(false)\r\n\tlet defaultExpandedKeys = ref([])\r\n\tlet checkedKeys = ref([])\r\n\tconst treeData = ref([])\r\n\tconst resultDataModel = {\r\n\t\tdataScopeId: '',\r\n\t\tdefineOrgIdData: {\r\n\t\t\tscopeCategory: 'SCOPE_DEFINE_ORG',\r\n\t\t\tscopeDefineOrgIdList: []\r\n\t\t}\r\n\t}\r\n\t// 打开此界面需要具体某条菜单的id跟选中的\r\n\tconst onOpen = (id, checkKeys) => {\r\n\t\tvisible.value = true\r\n\t\tresultDataModel.dataScopeId = id\r\n\t\t// const treeData = data.data;\r\n\t\troleApi.roleOrgTreeSelector().then((res) => {\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\t// 赋值选中项\r\n\t\t\t\techoOrgSelectKeys(checkKeys)\r\n\t\t\t\t// 默认展开2级\r\n\t\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t\t// 因为0的顶级\r\n\t\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\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\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 回显机构的选中项\r\n\tconst echoOrgSelectKeys = (checkKeys) => {\r\n\t\tcheckedKeys.value = []\r\n\t\tif (checkKeys && checkKeys.length > 0) {\r\n\t\t\tcheckKeys\r\n\t\t\t\t.toString()\r\n\t\t\t\t.split(',')\r\n\t\t\t\t.forEach((key) => {\r\n\t\t\t\t\tcheckedKeys.value.push(key)\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\t// 选中触发\r\n\tconst treeCheck = (checkedKeys) => {\r\n\t\tresultDataModel.defineOrgIdData.scopeDefineOrgIdList = checkedKeys\r\n\t}\r\n\t// 定义emit事件\r\n\tconst emit = defineEmits({\r\n\t\tclick: null\r\n\t})\r\n\tconst handleOk = () => {\r\n\t\temit('click', resultDataModel)\r\n\t\tvisible.value = false\r\n\t}\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n<style lang=\"less\">\r\n\t// 穿梭框宽度重写\r\n\t.ant-transfer-list {\r\n\t\twidth: 220px !important;\r\n\t}\r\n\t.scopeDefineOrgTreeDiv {\r\n\t\tmax-height: 450px;\r\n\t\toverflow: auto;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer title=\"授权权限\" :width=\"drawerWidth\" :visible=\"visible\" :destroy-on-close=\"true\" :show-pagination=\"false\" :body-style=\"{ paddingBottom: '80px' }\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n\t\t<a-alert message=\"注：此功能界面需要与代码查询条件配合使用，并非所有接口都需设置数据范围，多用于业务模块！\" type=\"warning\" closable />\r\n\t\t<a-spin :spinning=\"spinningLoading\">\r\n\t\t\t<a-table  class=\"mt-4\" size=\"middle\" :columns=\"columns\" :data-source=\"loadDatas\" bordered :row-key=\"(record) => record.api\">\r\n\t\t\t\t<template #headerCell=\"{ column }\">\r\n\t\t\t\t\t<template v-if=\"column.key === 'api'\">\r\n\t\t\t\t\t\t<a-checkbox @update:checked=\"(val) => onCheckAllChange(val)\"> 接口 </a-checkbox>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'api'\">\r\n\t\t\t\t\t\t<a-checkbox :checked=\"record.check\" @update:checked=\"(val) => changeApi(record, val)\">\r\n\t\t\t\t\t\t\t{{ record.api }}\r\n\t\t\t\t\t\t</a-checkbox>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'dataScope'\">\r\n\t\t\t\t\t\t<template v-if=\"record.dataScope.length > 0\">\r\n\t\t\t\t\t\t\t<template v-for=\"item in record.dataScope\" :key=\"item.id + record.api\">\r\n\t\t\t\t\t\t\t\t<a-radio v-model:checked=\"item.check\" :name=\"item.title\" @change=\"(evt) => changeDataScope(record, evt)\">\r\n\t\t\t\t\t\t\t\t\t<a-badge\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"(item.value === 'SCOPE_ORG_DEFINE') & record.dataScope[4].check & (item.scopeDefineOrgIdList !== undefined)\"\r\n\t\t\t\t\t\t\t\t\t\t:count=\"item.scopeDefineOrgIdList.length\"\r\n\t\t\t\t\t\t\t\t\t\t:number-style=\"{ backgroundColor: '#52c41a' }\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ item.title }}</a-badge\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div v-else>{{ item.title }}</div>\r\n\t\t\t\t\t\t\t\t</a-radio>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<a-button v-if=\"record.dataScope[4].check\" type=\"link\" size=\"small\" @click=\"handleDefineOrg(record)\">选择机构</a-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</template>\r\n\t\t\t</a-table>\r\n\t\t</a-spin>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t\t<ScopeDefineOrg ref=\"scopeDefineOrgModal\" @click=\"scopeDefineOrgClick\" />\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"grantResourceForm\">\r\n\timport roleApi from '@/api/sys/roleApi'\r\n\timport ScopeDefineOrg from './scopeDefineOrg.vue'\r\n\r\n\tlet visible = ref(false)\r\n\tconst spinningLoading = ref(false)\r\n\tconst scopeDefineOrgModal = ref(null)\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst submitLoading = ref(false)\r\n\tconst CustomValue = 'SCOPE_ORG_DEFINE'\r\n\t// 抽屉的宽度\r\n\tconst drawerWidth = 1000\r\n\t// 自动获取宽度，默认获取浏览器的宽度的90%\r\n\t//(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) * 0.9\r\n\tlet loadDatas = ref([])\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\tkey: 'api',\r\n\r\n\t\t\ttitle: '接口',\r\n\t\t\tdataIndex: 'api',\r\n\t\t\twidth: 380\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: 'dataScope',\r\n\r\n\t\t\ttitle: '数据范围',\r\n\t\t\tdataIndex: 'dataScope',\r\n      width: 250\r\n\t\t}\r\n\t]\r\n\t// 获取数据\r\n\tconst loadData = async () => {\r\n\t\tspinningLoading.value = true\r\n\t\tconst res = await roleApi.rolePermissionTreeSelector()\r\n\t\t// 获取他已有的权限\r\n\t\tconst param = {\r\n\t\t\tid: grantPermissionParam.id\r\n\t\t}\r\n\t\tconst resOwn = await roleApi.roleOwnPermission(param)\r\n\t\t// 数据转换\r\n\t\techoModuleData(res, resOwn)\r\n\t\tspinningLoading.value = false\r\n\t}\r\n\t// 数据转换\r\n\tconst echoModuleData = (res, resOwn) => {\r\n\t\tres.forEach((api) => {\r\n\t\t\tconst obj = {\r\n\t\t\t\tapi: api,\r\n\t\t\t\tdataScope: datascope(api),\r\n\t\t\t\tcheck: false\r\n\t\t\t}\r\n\t\t\tif (resOwn.grantInfoList.length > 0) {\r\n\t\t\t\tresOwn.grantInfoList.forEach((item) => {\r\n\t\t\t\t\tif (item.apiUrl === subStrApi(api)) {\r\n\t\t\t\t\t\tobj.check = true\r\n\t\t\t\t\t\t// dataScopeInfo\r\n\t\t\t\t\t\tobj.dataScope.forEach((o) => {\r\n\t\t\t\t\t\t\tif (o.value === item.scopeCategory) {\r\n\t\t\t\t\t\t\t\to.check = true\r\n\t\t\t\t\t\t\t\t// 如果是自定义\r\n\t\t\t\t\t\t\t\tif (item.scopeCategory === 'SCOPE_ORG_DEFINE') {\r\n\t\t\t\t\t\t\t\t\to.scopeDefineOrgIdList = item.scopeDefineOrgIdList\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tloadDatas.value.push(obj)\r\n\t\t})\r\n\t}\r\n\tconst datascope = (id) => {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tid: `SCOPE_ALL_${id}`,\r\n\t\t\t\ttitle: '全部',\r\n\t\t\t\tvalue: 'SCOPE_ALL',\r\n\t\t\t\tcheck: false\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: `SCOPE_SELF_${id}`,\r\n\t\t\t\ttitle: '仅自己',\r\n\t\t\t\tvalue: 'SCOPE_SELF',\r\n\t\t\t\tcheck: false\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: `SCOPE_ORG_${id}`,\r\n\t\t\t\ttitle: '所属组织',\r\n\t\t\t\tvalue: 'SCOPE_ORG',\r\n\t\t\t\tcheck: false\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: `SCOPE_ORG_CHILD_${id}`,\r\n\t\t\t\ttitle: '所属组织及以下',\r\n\t\t\t\tvalue: 'SCOPE_ORG_CHILD',\r\n\t\t\t\tcheck: false\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: `SCOPE_ORG_DEFINE_${id}`,\r\n\t\t\t\ttitle: '自定义',\r\n\t\t\t\tvalue: 'SCOPE_ORG_DEFINE',\r\n\t\t\t\tcheck: false\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\t// 点击数据权限选择\r\n\tconst changeDataScope = (record, evt) => {\r\n\t\tconst name = evt.target.name\r\n\t\t// 这里做互斥，每个\r\n\t\trecord.dataScope.forEach((item) => {\r\n\t\t\tif (item.title !== name) {\r\n\t\t\t\titem.check = false\r\n\t\t\t}\r\n\t\t})\r\n\t\tchangeChildCheckBox(record, evt)\r\n\t}\r\n\t// 处理自定义\r\n\tconst handleDefineOrg = (recordDataScope) => {\r\n\t\t// 弹框选择子自定义\r\n\t\tconst data = recordDataScope.dataScope.find((f) => f.value === CustomValue)\r\n\t\t// 选中了\r\n\t\tif (data.check) {\r\n\t\t\t// 获取到选中的key数组，传过去，让其那边回显\r\n\t\t\tconst checkKeysStr = recordDataScope.dataScope[4].scopeDefineOrgIdList\r\n\t\t\tscopeDefineOrgModal.value.onOpen(data.id, checkKeysStr)\r\n\t\t} else {\r\n\t\t\t// 清理缓存中的结构,去掉就行\r\n\t\t\thandleDatascope(false, record.id, null)\r\n\t\t}\r\n\t}\r\n\t// 自定义数据弹窗回调\r\n\tconst scopeDefineOrgClick = (value) => {\r\n\t\thandleDatascope(true, value.dataScopeId, value.defineOrgIdData.scopeDefineOrgIdList)\r\n\t}\r\n\t// 处理Datascope数据被选中自定义或取消自定义数据\r\n\tconst handleDatascope = (check, id, orgData) => {\r\n\t\tloadDatas.value.forEach((item) => {\r\n\t\t\tif (id === 'SCOPE_ORG_DEFINE_' + item.api) {\r\n\t\t\t\titem.dataScope.forEach((items) => {\r\n\t\t\t\t\tif (items.value === 'SCOPE_ORG_DEFINE') {\r\n\t\t\t\t\t\tif (check) {\r\n\t\t\t\t\t\t\titems.scopeDefineOrgIdList = orgData\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\titems.scopeDefineOrgIdList = []\r\n\t\t\t\t\t\t}\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\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tgrantPermissionParam.id = record.id\r\n\t\tvisible.value = true\r\n\t\tloadData()\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\t// 将这些缓存的给清空\r\n\t\tloadDatas.value = []\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 全选\r\n\tconst onCheckAllChange = (value) => {\r\n\t\tspinningLoading.value = true\r\n\t\tloadDatas.value.forEach((data) => {\r\n\t\t\tchangeApi(data, value)\r\n\t\t\tspinningLoading.value = false\r\n\t\t})\r\n\t}\r\n\t// 选中接口\r\n\tconst changeApi = (record, val) => {\r\n\t\trecord.check = val\r\n\t\tif (val) {\r\n\t\t\tlet checkStatus = 0\r\n\t\t\tfor (let i = 0; i < record.dataScope.length; i++) {\r\n\t\t\t\tif (record.dataScope[i].check) {\r\n\t\t\t\t\tcheckStatus++\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (checkStatus === 0) {\r\n\t\t\t\trecord.dataScope[0].check = true\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// 去掉已选中的\r\n\t\t\trecord.dataScope.forEach((item) => {\r\n\t\t\t\titem.check = false\r\n\t\t\t\tif (item.value === 'SCOPE_ORG_DEFINE') {\r\n\t\t\t\t\titem.scopeDefineOrgIdList = []\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 设置选中状态\r\n\tconst changeChildCheckBox = (record, evt) => {\r\n\t\tlet checked = evt.target.checked\r\n\t\tif (!checked) {\r\n\t\t\trecord.check = false\r\n\t\t} else if (checked) {\r\n\t\t\trecord.check = checked\r\n\t\t}\r\n\t}\r\n\t// 提交数据模型\r\n\tlet grantPermissionParam = {\r\n\t\t// 角色id\r\n\t\tid: '',\r\n\t\t// 授权权限信息\r\n\t\tgrantInfoList: []\r\n\t}\r\n\t// 提交之前转换数据\r\n\tconst convertData = () => {\r\n\t\tgrantPermissionParam.grantInfoList = []\r\n\t\tloadDatas.value.forEach((table) => {\r\n\t\t\tif (table.check) {\r\n\t\t\t\ttable.dataScope.forEach((item) => {\r\n\t\t\t\t\tif (item.check) {\r\n\t\t\t\t\t\tconst dataScopeInfo = {\r\n\t\t\t\t\t\t\tapiUrl: subStrApi(table.api),\r\n\t\t\t\t\t\t\tscopeCategory: item.value,\r\n\t\t\t\t\t\t\tscopeDefineOrgIdList: item.scopeDefineOrgIdList === undefined ? [] : item.scopeDefineOrgIdList\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tgrantPermissionParam.grantInfoList.push(dataScopeInfo)\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\treturn grantPermissionParam\r\n\t}\r\n\t// 截取api串中的中文及括号\r\n\tconst subStrApi = (api) => {\r\n\t\treturn api.substring(0, api.indexOf('['))\r\n\t}\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tconst param = convertData()\r\n\t\tsubmitLoading.value = true\r\n\t\troleApi\r\n\t\t\t.roleGrantPermission(param)\r\n\t\t\t.then(() => {\r\n\t\t\t\tonClose()\r\n\t\t\t\temit('successful')\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tsubmitLoading.value = false\r\n\t\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n<style scoped>\r\n\t/* 重写复选框的样式 */\r\n\t.ant-checkbox-wrapper {\r\n\t\tmargin-left: 0px !important;\r\n\t\tpadding-top: 2px !important;\r\n\t\tpadding-bottom: 2px !important;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-drawer title=\"授权资源\" :width=\"drawerWidth\" :visible=\"visible\" :destroy-on-close=\"true\" :show-pagination=\"false\" :body-style=\"{ paddingBottom: '80px' }\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n\t\t<a-spin :spinning=\"spinningLoading\">\r\n\t\t\t<a-radio-group v-model:value=\"moduleId\" button-style=\"solid\" style=\"padding-bottom: 10px\">\r\n\t\t\t\t<a-radio-button :key=\"module.id\" v-for=\"module in echoDatalist\" :value=\"module.id\" @click=\"moduleClock(module.id)\">\r\n\t\t\t\t\t<component :is=\"module.icon\" />\r\n\t\t\t\t\t{{ module.title }}</a-radio-button\r\n\t\t\t\t>\r\n\t\t\t</a-radio-group>\r\n\t\t\t<a-table  size=\"middle\" :columns=\"columns\" :data-source=\"loadDatas\" :pagination=\"false\" bordered>\r\n\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'parentName'\">\r\n\t\t\t\t\t\t<a-checkbox :checked=\"record.parentCheck\" @update:checked=\"(val) => changeParent(record, val)\">\r\n\t\t\t\t\t\t\t{{ record.parentName }}\r\n\t\t\t\t\t\t</a-checkbox>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'title'\">\r\n\t\t\t\t\t\t<a-checkbox :checked=\"record.nameCheck\" @update:checked=\"(val) => changeSub(record, val)\">{{ record.title }}</a-checkbox>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"column.dataIndex === 'button'\">\r\n\t\t\t\t\t\t<template v-if=\"record.button.length > 0\">\r\n\t\t\t\t\t\t\t<template v-for=\"(item, index) in record.button\" :key=\"item.id\">\r\n\t\t\t\t\t\t\t\t<a-checkbox v-model:checked=\"item.check\" @change=\"(evt) => changeChildCheckBox(record, evt)\">{{ item.title }}</a-checkbox>\r\n\t\t\t\t\t\t\t\t<br v-if=\"(index + 1) % 5 === 0\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</template>\r\n\t\t\t</a-table>\r\n\t\t</a-spin>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" :loading=\"submitLoading\" @click=\"onSubmit\">保存</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"grantResourceForm\">\r\nimport {nextTick} from 'vue'\r\nimport {tool,getSysMenuDefault} from 'elead-ui-tool-v3'\r\nimport roleApi from '@/api/sys/roleApi'\r\nimport userCenterApi from '@/api/sys/userCenterApi'\r\nconst spinningLoading = ref(false)\r\n\tlet firstShowMap = ref({})\r\n\tconst emit = defineEmits({ successful: null })\r\n\tconst submitLoading = ref(false)\r\n\t// 抽屉的宽度\r\n\tconst drawerWidth = 1000\r\n\t// 自动获取宽度，默认获取浏览器的宽度的90%\r\n\t//(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) * 0.9\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\tkey: 'parentName',\r\n\t\t\ttitle: '一级目录',\r\n\t\t\tdataIndex: 'parentName',\r\n\t\t\tcustomCell: (row, index) => {\r\n\t\t\t\tconst parentName = row.parentName\r\n\t\t\t\tconst indexArr = firstShowMap.value[parentName]\r\n\t\t\t\tif (index === indexArr[0]) {\r\n\t\t\t\t\treturn { rowSpan: indexArr.length }\r\n\t\t\t\t}\r\n\t\t\t\treturn { rowSpan: 0 }\r\n\t\t\t},\r\n\t\t\twidth: 150\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: 'title',\r\n\t\t\ttitle: '菜单',\r\n\t\t\tdataIndex: 'title',\r\n\t\t\twidth: 200\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: 'button',\r\n\t\t\ttitle: '按钮授权',\r\n\t\t\tdataIndex: 'button',\r\n      width: 150\r\n\t\t}\r\n\t]\r\n\tconst echoDatalist = ref([])\r\n\tconst moduleId = ref('')\r\n\tconst loadDatas = ref([])\r\n\t// 获取数据\r\n\tconst loadData = async () => {\r\n\t\t// firstShowMap = {} // 重置单元格合并映射\r\n\t\t// 如果有数据，我们再不去反复的查询\r\n\t\tif (echoDatalist.value.length > 0) {\r\n\t\t\tlet data = echoDatalist.value.find((f) => f.id === moduleId.value).menu\r\n\t\t\tloadDatas.value = data\r\n\t\t} else {\r\n\t\t\t// 获取表格数据\r\n\t\t\tspinningLoading.value = true\r\n\t\t\tconst res = await roleApi.roleResourceTreeSelector()\r\n\t\t\tconst param = {\r\n\t\t\t\tid: resultDataModel.id\r\n\t\t\t}\r\n\t\t\t// 获取回显数据\r\n\t\t\tconst resEcho = await roleApi.roleOwnResource(param)\r\n\t\t\tspinningLoading.value = false\r\n\t\t\techoDatalist.value = echoModuleData(res, resEcho)\r\n\t\t\tmoduleId.value = res[0].id\r\n\t\t\tloadDatas.value = echoDatalist.value[0].menu\r\n\t\t}\r\n\t}\r\n\tconst checkFieldKeys = ['button']\r\n\tlet visible = ref(false)\r\n\t// 返回的数据模型，最终需要转换成这样\r\n\tlet resultDataModel = {\r\n\t\tid: '',\r\n\t\tgrantInfoList: []\r\n\t}\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tresultDataModel.id = record.id\r\n\t\tvisible.value = true\r\n\t\tfirstShowMap.value = {}\r\n\t\tloadData()\r\n\t}\r\n\t// 数据转换\r\n\tconst echoModuleData = (data, resEcho) => {\r\n\t\t// 通过应用循环\r\n\t\tdata.forEach((module) => {\r\n\t\t\tif (module.menu) {\r\n\t\t\t\t// 加入回显内容\r\n\t\t\t\tmodule.menu.forEach((item) => {\r\n\t\t\t\t\tconst menueCheck = ref(0)\r\n\t\t\t\t\tif (resEcho.grantInfoList.length > 0) {\r\n\t\t\t\t\t\tresEcho.grantInfoList.forEach((grant) => {\r\n\t\t\t\t\t\t\tif (item.id === grant.menuId) {\r\n\t\t\t\t\t\t\t\tmenueCheck.value++\r\n\t\t\t\t\t\t\t\t// 处理按钮\r\n\t\t\t\t\t\t\t\tif (grant.buttonInfo.length > 0) {\r\n\t\t\t\t\t\t\t\t\tgrant.buttonInfo.forEach((button) => {\r\n\t\t\t\t\t\t\t\t\t\titem.button.forEach((itemButton) => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (button === itemButton.id) {\r\n\t\t\t\t\t\t\t\t\t\t\t\titemButton.check = true\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 回显前面的2个\r\n\t\t\t\t\tif (menueCheck.value > 0) {\r\n\t\t\t\t\t\titem.parentCheck = true\r\n\t\t\t\t\t\titem.nameCheck = true\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t// 排序\r\n\t\t\t\tmodule.menu = module.menu.sort((a, b) => {\r\n\t\t\t\t\treturn a.parentId - b.parentId\r\n\t\t\t\t})\r\n\t\t\t\t// 缓存加入索引\r\n\t\t\t\tmodule.menu.forEach((item, index) => {\r\n\t\t\t\t\t// 下面就是用来知道不同的一级菜单里面有几个二级菜单，以及他们所在的索引\r\n\t\t\t\t\tif (firstShowMap.value[item.parentName]) {\r\n\t\t\t\t\t\tfirstShowMap.value[item.parentName].push(index)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfirstShowMap.value[item.parentName] = [index]\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\treturn data\r\n\t}\r\n\t// 通过应用分菜单\r\n\tconst moduleClock = (value) => {\r\n\t\tmoduleId.value = value\r\n\t\tloadData()\r\n\t}\r\n\t// 遍历字段\r\n\tconst handleOnlySelf = (record, key, val) => {\r\n\t\trecord[key].forEach((item) => {\r\n\t\t\t// 处理'button'选中状态\r\n\t\t\titem.check = val\r\n\t\t})\r\n\t}\r\n\tconst checkAllChildNotChecked = (record) => {\r\n\t\tconst allChecked = checkFieldKeys.every((key) => {\r\n\t\t\t// 遍历所有的字段\r\n\t\t\tconst child = record[key]\r\n\t\t\treturn child.every((field) => !field.check)\r\n\t\t})\r\n\t\treturn allChecked\r\n\t}\r\n\tconst changeChildCheckBox = (record, evt) => {\r\n\t\tlet checked = evt.target.checked\r\n\t\tif (!checked && checkAllChildNotChecked(record)) {\r\n\t\t\t// 这里注释掉勾选去掉所有按钮，联动去掉菜单\r\n\t\t\t/*record.nameCheck = false\r\n\t\trecord.parentCheck = false*/\r\n\t\t} else if (checked) {\r\n\t\t\trecord.nameCheck = checked\r\n\t\t\trecord.parentCheck = checked\r\n\t\t}\r\n\t}\r\n\t// 二级菜单的勾选\r\n\tconst changeSub = (record, val) => {\r\n\t\t// 选中二级菜单\r\n\t\trecord.nameCheck = val\r\n\t\tcheckFieldKeys.forEach((key) => {\r\n\t\t\t// 遍历所有的字段\r\n\t\t\thandleOnlySelf(record, key, val)\r\n\t\t})\r\n\t}\r\n\t// 当点击首列的勾选\r\n\tconst changeParent = (record, val) => {\r\n\t\trecord.parentCheck = val\r\n\t\t// 通过这个应用id，找到应用下的所有菜单\r\n\t\tconst moduleMenu = echoDatalist.value.find((f) => record.module === f.id)\r\n\t\tconst parentName = record.parentName\r\n\t\t// 获取同一级菜单的所有索引\r\n\t\tconst indexArr = firstShowMap.value[parentName]\r\n\t\tindexArr.forEach((indexItem) => {\r\n\t\t\t// 获取同一级菜单的所有行\r\n\t\t\tconst row = moduleMenu.menu[indexItem]\r\n\t\t\t// 给这些菜单的索引去勾选\r\n\t\t\tchangeSub(row, val)\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\t// 将这些缓存的给清空\r\n\t\techoDatalist.value = []\r\n\t\tmoduleId.value = ''\r\n\t\tloadDatas.value = []\r\n\t\tfirstShowMap.value = {}\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 提交之前转换数据\r\n\tconst convertData = () => {\r\n\t\tresultDataModel.grantInfoList = []\r\n\t\techoDatalist.value.forEach((table) => {\r\n\t\t\tif (table.menu) {\r\n\t\t\t\ttable.menu.forEach((item) => {\r\n\t\t\t\t\tconst grantInfo = {\r\n\t\t\t\t\t\tmenuId: '',\r\n\t\t\t\t\t\tbuttonInfo: []\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (item.nameCheck) {\r\n\t\t\t\t\t\tgrantInfo.menuId = item.id\r\n\t\t\t\t\t\titem.button.forEach((button) => {\r\n\t\t\t\t\t\t\tif (button.check) {\r\n\t\t\t\t\t\t\t\tgrantInfo.buttonInfo.push(button.id)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tresultDataModel.grantInfoList.push(grantInfo)\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\treturn resultDataModel\r\n\t}\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tconst param = convertData()\r\n\t\tsubmitLoading.value = true\r\n\t\troleApi\r\n\t\t\t.roleGrantResource(param)\r\n\t\t\t.then(() => {\r\n\t\t\t\tonClose()\r\n\t\t\t\temit('successful')\r\n\t\t\t\trefreshCacheMenu()\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tsubmitLoading.value = false\r\n\t\t\t})\r\n\t}\r\n\t// 刷新缓存的菜单\r\n\tconst refreshCacheMenu = () => {\r\n\t\tnextTick(() => {\r\n      getSysMenuDefault({userCenterApi}).then((res) => {\r\n\t\t\t\ttool.data.set('MENU', res)\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n<style scoped>\r\n\t/* 重写复选框的样式 */\r\n\t.ant-checkbox-wrapper {\r\n\t\tmargin-left: 0px !important;\r\n\t\tpadding-top: 2px !important;\r\n\t\tpadding-bottom: 2px !important;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-row>\r\n\t\t<a-col :span=\"5\">\r\n\t\t\t<a-card class=\"cardImp\" :bordered=\"false\" :loading=\"cardLoading\">\r\n\t\t\t\t<a-tree v-if=\"treeData.length > 0\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"></a-tree>\r\n\t\t\t\t<a-empty v-else :image=\"Empty.PRESENTED_IMAGE_SIMPLE\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"19\">\r\n\t\t\t<a-card :bordered=\"false\">\r\n\t\t\t\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"[{ label: '名称关键词', name: 'searchKey', span: 8 }]\" @search=\"table.refresh(true)\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入角色名称关键词\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</SearchForm>\r\n\t\t\t\t<s-table\r\n\t\t\t\t\tref=\"table\"\r\n\t\t\t\t\t:columns=\"columns\"\r\n\t\t\t\t\t:data=\"loadData\"\r\n\t\t\t\t\t:expand-row-by-click=\"true\"\r\n\t\t\t\t\t:alert=\"options.alert.show\"\r\n\t\t\t\t\tbordered\r\n\t\t\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('ROLE_CATEGORY', record.category) }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t<a @click=\"form.onOpen(record)\">编辑</a>\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a-popconfirm title=\"确定删除此角色？\" @confirm=\"removeOrg(record)\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除 </a-button>\r\n\t\t\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t\t\t<a-dropdown>\r\n\t\t\t\t\t\t\t\t<a class=\"ant-dropdown-link\">\r\n\t\t\t\t\t\t\t\t\t授权\r\n\t\t\t\t\t\t\t\t\t<DownOutlined />\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<template #overlay>\r\n\t\t\t\t\t\t\t\t\t<a-menu>\r\n\t\t\t\t\t\t\t\t\t\t<a-menu-item>\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"grantResource.onOpen(record)\">授权资源</a>\r\n\t\t\t\t\t\t\t\t\t\t</a-menu-item>\r\n\t\t\t\t\t\t\t\t\t\t<a-menu-item>\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"grantPermission.onOpen(record)\">授权权限</a>\r\n\t\t\t\t\t\t\t\t\t\t</a-menu-item>\r\n\t\t\t\t\t\t\t\t\t\t<a-menu-item>\r\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"openRoleUserSelector(record)\">授权用户</a>\r\n\t\t\t\t\t\t\t\t\t\t</a-menu-item>\r\n\t\t\t\t\t\t\t\t\t</a-menu>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</a-dropdown>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</s-table>\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<grantResourceForm ref=\"grantResource\" @successful=\"table.refresh(true)\" />\r\n\t<grantPermissionForm ref=\"grantPermission\" @successful=\"table.refresh(true)\" />\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n\t<DrawerPicker ref=\"drawerPicker\" :showSelectedUser=\"true\" @ok=\"drawerOk\" @cancel=\"drawerCancel\" :show-check-box=\"true\" :multiple=\"true\" v-model:visible=\"visibleDrawer\" :type=\"type\" />\r\n</template>\r\n<script setup name=\"sysRoleIndex\">\r\n\timport { Empty, message } from 'ant-design-vue'\r\n\timport roleApi from '@/api/sys/roleApi'\r\n\timport orgApi from '@/api/sys/orgApi'\r\n\timport Form from './form.vue'\r\n\timport userSelectorPlusApi from '@/api/components/Selector/userSelectorPlusApi'\r\n\timport GrantPermissionForm from '@/pagesDefault/sys/role/grantPermissionForm.vue'\r\n\timport GrantResourceForm from '@/pagesDefault/sys/role/grantResourceForm.vue'\r\n\tconst panesValues = ['人员', '部门', '岗位']\r\n\tlet type = ref(panesValues[0])\r\n\tlet drawerPicker = ref()\r\n\tconst key = 'updatable'\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '角色名称',\r\n\t\t\tdataIndex: 'name',\r\n\r\n\t\t\twidth: 150\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '角色编码',\r\n\t\t\tdataIndex: 'code',\r\n\r\n\t\t\twidth: 150\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '分类',\r\n\r\n\t\t\tdataIndex: 'category'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '排序',\r\n\r\n\t\t\tdataIndex: 'sortCode'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 200\r\n\t\t}\r\n\t]\r\n\tlet visibleDrawer = ref(false)\r\n\t// 人员选择器回调\r\n\t/*const userCallBack = (value) => {\r\n\t\tconst param = {\r\n\t\t\tid: recordCacheData.value.id,\r\n\t\t\tgrantInfoList: value.map((item) => {\r\n\t\t\t\treturn item.id\r\n\t\t\t})\r\n\t\t}\r\n\t\troleApi.roleGrantUser(param).then(() => {})\r\n\t}*/\r\n\tlet drawerOk = (val) => {\r\n\t\tmessage.loading({ content: 'Loading...', key })\r\n\t\tconst param = {\r\n\t\t\tid: recordCacheData.value.id,\r\n\t\t\tgrantInfoList: val.data.members.map((item) => {\r\n\t\t\t\treturn item.id\r\n\t\t\t})\r\n\t\t}\r\n\t\troleApi.roleGrantUser(param).then(() => {\r\n\t\t\tmessage.destroy(key)\r\n\t\t})\r\n\t}\r\n\tlet drawerCancel = () => {}\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 定义tableDOM\r\n\tconst table = ref()\r\n\tconst form = ref()\r\n\tconst grantResource = ref()\r\n\tconst grantPermission = ref()\r\n\tconst userselectorPlusRef = ref()\r\n\tconst searchFormRef = ref()\r\n\tlet searchFormState = reactive({})\r\n\t// handleReset方法\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\t// operatorConfig配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '新增角色',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen()\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchRole,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0\r\n\t\t}\r\n\t])\r\n\t// 默认展开的节点\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst treeData = ref([])\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\tconst cardLoading = ref(true)\r\n\t// 记录数据\r\n\tconst recordCacheData = ref({})\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\tlet param = Object.assign(parameter, searchFormState)\r\n\t\treturn roleApi.rolePage(param).then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t}\r\n\t// 加载左侧的树\r\n\torgApi.orgTree().then((res) => {\r\n\t\tcardLoading.value = false\r\n\t\tif (res !== null) {\r\n\t\t\t// 树中插入全局角色类型\r\n\t\t\tconst globalRoleType = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'GLOBAL',\r\n\t\t\t\t\tparentId: '-1',\r\n\t\t\t\t\tname: '全局'\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t\ttreeData.value = globalRoleType.concat(res)\r\n\t\t\t// 默认展开2级\r\n\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t// 因为0的顶级\r\n\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t})\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\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tif (selectedKeys[0] === 'GLOBAL') {\r\n\t\t\t\tsearchFormState.category = selectedKeys[0]\r\n\t\t\t\tdelete searchFormState.orgId\r\n\t\t\t} else {\r\n\t\t\t\tsearchFormState.orgId = selectedKeys.toString()\r\n\t\t\t\tdelete searchFormState.category\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.category\r\n\t\t\tdelete searchFormState.orgId\r\n\t\t}\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\r\n\t// 删除\r\n\tconst removeOrg = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\troleApi.roleDelete(params).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchRole = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\troleApi.roleDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n\t// 打开用户选择器\r\n\tconst openRoleUserSelector = (record) => {\r\n\t\trecordCacheData.value = record\r\n\t\tvisibleDrawer.value = true\r\n\t\tconst param = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\tdrawerPicker.value.setMembersSelectedLoading(true)\r\n\t\troleApi.roleOwnUser(param).then((data) => {\r\n\t\t\tif (!!data && data.length > 0) {\r\n\t\t\t\tconst res = userSelectorPlusApi\r\n\t\t\t\t\t.getUsersByUserIds(\r\n\t\t\t\t\t\t'/sys/user/ids',\r\n\t\t\t\t\t\tdata.map((res) => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tid: res\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tdrawerPicker.value.setMembers(res)\r\n\t\t\t\t\t\tdrawerPicker.value.setMembersSelectedLoading(false)\r\n\t\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tdrawerPicker.value.setMembers([])\r\n\t\t\t\tdrawerPicker.value.setMembersSelectedLoading(false)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n</script>\r\n<style scoped>\r\n\t.cardImp {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.primaryAdd {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","<template>\r\n\t<a-drawer title=\"文档上传\" :width=\"500\" :visible=\"visible\" :destroy-on-close=\"true\" :footer-style=\"{ textAlign: 'right' }\" :bodyStyle=\"{ 'padding-top': '0px' }\" @close=\"onClose\">\r\n\t\t<a-tabs v-model:activeKey=\"activeKey\">\r\n\t\t\t<a-tab-pane key=\"Local\" tab=\"本地\">\r\n\t\t\t\t<a-spin :spinning=\"uploadLoading\">\r\n\t\t\t\t\t<a-upload-dragger :show-upload-list=\"false\" :custom-request=\"customRequestLocal\">\r\n\t\t\t\t\t\t<p class=\"ant-upload-drag-icon\">\r\n\t\t\t\t\t\t\t<inbox-outlined></inbox-outlined>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-text\">单击或拖动文档到此区域进行上传</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-hint\">支持单个上传</p>\r\n\t\t\t\t\t</a-upload-dragger>\r\n\t\t\t\t</a-spin>\r\n\t\t\t</a-tab-pane>\r\n\t\t\t<a-tab-pane key=\"Aliyun\" tab=\"阿里云\">\r\n\t\t\t\t<a-spin :spinning=\"uploadLoading\">\r\n\t\t\t\t\t<a-upload-dragger :custom-request=\"customRequestAliyun\" :show-upload-list=\"false\">\r\n\t\t\t\t\t\t<p class=\"ant-upload-drag-icon\">\r\n\t\t\t\t\t\t\t<inbox-outlined></inbox-outlined>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-text\">单击或拖动文档到此区域进行上传</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-hint\">支持单个上传</p>\r\n\t\t\t\t\t</a-upload-dragger>\r\n\t\t\t\t</a-spin>\r\n\t\t\t</a-tab-pane>\r\n\t\t\t<a-tab-pane key=\"Tencent\" tab=\"腾讯云\">\r\n\t\t\t\t<a-spin :spinning=\"uploadLoading\">\r\n\t\t\t\t\t<a-upload-dragger :custom-request=\"customRequestTencent\" :show-upload-list=\"false\">\r\n\t\t\t\t\t\t<p class=\"ant-upload-drag-icon\">\r\n\t\t\t\t\t\t\t<inbox-outlined></inbox-outlined>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-text\">单击或拖动文档到此区域进行上传</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-hint\">支持单个上传</p>\r\n\t\t\t\t\t</a-upload-dragger>\r\n\t\t\t\t</a-spin>\r\n\t\t\t</a-tab-pane>\r\n\t\t\t<a-tab-pane key=\"Minio\" tab=\"MINIO\">\r\n\t\t\t\t<a-spin :spinning=\"uploadLoading\">\r\n\t\t\t\t\t<a-upload-dragger :custom-request=\"customRequestMinio\" :show-upload-list=\"false\">\r\n\t\t\t\t\t\t<p class=\"ant-upload-drag-icon\">\r\n\t\t\t\t\t\t\t<inbox-outlined></inbox-outlined>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-text\">单击或拖动文档到此区域进行上传</p>\r\n\t\t\t\t\t\t<p class=\"ant-upload-hint\">支持单个上传</p>\r\n\t\t\t\t\t</a-upload-dragger>\r\n\t\t\t\t</a-spin>\r\n\t\t\t</a-tab-pane>\r\n\t\t</a-tabs>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"uploadForm\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport fileApi from '@/api/dev/fileApi'\r\n\t// 定义emit事件\r\n\tconst emit = defineEmits({ successful: null })\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst activeKey = ref('Local')\r\n\tconst uploadLoading = ref(false)\r\n\t// 打开抽屉\r\n\tconst openUpload = () => {\r\n\t\tvisible.value = true\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t\temit('successful')\r\n\t}\r\n\t// 上传本地文档\r\n\tconst customRequestLocal = (data) => {\r\n\t\tuploadLoading.value = true\r\n\t\tconst fileData = new FormData()\r\n\t\tfileData.append('file', data.file)\r\n\t\tfileApi\r\n\t\t\t.fileUploadLocalReturnUrl(fileData)\r\n\t\t\t.then(() => {\r\n\t\t\t\temit('successful')\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tuploadLoading.value = false\r\n\t\t\t})\r\n\t}\r\n\t// 上传阿里云文档\r\n\tconst customRequestAliyun = (data) => {\r\n\t\tuploadLoading.value = true\r\n\t\tconst fileData = new FormData()\r\n\t\tfileData.append('file', data.file)\r\n\t\tfileApi\r\n\t\t\t.fileUploadAliyunReturnUrl(fileData)\r\n\t\t\t.then(() => {\r\n\t\t\t\temit('successful')\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tuploadLoading.value = false\r\n\t\t\t})\r\n\t}\r\n\t// 上传腾讯文档\r\n\tconst customRequestTencent = (data) => {\r\n\t\tuploadLoading.value = true\r\n\t\tconst fileData = new FormData()\r\n\t\tfileData.append('file', data.file)\r\n\t\tfileApi\r\n\t\t\t.fileUploadTencentReturnUrl(fileData)\r\n\t\t\t.then(() => {\r\n\t\t\t\temit('successful')\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tuploadLoading.value = false\r\n\t\t\t})\r\n\t}\r\n\t// 上传腾讯文档\r\n\tconst customRequestMinio = (data) => {\r\n\t\tuploadLoading.value = true\r\n\t\tconst fileData = new FormData()\r\n\t\tfileData.append('file', data.file)\r\n\t\tfileApi\r\n\t\t\t.fileUploadMinioReturnUrl(fileData)\r\n\t\t\t.then(() => {\r\n\t\t\t\temit('successful')\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tuploadLoading.value = false\r\n\t\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\topenUpload\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-drawer title=\"详情\" :width=\"600\" :visible=\"visible\" :destroy-on-close=\"true\" :footer-style=\"{ textAlign: 'right' }\" @close=\"onClose\">\r\n\t\t<a-descriptions :column=\"1\" size=\"middle\" bordered class=\"mb-2\">\r\n\t\t\t<a-descriptions-item label=\"名称\">{{ formData.name }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"文档引擎\">{{ $TOOL.dictTypeData('FILE_ENGINE', formData.engine) }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"储存桶\">{{ formData.bucket }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"上传时间\">{{ formData.createTime }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"大小\">{{ formData.sizeInfo }}</a-descriptions-item>\r\n\t\t</a-descriptions>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"存储路径：\" name=\"storagePath\">\r\n\t\t\t\t<span>{{ formData.storagePath }}</span>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-form-item label=\"下载链接：\" name=\"downloadPath\">\r\n\t\t\t\t<span>{{ formData.downloadPath }}</span>\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"fileDetail\">\r\n\timport fileApi from '@/api/dev/fileApi'\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst formRef = ref()\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tgetFileDetail(record)\r\n\t}\r\n\t// 获取站内信列表\r\n\tconst getFileDetail = (record) => {\r\n\t\tconst param = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\tfileApi.fileDetail(param).then((data) => {\r\n\t\t\tObject.assign(record, data)\r\n\t\t\tformData.value = record\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformData.value = {}\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<SearchForm\r\n\t\t\t:form-state=\"searchFormState\"\r\n\t\t\t:form-fields=\"[\r\n\t\t\t\t{ label: '名称关键词', name: 'searchKey', span: 8 },\r\n\t\t\t\t{ label: '存储位置', name: 'engine', span: 8 }\r\n\t\t\t]\"\r\n\t\t\t@search=\"table.refresh(true)\"\r\n\t\t\t@reset=\"handleReset\"\r\n\t\t\tref=\"searchFormRef\"\r\n\t\t>\r\n\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入文档名称关键词\"></a-input>\r\n\t\t\t</template>\r\n\t\t\t<template #engine=\"{ formState }\">\r\n\t\t\t\t<a-select v-model:value=\"formState.engine\" placeholder=\"请选择存储位置\" :options=\"engineOptions\"></a-select>\r\n\t\t\t</template>\r\n\t\t</SearchForm>\r\n\t\t<s-table\r\n\t\t\tref=\"table\"\r\n\t\t\t:columns=\"columns\"\r\n\t\t\t:data=\"loadData\"\r\n\t\t\t:expand-row-by-click=\"true\"\r\n\t\t\t:alert=\"options.alert.show\"\r\n\t\t\tbordered\r\n\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t>\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'thumbnail'\">\r\n\t\t\t\t\t<img :src=\"record.thumbnail\" class=\"record-img\" v-if=\"record.suffix === 'png' || record.suffix === 'jpg' || record.suffix === 'jpng' || record.suffix === 'ico' || record.suffix === 'gif'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/docx.png\" class=\"record-img\" v-else-if=\"record.suffix === 'doc' || record.suffix === 'docx'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/xlsx.png\" class=\"record-img\" v-else-if=\"record.suffix === 'xls' || record.suffix === 'xlsx'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/zip.png\" class=\"record-img\" v-else-if=\"record.suffix === 'zip'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/rar.png\" class=\"record-img\" v-else-if=\"record.suffix === 'rar'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/ppt.png\" class=\"record-img\" v-else-if=\"record.suffix === 'ppt' || record.suffix === 'pptx'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/txt.png\" class=\"record-img\" v-else-if=\"record.suffix === 'txt'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/html.png\" class=\"record-img\" v-else-if=\"record.suffix === 'html'\" />\r\n\t\t\t\t\t<img src=\"/src/assets/images/fileImg/file.png\" class=\"record-img\" v-else />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'engine'\">\r\n\t\t\t\t\t{{ $TOOL.dictTypeData('FILE_ENGINE', record.engine) }}\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a @click=\"detailRef.onOpen(record)\">详情</a>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a :href=\"record.downloadPath\" target=\"_blank\">下载</a>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a-popconfirm title=\"删除此文档？\" @confirm=\"deleteFile(record)\">\r\n\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<uploadForm ref=\"uploadForm\" @successful=\"table.refresh(true)\" />\r\n\t<detail ref=\"detailRef\" />\r\n</template>\r\n<script setup name=\"devFileIndex\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport fileApi from '@/api/dev/fileApi'\r\n\timport { tool } from 'elead-ui-tool-v3'\r\n\timport UploadForm from '@/pagesDefault/dev/file/uploadForm.vue'\r\n\timport detail from '@/pagesDefault/dev/file/detail.vue'\r\n\t// 定义tableDOM\r\n\tconst table = ref()\r\n\tconst form = ref()\r\n\tconst searchFormRef = ref()\r\n\tlet searchFormState = reactive({})\r\n\tconst uploadForm = ref()\r\n\tconst detailRef = ref()\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '文档名称',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true,\r\n\t\t\twidth: 280\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '缩略图',\r\n\t\t\tdataIndex: 'thumbnail',\r\n\t\t\tellipsis: true,\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '文档大小',\r\n\t\t\tdataIndex: 'sizeInfo',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '文档后缀',\r\n\t\t\tdataIndex: 'suffix',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '储存引擎',\r\n\t\t\tdataIndex: 'engine',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 180\r\n\t\t}\r\n\t]\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\treturn fileApi.filePage(Object.assign(parameter, searchFormState)).then((data) => {\r\n\t\t\treturn data\r\n\t\t})\r\n\t}\r\n\t// 删除\r\n\tconst deleteFile = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\tfileApi.fileDelete(params).then(() => {\r\n\t\t\ttable.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchFile = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\tfileApi.fileDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n\t// 存储位置\r\n\tconst engineOptions = tool.dictTypeList('FILE_ENGINE').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '文档上传',\r\n\t\t\ticon: 'fa fa-upload',\r\n\t\t\tonClick: () => uploadForm.value.openUpload()\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchFile,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0\r\n\t\t}\r\n\t])\r\n</script>\r\n<style scoped>\r\n\t.record-img {\r\n\t\twidth: 40px;\r\n\t\theight: 40px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t<a-form-item label=\"发送方式：\" name=\"sendType\">\r\n\t\t\t<a-radio-group v-model:value=\"sendType\">\r\n\t\t\t\t<a-radio value=\"TXT\">纯文本</a-radio>\r\n\t\t\t\t<a-radio value=\"HTML\">HTML</a-radio>\r\n\t\t\t</a-radio-group>\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"接收人邮箱：\" name=\"receiveAccounts\">\r\n\t\t\t<a-textarea v-model:value=\"formData.receiveAccounts\" placeholder=\"请输入接收人邮箱，多个逗号拼接\" :auto-size=\"{ minRows: 2, maxRows: 5 }\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件主题：\" name=\"subject\">\r\n\t\t\t<a-input v-model:value=\"formData.subject\" placeholder=\"请输入邮件主题\" allow-clear />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件正文\" name=\"content\" v-if=\"sendType === 'TXT'\">\r\n\t\t\t<a-textarea v-model:value=\"formData.content\" placeholder=\"请输入邮件正文\" :auto-size=\"{ minRows: 6, maxRows: 6 }\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件正文\" name=\"content\" v-if=\"sendType === 'HTML'\">\r\n<!--\t\t\t<xn-editor v-model=\"formData.content\" placeholder=\"请输入邮件正文\" :height=\"200\"></xn-editor>-->\r\n\t\t</a-form-item>\r\n\t</a-form>\r\n</template>\r\n<script setup name=\"localEmailSend\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport { required, rules } from  '@/utils/formRules'\r\n\timport emailApi from '@/api/dev/emailApi'\r\n\timport fileApi from '@/api/dev/fileApi'\r\n\tconst uploadRef = ref()\r\n\t// 发送文本方式\r\n\tconst sendType = ref('TXT')\r\n\t// 定义emit事件\r\n\tconst emit = defineEmits({ loadingStart: null, loadingEnd: null })\r\n\tconst formRef = ref()\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\treceiveAccounts: [required('请输入接收人邮箱，多个逗号拼接')],\r\n\t\tsubject: [required('请输入邮件主题')],\r\n\t\tcontent: [required('请输入邮件正文')]\r\n\t}\r\n\t// 发送\r\n\tconst send = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\temit('loadingStart')\r\n\t\t\tif (sendType.value === 'TXT') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendLocalTxt(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tif (sendType.value === 'HTML') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendLocalHtml(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tsend\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t<a-form-item label=\"发送方式：\" name=\"sendType\">\r\n\t\t\t<a-radio-group v-model:value=\"sendType\">\r\n\t\t\t\t<a-radio value=\"TXT\">纯文本</a-radio>\r\n\t\t\t\t<a-radio value=\"HTML\">HTML</a-radio>\r\n\t\t\t\t<a-radio value=\"TMP\">模板邮件</a-radio>\r\n\t\t\t</a-radio-group>\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"发件人邮箱：\" name=\"sendAccount\">\r\n\t\t\t<a-input v-model:value=\"formData.sendAccount\" placeholder=\"请输入管理控制台中配置的发信地址\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"接收人邮箱：\" name=\"receiveAccounts\">\r\n\t\t\t<a-textarea v-model:value=\"formData.receiveAccounts\" :placeholder=\"sendType !== 'TMP' ? '请输入接收人邮箱，多个逗号拼接' : '预先创建且上传了收件人的收件人列表名称'\" :auto-size=\"{ minRows: 2, maxRows: 5 }\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件主题：\" name=\"subject\" v-if=\"sendType !== 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.subject\" placeholder=\"请输入邮件主题\" allow-clear />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件正文\" name=\"content\" v-if=\"sendType === 'TXT'\">\r\n\t\t\t<a-textarea v-model:value=\"formData.content\" placeholder=\"请输入邮件正文\" :auto-size=\"{ minRows: 6, maxRows: 6 }\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件正文\" name=\"content\" v-if=\"sendType === 'HTML'\">\r\n<!--\t\t\t<xn-editor v-model=\"formData.content\" placeholder=\"请输入邮件正文\" :height=\"200\"></xn-editor>-->\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"模板名：\" name=\"templateName\" v-if=\"sendType === 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.templateName\" placeholder=\"请输入预先创建且通过审核的模板名称\" allow-clear />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"标签名：\" name=\"tagName\" v-if=\"sendType === 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.tagName\" placeholder=\"请输入标签名\" allow-clear />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"发件人昵称：\" name=\"sendUser\" v-if=\"sendType !== 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.sendUser\" placeholder=\"设置发件人昵称\" allow-clear />\r\n\t\t</a-form-item>\r\n\t</a-form>\r\n</template>\r\n<script setup name=\"aliyunEmailSend\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport { required, rules } from  '@/utils/formRules'\r\n\timport emailApi from '@/api/dev/emailApi'\r\n\timport fileApi from '@/api/dev/fileApi'\r\n\tconst uploadRef = ref()\r\n\t// 发送文本方式\r\n\tconst sendType = ref('TXT')\r\n\t// 定义emit事件\r\n\tconst emit = defineEmits({ loadingStart: null, loadingEnd: null })\r\n\tconst formRef = ref()\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\tsendAccount: [required('请输入发件人邮箱，即管理控制台中配置的发信地址')],\r\n\t\treceiveAccounts: [required('请输入接收人邮箱，多个逗号拼接')],\r\n\t\tsubject: [required('请输入邮件主题')],\r\n\t\ttemplateName: [required('请输入预先创建且通过审核的模板名称')],\r\n\t\tcontent: [required('请输入邮件正文')]\r\n\t}\r\n\t// 发送\r\n\tconst send = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\temit('loadingStart')\r\n\t\t\tif (sendType.value === 'TXT') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendAliyunTxt(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tif (sendType.value === 'HTML') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendAliyunHtml(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tif (sendType.value === 'TMP') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendAliyunTmp(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tsend\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-form ref=\"formRef\" :model=\"formData\" :rules=\"formRules\" layout=\"vertical\">\r\n\t\t<a-form-item label=\"发送方式：\" name=\"sendType\">\r\n\t\t\t<a-radio-group v-model:value=\"sendType\">\r\n\t\t\t\t<a-radio value=\"TXT\">纯文本</a-radio>\r\n\t\t\t\t<a-radio value=\"HTML\">HTML</a-radio>\r\n\t\t\t\t<a-radio value=\"TMP\">模板邮件</a-radio>\r\n\t\t\t</a-radio-group>\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"发件人邮箱：\" name=\"sendAccount\">\r\n\t\t\t<a-input v-model:value=\"formData.sendAccount\" placeholder=\"请输入管理控制台中配置的发信地址\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"接收人邮箱：\" name=\"receiveAccounts\">\r\n\t\t\t<a-textarea v-model:value=\"formData.receiveAccounts\" :placeholder=\"sendType !== 'TMP' ? '请输入接收人邮箱，多个逗号拼接' : '预先创建且上传了收件人的收件人列表名称'\" :auto-size=\"{ minRows: 2, maxRows: 5 }\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件主题：\" name=\"subject\" v-if=\"sendType !== 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.subject\" placeholder=\"请输入邮件主题\" allow-clear />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件正文\" name=\"content\" v-if=\"sendType === 'TXT'\">\r\n\t\t\t<a-textarea v-model:value=\"formData.content\" placeholder=\"请输入邮件正文\" :auto-size=\"{ minRows: 6, maxRows: 6 }\" />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"邮件正文\" name=\"content\" v-if=\"sendType === 'HTML'\">\r\n<!--\t\t\t<xn-editor v-model=\"formData.content\" placeholder=\"请输入邮件正文\" :height=\"200\"></xn-editor>-->\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"模板名：\" name=\"templateName\" v-if=\"sendType === 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.templateName\" placeholder=\"请输入预先创建且通过审核的模板名称\" allow-clear />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"标签名：\" name=\"tagName\" v-if=\"sendType === 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.tagName\" placeholder=\"请输入标签名\" allow-clear />\r\n\t\t</a-form-item>\r\n\t\t<a-form-item label=\"发件人昵称：\" name=\"sendUser\" v-if=\"sendType !== 'TMP'\">\r\n\t\t\t<a-input v-model:value=\"formData.sendUser\" placeholder=\"设置发件人昵称\" allow-clear />\r\n\t\t</a-form-item>\r\n\t</a-form>\r\n</template>\r\n<script setup name=\"tencentEmailSend\">\r\n\timport { message } from 'ant-design-vue'\r\n\t//import XnEditor from '@/components/Editor/index.vue'\r\n\timport { required, rules } from  '@/utils/formRules'\r\n\timport emailApi from '@/api/dev/emailApi'\r\n\timport fileApi from '@/api/dev/fileApi'\r\n\t// 发送文本方式\r\n\tconst sendType = ref('TXT')\r\n\t// 定义emit事件\r\n\tconst emit = defineEmits({ loadingStart: null, loadingEnd: null })\r\n\tconst formRef = ref()\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\t// 默认要校验的\r\n\tconst formRules = {\r\n\t\tsendAccount: [required('请输入发件人邮箱，即管理控制台中配置的发信地址')],\r\n\t\treceiveAccounts: [required('请输入接收人邮箱，多个逗号拼接')],\r\n\t\tsubject: [required('请输入邮件主题')],\r\n\t\ttemplateName: [required('请输入预先创建且通过审核的模板名称')],\r\n\t\tcontent: [required('请输入邮件正文')]\r\n\t}\r\n\t// 发送\r\n\tconst send = () => {\r\n\t\tformRef.value.validate().then(() => {\r\n\t\t\temit('loadingStart')\r\n\t\t\tif (sendType.value === 'TXT') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendTencentTxt(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tif (sendType.value === 'HTML') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendTencentHtml(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tif (sendType.value === 'TMP') {\r\n\t\t\t\temailApi\r\n\t\t\t\t\t.emailSendTencentTmp(formData.value)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tmessage.success('发送成功')\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\temit('loadingEnd')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tsend\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-drawer\r\n\t\ttitle=\"发送邮件\"\r\n\t\t:width=\"1000\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t:bodyStyle=\"{ 'padding-top': '0px' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-tabs v-model:activeKey=\"activeKey\">\r\n\t\t\t<a-tab-pane key=\"LocalEmailSend\" tab=\"本地邮件\">\r\n\t\t\t\t<localEmailSend ref=\"LocalEmailSend\" @loadingStart=\"loadingStart\" @loadingEnd=\"loadingEnd\" />\r\n\t\t\t</a-tab-pane>\r\n\t\t\t<a-tab-pane key=\"AliyunEmailSend\" tab=\"阿里云邮件\">\r\n\t\t\t\t<aliyunEmailSend ref=\"AliyunEmailSend\" @loadingStart=\"loadingStart\" @loadingEnd=\"loadingEnd\" />\r\n\t\t\t</a-tab-pane>\r\n\t\t\t<a-tab-pane key=\"TencentEmailSend\" tab=\"腾讯云邮件\">\r\n\t\t\t\t<tencentEmailSend ref=\"TencentEmailSend\" @loadingStart=\"loadingStart\" @loadingEnd=\"loadingEnd\" />\r\n\t\t\t</a-tab-pane>\r\n\t\t</a-tabs>\r\n\t\t<template #footer>\r\n\t\t\t<a-button style=\"margin-right: 8px\" @click=\"onClose\">关闭</a-button>\r\n\t\t\t<a-button type=\"primary\" @click=\"onSubmit\" :loading=\"sendLoading\">发送</a-button>\r\n\t\t</template>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"emailForm\">\r\n\timport localEmailSend from './send/localEmailSend.vue'\r\n\timport aliyunEmailSend from './send/aliyunEmailSend.vue'\r\n\timport tencentEmailSend from './send/tencentEmailSend.vue'\r\n\tconst LocalEmailSend = ref()\r\n\tconst AliyunEmailSend = ref()\r\n\tconst TencentEmailSend = ref()\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst activeKey = ref('LocalEmailSend')\r\n\tconst sendLoading = ref(false)\r\n\t// 打开抽屉\r\n\tconst onOpen = () => {\r\n\t\tvisible.value = true\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 验证并提交数据\r\n\tconst onSubmit = () => {\r\n\t\tconst tabActiveKey = activeKey.value\r\n\t\tif (tabActiveKey === 'LocalEmailSend') {\r\n\t\t\tLocalEmailSend.value.send()\r\n\t\t} else if (tabActiveKey === 'AliyunEmailSend') {\r\n\t\t\tAliyunEmailSend.value.send()\r\n\t\t} else if (tabActiveKey === 'TencentEmailSend') {\r\n\t\t\tTencentEmailSend.value.send()\r\n\t\t}\r\n\t}\r\n\t// 请求loading开始\r\n\tconst loadingStart = () => {\r\n\t\tsendLoading.value = true\r\n\t}\r\n\t// 请求loading结束\r\n\tconst loadingEnd = () => {\r\n\t\tsendLoading.value = false\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-drawer\r\n\t\ttitle=\"详情\"\r\n\t\t:width=\"600\"\r\n\t\t:visible=\"visible\"\r\n\t\t:destroy-on-close=\"true\"\r\n\t\t:footer-style=\"{ textAlign: 'right' }\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<a-descriptions :column=\"1\" size=\"middle\" bordered class=\"mb-2\">\r\n\t\t\t<a-descriptions-item label=\"邮件主题\">{{ formData.subject }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"邮件引擎\">{{\r\n\t\t\t\t$TOOL.dictTypeData('FILE_ENGINE', formData.engine)\r\n\t\t\t}}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"发送账户\">{{ formData.sendAccount }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"发送时间\">{{ formData.createTime }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"发送人\" v-if=\"formData.sendUser\">{{ formData.sendUser }}</a-descriptions-item>\r\n\t\t\t<a-descriptions-item label=\"接收账户\">{{ formData.receiveAccounts }}</a-descriptions-item>\r\n\t\t</a-descriptions>\r\n\t\t<a-form ref=\"formRef\" :model=\"formData\" layout=\"vertical\">\r\n\t\t\t<a-form-item label=\"正文：\" name=\"content\">\r\n\t\t\t\t<span>{{ formData.content }}</span>\r\n\t\t\t</a-form-item>\r\n\t\t\t<a-row :gutter=\"10\" v-if=\"formData.templateName || formData.templateParam\">\r\n\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t<a-form-item label=\"模板名称：\" name=\"templateName\">\r\n\t\t\t\t\t\t<span>{{ formData.templateName }}</span>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t<a-form-item label=\"模板参数：\" name=\"templateParam\">\r\n\t\t\t\t\t\t<span>{{ formData.templateParam }}</span>\r\n\t\t\t\t\t</a-form-item>\r\n\t\t\t\t</a-col>\r\n\t\t\t</a-row>\r\n\t\t\t<a-form-item label=\"回执信息：\" name=\"receiptInfo\">\r\n\t\t\t\t<span>{{ formData.receiptInfo }}</span>\r\n\t\t\t</a-form-item>\r\n\t\t</a-form>\r\n\t</a-drawer>\r\n</template>\r\n<script setup name=\"emailDetail\">\r\n\timport emailApi from '@/api/dev/emailApi'\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\tconst formRef = ref()\r\n\t// 表单数据\r\n\tconst formData = ref({})\r\n\t// 打开抽屉\r\n\tconst onOpen = (record) => {\r\n\t\tvisible.value = true\r\n\t\tgetFileDetail(record)\r\n\t}\r\n\t// 获取站内信列表\r\n\tconst getFileDetail = (record) => {\r\n\t\tconst param = {\r\n\t\t\tid: record.id\r\n\t\t}\r\n\t\temailApi.emailDetail(param).then((data) => {\r\n\t\t\tObject.assign(record, data)\r\n\t\t\tformData.value = record\r\n\t\t})\r\n\t}\r\n\t// 关闭抽屉\r\n\tconst onClose = () => {\r\n\t\tformData.value = {}\r\n\t\tvisible.value = false\r\n\t}\r\n\t// 调用这个函数将子组件的一些数据和方法暴露出去\r\n\tdefineExpose({\r\n\t\tonOpen\r\n\t})\r\n</script>\r\n","<template>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<SearchForm\r\n\t\t\t:form-state=\"searchFormState\"\r\n\t\t\t:form-fields=\"[\r\n\t\t\t\t{ label: '邮件引擎', name: 'engine', span: 8 },\r\n\t\t\t\t{ label: '主题关键词', name: 'searchKey', span: 8 }\r\n\t\t\t]\"\r\n\t\t\t@search=\"table.refresh(true)\"\r\n\t\t\t@reset=\"handleReset\"\r\n\t\t\tref=\"searchFormRef\"\r\n\t\t>\r\n\t\t\t<template #engine=\"{ formState }\">\r\n\t\t\t\t<a-select v-model:value=\"formState.engine\" :options=\"engineOptions\" placeholder=\"请选择邮件引擎\" allow-clear></a-select>\r\n\t\t\t</template>\r\n\t\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t\t<a-input v-model:value=\"formState.searchKey\" placeholder=\"请输入邮件主题关键词\"></a-input>\r\n\t\t\t</template>\r\n\t\t</SearchForm>\r\n\t\t<s-table\r\n\t\t\tref=\"table\"\r\n\t\t\t:columns=\"columns\"\r\n\t\t\t:data=\"loadData\"\r\n\t\t\t:expand-row-by-click=\"true\"\r\n\t\t\t:alert=\"options.alert.show\"\r\n\t\t\tbordered\r\n\t\t\t:row-key=\"(record) => record.id\"\r\n\t\t\t:row-selection=\"options.rowSelection\"\r\n\t\t\t:operator-config=\"operatorConfig\"\r\n\t\t>\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'engine'\">\r\n\t\t\t\t\t{{ $TOOL.dictTypeData('EMAIL_ENGINE', record.engine) }}\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a @click=\"detailRef.onOpen(record)\">详情</a>\r\n\t\t\t\t\t<a-divider type=\"vertical\" />\r\n\t\t\t\t\t<a-popconfirm title=\"删除此邮件？\" @confirm=\"deleteEmail(record)\">\r\n\t\t\t\t\t\t<a-button type=\"link\" danger size=\"small\">删除</a-button>\r\n\t\t\t\t\t</a-popconfirm>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<Form ref=\"form\" @successful=\"table.refresh(true)\" />\r\n\t<detail ref=\"detailRef\" />\r\n</template>\r\n<script setup name=\"devEmailIndex\">\r\n\timport { message } from 'ant-design-vue'\r\n\timport emailApi from '@/api/dev/emailApi'\r\n\timport Form from './form.vue'\r\n\timport { getCurrentInstance } from 'vue'\r\n\timport detail from './detail.vue'\r\n\tconst { proxy } = getCurrentInstance()\r\n\tconst table = ref(null)\r\n\tconst form = ref()\r\n\tconst searchFormRef = ref()\r\n\tlet searchFormState = reactive({})\r\n\tconst deleteLoading = ref(false)\r\n\tconst detailRef = ref()\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '邮件引擎',\r\n\r\n\t\t\tdataIndex: 'engine',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '发件人邮箱',\r\n\r\n\t\t\tdataIndex: 'sendAccount'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '发件人昵称',\r\n\r\n\t\t\tdataIndex: 'sendUser'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '接收人',\r\n\r\n\t\t\tdataIndex: 'receiveAccounts',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '邮件主题',\r\n\r\n\t\t\tdataIndex: 'subject',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '标签名',\r\n\r\n\t\t\tdataIndex: 'tagName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 150\r\n\t\t}\r\n\t]\r\n\tlet selectedRowKeys = ref([])\r\n\t// 列表选择配置\r\n\tconst options = {\r\n\t\talert: {\r\n\t\t\tshow: false,\r\n\t\t\tclear: () => {\r\n\t\t\t\tselectedRowKeys = ref([])\r\n\t\t\t}\r\n\t\t},\r\n\t\trowSelection: {\r\n\t\t\tonChange: (selectedRowKey, selectedRows) => {\r\n\t\t\t\tselectedRowKeys.value = selectedRowKey\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadData = (parameter) => {\r\n\t\treturn emailApi.emailPage(Object.assign(parameter, searchFormState)).then((data) => {\r\n\t\t\treturn data\r\n\t\t})\r\n\t}\r\n\tconst engineOptions = proxy.$TOOL.dictTypeList('EMAIL_ENGINE').map((item) => {\r\n\t\treturn {\r\n\t\t\tvalue: item['dictValue'],\r\n\t\t\tlabel: item['name']\r\n\t\t}\r\n\t})\r\n\t// 删除\r\n\tconst deleteEmail = (record) => {\r\n\t\tlet params = [\r\n\t\t\t{\r\n\t\t\t\tid: record.id\r\n\t\t\t}\r\n\t\t]\r\n\t\temailApi.emailDelete(params).then(() => {\r\n\t\t\ttable.refresh(true)\r\n\t\t})\r\n\t}\r\n\t// 批量删除\r\n\tconst deleteBatchEmail = () => {\r\n\t\tif (selectedRowKeys.value.length < 1) {\r\n\t\t\tmessage.warning('请选择一条或多条数据')\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tconst params = selectedRowKeys.value.map((m) => {\r\n\t\t\treturn {\r\n\t\t\t\tid: m\r\n\t\t\t}\r\n\t\t})\r\n\t\temailApi.emailDelete(params).then(() => {\r\n\t\t\ttable.value.clearRefreshSelected()\r\n\t\t})\r\n\t}\r\n\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '发送邮件',\r\n\t\t\ticon: 'fa fa-plus',\r\n\t\t\tonClick: () => form.value.onOpen()\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '删除',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\tonClick: deleteBatchEmail,\r\n\t\t\tdisabled: selectedRowKeys.value.length === 0\r\n\t\t}\r\n\t])\r\n</script>\r\n<style scoped>\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.snowy-buttom-left {\r\n\t\tmargin-left: 8px;\r\n\t}\r\n</style>\r\n","<template>\r\n  <a-tree-select\r\n      v-model:value=\"defaultSelectKeys\"\r\n      show-search\r\n      style=\"width: 100%\"\r\n      :dropdown-style=\"{ maxHeight: '400px', overflow: 'auto' }\"\r\n      placeholder=\"请选择菜单\"\r\n      :field-names=\"treeFieldNames\"\r\n      allow-clear\r\n      multiple\r\n      tree-default-expand-all\r\n      :tree-data=\"menu\"\r\n  >\r\n  </a-tree-select>\r\n</template>\r\n<script setup name=\"menuTreeSelect\">\r\nimport {tool} from 'elead-ui-tool-v3'\r\nimport {onMounted} from 'vue'\r\nconst defaultSelectKeys = ref([])\r\nconst menu = ref([])\r\nconst props = defineProps({\r\n  defaultSelectKeys: {\r\n    type: Array,\r\n    default: () => [],\r\n    required: false\r\n  },\r\n  defaultSelectData: {\r\n    type: Array,\r\n    default: () => [],\r\n    required: false\r\n  },\r\n  resultData: {\r\n    type: Boolean,\r\n    default: () => false,\r\n    required: false\r\n  }\r\n})\r\nconst treeFieldNames = {children: 'children', title: 'title', key: 'id', value: 'id'}\r\nonMounted(() => {\r\n  // 设置选中项目，调用的地方可传纯id数组，或者是对象型数组\r\n  if (!props.defaultSelectKeys) {\r\n    defaultSelectKeys.value = props.defaultSelectData.map((m) => {\r\n      return m.id\r\n    })\r\n  } else {\r\n    defaultSelectKeys.value = props.defaultSelectKeys\r\n  }\r\n  menu.value = traverseChildren(tool.data.get('MENU'))\r\n})\r\n// 遍历增加属性\r\nconst traverseChildren = (data = []) => {\r\n  // 递归遍历控件树\r\n  const traverse = (array) => {\r\n    array.forEach((element) => {\r\n      if (element.children) {\r\n        // 设置支节点不可选择\r\n        element.selectable = false\r\n        traverse(element.children)\r\n      }\r\n    })\r\n  }\r\n  traverse(data)\r\n  return data\r\n}\r\n// 遍历增加属性\r\nconst traverseResultDataList = (menu, data = []) => {\r\n  const result = []\r\n  // 递归遍历控件树\r\n  const traverse = (array) => {\r\n    array.forEach((element) => {\r\n      if (data) {\r\n        data.forEach((item) => {\r\n          if (item === element.id) {\r\n            const obj = {\r\n              id: element.id,\r\n              title: element.title,\r\n              icon: element.icon,\r\n              path: element.path\r\n            }\r\n            result.push(obj)\r\n          }\r\n        })\r\n      }\r\n      if (element.children) {\r\n        traverse(element.children)\r\n      }\r\n    })\r\n  }\r\n  traverse(menu)\r\n  return result\r\n}\r\n// 获取选择的数据\r\nconst getSelectData = () => {\r\n  if (props.resultData) {\r\n    return traverseResultDataList(menu.value, defaultSelectKeys.value)\r\n  }\r\n  return defaultSelectKeys.value\r\n}\r\n// 设置回显的数据\r\nconst setSelectData = (data) => {\r\n  defaultSelectKeys.value = data.map((m) => {\r\n    return m.id\r\n  })\r\n}\r\ndefineExpose({\r\n  getSelectData,\r\n  setSelectData\r\n})\r\n</script>\r\n","<template>\r\n\t<a-modal v-model:visible=\"visible\" title=\"机构选择\" :width=\"1000\" :mask-closable=\"false\" :destroy-on-close=\"true\" @ok=\"handleOk\" @cancel=\"handleClose\">\r\n\t\t<a-row :gutter=\"10\">\r\n\t\t\t<a-col :span=\"7\">\r\n\t\t\t\t<a-card size=\"small\" :loading=\"cardLoading\" class=\"selectorTreeDiv\">\r\n\t\t\t\t\t<a-tree v-if=\"treeData\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"> </a-tree>\r\n\t\t\t\t</a-card>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"11\">\r\n\t\t\t\t<div class=\"table-operator\" style=\"margin-bottom: 10px\">\r\n\t\t\t\t\t<a-form ref=\"searchFormRef\" name=\"advanced_search\" class=\"ant-advanced-search-form\" :model=\"searchFormState\">\r\n\t\t\t\t\t\t<a-row :gutter=\"24\">\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-form-item name=\"searchKey\">\r\n\t\t\t\t\t\t\t\t\t<a-input v-model:value=\"searchFormState.searchKey\" placeholder=\"请输入机构名\"></a-input>\r\n\t\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"primary\" class=\"primarySele\" @click=\"loadData(searchFormState)\"> 查询 </a-button>\r\n\t\t\t\t\t\t\t\t<a-button class=\"snowy-buttom-left\" @click=\"() => searchFormRef.resetFields()\"> 重置 </a-button>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t</a-row>\r\n\t\t\t\t\t</a-form>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"org-table\">\r\n\t\t\t\t\t<a-table  ref=\"table\" size=\"small\" :columns=\"commons\" :data-source=\"recordData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>待选择列表 {{ tableRecordNum }} 条</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addAllPageRecord\">添加当前数据</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('ORG_CATEGORY', record.category) }}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addRecord(record)\">添加</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"6\">\r\n\t\t\t\t<div class=\"org-table\">\r\n\t\t\t\t\t<a-table  ref=\"selectedTable\" size=\"small\" :columns=\"selectedCommons\" :data-source=\"selectedData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>已选择: {{ selectedData.length }}</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delAllRecord\">全部移除</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delRecord(record)\">移除</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t</a-row>\r\n\t</a-modal>\r\n</template>\r\n<script setup name=\"orgSelectorPlus\">\r\n\timport orgSelectorPlusApi from '@/api/components/Selector/orgSelectorPlusApi'\r\n\timport { message } from 'ant-design-vue'\r\n\timport { remove } from 'lodash-es'\r\n\t// 弹窗是否打开\r\n\tlet visible = ref(false)\r\n\t// 主表格common\r\n\tconst commons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 100\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '机构名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '分类',\r\n\t\t\tdataIndex: 'category'\r\n\t\t}\r\n\t]\r\n\t// 选中表格的表格common\r\n\tconst selectedCommons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '机构名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t}\r\n\t]\r\n\t// 主表格的ref 名称\r\n\tconst table = ref()\r\n\t// 选中表格的ref 名称\r\n\tconst selectedTable = ref()\r\n\tconst tableRecordNum = ref()\r\n\tlet searchFormState = reactive({})\r\n\tconst searchFormRef = ref()\r\n\tconst cardLoading = ref(true)\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\t// 获取机构树数据\r\n\tconst treeData = ref()\r\n\t//  默认展开二级树的节点id\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst emit = defineEmits({ onBack: null })\r\n\tconst recordData = ref([])\r\n\tconst selectedData = ref([])\r\n\tconst recordIds = ref()\r\n\tconst props = defineProps(['pageUrl', 'orgUrl', 'radioModel', 'dataIsConverterFlw'])\r\n\t// 是否是单选\r\n\tconst radioModel = props.radioModel || false\r\n\t// 数据是否转换成工作流格式\r\n\tconst dataIsConverterFlw = props.dataIsConverterFlw || false\r\n\t// 打开弹框\r\n\tconst showOrgPlusModal = (ids) => {\r\n\t\tvisible.value = true\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\tids = goDataConverter(ids)\r\n\t\t}\r\n\t\trecordIds.value = ids\r\n\t\t// 获取机构树\r\n\t\torgSelectorPlusApi.treeSelector(props.orgUrl).then((res) => {\r\n\t\t\tcardLoading.value = false\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\t// 默认展开2级\r\n\t\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t\t// 因为0的顶级\r\n\t\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\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\tloadData()\r\n\t}\r\n\t// 查询主表格数据\r\n\tconst loadData = () => {\r\n\t\torgSelectorPlusApi.orgSelector(props.pageUrl, searchFormState).then((res) => {\r\n\t\t\t// 总共多少条\r\n\t\t\ttableRecordNum.value = res.total\r\n\t\t\trecordData.value = res.records\r\n\t\t\t// 如果无查询条件，查询到已加载的\r\n\t\t\tif (JSON.stringify(searchFormState) === '{}') {\r\n\t\t\t\tloadCheckedKey()\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 加载已选中的\r\n\tconst loadCheckedKey = () => {\r\n\t\t// selectedData.value = []\r\n\t\tconst orgIds = selectedData.value.map((item) => item.id)\r\n\t\tif (recordIds.value.length > 0) {\r\n\t\t\trecordIds.value.forEach((item) => {\r\n\t\t\t\trecordData.value.forEach((table) => {\r\n\t\t\t\t\tif (item === table.id && !orgIds.includes(item)) {\r\n\t\t\t\t\t\tselectedData.value.push(table)\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\tconst judge = () => {\r\n\t\tif (radioModel && selectedData.value.length > 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\t// 添加记录\r\n\tconst addRecord = (record) => {\r\n\t\tif (!judge()) {\r\n\t\t\tmessage.warning('只可选择一条')\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst selectedRecord = selectedData.value.filter((item) => item.id === record.id)\r\n\t\tif (selectedRecord.length === 0) {\r\n\t\t\tselectedData.value.push(record)\r\n\t\t} else {\r\n\t\t\tmessage.warning('该记录已存在')\r\n\t\t}\r\n\t}\r\n\t// 添加全部\r\n\tconst addAllPageRecord = () => {\r\n\t\tlet newArray = selectedData.value.concat(recordData.value)\r\n\t\tlet list = []\r\n\t\tfor (let item1 of newArray) {\r\n\t\t\tlet flag = true\r\n\t\t\tfor (let item2 of list) {\r\n\t\t\t\tif (item1.id === item2.id) {\r\n\t\t\t\t\tflag = false\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (flag) {\r\n\t\t\t\tlist.push(item1)\r\n\t\t\t}\r\n\t\t}\r\n\t\tselectedData.value = list\r\n\t}\r\n\t// 删减记录\r\n\tconst delRecord = (record) => {\r\n\t\tremove(selectedData.value, (item) => item.id === record.id)\r\n\t}\r\n\t// 删减记录\r\n\tconst delAllRecord = () => {\r\n\t\tselectedData.value = []\r\n\t}\r\n\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.orgId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.orgId\r\n\t\t}\r\n\t\tloadData()\r\n\t}\r\n\t// 确定\r\n\tconst handleOk = () => {\r\n\t\tconst value = []\r\n\t\tselectedData.value.forEach((item) => {\r\n\t\t\tconst obj = {\r\n\t\t\t\tid: item.id,\r\n\t\t\t\tname: item.name,\r\n\t\t\t\tcategory: item.category\r\n\t\t\t}\r\n\t\t\tvalue.push(obj)\r\n\t\t})\r\n\t\t// 判断是否做数据的转换为工作流需要的\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\temit('onBack', outDataConverter(value))\r\n\t\t} else {\r\n\t\t\temit('onBack', value)\r\n\t\t}\r\n\t\thandleClose()\r\n\t}\r\n\tconst handleClose = () => {\r\n\t\tsearchFormState = reactive({})\r\n    visible.value = false\r\n\t}\r\n\t// 数据进入后转换\r\n\tconst goDataConverter = (data) => {\r\n\t\tconst resultData = []\r\n\t\tif (data.length > 0) {\r\n\t\t\tconst values = data[0].value.split(',')\r\n\t\t\tif (JSON.stringify(values) !== '[\"\"]') {\r\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\r\n\t\t\t\t\tresultData.push(values[i])\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultData\r\n\t}\r\n\t// 数据出口转换器\r\n\tconst outDataConverter = (data) => {\r\n\t\tconst obj = {}\r\n\t\tlet label = ''\r\n\t\tlet value = ''\r\n\t\tfor (let i = 0; i < data.length; i++) {\r\n\t\t\tif (data.length === i + 1) {\r\n\t\t\t\tlabel = label + data[i].name\r\n\t\t\t\tvalue = value + data[i].id\r\n\t\t\t} else {\r\n\t\t\t\tlabel = label + data[i].name + ','\r\n\t\t\t\tvalue = value + data[i].id + ','\r\n\t\t\t}\r\n\t\t}\r\n\t\tobj.key = 'ORG'\r\n\t\tobj.label = label\r\n\t\tobj.value = value\r\n\t\tobj.extJson = ''\r\n\t\treturn obj\r\n\t}\r\n\tdefineExpose({\r\n\t\tshowOrgPlusModal\r\n\t})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n\t.selectorTreeDiv {\r\n\t\tmax-height: 500px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t.cardTag {\r\n\t\tmargin-left: 10px;\r\n\t}\r\n\t.primarySele {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.org-table {\r\n\t\toverflow: auto;\r\n\t\tmax-height: 450px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-modal v-model:visible=\"visible\" title=\"职位选择\" :width=\"1000\" :mask-closable=\"false\" :destroy-on-close=\"true\" @ok=\"handleOk\" @cancel=\"handleClose\">\r\n\t\t<a-row :gutter=\"10\">\r\n\t\t\t<a-col :span=\"7\">\r\n\t\t\t\t<a-card size=\"small\" :loading=\"cardLoading\" class=\"selectorTreeDiv\">\r\n\t\t\t\t\t<a-tree v-if=\"treeData\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"> </a-tree>\r\n\t\t\t\t</a-card>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"11\">\r\n\t\t\t\t<div class=\"table-operator\" style=\"margin-bottom: 10px\">\r\n\t\t\t\t\t<a-form ref=\"searchFormRef\" name=\"advanced_search\" class=\"ant-advanced-search-form\" :model=\"searchFormState\">\r\n\t\t\t\t\t\t<a-row :gutter=\"24\">\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-form-item name=\"searchKey\">\r\n\t\t\t\t\t\t\t\t\t<a-input v-model:value=\"searchFormState.searchKey\" placeholder=\"请输入职位名\"></a-input>\r\n\t\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"primary\" class=\"primarySele\" @click=\"loadData(searchFormState)\"> 查询 </a-button>\r\n\t\t\t\t\t\t\t\t<a-button class=\"snowy-buttom-left\" @click=\"() => searchFormRef.resetFields()\"> 重置 </a-button>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t</a-row>\r\n\t\t\t\t\t</a-form>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"pos-table\">\r\n\t\t\t\t\t<a-table  ref=\"table\" size=\"small\" :columns=\"commons\" :data-source=\"recordData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>待选择列表 {{ tableRecordNum }} 条</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addAllPageRecord\">添加当前数据</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addRecord(record)\">添加</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('POSITION_CATEGORY', record.category) }}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"6\">\r\n\t\t\t\t<div class=\"pos-table\">\r\n\t\t\t\t\t<a-table  ref=\"selectedTable\" size=\"small\" :columns=\"selectedCommons\" :data-source=\"selectedData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>已选择: {{ selectedData.length }}</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delAllRecord\">全部移除</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delRecord(record)\">移除</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t</a-row>\r\n\t</a-modal>\r\n</template>\r\n<script setup name=\"posSelectorPlus\">\r\n\timport posSelectorPlusApi from '@/api/components/Selector/posSelectorPlusApi'\r\n\timport { message } from 'ant-design-vue'\r\n\timport { remove } from 'lodash-es'\r\n\t// 弹窗是否打开\r\n\tlet visible = ref(false)\r\n\t// 主表格common\r\n\tconst commons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '职位名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '分类',\r\n\t\t\tdataIndex: 'category'\r\n\t\t}\r\n\t]\r\n\t// 选中表格的表格common\r\n\tconst selectedCommons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '职位名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t}\r\n\t]\r\n\t// 主表格的ref 名称\r\n\tconst table = ref()\r\n\t// 选中表格的ref 名称\r\n\tconst selectedTable = ref()\r\n\tconst tableRecordNum = ref()\r\n\tlet searchFormState = reactive({})\r\n\tconst searchFormRef = ref()\r\n\tconst cardLoading = ref(true)\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\t// 获取机构树数据\r\n\tconst treeData = ref()\r\n\t//  默认展开二级树的节点id\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst emit = defineEmits({ onBack: null })\r\n\tconst recordData = ref([])\r\n\tconst selectedData = ref([])\r\n\tconst recordIds = ref()\r\n\tconst props = defineProps(['pageUrl', 'orgUrl', 'radioModel', 'dataIsConverterFlw'])\r\n\t// 是否是单选\r\n\tconst radioModel = props.radioModel || false\r\n\t// 数据是否转换成工作流格式\r\n\tconst dataIsConverterFlw = props.dataIsConverterFlw || false\r\n\t// 打开弹框\r\n\tconst showPosPlusModal = (ids) => {\r\n\t\tvisible.value = true\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\tids = goDataConverter(ids)\r\n\t\t}\r\n\t\trecordIds.value = ids\r\n\t\t// 获取机构树\r\n\t\tposSelectorPlusApi.treeSelector(props.orgUrl).then((res) => {\r\n\t\t\tcardLoading.value = false\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\t// 默认展开2级\r\n\t\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t\t// 因为0的顶级\r\n\t\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\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\tloadData()\r\n\t}\r\n\t// 查询主表格数据\r\n\tconst loadData = () => {\r\n\t\tposSelectorPlusApi.posSelector(props.pageUrl, searchFormState).then((res) => {\r\n\t\t\t// 总共多少条\r\n\t\t\ttableRecordNum.value = res.length\r\n\t\t\trecordData.value = res\r\n\t\t\t// 如果无查询条件，查询到已加载的\r\n\t\t\tif (JSON.stringify(searchFormState) === '{}') {\r\n\t\t\t\tloadCheckedKey()\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 加载已选中的\r\n\tconst loadCheckedKey = () => {\r\n\t\tselectedData.value = []\r\n\t\tif (recordIds.value.length > 0) {\r\n\t\t\trecordIds.value.forEach((item) => {\r\n\t\t\t\trecordData.value.forEach((table) => {\r\n\t\t\t\t\tif (item === table.id) {\r\n\t\t\t\t\t\tselectedData.value.push(table)\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\tconst judge = () => {\r\n\t\tif (radioModel && selectedData.value.length > 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\t// 添加记录\r\n\tconst addRecord = (record) => {\r\n\t\tif (!judge()) {\r\n\t\t\tmessage.warning('只可选择一条')\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst selectedRecord = selectedData.value.filter((item) => item.id === record.id)\r\n\t\tif (selectedRecord.length === 0) {\r\n\t\t\tselectedData.value.push(record)\r\n\t\t} else {\r\n\t\t\tmessage.warning('该记录已存在')\r\n\t\t}\r\n\t}\r\n\t// 添加全部\r\n\tconst addAllPageRecord = () => {\r\n\t\tlet newArray = selectedData.value.concat(recordData.value)\r\n\t\tlet list = []\r\n\t\tfor (let item1 of newArray) {\r\n\t\t\tlet flag = true\r\n\t\t\tfor (let item2 of list) {\r\n\t\t\t\tif (item1.id === item2.id) {\r\n\t\t\t\t\tflag = false\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (flag) {\r\n\t\t\t\tlist.push(item1)\r\n\t\t\t}\r\n\t\t}\r\n\t\tselectedData.value = list\r\n\t}\r\n\t// 删减记录\r\n\tconst delRecord = (record) => {\r\n\t\tremove(selectedData.value, (item) => item.id === record.id)\r\n\t}\r\n\t// 删减记录\r\n\tconst delAllRecord = () => {\r\n\t\tselectedData.value = []\r\n\t}\r\n\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.orgId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.orgId\r\n\t\t}\r\n\t\tloadData()\r\n\t}\r\n\t// 确定\r\n\tconst handleOk = () => {\r\n\t\tconst value = []\r\n\t\tselectedData.value.forEach((item) => {\r\n\t\t\tconst obj = {\r\n\t\t\t\tid: item.id,\r\n\t\t\t\tname: item.name,\r\n\t\t\t\taccount: item.account\r\n\t\t\t}\r\n\t\t\tvalue.push(obj)\r\n\t\t})\r\n\t\t// 判断是否做数据的转换为工作流需要的\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\temit('onBack', outDataConverter(value))\r\n\t\t} else {\r\n\t\t\temit('onBack', value)\r\n\t\t}\r\n\t\thandleClose()\r\n\t}\r\n\tconst handleClose = () => {\r\n\t\tsearchFormState = reactive({})\r\n    visible.value = false\r\n\t}\r\n\t// 数据进入后转换\r\n\tconst goDataConverter = (data) => {\r\n\t\tconst resultData = []\r\n\t\tif (data.length > 0) {\r\n\t\t\tconst values = data[0].value.split(',')\r\n\t\t\tif (JSON.stringify(values) !== '[\"\"]') {\r\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\r\n\t\t\t\t\tresultData.push(values[i])\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultData\r\n\t}\r\n\t// 数据出口转换器\r\n\tconst outDataConverter = (data) => {\r\n\t\tconst obj = {}\r\n\t\tlet label = ''\r\n\t\tlet value = ''\r\n\t\tfor (let i = 0; i < data.length; i++) {\r\n\t\t\tif (data.length === i + 1) {\r\n\t\t\t\tlabel = label + data[i].name\r\n\t\t\t\tvalue = value + data[i].id\r\n\t\t\t} else {\r\n\t\t\t\tlabel = label + data[i].name + ','\r\n\t\t\t\tvalue = value + data[i].id + ','\r\n\t\t\t}\r\n\t\t}\r\n\t\tobj.key = 'POSITION'\r\n\t\tobj.label = label\r\n\t\tobj.value = value\r\n\t\tobj.extJson = ''\r\n\t\treturn obj\r\n\t}\r\n\tdefineExpose({\r\n\t\tshowPosPlusModal\r\n\t})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n\t.selectorTreeDiv {\r\n\t\tmax-height: 500px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t.cardTag {\r\n\t\tmargin-left: 10px;\r\n\t}\r\n\t.primarySele {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.pos-table {\r\n\t\toverflow: auto;\r\n\t\tmax-height: 450px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-modal v-model:visible=\"visible\" title=\"角色选择\" :width=\"1000\" :mask-closable=\"false\" :destroy-on-close=\"true\" @ok=\"handleOk\" @cancel=\"handleClose\">\r\n\t\t<a-row :gutter=\"10\">\r\n\t\t\t<a-col :span=\"7\">\r\n\t\t\t\t<a-card size=\"small\" :loading=\"cardLoading\" class=\"selectorTreeDiv\">\r\n\t\t\t\t\t<a-tree v-if=\"treeData\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"> </a-tree>\r\n\t\t\t\t</a-card>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"11\">\r\n\t\t\t\t<div class=\"table-operator\" style=\"margin-bottom: 10px\">\r\n\t\t\t\t\t<a-form ref=\"searchFormRef\" name=\"advanced_search\" class=\"ant-advanced-search-form\" :model=\"searchFormState\">\r\n\t\t\t\t\t\t<a-row :gutter=\"24\">\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-form-item name=\"searchKey\">\r\n\t\t\t\t\t\t\t\t\t<a-input v-model:value=\"searchFormState.searchKey\" placeholder=\"请输入角色名\"></a-input>\r\n\t\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"primary\" class=\"primarySele\" @click=\"loadData(searchFormState)\"> 查询 </a-button>\r\n\t\t\t\t\t\t\t\t<a-button class=\"snowy-buttom-left\" @click=\"() => searchFormRef.resetFields()\"> 重置 </a-button>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t</a-row>\r\n\t\t\t\t\t</a-form>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"role-table\">\r\n\t\t\t\t\t<a-table  ref=\"table\" size=\"small\" :columns=\"commons\" :data-source=\"recordData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>待选择列表 {{ tableRecordNum }} 条</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addAllPageRecord\">添加当前数据</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addRecord(record)\">添加</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('ROLE_CATEGORY', record.category) }}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"6\">\r\n\t\t\t\t<div class=\"role-table\">\r\n\t\t\t\t\t<a-table  ref=\"selectedTable\" size=\"small\" :columns=\"selectedCommons\" :data-source=\"selectedData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>已选择: {{ selectedData.length }}</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delAllRecord\">全部移除</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delRecord(record)\">移除</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t</a-row>\r\n\t</a-modal>\r\n</template>\r\n<script setup name=\"roleSelectorPlus\">\r\n\timport roleSelectorPlusApi from '@/api/components/Selector/roleSelectorPlusApi'\r\n\timport { message } from 'ant-design-vue'\r\n\timport { remove } from 'lodash-es'\r\n\t// 弹窗是否打开\r\n\tlet visible = ref(false)\r\n\t// 主表格common\r\n\tconst commons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '角色名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '分类',\r\n\t\t\tdataIndex: 'category'\r\n\t\t}\r\n\t]\r\n\t// 选中表格的表格common\r\n\tconst selectedCommons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '角色名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t}\r\n\t]\r\n\t// 主表格的ref 名称\r\n\tconst table = ref()\r\n\t// 选中表格的ref 名称\r\n\tconst selectedTable = ref()\r\n\tconst tableRecordNum = ref()\r\n\tlet searchFormState = reactive({})\r\n\tconst searchFormRef = ref()\r\n\tconst cardLoading = ref(true)\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\t// 获取机构树数据\r\n\tconst treeData = ref()\r\n\t//  默认展开二级树的节点id\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst emit = defineEmits({ onBack: null })\r\n\tconst recordData = ref([])\r\n\tconst selectedData = ref([])\r\n\tconst recordIds = ref()\r\n\tconst props = defineProps({\r\n\t\tpageUrl: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t\trequired: true\r\n\t\t},\r\n\t\torgUrl: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t\trequired: true\r\n\t\t},\r\n\t\t// 是否是单选\r\n\t\tradioModel: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false,\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\t// 数据是否转换成工作流格式\r\n\t\tdataIsConverterFlw: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false,\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\t// 是否展示‘全局’这个节点\r\n\t\troleGlobal: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: true,\r\n\t\t\trequired: false\r\n\t\t}\r\n\t})\r\n\t// 是否是单选\r\n\tconst radioModel = props.radioModel\r\n\t// 数据是否转换成工作流格式\r\n\tconst dataIsConverterFlw = props.dataIsConverterFlw\r\n\t// 是否展示‘全局’这个节点\r\n\tconst roleGlobal = props.roleGlobal\r\n\t// 打开弹框\r\n\tconst showRolePlusModal = (ids) => {\r\n\t\tvisible.value = true\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\tids = goDataConverter(ids)\r\n\t\t}\r\n\t\trecordIds.value = ids\r\n\t\t// 获取机构树\r\n\t\troleSelectorPlusApi.treeSelector(props.orgUrl).then((res) => {\r\n\t\t\tcardLoading.value = false\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\t// 树中插入全局角色类型\r\n\t\t\t\tif (roleGlobal) {\r\n\t\t\t\t\tconst globalRoleType = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: 'GLOBAL',\r\n\t\t\t\t\t\t\tparentId: '-1',\r\n\t\t\t\t\t\t\tname: '全局'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t\ttreeData.value = globalRoleType.concat(res)\r\n\t\t\t\t}\r\n\t\t\t\t// 默认展开2级\r\n\t\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t\t// 因为0的顶级\r\n\t\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\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\tloadData()\r\n\t}\r\n\t// 查询主表格数据\r\n\tconst loadData = () => {\r\n\t\t// 如果不是用全局的，我们每次查询加上这个条件\r\n\t\tif (!roleGlobal) {\r\n\t\t\tsearchFormState.category = 'ORG'\r\n\t\t}\r\n\t\troleSelectorPlusApi.roleSelector(props.pageUrl, searchFormState).then((res) => {\r\n\t\t\t// 总共多少条\r\n\t\t\ttableRecordNum.value = res.length\r\n\t\t\trecordData.value = res\r\n\t\t\t// 如果无查询条件，查询到已加载的\r\n\t\t\tif (JSON.stringify(searchFormState) === '{}') {\r\n\t\t\t\tloadCheckedKey()\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 加载已选中的\r\n\tconst loadCheckedKey = () => {\r\n\t\tselectedData.value = []\r\n\t\tif (recordIds.value.length > 0) {\r\n\t\t\trecordIds.value.forEach((item) => {\r\n\t\t\t\trecordData.value.forEach((table) => {\r\n\t\t\t\t\tif (item === table.id) {\r\n\t\t\t\t\t\tselectedData.value.push(table)\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\tconst judge = () => {\r\n\t\tif (radioModel && selectedData.value.length > 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\t// 添加记录\r\n\tconst addRecord = (record) => {\r\n\t\tif (!judge()) {\r\n\t\t\tmessage.warning('只可选择一条')\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst selectedRecord = selectedData.value.filter((item) => item.id === record.id)\r\n\t\tif (selectedRecord.length === 0) {\r\n\t\t\tselectedData.value.push(record)\r\n\t\t} else {\r\n\t\t\tmessage.warning('该记录已存在')\r\n\t\t}\r\n\t}\r\n\t// 添加全部\r\n\tconst addAllPageRecord = () => {\r\n\t\tlet newArray = selectedData.value.concat(recordData.value)\r\n\t\tlet list = []\r\n\t\tfor (let item1 of newArray) {\r\n\t\t\tlet flag = true\r\n\t\t\tfor (let item2 of list) {\r\n\t\t\t\tif (item1.id === item2.id) {\r\n\t\t\t\t\tflag = false\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (flag) {\r\n\t\t\t\tlist.push(item1)\r\n\t\t\t}\r\n\t\t}\r\n\t\tselectedData.value = list\r\n\t}\r\n\t// 删减记录\r\n\tconst delRecord = (record) => {\r\n\t\tremove(selectedData.value, (item) => item.id === record.id)\r\n\t}\r\n\t// 删减记录\r\n\tconst delAllRecord = () => {\r\n\t\tselectedData.value = []\r\n\t}\r\n\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tif (selectedKeys[0] === 'GLOBAL') {\r\n\t\t\t\tsearchFormState.category = selectedKeys[0]\r\n\t\t\t\tdelete searchFormState.orgId\r\n\t\t\t} else {\r\n\t\t\t\tsearchFormState.orgId = selectedKeys.toString()\r\n\t\t\t\tdelete searchFormState.category\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.category\r\n\t\t\tdelete searchFormState.orgId\r\n\t\t}\r\n\t\tloadData()\r\n\t}\r\n\t// 确定\r\n\tconst handleOk = () => {\r\n\t\tconst value = []\r\n\t\tselectedData.value.forEach((item) => {\r\n\t\t\tconst obj = {\r\n\t\t\t\tid: item.id,\r\n\t\t\t\tname: item.name\r\n\t\t\t}\r\n\t\t\tvalue.push(obj)\r\n\t\t})\r\n\t\t// 判断是否做数据的转换为工作流需要的\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\temit('onBack', outDataConverter(value))\r\n\t\t} else {\r\n\t\t\temit('onBack', value)\r\n\t\t}\r\n\t\thandleClose()\r\n\t}\r\n\tconst handleClose = () => {\r\n\t\tsearchFormState = reactive({})\r\n    visible.value = false\r\n\t}\r\n\t// 数据进入后转换\r\n\tconst goDataConverter = (data) => {\r\n\t\tconst resultData = []\r\n\t\tif (data.length > 0) {\r\n\t\t\tconst values = data[0].value.split(',')\r\n\t\t\tif (JSON.stringify(values) !== '[\"\"]') {\r\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\r\n\t\t\t\t\tresultData.push(values[i])\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultData\r\n\t}\r\n\t// 数据出口转换器\r\n\tconst outDataConverter = (data) => {\r\n\t\tconst obj = {}\r\n\t\tlet label = ''\r\n\t\tlet value = ''\r\n\t\tfor (let i = 0; i < data.length; i++) {\r\n\t\t\tif (data.length === i + 1) {\r\n\t\t\t\tlabel = label + data[i].name\r\n\t\t\t\tvalue = value + data[i].id\r\n\t\t\t} else {\r\n\t\t\t\tlabel = label + data[i].name + ','\r\n\t\t\t\tvalue = value + data[i].id + ','\r\n\t\t\t}\r\n\t\t}\r\n\t\tobj.key = 'ROLE'\r\n\t\tobj.label = label\r\n\t\tobj.value = value\r\n\t\tobj.extJson = ''\r\n\t\treturn obj\r\n\t}\r\n\tdefineExpose({\r\n\t\tshowRolePlusModal\r\n\t})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n\t.selectorTreeDiv {\r\n\t\tmax-height: 500px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t.cardTag {\r\n\t\tmargin-left: 10px;\r\n\t}\r\n\t.primarySele {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.role-table {\r\n\t\toverflow: auto;\r\n\t\tmax-height: 450px;\r\n\t}\r\n</style>\r\n","<template>\r\n\t<a-auto-complete v-model:value=\"value\" :options=\"options\" style=\"width: 200px\" placeholder=\"input here\" @select=\"onSelect\" @search=\"onSearch\">\r\n\t\t<template #option=\"{ name }\">\r\n\t\t\t{{ name }}\r\n\t\t</template>\r\n\t</a-auto-complete>\r\n</template>\r\n<script setup name=\"userComplete\">\r\n\timport { ref, watch } from 'vue'\r\n\timport userSelectorPlusApi from '@/api/components/Selector/userSelectorPlusApi'\r\n\t// 接收属性\r\n\tconst props = defineProps({\r\n\t\tpageUrl: { type: String, default: '/flw/model/userSelector' }\r\n\t})\r\n\tconst value = ref('')\r\n\tconst options = ref([])\r\n\tconst onSearch = (searchText) => {\r\n\t\tconst param = {\r\n\t\t\tsearchKey: searchText\r\n\t\t}\r\n\t\tuserSelectorPlusApi.userSelector(props.pageUrl, param).then((res) => {\r\n\t\t\toptions.value = res\r\n\t\t})\r\n\t}\r\n\tconst onSelect = (data) => {}\r\n</script>\r\n","<template>\r\n\t<a-modal v-model:visible=\"visible\" title=\"用户选择\" :width=\"1000\" :mask-closable=\"false\" :destroy-on-close=\"true\" @ok=\"handleOk\" @cancel=\"handleClose\">\r\n\t\t<a-row :gutter=\"10\">\r\n\t\t\t<a-col :span=\"7\">\r\n\t\t\t\t<a-card size=\"small\" :loading=\"cardLoading\" class=\"selectorTreeDiv\">\r\n\t\t\t\t\t<a-tree v-if=\"treeData\" v-model:expandedKeys=\"defaultExpandedKeys\" :tree-data=\"treeData\" :field-names=\"treeFieldNames\" @select=\"treeSelect\"> </a-tree>\r\n\t\t\t\t</a-card>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"11\">\r\n\t\t\t\t<div class=\"table-operator\" style=\"margin-bottom: 10px\">\r\n\t\t\t\t\t<a-form ref=\"searchFormRef\" name=\"advanced_search\" class=\"ant-advanced-search-form\" :model=\"searchFormState\">\r\n\t\t\t\t\t\t<a-row :gutter=\"24\">\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-form-item name=\"searchKey\">\r\n\t\t\t\t\t\t\t\t\t<a-input v-model:value=\"searchFormState.searchKey\" placeholder=\"请输入用户名\"></a-input>\r\n\t\t\t\t\t\t\t\t</a-form-item>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t\t<a-col :span=\"12\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"primary\" class=\"primarySele\" @click=\"loadData(searchFormState)\"> 查询 </a-button>\r\n\t\t\t\t\t\t\t\t<a-button class=\"snowy-buttom-left\" @click=\"() => searchFormRef.resetFields()\"> 重置 </a-button>\r\n\t\t\t\t\t\t\t</a-col>\r\n\t\t\t\t\t\t</a-row>\r\n\t\t\t\t\t</a-form>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"user-table\">\r\n\t\t\t\t\t<a-table  ref=\"table\" size=\"small\" :columns=\"commons\" :data-source=\"recordData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>待选择列表 {{ tableRecordNum }} 条</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addAllPageRecord\">添加当前数据</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" size=\"small\" @click=\"addRecord(record)\">添加</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'category'\">\r\n\t\t\t\t\t\t\t\t{{ $TOOL.dictTypeData('ROLE_CATEGORY', record.category) }}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t\t<a-col :span=\"6\">\r\n\t\t\t\t<div class=\"user-table\">\r\n\t\t\t\t\t<a-table  ref=\"selectedTable\" size=\"small\" :columns=\"selectedCommons\" :data-source=\"selectedData\" :expand-row-by-click=\"true\" bordered>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t<span>已选择: {{ selectedData.length }}</span>\r\n\t\t\t\t\t\t\t<div v-if=\"!radioModel\" style=\"float: right\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delAllRecord\">全部移除</a-button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t\t\t\t<a-button type=\"dashed\" danger size=\"small\" @click=\"delRecord(record)\">移除</a-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</a-table>\r\n\t\t\t\t</div>\r\n\t\t\t</a-col>\r\n\t\t</a-row>\r\n\t</a-modal>\r\n</template>\r\n<script setup name=\"userSelectorPlus\">\r\n\timport userSelectorPlusApi from '@/api/components/Selector/userSelectorPlusApi'\r\n\timport { message } from 'ant-design-vue'\r\n\timport { remove } from 'lodash-es'\r\n\t// 弹窗是否打开\r\n\tlet visible = ref(false)\r\n\t// 主表格common\r\n\tconst commons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '用户名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '账号',\r\n\t\t\tdataIndex: 'account'\r\n\t\t}\r\n\t]\r\n\t// 选中表格的表格common\r\n\tconst selectedCommons = [\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '用户名',\r\n\t\t\tdataIndex: 'name',\r\n\t\t\tellipsis: true\r\n\t\t}\r\n\t]\r\n\t// 主表格的ref 名称\r\n\tconst table = ref()\r\n\t// 选中表格的ref 名称\r\n\tconst selectedTable = ref()\r\n\tconst tableRecordNum = ref()\r\n\tlet searchFormState = reactive({})\r\n\tconst searchFormRef = ref()\r\n\tconst cardLoading = ref(true)\r\n\t// 替换treeNode 中 title,key,children\r\n\tconst treeFieldNames = { children: 'children', title: 'name', key: 'id' }\r\n\t// 获取机构树数据\r\n\tconst treeData = ref()\r\n\t//  默认展开二级树的节点id\r\n\tlet defaultExpandedKeys = ref([])\r\n\tconst emit = defineEmits({ onBack: null })\r\n\tconst recordData = ref([])\r\n\tconst selectedData = ref([])\r\n\tconst recordIds = ref()\r\n\tconst props = defineProps(['pageUrl', 'orgUrl', 'radioModel', 'dataIsConverterFlw'])\r\n\t// 是否是单选\r\n\tconst radioModel = props.radioModel || false\r\n\t// 数据是否转换成工作流格式\r\n\tconst dataIsConverterFlw = props.dataIsConverterFlw || false\r\n\t// 打开弹框\r\n\tconst showUserPlusModal = (ids = []) => {\r\n\t\tvisible.value = true\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\tids = goDataConverter(ids)\r\n\t\t}\r\n\t\trecordIds.value = ids\r\n\t\t// 获取机构树\r\n\t\tuserSelectorPlusApi.treeSelector(props.orgUrl).then((res) => {\r\n\t\t\tcardLoading.value = false\r\n\t\t\tif (res !== null) {\r\n\t\t\t\ttreeData.value = res\r\n\t\t\t\t// 默认展开2级\r\n\t\t\t\ttreeData.value.forEach((item) => {\r\n\t\t\t\t\t// 因为0的顶级\r\n\t\t\t\t\tif (item.parentId === '0') {\r\n\t\t\t\t\t\tdefaultExpandedKeys.value.push(item.id)\r\n\t\t\t\t\t\t// 取到下级ID\r\n\t\t\t\t\t\tif (item.children) {\r\n\t\t\t\t\t\t\titem.children.forEach((items) => {\r\n\t\t\t\t\t\t\t\tdefaultExpandedKeys.value.push(items.id)\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\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\tloadData()\r\n\t}\r\n\t// 查询主表格数据\r\n\tconst loadData = () => {\r\n\t\tuserSelectorPlusApi.userSelector(props.pageUrl, searchFormState).then((res) => {\r\n\t\t\t// 总共多少条\r\n\t\t\ttableRecordNum.value = res.length\r\n\t\t\trecordData.value = res\r\n\t\t\t// 如果无查询条件，查询到已加载的\r\n\t\t\tif (JSON.stringify(searchFormState) === '{}') {\r\n\t\t\t\tloadCheckedKey()\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// 加载已选中的\r\n\tconst loadCheckedKey = () => {\r\n\t\t// selectedData.value = []\r\n\t\tconst userIds = selectedData.value.map((item) => item.id)\r\n\t\tif (recordIds.value.length > 0) {\r\n\t\t\trecordIds.value.forEach((item) => {\r\n\t\t\t\trecordData.value.forEach((table) => {\r\n\t\t\t\t\tif (item === table.id && !userIds.includes(item)) {\r\n\t\t\t\t\t\tselectedData.value.push(table)\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\tconst judge = () => {\r\n\t\tif (radioModel && selectedData.value.length > 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\t// 添加记录\r\n\tconst addRecord = (record) => {\r\n\t\tif (!judge()) {\r\n\t\t\tmessage.warning('只可选择一条')\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst selectedRecord = selectedData.value.filter((item) => item.id === record.id)\r\n\t\tif (selectedRecord.length === 0) {\r\n\t\t\tselectedData.value.push(record)\r\n\t\t} else {\r\n\t\t\tmessage.warning('该记录已存在')\r\n\t\t}\r\n\t}\r\n\t// 添加全部\r\n\tconst addAllPageRecord = () => {\r\n\t\tlet newArray = selectedData.value.concat(recordData.value)\r\n\t\tlet list = []\r\n\t\tfor (let item1 of newArray) {\r\n\t\t\tlet flag = true\r\n\t\t\tfor (let item2 of list) {\r\n\t\t\t\tif (item1.id === item2.id) {\r\n\t\t\t\t\tflag = false\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (flag) {\r\n\t\t\t\tlist.push(item1)\r\n\t\t\t}\r\n\t\t}\r\n\t\tselectedData.value = list\r\n\t}\r\n\t// 删减记录\r\n\tconst delRecord = (record) => {\r\n\t\tremove(selectedData.value, (item) => item.id === record.id)\r\n\t}\r\n\t// 删减记录\r\n\tconst delAllRecord = () => {\r\n\t\tselectedData.value = []\r\n\t}\r\n\t// 点击树查询\r\n\tconst treeSelect = (selectedKeys) => {\r\n\t\tif (selectedKeys.length > 0) {\r\n\t\t\tsearchFormState.orgId = selectedKeys.toString()\r\n\t\t} else {\r\n\t\t\tdelete searchFormState.orgId\r\n\t\t}\r\n\t\tloadData()\r\n\t}\r\n\t// 确定\r\n\tconst handleOk = () => {\r\n\t\tconst value = []\r\n\t\tselectedData.value.forEach((item) => {\r\n\t\t\tconst obj = {\r\n\t\t\t\tid: item.id,\r\n\t\t\t\tname: item.name,\r\n\t\t\t\taccount: item.account\r\n\t\t\t}\r\n\t\t\tvalue.push(obj)\r\n\t\t})\r\n\t\t// 判断是否做数据的转换为工作流需要的\r\n\t\tif (dataIsConverterFlw) {\r\n\t\t\temit('onBack', outDataConverter(value))\r\n\t\t} else {\r\n\t\t\temit('onBack', value)\r\n\t\t}\r\n\t\thandleClose()\r\n\t}\r\n\tconst handleClose = () => {\r\n\t\tsearchFormState = reactive({})\r\n    visible.value = false\r\n\t}\r\n\t// 数据进入后转换\r\n\tconst goDataConverter = (data) => {\r\n\t\tconst resultData = []\r\n\t\tif (data.length > 0) {\r\n\t\t\tconst values = data[0].value.split(',')\r\n\t\t\tif (JSON.stringify(values) !== '[\"\"]') {\r\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\r\n\t\t\t\t\tresultData.push(values[i])\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultData\r\n\t}\r\n\t// 数据出口转换器\r\n\tconst outDataConverter = (data) => {\r\n\t\tconst obj = {}\r\n\t\tlet label = ''\r\n\t\tlet value = ''\r\n\t\tfor (let i = 0; i < data.length; i++) {\r\n\t\t\tif (data.length === i + 1) {\r\n\t\t\t\tlabel = label + data[i].name\r\n\t\t\t\tvalue = value + data[i].id\r\n\t\t\t} else {\r\n\t\t\t\tlabel = label + data[i].name + ','\r\n\t\t\t\tvalue = value + data[i].id + ','\r\n\t\t\t}\r\n\t\t}\r\n\t\tobj.key = 'USER'\r\n\t\tobj.label = label\r\n\t\tobj.value = value\r\n\t\tobj.extJson = ''\r\n\t\treturn obj\r\n\t}\r\n\tdefineExpose({\r\n\t\tshowUserPlusModal\r\n\t})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n\t.selectorTreeDiv {\r\n\t\tmax-height: 500px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t.cardTag {\r\n\t\tmargin-left: 10px;\r\n\t}\r\n\t.primarySele {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\t.ant-form-item {\r\n\t\tmargin-bottom: 0 !important;\r\n\t}\r\n\t.user-table {\r\n\t\toverflow: auto;\r\n\t\tmax-height: 450px;\r\n\t}\r\n</style>\r\n","<template>\r\n  <a-button :type=\"customType\" :class=\"customClass\" :size=\"customSize\" :disabled=\"disabled\">\r\n    <template v-if=\"iconType\" #icon>\r\n      <component :is=\"iconType\" />\r\n    </template>\r\n    <slot></slot>\r\n  </a-button>\r\n</template>\r\n<script setup name=\"CButton\">\r\nimport { ref, watch } from 'vue';\r\n\r\n// 接收属性\r\nconst props = defineProps({\r\n  type: { type: String, default: '' },\r\n  size: { type: String, default: '' },\r\n  icon: { type: String, default: '' },\r\n  disabled: { type: Boolean, default: false },\r\n  permission: { type: [String, Boolean], default: true }\r\n});\r\n\r\nconst customClass = ref('c-button-primary');\r\nconst customType = ref('');\r\nconst customSize = ref('middle');\r\nconst iconType = ref('');\r\nwatch(\r\n    () => props.type,\r\n    v => {\r\n      switch (v) {\r\n        case 'warning':\r\n          customClass.value = 'c-button-warning';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'error':\r\n          customClass.value = 'c-button-error';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'success':\r\n          customClass.value = 'c-button-success';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'primary':\r\n          customClass.value = 'c-button-primary';\r\n          customType.value = 'primary';\r\n          break;\r\n        case 'cyan':\r\n          customClass.value = 'c-button-cyan';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'green':\r\n          customClass.value = 'c-button-green';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'orange':\r\n          customClass.value = 'c-button-orange';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'purple':\r\n          customClass.value = 'c-button-purple';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'black':\r\n          customClass.value = 'c-button-black';\r\n          customType.value = 'default';\r\n          break;\r\n        case 'text':\r\n          customClass.value = '';\r\n          customType.value = 'text';\r\n          break;\r\n        case 'link':\r\n          customClass.value = '';\r\n          customType.value = 'link';\r\n          break;\r\n        default:\r\n          customClass.value = '';\r\n          customType.value = 'default';\r\n          break;\r\n      }\r\n    },\r\n    { immediate: true }\r\n);\r\nwatch(\r\n    () => props.size,\r\n    v => {\r\n      customSize.value = !v ? 'middle' : v;\r\n    },\r\n    { immediate: true }\r\n);\r\nwatch(\r\n    () => props.icon,\r\n    v => {\r\n      iconType.value = v;\r\n    },\r\n    { immediate: true }\r\n);\r\nwatch(\r\n    () => props,\r\n    () => {},\r\n    { immediate: true }\r\n);\r\n</script>\r\n<style scoped>\r\n.c-button-primary {\r\n  color: #fff;\r\n  background-color: #2db7f5;\r\n  border-color: #2db7f5;\r\n}\r\n.c-button-primary:hover {\r\n  color: #fff;\r\n  background-color: #3dc1fc;\r\n  border-color: #2db7f5;\r\n}\r\n.c-button-primary[disabled],\r\n.c-button-primary[disabled]:hover,\r\n.c-button-primary[disabled]:focus,\r\n.c-button-primary[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-warning {\r\n  color: #fff;\r\n  background-color: #ff9900;\r\n  border-color: #ff9900;\r\n}\r\n.c-button-warning:hover {\r\n  color: #fff;\r\n  background-color: #fcac35;\r\n  border-color: #ff9900;\r\n}\r\n.c-button-warning[disabled],\r\n.c-button-warning[disabled]:hover,\r\n.c-button-warning[disabled]:focus,\r\n.c-button-warning[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-error {\r\n  color: #fff;\r\n  background-color: #ff3300;\r\n  border-color: #ff3300;\r\n}\r\n.c-button-error:hover {\r\n  color: #fff;\r\n  background-color: #fc653f;\r\n  border-color: #ff3300;\r\n}\r\n.c-button-error[disabled],\r\n.c-button-error[disabled]:hover,\r\n.c-button-error[disabled]:focus,\r\n.c-button-error[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-success {\r\n  color: #fff;\r\n  background-color: #00cc66;\r\n  border-color: #00cc66;\r\n}\r\n.c-button-success:hover {\r\n  color: #fff;\r\n  background-color: #03e071;\r\n  border-color: #00cc66;\r\n}\r\n.c-button-success[disabled],\r\n.c-button-success[disabled]:hover,\r\n.c-button-success[disabled]:focus,\r\n.c-button-success[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-cyan {\r\n  color: #fff;\r\n  background-color: #04c1e1;\r\n  border-color: #04c1e1;\r\n}\r\n.c-button-cyan:hover {\r\n  color: #fff;\r\n  background-color: #0ad5f8;\r\n  border-color: #04c1e1;\r\n}\r\n.c-button-cyan[disabled],\r\n.c-button-cyan[disabled]:hover,\r\n.c-button-cyan[disabled]:focus,\r\n.c-button-cyan[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-green {\r\n  color: #fff;\r\n  background-color: #52c41a;\r\n  border-color: #52c41a;\r\n}\r\n.c-button-green:hover {\r\n  color: #fff;\r\n  background-color: #52c41a;\r\n  border-color: #04c1e1;\r\n}\r\n.c-button-green[disabled],\r\n.c-button-green[disabled]:hover,\r\n.c-button-green[disabled]:focus,\r\n.c-button-green[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-orange {\r\n  color: #fff;\r\n  background-color: #fa8c16;\r\n  border-color: #fa8c16;\r\n}\r\n.c-button-orange:hover {\r\n  color: #fff;\r\n  background-color: #fa8c16;\r\n  border-color: #ff9900;\r\n}\r\n.c-button-orange[disabled],\r\n.c-button-orange[disabled]:hover,\r\n.c-button-orange[disabled]:focus,\r\n.c-button-orange[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-black {\r\n  color: #fff;\r\n  background-color: #131313;\r\n  border-color: #131313;\r\n}\r\n.c-button-black:hover {\r\n  color: #fff;\r\n  background-color: #313131;\r\n  border-color: #131313;\r\n}\r\n.c-button-black[disabled],\r\n.c-button-black[disabled]:hover,\r\n.c-button-black[disabled]:focus,\r\n.c-button-black[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n\r\n.c-button-purple {\r\n  color: #fff;\r\n  background-color: #b500fe;\r\n  border-color: #b500fe;\r\n}\r\n.c-button-purple:hover {\r\n  color: #fff;\r\n  background-color: #c951fa;\r\n  border-color: #b500fe;\r\n}\r\n.c-button-purple[disabled],\r\n.c-button-purple[disabled]:hover,\r\n.c-button-purple[disabled]:focus,\r\n.c-button-purple[disabled]:active {\r\n  color: rgba(0, 0, 0, 0.25);\r\n  background: #f5f5f5;\r\n  border-color: #d9d9d9;\r\n  text-shadow: none;\r\n  box-shadow: none;\r\n}\r\n</style>\r\n","<template>\r\n  <a-select v-model:value=\"currentValue\" allowClear :placeholder=\"props.placeholder\" @change=\"dataChange\">\r\n    {{ currentValue }}\r\n    <a-select-option :value=\"dict.dictValue\" v-for=\"dict in dictDatas\" :key=\"dict.dictValue\">\r\n      {{ dict.dictLabel }}\r\n    </a-select-option>\r\n  </a-select>\r\n</template>\r\n<script setup name=\"SelectDict\">\r\nimport {tool} from 'elead-ui-tool-v3'\r\nconst props = defineProps({\r\n  modelValue: {type: [Number, String], default: null},\r\n  placeholder: {\r\n    type: String,\r\n    default: '请选择'\r\n  },\r\n  name: {\r\n    type: String,\r\n    default: ''\r\n  }\r\n})\r\nconst currentValue = ref(null)\r\nconst dictDatas = ref([])\r\nconst emit = defineEmits(['update:modelValue','change'])\r\nwatch(\r\n    () => props.modelValue,\r\n    (newValue) => {\r\n      if (newValue) {\r\n        currentValue.value = newValue.toString()\r\n      } else {\r\n        currentValue.value = null\r\n      }\r\n    }\r\n)\r\nconst dataChange = () => {\r\n  emit('update:modelValue', currentValue.value)\r\n  emit('change', currentValue.value)\r\n}\r\nonMounted(async () => {\r\n  if (props.modelValue) {\r\n    currentValue.value = props.modelValue.toString()\r\n  }\r\n  dictDatas.value = await tool.dictTypeList(props.name)\r\n})\r\n</script>\r\n<style></style>\r\n","<template>\r\n  <div class=\"UserSearchPicker\">\r\n    <a-select\r\n        labelInValue\r\n        show-search\r\n        defaultActiveFirstOption\r\n        allowClear\r\n        :filter-option=\"false\"\r\n        dropdownClassName=\"UserSearchPickerDropDown\"\r\n        v-model:value=\"value\"\r\n        :mode=\"mode\"\r\n        style=\"width: 100%\"\r\n        placeholder=\"姓名/工号/全拼\"\r\n        :max-tag-count=\"2\"\r\n        :options=\"options\"\r\n        @search=\"fetchUser\"\r\n        @change=\"onChange\"\r\n    >\r\n      <template #option=\"option\">\r\n        <div class=\"selectOption\">\r\n          <span class=\"name\">{{ option.name }}</span>\r\n          <span class=\"empNo\">{{ option.empNo }}</span>\r\n          <span class=\"org\">{{ option.orgName }}</span>\r\n        </div>\r\n      </template>\r\n    </a-select>\r\n  </div>\r\n</template>\r\n<script setup name=\"MemberSearchPicker\">\r\nimport { watch } from 'vue'\r\nimport userApi from '@/api/sys/userApi'\r\nimport { debounce } from 'lodash-es'\r\n\r\nconst props = defineProps({\r\n  //'multiple' | 'tags' | 'combobox'\r\n  mode: {\r\n    type: String,\r\n    default: 'combobox'\r\n  },\r\n  modelValue: {\r\n    type: [Array, String, Number],\r\n    required: false\r\n  }\r\n})\r\n\r\nconst emit = defineEmits(['ids', 'members', 'update:modelValue'])\r\nconst options = ref([])\r\nconst value = ref(undefined)\r\n\r\nconst pageConfig = ref({\r\n  current: 1,\r\n  size: 15,\r\n  end: false\r\n})\r\nconst fetchUser = debounce((str) => {\r\n  userApi\r\n      .userPage({\r\n        current: pageConfig.value.current,\r\n        size: pageConfig.value.size,\r\n        searchKey: str\r\n      })\r\n      .then((res) => {\r\n        options.value = res.records.map((r) => {\r\n          r.value = r.id\r\n          r.label = r.name\r\n          return r\r\n        })\r\n      })\r\n})\r\n\r\nonMounted(() => {\r\n  fetchUser()\r\n})\r\n\r\n/**\r\n * 初始数据\r\n * @param {*} value\r\n */\r\nconst initData = (newVal) => {\r\n  if(newVal) {\r\n    if(newVal != value.value) {\r\n      value.value = newVal\r\n    }\r\n  } else {\r\n    value.value = null\r\n  }\r\n}\r\n\r\n/**\r\n * 监听值变化\r\n */\r\nwatch(\r\n    () => props.modelValue,\r\n    (newVal) => {\r\n      initData(newVal)\r\n    }\r\n)\r\n\r\nconst onChange = (val) => {\r\n  if (val) {\r\n    if (Array.isArray(val)) {\r\n      emit(\r\n          'update:modelValue',\r\n          val.map((res) => {\r\n            return res.value\r\n          })\r\n      )\r\n      emit(\r\n          'ids',\r\n          val.map((res) => {\r\n            return res.value\r\n          })\r\n      )\r\n      emit(\r\n          'members',\r\n          val.map((res) => {\r\n            return res.option\r\n          })\r\n      )\r\n    } else {\r\n      emit('update:modelValue', val.value)\r\n      emit('ids', [val.value])\r\n      emit('members', [val.option])\r\n    }\r\n  } else {\r\n    emit('ids', undefined)\r\n    emit('members', undefined)\r\n  }\r\n}\r\n</script>\r\n<style lang=\"less\">\r\n.UserSearchPickerDropDown {\r\n  .selectOption {\r\n    width: 100%;\r\n\r\n    display: flex;\r\n    align-items: center;\r\n\r\n    .name {\r\n      font-weight: bold;\r\n      font-size: 14px;\r\n      margin-right: 12px;\r\n      flex: 0 0 50px;\r\n      overflow: hidden;\r\n      word-break: break-all;\r\n      text-overflow: ellipsis;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    .empNo {\r\n      font-size: 12px;\r\n      margin-right: 12px;\r\n      flex: 0 0 50px;\r\n    }\r\n\r\n    .org {\r\n      font-size: 12px;\r\n      margin-right: 12px;\r\n      color: #8a8f97;\r\n      flex: 0 1 100%;\r\n      overflow: hidden;\r\n      word-break: break-all;\r\n      text-overflow: ellipsis;\r\n      white-space: nowrap;\r\n    }\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n\t<span>\r\n\t\t<span v-if=\"props.type == 'select'\">\r\n\t\t\t<a-select\r\n          ref=\"userselect\"\r\n          :mode=\"props.mode\"\r\n          allowClear\r\n          size=\"default\"\r\n          :open=\"false\"\r\n          :style=\"{ width: props.showButton ? '90%' : '100%' }\"\r\n          v-model:value=\"currentValue\"\r\n          @click=\"showUserPlusModal\"\r\n      >\r\n\t\t\t\t<a-select-option v-for=\"item in selectedList\" :value=\"item.userId\" :key=\"item.userId\">\r\n\t\t\t\t\t{{ item.nickname }}\r\n\t\t\t\t</a-select-option>\r\n\t\t\t</a-select>\r\n\t\t\t<a-button v-if=\"props.showButton\" @click=\"showUserPlusModal\" :style=\"{ width: props.showButton ? '10%' : '0%' }\">\r\n\t\t\t\t<template #icon>\r\n\t\t\t\t\t<select-outlined />\r\n\t\t\t\t</template>\r\n\t\t\t\t<span>选择</span>\r\n\t\t\t</a-button>\r\n\t\t</span>\r\n\t\t<div v-else class=\"add-user-wrapper\">\r\n\t\t\t<div class=\"add-user-icon\">\r\n\t\t\t\t<a-button shape=\"round\" @click=\"showUserPlusModal\">\r\n\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t<plus-outlined />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</a-button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"add-user-item\" v-for=\"item in selectedList\" :key=\"item.id\">\r\n\t\t\t\t<a-avatar size=\"small\">\r\n\t\t\t\t\t<template #icon><UserOutlined /></template>\r\n\t\t\t\t</a-avatar>\r\n\t\t\t\t<div>{{ item.name }}</div>\r\n\t\t\t\t<close-outlined @click=\"removeSelectedItem(item)\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<user-selector-plus\r\n        ref=\"userselectorPlus\"\r\n        page-url=\"/sys/user/page\"\r\n        org-url=\"/sys/org/tree\"\r\n        :max=\"max\"\r\n        :min=\"min\"\r\n        @onBack=\"callBack\"\r\n    />\r\n\t</span>\r\n</template>\r\n<script setup name=\"GUser\">\r\nimport {onMounted, ref, watch} from 'vue'\r\nimport {remove} from 'lodash-es'\r\nimport userSelectorPlusApi from '@/api/components/Selector/userSelectorPlusApi'\r\n// 接收属性\r\nconst props = defineProps({\r\n  mode: { type: String, default: 'default' },\r\n  type: { type: String, default: 'select' },\r\n  showButton: { type: Boolean, default: false },\r\n  modelValue: { type: Array, default: () => [] },\r\n  min: { type: Number, default: 1 },\r\n  max: { type: Number, default: 100000 }\r\n})\r\n\r\nconst currentValue = ref([])\r\n\r\nconst selectedList = ref([])\r\n\r\nconst userselectorPlus = ref()\r\n\r\nwatch(\r\n    () => props.modelValue,\r\n    (newValue) => {\r\n      console.log('newValue', newValue)\r\n      if (selectedList.value.length == 0) {\r\n        // 获取用户信息\r\n        if (newValue && newValue.length > 0) {\r\n          reload(newValue)\r\n        }\r\n      } else if (newValue && newValue[0] == undefined) {\r\n        currentValue.value = []\r\n        selectedList.value = []\r\n      }\r\n    }\r\n)\r\n\r\nonMounted(() => {\r\n  if (selectedList.value.length == 0) {\r\n    // 获取机构信息\r\n    if (props.modelValue && props.modelValue.length > 0) {\r\n      reload(props.modelValue)\r\n    }\r\n  }\r\n})\r\n\r\nconst reload = async (empIds) => {\r\n  const params = []\r\n  if(Array.isArray(empIds)) {\r\n    for (let i = 0; i < empIds.length; i++) {\r\n      params.push({ id: empIds[i] })\r\n    }\r\n  } else {\r\n    params.push({ id: empIds })\r\n  }\r\n  const res = await userSelectorPlusApi.getUsersByUserIds('/sys/user/ids', params)\r\n  console.info(\"ids\",res)\r\n  if (res) {\r\n    res.forEach((item) => {\r\n      currentValue.value.push(item.id)\r\n      selectedList.value.push(item)\r\n      emit(\r\n          'update:label',\r\n          selectedList.value.map((a) => a.name)\r\n      )\r\n    })\r\n  }\r\n}\r\n\r\nconst showUserPlusModal = () => {\r\n  userselectorPlus.value.showUserPlusModal(selectedList.value)\r\n}\r\n\r\nconst removeSelectedItem = (record) => {\r\n  remove(selectedList.value, (item) => item.id === record.id)\r\n  remove(currentValue.value, (item) => item === record.id)\r\n  // 只有ID\r\n  userselectorPlus.value.delRecord(record)\r\n  console.log('currentValue.value', currentValue.value)\r\n  emit('update:modelValue', currentValue.value)\r\n  emit(\r\n      'update:label',\r\n      selectedList.value.map((a) => a.name)\r\n  )\r\n  emit('update:data', selectedList)\r\n}\r\n\r\nconst emit = defineEmits(['update:modelValue', 'update:data', 'update:label', 'click'])\r\n\r\n/**\r\n * 确定\r\n * @param {*} record\r\n */\r\nconst callBack = (records) => {\r\n  console.log('records', records)\r\n  selectedList.value = []\r\n  currentValue.value = []\r\n  for (let index = 0; index < records.length; index++) {\r\n    const element = {\r\n      userId: records[index].id,\r\n      nickname: records[index].name\r\n    }\r\n    selectedList.value.push(element)\r\n    // 只有ID\r\n    currentValue.value.push(records[index].id)\r\n  }\r\n  emit('update:modelValue', currentValue.value)\r\n  emit(\r\n      'update:label',\r\n      selectedList.value.map((a) => a.nickname)\r\n  )\r\n  emit('update:data', selectedList)\r\n}\r\n\r\ndefineExpose({})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n.add-user-wrapper {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  min-height: 40px;\r\n  padding-left: 5px;\r\n  .add-user-icon {\r\n    display: flex;\r\n    align-items: center;\r\n    width: 40px;\r\n    height: 32px;\r\n    border-radius: 100px;\r\n    border: 1px solid #3370ff;\r\n    justify-content: center;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n    cursor: pointer;\r\n  }\r\n  .add-user-item {\r\n    display: flex;\r\n    align-items: center;\r\n    min-width: 70px;\r\n    max-width: 50%;\r\n    height: 32px;\r\n    background: #eff0f1;\r\n    border-radius: 16px;\r\n    padding: 0 4px;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n\r\n    img {\r\n      width: 24px;\r\n      height: 24px;\r\n      border-radius: 12px;\r\n    }\r\n    div {\r\n      padding: 0;\r\n      margin: 0 4px;\r\n      min-width: 28px;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n      white-space: nowrap;\r\n    }\r\n    i {\r\n      margin-right: 10px;\r\n      color: #646a73;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n.selected-items {\r\n  overflow-y: auto;\r\n  margin: 0 10px 0;\r\n  border: 1px dashed #ccc;\r\n  padding: 4px 4px 0;\r\n  min-height: 34px;\r\n  max-height: 60px;\r\n  .ant-tag {\r\n    margin-bottom: 4px;\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n  <span>\r\n    <span>\r\n      <a-select\r\n          ref=\"userselect\"\r\n          :mode=\"props.mode\"\r\n          :size=\"size\"\r\n          :open=\"false\"\r\n          :style=\"{ width: props.showButton ? '85%' : '100%' }\"\r\n          v-model:value=\"currentValue\"\r\n          @click=\"showPosPlusModal\"\r\n      >\r\n        <a-select-option v-for=\"item in selectedList\" :value=\"item.positionId\" :key=\"item.positionId\">{{\r\n            item.positionName\r\n          }}</a-select-option>\r\n      </a-select>\r\n      <a-button v-if=\"props.showButton\" @click=\"showPosPlusModal\" :size=\"size\" :style=\"{ width: props.showButton ? '15%' : '0%' }\">\r\n        <template #icon>\r\n          <select-outlined />\r\n        </template>\r\n        <span>选择</span>\r\n      </a-button>\r\n    </span>\r\n    <pos-selector-plus ref=\"posselectorPlus\" :max=\"max\" :min=\"min\" :radioModel=\"radioModel\" @onBack=\"callBack\" />\r\n  </span>\r\n</template>\r\n<script setup name=\"GPos\">\r\nimport { ref, watch, toRaw, onMounted } from 'vue';\r\nimport  PositionApi  from '@/api/sys/positionApi';\r\n// 接收属性\r\nconst props = defineProps({\r\n  mode: { type: String, default: 'combobox' },\r\n  showButton: { type: Boolean, default: true },\r\n  radioModel: { type: Boolean, default: false },\r\n  modelValue: { type: Array, default: () => [] },\r\n  min: { type: Number, default: 1 },\r\n  max: { type: Number, default: 100000 },\r\n  size: { type: String, default: 'small' }\r\n});\r\n\r\nconst currentValue = ref([]);\r\n\r\nconst selectedList = ref([]);\r\n\r\nconst posselectorPlus = ref();\r\n\r\nwatch(\r\n    () => props.modelValue,\r\n    newValue => {\r\n      if (selectedList.value.length == 0) {\r\n        // 获取机构信息\r\n        if (newValue && newValue.length > 0) {\r\n          reload(newValue);\r\n        }\r\n      }\r\n    }\r\n);\r\n\r\nonMounted(() => {\r\n  if (selectedList.value.length == 0) {\r\n    // 获取机构信息\r\n    if (props.modelValue && props.modelValue.length > 0) {\r\n      reload(props.modelValue);\r\n    }\r\n  }\r\n});\r\n\r\nconst reload = async positionIds => {\r\n  const res = await PositionApi.getPositionListByIds({ positionIds: positionIds });\r\n  if (res.data) {\r\n    res.data.forEach(item => {\r\n      currentValue.value.push(item.positionId);\r\n      selectedList.value.push(item);\r\n    });\r\n  }\r\n};\r\n\r\nconst showPosPlusModal = () => {\r\n  posselectorPlus.value.showPosPlusModal(selectedList.value);\r\n};\r\n\r\n/* const removeSelectedItem = record => {\r\n  remove(selectedList.value, item => item.orgId === record.orgId);\r\n  remove(currentValue.value, item => item === record.orgId);\r\n  // 只有ID\r\n  orgselectorPlus.value.delRecord(record);\r\n  emit('update:modelValue', currentValue.value);\r\n  emit(\r\n    'update:label',\r\n    selectedList.value.map(a => a.orgName)\r\n  );\r\n  emit('update:data', selectedList);\r\n}; */\r\n\r\nconst emit = defineEmits(['update:modelValue', 'update:data', 'update:label', 'change']);\r\n\r\n/**\r\n * 确定\r\n * @param {*} record\r\n */\r\nconst callBack = records => {\r\n  console.log('records', records);\r\n  selectedList.value = [];\r\n  currentValue.value = [];\r\n  for (let index = 0; index < records.length; index++) {\r\n    const element = {\r\n      positionId: records[index].id,\r\n      positionName: records[index].name\r\n    };\r\n    selectedList.value.push(element);\r\n    // 只有ID\r\n    currentValue.value.push(records[index].id);\r\n  }\r\n  console.log('currentValue.value', toRaw(currentValue.value));\r\n  emit('update:modelValue', toRaw(currentValue.value));\r\n  const label = selectedList.value.map(a => a.positionName);\r\n  emit('update:label', label);\r\n  emit('update:data', selectedList);\r\n  emit('change', toRaw(currentValue.value));\r\n};\r\n\r\ndefineExpose({});\r\n</script>\r\n<style lang=\"less\" scoped>\r\n.add-user-wrapper {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  min-height: 40px;\r\n  padding-left: 5px;\r\n  .add-user-icon {\r\n    display: flex;\r\n    align-items: center;\r\n    width: 40px;\r\n    height: 32px;\r\n    border-radius: 100px;\r\n    border: 1px solid #3370ff;\r\n    justify-content: center;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n    cursor: pointer;\r\n  }\r\n  .add-user-item {\r\n    display: flex;\r\n    align-items: center;\r\n    min-width: 70px;\r\n    max-width: 50%;\r\n    height: 32px;\r\n    background: #eff0f1;\r\n    border-radius: 16px;\r\n    padding: 0 4px;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n\r\n    img {\r\n      width: 24px;\r\n      height: 24px;\r\n      border-radius: 12px;\r\n    }\r\n    div {\r\n      padding: 0;\r\n      margin: 0 4px;\r\n      min-width: 28px;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n      white-space: nowrap;\r\n    }\r\n    i {\r\n      margin-right: 10px;\r\n      color: #646a73;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n.selected-items {\r\n  overflow-y: auto;\r\n  margin: 0 10px 0;\r\n  border: 1px dashed #ccc;\r\n  padding: 4px 4px 0;\r\n  min-height: 34px;\r\n  max-height: 60px;\r\n  .ant-tag {\r\n    margin-bottom: 4px;\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n\t<span>\r\n\t\t<span>\r\n\t\t\t<a-select\r\n          ref=\"userselect\"\r\n          :mode=\"props.mode\"\r\n          :size=\"size\"\r\n          :open=\"false\"\r\n          :style=\"{ width: props.showButton ? '85%' : '100%' }\"\r\n          v-model:value=\"currentValue\"\r\n          @click=\"showOrgPlusModal\"\r\n      >\r\n\t\t\t\t<a-select-option v-for=\"item in selectedList\" :value=\"item.orgId\" :key=\"item.orgId\">{{\r\n            item.orgName\r\n          }}</a-select-option>\r\n\t\t\t</a-select>\r\n\t\t\t<a-button\r\n          v-if=\"props.showButton\"\r\n          @click=\"showOrgPlusModal\"\r\n          :size=\"size\"\r\n          :style=\"{ width: props.showButton ? '15%' : '0%' }\"\r\n      >\r\n\t\t\t\t<template #icon>\r\n\t\t\t\t\t<select-outlined />\r\n\t\t\t\t</template>\r\n\t\t\t\t<span>选择</span>\r\n\t\t\t</a-button>\r\n\t\t</span>\r\n\t\t<org-selector-plus\r\n        ref=\"orgselectorPlus\"\r\n        :max=\"max\"\r\n        :min=\"min\"\r\n        page-url=\"/sys/org/page\"\r\n        org-url=\"/sys/org/tree\"\r\n        :radioModel=\"radioModel\"\r\n        @onBack=\"callBack\"\r\n    />\r\n\t</span>\r\n</template>\r\n<script setup name=\"GDept\">\r\nimport { ref, watch, toRaw, onMounted } from 'vue'\r\nimport  OrganizationApi from '@/api/components/Selector/orgSelectorPlusApi'\r\n// 接收属性\r\nconst props = defineProps({\r\n  mode: { type: String, default: 'combobox' },\r\n  showButton: { type: Boolean, default: false },\r\n  radioModel: { type: Boolean, default: false },\r\n  modelValue: { type: Array, default: () => [] },\r\n  callBackType: { type: String, default: 'array' },\r\n  min: { type: Number, default: 1 },\r\n  max: { type: Number, default: 100000 },\r\n  size: { type: String, default: 'default' }\r\n})\r\n\r\nconst currentValue = ref([])\r\n\r\nconst selectedList = ref([])\r\n\r\nconst orgselectorPlus = ref()\r\n\r\nwatch(\r\n    () => props.modelValue,\r\n    (newValue) => {\r\n      if (selectedList.value.length == 0) {\r\n        // 获取机构信息\r\n        if (newValue && newValue.length > 0) {\r\n          reload(newValue)\r\n        }\r\n      } else if(newValue && newValue[0] == undefined) {\r\n        currentValue.value = []\r\n        selectedList.value = []\r\n      }\r\n    }\r\n)\r\n\r\nonMounted(() => {\r\n  if (selectedList.value.length == 0) {\r\n    // 获取机构信息\r\n    if (props.modelValue && props.modelValue.length > 0) {\r\n      reload(props.modelValue)\r\n    }\r\n  }\r\n})\r\n\r\nconst reload = async (orgIds) => {\r\n  if (!Array.isArray(orgIds)) {\r\n    orgIds = [orgIds]\r\n  }\r\n  const params = []\r\n  for (let orgId of orgIds) {\r\n    params.push({ id: orgId })\r\n  }\r\n  const res = await OrganizationApi.getOrgInfoListByIds('/sys/org/ids', params)\r\n  if (res.data) {\r\n    res.data.forEach((item) => {\r\n      currentValue.value.push(item.orgId)\r\n      selectedList.value.push(item)\r\n    })\r\n  }\r\n}\r\n\r\nconst showOrgPlusModal = () => {\r\n  orgselectorPlus.value.showOrgPlusModal(selectedList.value)\r\n}\r\n\r\n/* const removeSelectedItem = record => {\r\n  remove(selectedList.value, item => item.orgId === record.orgId);\r\n  remove(currentValue.value, item => item === record.orgId);\r\n  // 只有ID\r\n  orgselectorPlus.value.delRecord(record);\r\n  emit('update:modelValue', currentValue.value);\r\n  emit(\r\n    'update:label',\r\n    selectedList.value.map(a => a.orgName)\r\n  );\r\n  emit('update:data', selectedList);\r\n}; */\r\n\r\nconst emit = defineEmits(['update:modelValue', 'update:data', 'update:label', 'change'])\r\n\r\n/**\r\n * 确定\r\n * @param {*} record\r\n */\r\nconst callBack = (records) => {\r\n  selectedList.value = []\r\n  currentValue.value = []\r\n  for (let index = 0; index < records.length; index++) {\r\n    const element = {\r\n      orgId: records[index].id,\r\n      orgName: records[index].name\r\n    }\r\n    selectedList.value.push(element)\r\n    // 只有ID\r\n    currentValue.value.push(records[index].id)\r\n  }\r\n  if (props.callBackType == 'array') {\r\n    emit('update:modelValue', toRaw(currentValue.value))\r\n    const label = selectedList.value.map((a) => a.orgName)\r\n    emit('update:label', label)\r\n    emit('change', toRaw(currentValue.value))\r\n  } else {\r\n    emit('update:modelValue', toRaw(currentValue.value[0]))\r\n    const label = selectedList.value.map((a) => a.orgName)\r\n    emit('update:label', label[0])\r\n    emit('change', toRaw(currentValue.value[0]))\r\n  }\r\n  emit('update:data', selectedList)\r\n}\r\n\r\ndefineExpose({})\r\n</script>\r\n<style lang=\"less\" scoped>\r\n.add-user-wrapper {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  min-height: 40px;\r\n  padding-left: 5px;\r\n  .add-user-icon {\r\n    display: flex;\r\n    align-items: center;\r\n    width: 40px;\r\n    height: 32px;\r\n    border-radius: 100px;\r\n    border: 1px solid #3370ff;\r\n    justify-content: center;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n    cursor: pointer;\r\n  }\r\n  .add-user-item {\r\n    display: flex;\r\n    align-items: center;\r\n    min-width: 70px;\r\n    max-width: 50%;\r\n    height: 32px;\r\n    background: #eff0f1;\r\n    border-radius: 16px;\r\n    padding: 0 4px;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n\r\n    img {\r\n      width: 24px;\r\n      height: 24px;\r\n      border-radius: 12px;\r\n    }\r\n    div {\r\n      padding: 0;\r\n      margin: 0 4px;\r\n      min-width: 28px;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n      white-space: nowrap;\r\n    }\r\n    i {\r\n      margin-right: 10px;\r\n      color: #646a73;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n.selected-items {\r\n  overflow-y: auto;\r\n  margin: 0 10px 0;\r\n  border: 1px dashed #ccc;\r\n  padding: 4px 4px 0;\r\n  min-height: 34px;\r\n  max-height: 60px;\r\n  .ant-tag {\r\n    margin-bottom: 4px;\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n  <span>\r\n    <span>\r\n      <a-select\r\n          ref=\"userselect\"\r\n          :mode=\"props.mode\"\r\n          :size=\"size\"\r\n          :open=\"false\"\r\n          :allowClear=\"false\"\r\n          :style=\"{ width: props.showButton ? '85%' : '100%' }\"\r\n          v-model:value=\"currentValue\"\r\n          @click=\"showRolePlusModal\"\r\n      >\r\n        <a-select-option v-for=\"item in selectedList\" :value=\"item.roleId\" :key=\"item.roleId\">{{ item.roleName }}</a-select-option>\r\n      </a-select>\r\n      <a-button v-if=\"props.showButton\" @click=\"showRolePlusModal\" :size=\"size\" :style=\"{ width: props.showButton ? '15%' : '0%' }\">\r\n        <template #icon>\r\n          <select-outlined />\r\n        </template>\r\n        <span>选择</span>\r\n      </a-button>\r\n    </span>\r\n    <role-selector-plus ref=\"roleselectorPlus\" :max=\"max\" :min=\"min\" :radioModel=\"radioModel\" @onBack=\"callBack\" />\r\n  </span>\r\n</template>\r\n<script setup name=\"GDept\">\r\nimport { ref, watch, toRaw, onMounted } from 'vue';\r\nimport  SysRoleApi  from '@/api/sys/roleApi';\r\n// 接收属性\r\nconst props = defineProps({\r\n  mode: { type: String, default: 'combobox' },\r\n  showButton: { type: Boolean, default: true },\r\n  radioModel: { type: Boolean, default: false },\r\n  modelValue: { type: Array, default: () => [] },\r\n  min: { type: Number, default: 1 },\r\n  max: { type: Number, default: 100000 },\r\n  size: { type: String, default: 'small' }\r\n});\r\n\r\nconst currentValue = ref([]);\r\n\r\nconst selectedList = ref([]);\r\n\r\nconst roleselectorPlus = ref();\r\n\r\nwatch(\r\n    () => props.modelValue,\r\n    newValue => {\r\n      if (selectedList.value.length == 0) {\r\n        // 获取机构信息\r\n        if (newValue && newValue.length > 0) {\r\n          reload(newValue);\r\n        }\r\n      }\r\n    }\r\n);\r\n\r\nonMounted(() => {\r\n  if (selectedList.value.length == 0) {\r\n    // 获取机构信息\r\n    if (props.modelValue && props.modelValue.length > 0) {\r\n      reload(props.modelValue);\r\n    }\r\n  }\r\n});\r\n\r\nconst reload = async roleIds => {\r\n  if (!Array.isArray(roleIds)) {\r\n    roleIds = [roleIds];\r\n  }\r\n  const res = await SysRoleApi.getRoleInfoListByIds({ roleIdList: roleIds });\r\n  if (res.data) {\r\n    res.data.forEach(item => {\r\n      currentValue.value.push(item.roleId);\r\n      selectedList.value.push(item);\r\n      const label = selectedList.value.map(a => a.roleName);\r\n      emit('update:label', label);\r\n    });\r\n  }\r\n};\r\n\r\nconst showRolePlusModal = () => {\r\n  roleselectorPlus.value.showRolePlusModal(selectedList.value);\r\n};\r\n\r\n/* const removeSelectedItem = record => {\r\n  console.log(\"record\", record)\r\n remove(selectedList.value, item => item.orgId === record.orgId);\r\n  remove(currentValue.value, item => item === record.orgId);\r\n  // 只有ID\r\n  orgselectorPlus.value.delRecord(record);\r\n  emit('update:modelValue', currentValue.value);\r\n  emit(\r\n    'update:label',\r\n    selectedList.value.map(a => a.orgName)\r\n  );\r\n  emit('update:data', selectedList);\r\n}; */\r\n\r\nconst emit = defineEmits(['update:modelValue', 'update:data', 'update:label', 'change']);\r\n\r\n/**\r\n * 确定\r\n * @param {*} record\r\n */\r\nconst callBack = records => {\r\n  console.log('records', records);\r\n  selectedList.value = [];\r\n  currentValue.value = [];\r\n  for (let index = 0; index < records.length; index++) {\r\n    const element = {\r\n      roleId: records[index].id,\r\n      roleName: records[index].name\r\n    };\r\n    selectedList.value.push(element);\r\n    // 只有ID\r\n    currentValue.value.push(records[index].id);\r\n  }\r\n  console.log('currentValue.value', toRaw(currentValue.value));\r\n  emit('update:modelValue', toRaw(currentValue.value));\r\n  const label = selectedList.value.map(a => a.roleName);\r\n  emit('update:label', label);\r\n  emit('update:data', selectedList);\r\n  emit('change', toRaw(currentValue.value));\r\n};\r\n\r\ndefineExpose({});\r\n</script>\r\n<style lang=\"less\" scoped>\r\n.add-user-wrapper {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  min-height: 40px;\r\n  padding-left: 5px;\r\n  .add-user-icon {\r\n    display: flex;\r\n    align-items: center;\r\n    width: 40px;\r\n    height: 32px;\r\n    border-radius: 100px;\r\n    border: 1px solid #3370ff;\r\n    justify-content: center;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n    cursor: pointer;\r\n  }\r\n  .add-user-item {\r\n    display: flex;\r\n    align-items: center;\r\n    min-width: 70px;\r\n    max-width: 50%;\r\n    height: 32px;\r\n    background: #eff0f1;\r\n    border-radius: 16px;\r\n    padding: 0 4px;\r\n    margin-right: 8px;\r\n    margin-top: 8px;\r\n\r\n    img {\r\n      width: 24px;\r\n      height: 24px;\r\n      border-radius: 12px;\r\n    }\r\n    div {\r\n      padding: 0;\r\n      margin: 0 4px;\r\n      min-width: 28px;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n      white-space: nowrap;\r\n    }\r\n    i {\r\n      margin-right: 10px;\r\n      color: #646a73;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n.selected-items {\r\n  overflow-y: auto;\r\n  margin: 0 10px 0;\r\n  border: 1px dashed #ccc;\r\n  padding: 4px 4px 0;\r\n  min-height: 34px;\r\n  max-height: 60px;\r\n  .ant-tag {\r\n    margin-bottom: 4px;\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n  <a-modal v-model:visible=\"visible\" :title=\"title\" :mask-closable=\"false\" @cancel=\"handleClose\">\r\n    <a-upload-dragger v-model:fileList=\"upFileList\" name=\"file\" :multiple=\"true\" :action=\"action\" :headers=\"headers\"\r\n      :before-upload=\"handleBeforeUpload\" @change=\"uploadChange\">\r\n      <p class=\"ant-upload-drag-icon\">\r\n        <inbox-outlined></inbox-outlined>\r\n      </p>\r\n      <p class=\"ant-upload-text\">点击或拖拽文档到此处上传</p>\r\n      <p class=\"ant-upload-hint\">仅支持文档类型：.jpge、.png、.doc、.docx、.ppt、.xls、.xlsx，文档大小不超过 200M</p>\r\n    </a-upload-dragger>\r\n    <template #footer>\r\n      <a-button @click=\"handleClose\">关闭</a-button>\r\n    </template>\r\n  </a-modal>\r\n</template>\r\n<script setup name=\"FileUpload\">\r\nimport { message, notification } from 'ant-design-vue'\r\nimport { config, tool } from 'elead-ui-tool-v3'\r\nconst headers = {\r\n  token: config.TOKEN_PREFIX + tool.data.get('TOKEN'),\r\n  Authorization: config.TOKEN_PREFIX + tool.data.get('TOKEN')\r\n}\r\nconst emits = defineEmits(['successful', 'change'])\r\nconst action = ref()\r\nconst visible = ref(false)\r\nconst title = ref()\r\nconst upFileList = ref([])\r\nconst directory = ref()\r\nconst oneData = ref(false)\r\nconst props = defineProps({\r\n  folderType: {\r\n    type: String,\r\n    default: ''\r\n  },\r\n  formData: {\r\n    md5: String,\r\n    ossBucketName: String,\r\n    ossObjectName: String,\r\n    type: Object,\r\n    uploadFileName: String,\r\n    empId: Number,\r\n    size: Number\r\n  }\r\n})\r\nlet fdata = ref({\r\n  md5: String,\r\n  ossBucketName: String,\r\n  ossObjectName: String,\r\n  type: Object,\r\n  uploadFileName: String,\r\n  empId: Number,\r\n  size: Number\r\n})\r\nonMounted(() => {\r\n  if (props.formData) {\r\n    fdata.value = props.formData\r\n  }\r\n})\r\nconst uploadChange = ({ file }) => {\r\n  // 将上传变化事件抛出，由父组件处理具体逻辑\r\n  emits('change', { file, oneData: oneData.value, upFileList: upFileList.value })\r\n}\r\nconst handleBeforeUpload = (file, fileList) => {\r\n  if (file.size > 1024 * 1000 * 100 * 3) {\r\n    message.error('上传文档大小不能大于300M！')\r\n    handleClose()\r\n    return false\r\n  }\r\n  if (oneData.value && (fileList.length > 1 || upFileList.value.length > 0)) {\r\n    upFileList.value = []\r\n    handleClose()\r\n    message.error('只能上传一个文档！')\r\n    return false\r\n  }\r\n}\r\n/**\r\n * 关闭上传窗口\r\n */\r\nconst handleClose = () => {\r\n  visible.value = false\r\n  upFileList.value = []\r\n  emits('successful')\r\n}\r\n/**\r\n * 打开上传窗口\r\n * @param d {{id: number, folder: string}} 目录id\r\n */\r\nconst onOpen = (d, saveData, fileNumber, version) => {\r\n  if (d) {\r\n    oneData.value = !saveData\r\n    upFileList.value = []\r\n    directory.value = d\r\n    title.value = `上传文档到【${d.folder}】`\r\n    action.value = `${__APP_ENV__.VITE_API_BASEURL}/${props.folderType}/file/upload/${d.id}/${saveData}/${fileNumber}/${version}`\r\n    visible.value = true\r\n  } else {\r\n    notification.error({ message: '缺少目录' })\r\n  }\r\n}\r\ndefineExpose({\r\n  onOpen,\r\n  handleClose\r\n})\r\n</script>\r\n<style scoped></style>\r\n","import dayjs from 'dayjs'\r\nexport default function () {\r\n\t// 默认是关闭状态\r\n\tlet visible = ref(false)\r\n\t// 加载中\r\n\tconst loading = ref(false)\r\n\t// 默认时间\r\n\tconst defaultDate = dayjs()\r\n\tconst defaultDateSubtracOneMonth = dayjs().subtract(1, 'month')\r\n\tconst getYear = () => {\r\n\t\treturn defaultDate.year()\r\n\t}\r\n\tconst getMonth = () => {\r\n\t\treturn defaultDate.month() + 1\r\n\t}\r\n\tconst yearMonthChange = (date, searchFormState) => {\r\n\t\tif (!date) {\r\n\t\t\tdate = dayjs()\r\n\t\t}\r\n\t\tsearchFormState.year = date.year()\r\n\t\tsearchFormState.month = date.month() + 1\r\n\t}\r\n\t/**\r\n\t * 表格高度\r\n\t */\r\n\tconst scroll = computed(() => {\r\n\t\treturn (x) => {\r\n\t\t\tconst height = document.documentElement.clientHeight || document.body.clientHeight\r\n\t\t\tif (!x) {\r\n\t\t\t\treturn { y: height > 1000 ? 700 : 480 }\r\n\t\t\t}\r\n\t\t\treturn { x: x, y: height > 1000 ? 700 : 480 }\r\n\t\t}\r\n\t})\r\n\treturn {\r\n\t\tvisible,\r\n\t\tloading,\r\n\t\tdefaultDate,\r\n\t\tgetYear,\r\n\t\tgetMonth,\r\n\t\tyearMonthChange,\r\n\t\tscroll,\r\n\t\tdefaultDateSubtracOneMonth\r\n\t}\r\n}\r\n","/**\r\n *  Copyright [2022] [https://www.xiaonuo.vip]\r\n *\tSnowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：\r\n *\t1.请不要删除和修改根目录下的LICENSE文档。\r\n *\t2.请不要删除和修改Snowy源码头部的版权声明。\r\n *\t3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文档的项目出处，作者声明等。\r\n *\t4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip\r\n *\t5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。\r\n *\t6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip\r\n */\r\nimport {tool} from 'elead-ui-tool-v3'\r\n/**\r\n * 权限判断是否能看到这个按钮，同时后端也做了校验，前端只是显示与不显示\r\n * @param {string, array} data 按钮的权限点，可以是单个字符串，也可以是数组\r\n * @param {string} rule or代表或，and代表与\r\n * 使用方法：\r\n * 例如 buttonCodeList 的数据为： ['button1', 'button2', 'button3']\r\n * 想要判断 button1 的权限，可以写成：hasPerm('button1')\r\n * 想要判断 button1 或 button2 的权限，可以写成：hasPerm(['button1', 'button2' ])\r\n * 想要判断 button1 与 button2 的权限，可以写成：hasPerm(['button1', 'button2' ], 'and')\r\n */\r\nexport function hasPerm(data, rule = 'or') {\r\n\tif (!data) {\r\n\t\treturn false\r\n\t}\r\n\tconst userInfo = tool.data.get('USER_INFO')\r\n\tif (!userInfo) {\r\n\t\treturn false\r\n\t}\r\n\tconst { buttonCodeList } = userInfo\r\n\tif (!buttonCodeList) {\r\n\t\treturn false\r\n\t}\r\n\tif (Array.isArray(data)) {\r\n\t\tconst fn = rule === 'or' ? 'some' : 'every'\r\n\t\treturn data[fn]((item) => buttonCodeList.includes(item))\r\n\t}\r\n\treturn buttonCodeList.includes(data)\r\n}\r\n","/**\r\n *  Copyright [2022] [https://www.xiaonuo.vip]\r\n *\tSnowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：\r\n *\t1.请不要删除和修改根目录下的LICENSE文档。\r\n *\t2.请不要删除和修改Snowy源码头部的版权声明。\r\n *\t3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文档的项目出处，作者声明等。\r\n *\t4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip\r\n *\t5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。\r\n *\t6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip\r\n */\r\n/* eslint-disable eqeqeq */\r\nexport default {\r\n\t// hex颜色转rgb颜色\r\n\tHexToRgb(str) {\r\n\t\tstr = str.replace('#', '')\r\n\t\tconst 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\tconst 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\tconst 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\tconst 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","import {tool} from 'elead-ui-tool-v3'\r\nexport const ThemeModeEnum = {\r\n\tLIGHT: 'light',\r\n\tDARK: 'dark',\r\n\tREAL_DARK: 'realDark'\r\n}\r\nconst changeColor = (newPrimaryColor, theme, darkClass = 'snowy-theme-dark') => {\r\n\treturn new Promise((resolve) => {\r\n\t\tconst themeEleId = 'snowy-theme-var'\r\n\t\tconst themeEle = document.querySelector(`#${themeEleId}`)\r\n\t\tif (themeEle && themeEle.parentNode) {\r\n\t\t\tthemeEle.parentNode.removeChild(themeEle)\r\n\t\t}\r\n\t\tconst isRealDark = theme === ThemeModeEnum.REAL_DARK\r\n\t\tdocument.body.removeAttribute('snowy-theme')\r\n\t\tif (isRealDark) {\r\n\t\t\tdocument.body.classList.add(darkClass)\r\n\t\t} else {\r\n\t\t\tdocument.body.classList.remove(darkClass)\r\n\t\t}\r\n\t\tresolve()\r\n\t})\r\n}\r\nconst loadLocalTheme = (localSetting) => {\r\n\tif (localSetting) {\r\n\t\tlet {theme, themeColor} = localSetting\r\n\t\tthemeColor = themeColor || config.COLOR\r\n\t\ttheme = theme || config.THEME\r\n\t\tchangeColor(themeColor, theme)\r\n\t}\r\n}\r\n/**\r\n * 获取本地保存的配置\r\n * @param loadTheme {boolean} 是否加载配置中的主题\r\n * @returns {Object}\r\n */\r\nconst getLocalSetting = (loadTheme) => {\r\n\tlet localSetting = {}\r\n\ttry {\r\n\t\tconst theme = tool.data.get('SNOWY_THEME')\r\n\t\tconst themeColor = tool.data.get('SNOWY_THEME_COLOR')\r\n\t\tlocalSetting = {\r\n\t\t\ttheme,\r\n\t\t\tthemeColor\r\n\t\t}\r\n\t} catch (e) {\r\n\t\tconsole.error(e)\r\n\t}\r\n\tif (loadTheme) {\r\n\t\tloadLocalTheme(localSetting)\r\n\t}\r\n\treturn localSetting\r\n}\r\nexport default {loadLocalTheme, getLocalSetting, changeColor}\r\n","/**\r\n *  Copyright [2022] [https://www.xiaonuo.vip]\r\n *\tSnowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：\r\n *\t1.请不要删除和修改根目录下的LICENSE文档。\r\n *\t2.请不要删除和修改Snowy源码头部的版权声明。\r\n *\t3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文档的项目出处，作者声明等。\r\n *\t4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip\r\n *\t5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。\r\n *\t6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip\r\n */\r\n/**\r\n * 全局代码错误捕捉\r\n * 比如 null.length 就会被捕捉到\r\n */\r\nimport { notification } from 'ant-design-vue'\r\nexport default (error) => {\r\n\t// 过滤HTTP请求错误\r\n\tif (error.code) {\r\n\t\treturn false\r\n\t}\r\n\tconst errorMap = {\r\n\t\tInternalError: 'Javascript引擎内部错误',\r\n\t\tReferenceError: '未找到对象',\r\n\t\tTypeError: '使用了错误的类型或对象',\r\n\t\tRangeError: '使用内置对象时，参数超范围',\r\n\t\tSyntaxError: '语法错误',\r\n\t\tEvalError: '错误的使用了Eval',\r\n\t\tURIError: 'URI错误'\r\n\t}\r\n\tconst errorName = errorMap[error.name] || '未知错误'\r\n\tnextTick(() => {\r\n\t\tnotification.error({\r\n\t\t\tmessage: '错误',\r\n\t\t\tdescription: errorName\r\n\t\t})\r\n\t\tconsole.error(error)\r\n\t})\r\n}\r\n","const Print = function(dom, options) {\r\n  if (!(this instanceof Print)) return new Print(dom, options)\r\n  this.options = this.extend({\r\n    noPrint: '.no-print',\r\n  }, options)\r\n  if ((typeof dom) === 'string') {\r\n    try {\r\n      this.dom = document.querySelector(dom)\r\n    }\r\n    catch {\r\n      const createDom = document.createElement('div')\r\n      createDom.innerHTML = dom\r\n      this.dom = createDom\r\n    }\r\n  }\r\n  else {\r\n    this.isDOM(dom)\r\n    this.dom = this.isDOM(dom) ? dom : dom.$el\r\n  }\r\n  this.init()\r\n}\r\nPrint.prototype = {\r\n  init() {\r\n    const content = this.getStyle() + this.getHtml()\r\n    this.writeIframe(content)\r\n  },\r\n  extend(obj, obj2) {\r\n    for (const k in obj2) {\r\n      obj[k] = obj2[k]\r\n    }\r\n    return obj\r\n  },\r\n  getStyle() {\r\n    let str = ''\r\n    const styles = document.querySelectorAll('style,link')\r\n    for (let i = 0; i < styles.length; i++) {\r\n      str += styles[i].outerHTML\r\n    }\r\n    str += `<style>${ this.options.noPrint ? this.options.noPrint : '.no-print'\r\n\t\t\t }{display:none;}</style>`\r\n    str += '<style>html,body{background-color:#fff;}</style>'\r\n    return str\r\n  },\r\n  getHtml() {\r\n    const inputs = document.querySelectorAll('input')\r\n    const textareas = document.querySelectorAll('textarea')\r\n    const selects = document.querySelectorAll('select')\r\n    for (let k = 0; k < inputs.length; k++) {\r\n      if (inputs[k].type == 'checkbox' || inputs[k].type == 'radio') {\r\n        if (inputs[k].checked == true) {\r\n          inputs[k].setAttribute('checked', 'checked')\r\n        }\r\n        else {\r\n          inputs[k].removeAttribute('checked')\r\n        }\r\n      }\r\n      else if (inputs[k].type == 'text') {\r\n        inputs[k].setAttribute('value', inputs[k].value)\r\n      }\r\n      else {\r\n        inputs[k].setAttribute('value', inputs[k].value)\r\n      }\r\n    }\r\n    for (let k2 = 0; k2 < textareas.length; k2++) {\r\n      if (textareas[k2].type == 'textarea') {\r\n        textareas[k2].innerHTML = textareas[k2].value\r\n      }\r\n    }\r\n    for (let k3 = 0; k3 < selects.length; k3++) {\r\n      if (selects[k3].type == 'select-one') {\r\n        const child = selects[k3].children\r\n        for (const i in child) {\r\n          if (child[i].tagName == 'OPTION') {\r\n            if (child[i].selected == true) {\r\n              child[i].setAttribute('selected', 'selected')\r\n            }\r\n            else {\r\n              child[i].removeAttribute('selected')\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    return this.dom.outerHTML\r\n  },\r\n  writeIframe(content) {\r\n    let w; let doc; const iframe = document.createElement('iframe')\r\n    const f = document.body.appendChild(iframe)\r\n    iframe.id = 'myIframe'\r\n    // iframe.style = \"position:absolute;width:0;height:0;top:-10px;left:-10px;\";\r\n    iframe.setAttribute('style', 'position:absolute;width:0;height:0;top:-10px;left:-10px;')\r\n    w = f.contentWindow || f.contentDocument\r\n    doc = f.contentDocument || f.contentWindow.document\r\n    doc.open()\r\n    doc.write(content)\r\n    doc.close()\r\n    const _this = this\r\n    iframe.onload = function() {\r\n      _this.toPrint(w)\r\n      setTimeout(() => {\r\n        document.body.removeChild(iframe)\r\n      }, 100)\r\n    }\r\n  },\r\n  toPrint(frameWindow) {\r\n    try {\r\n      setTimeout(() => {\r\n        frameWindow.focus()\r\n        try {\r\n          if (!frameWindow.document.execCommand('print', false, null)) {\r\n            frameWindow.print()\r\n          }\r\n        }\r\n        catch (e) {\r\n          frameWindow.print()\r\n        }\r\n        frameWindow.close()\r\n      }, 10)\r\n    }\r\n    catch (err) {\r\n      console.log('err', err)\r\n    }\r\n  },\r\n  isDOM: (typeof HTMLElement === 'object')\r\n    ? function(obj) {\r\n      return obj instanceof HTMLElement\r\n    }\r\n    : function(obj) {\r\n      return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string'\r\n    },\r\n}\r\nexport default Print\r\n","import axios from \"axios\";\r\nimport { Modal, message, notification } from \"ant-design-vue\";\r\nimport { config as sysConfig, tool } from 'elead-ui-tool-v3'\r\nimport { toLogin } from \"@/utils/sso\";\r\nimport { ref } from \"vue\";\r\n// 以下这些code需要重新登录\r\nconst reloadCodes = [401, 403, 1011007, 1011008];\r\nconst errorCodeMap = {\r\n\t400: \"发出的请求有错误，服务器没有进行新建或修改数据的操作。\",\r\n\t401: \"用户没有权限（令牌、用户名、密码错误）。\",\r\n\t403: \"用户得到授权，但是访问是被禁止的。\",\r\n\t404: \"发出的请求针对的是不存在的记录，服务器没有进行操作。\",\r\n\t406: \"请求的格式不可得。\",\r\n\t410: \"请求的资源被永久删除，且不会再得到的。\",\r\n\t422: \"当创建一个对象时，发生一个验证错误。\",\r\n\t500: \"服务器发生错误，请检查服务器。\",\r\n\t502: \"网关错误。\",\r\n\t503: \"服务不可用，服务器暂时过载或维护。\",\r\n\t504: \"网关超时。\"\r\n};\r\n// 定义一个重新登录弹出窗的变量\r\nconst loginBack = ref(false);\r\n// 创建 axios 实例\r\nconst service = axios.create({\r\n\tbaseURL: __APP_ENV__.VITE_APP_SSO_HOST_URL,\r\n\ttimeout: sysConfig?.TIMEOUT // 请求超时时间\r\n});\r\n// HTTP request 拦截器\r\nservice.interceptors.request.use(\r\n\t(config) => {\r\n\t\tconst token = tool.data.get(\"TOKEN\");\r\n\t\t//config.headers[\"response_type\"] = 'token';\r\n\r\n\t\tif (token) {\r\n\t\t\tconfig.headers[sysConfig?.TOKEN_NAME] = sysConfig?.TOKEN_PREFIX + token;\r\n\t\t\tconfig.headers[\"Authorization\"] = sysConfig?.TOKEN_PREFIX + token;\r\n\t\t\tconfig.headers[\"Token\"] = sysConfig?.TOKEN_PREFIX + token;\r\n\t\t} else {\r\n\t\t\t// 检查URL是否包含code参数（SSO回调）\r\n\t\t\tconst currentUrl = window.location.href;\r\n\t\t\tconst hasCodeInUrl = currentUrl.includes('code=');\r\n\r\n\t\t\tif (hasCodeInUrl) {\r\n\r\n\t\t\t} else {\r\n\t\t\t\t// 否则弹出确认框\r\n\t\t\t\tModal.confirm({\r\n\t\t\t\t\ttitle: '登录失败',\r\n\t\t\t\t\tcontent: '登录状态已失效，请重新登录',\r\n\t\t\t\t\tokText: '确定',\r\n\t\t\t\t\tcancelText: '取消',\r\n\t\t\t\t\tonOk: () => {\r\n\t\t\t\t\t\ttoLogin();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t// 阻止请求继续执行\r\n\t\t\t\treturn Promise.reject(new Error('登录状态已失效'));\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\t// 租户----start\r\n\t\tconst tenant = __APP_ENV__.VITE_APP_SSO_APP_KEY;\r\n\t\tif (tenant) {\r\n\t\t\tconfig.headers[sysConfig?.APP_KEY_NAME] = tenant;\r\n\t\t}\r\n\t\t// 租户----end\r\n\t\tif (!sysConfig?.REQUEST_CACHE && config.method === \"get\") {\r\n\t\t\tconfig.params = config.params || {};\r\n\t\t\tconfig.params._ = new Date().getTime();\r\n\t\t}\r\n\t\tObject.assign(config.headers, sysConfig?.HEADERS);\r\n\t\treturn config;\r\n\t},\r\n\t(error) => {\r\n\t\treturn Promise.reject(error);\r\n\t}\r\n);\r\n// 保持重新登录Modal的唯一性\r\nconst error = () => {\r\n\tloginBack.value = true;\r\n\tModal.error({\r\n\t\ttitle: \"提示：\",\r\n\t\tokText: \"重新登录\",\r\n\t\tcontent: \"登录已失效， 请重新登录\",\r\n\t\tonOk: () => {\r\n\t\t\tloginBack.value = false;\r\n\t\t\ttool.data.remove(\"TOKEN\");\r\n\t\t\ttool.data.remove(\"USER_INFO\");\r\n\t\t\ttool.data.remove(\"MENU\");\r\n\t\t\ttool.data.remove(\"PERMISSIONS\");\r\n\t\t\ttoLogin();\r\n\t\t}\r\n\t});\r\n};\r\n// HTTP response 拦截器\r\nservice.interceptors.response.use(\r\n\t(response) => {\r\n\t\t// 配置了blob，不处理直接返回文件流\r\n\t\tif (response.config.responseType === \"blob\") {\r\n\t\t\tif (response.status === 200) {\r\n\t\t\t\treturn response;\r\n\t\t\t} else {\r\n\t\t\t\tmessage.warning(\"文件下载失败或此文件不存在\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst data = response.data;\r\n\t\tconst code = data.code;\r\n\t\tif (reloadCodes.includes(code)) {\r\n\t\t\tif (!loginBack.value) {\r\n\t\t\t\terror();\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (code !== 200) {\r\n\t\t\tconst customErrorMessage = response.config.customErrorMessage;\r\n\t\t\tmessage.error(customErrorMessage || data.msg);\r\n\t\t\treturn Promise.reject(data);\r\n\t\t\t// 自定义错误提示，覆盖后端返回的message\r\n\t\t\t// 使用示例：\r\n\t\t\t// export function customerList (data) {\r\n\t\t\t//   return request('list', data, 'get', {\r\n\t\t\t//     customErrorMessage: '自定义错误消息提示'\r\n\t\t\t//   });\r\n\t\t\t// }\r\n\t\t} else {\r\n\t\t\t// 统一成功提示\r\n\t\t\tconst responseUrl = response.config.url;\r\n\t\t\tconst apiNameArray = [\r\n\t\t\t\t\"add\",\r\n\t\t\t\t\"edit\",\r\n\t\t\t\t\"delete\",\r\n\t\t\t\t\"update\",\r\n\t\t\t\t\"grant\",\r\n\t\t\t\t\"reset\",\r\n\t\t\t\t\"start\",\r\n\t\t\t\t\"stop\",\r\n\t\t\t\t\"pass\",\r\n\t\t\t\t\"disable\",\r\n\t\t\t\t\"enable\",\r\n\t\t\t\t\"revoke\",\r\n\t\t\t\t\"suspend\",\r\n\t\t\t\t\"active\",\r\n\t\t\t\t\"turn\",\r\n\t\t\t\t\"adjust\",\r\n\t\t\t\t\"reject\"\r\n\t\t\t];\r\n\t\t\tapiNameArray.forEach((apiName) => {\r\n\t\t\t\tif (responseUrl.includes(apiName)) {\r\n\t\t\t\t\tmessage.success(data.msg);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn Promise.resolve(data.data);\r\n\t},\r\n\t(err) => {\r\n\t\tif (err && typeof err === \"object\") {\r\n\t\t\tconst status = err?.response?.status;\r\n\t\t\tif (reloadCodes.includes(status)) {\r\n\t\t\t\tif (!loginBack.value) {\r\n\t\t\t\t\terror();\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconst description = err?.response?.data?.msg;\r\n\t\t\t// const description = errorCodeMap[status]\r\n\t\t\tnotification.error({\r\n\t\t\t\tmessage: \"请求错误\",\r\n\t\t\t\tduration: 10,\r\n\t\t\t\tdescription\r\n\t\t\t});\r\n\t\t\treturn Promise.reject(err);\r\n\t\t}\r\n\t\telse if (err.message.includes(\"timeout\")) {\r\n\t\t\tnotification.error({\r\n\t\t\t\tmessage: \"请求超时\",\r\n\t\t\t\tdescription: \"请检查您的网络是否正常\"\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tif (typeof err === \"string\") {\r\n\t\t\t\tnotification.error({\r\n\t\t\t\t\tmessage: \"请求错误\",\r\n\t\t\t\t\tdescription: err\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tnotification.error({\r\n\t\t\t\t\tmessage: \"请求错误\",\r\n\t\t\t\t\tdescription: \"请检查您的网络是否正常\"\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n);\r\nexport const appRequest = (url, value = {}, method = \"post\", options = {}) => {\r\n\turl = sysConfig?.SYS_BASE_CONFIG.SNOWY_SYS_API_URL + url;\r\n\treturn baseRequest(url, value, method, options);\r\n};\r\nexport const baseRequest = (url, value = {}, method = \"post\", options = {}) => {\r\n\t// url = sysConfig.API_URL + url\r\n\tif (method === \"post\") {\r\n\t\treturn service.post(url, value, options);\r\n\t} else if (method === \"put\") {\r\n\t\treturn service.put(url, value, options);\r\n\t} else if (method === \"get\") {\r\n\t\treturn service.get(url, {\r\n\t\t\tparams: value,\r\n\t\t\t...options\r\n\t\t});\r\n\t} else if (method === \"formdata\") {\r\n\t\treturn service({\r\n\t\t\tmethod: \"post\",\r\n\t\t\turl,\r\n\t\t\tdata: value,\r\n\t\t\t// 转换数据的方法\r\n\t\t\ttransformRequest: [\r\n\t\t\t\tfunction (data) {\r\n\t\t\t\t\tlet ret = \"\";\r\n\t\t\t\t\tfor (const it in data) {\r\n\t\t\t\t\t\tret += `${encodeURIComponent(it)}=${encodeURIComponent(data[it])}&`;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tret = ret.substring(0, ret.length - 1);\r\n\t\t\t\t\treturn ret;\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t// 设置请求头\r\n\t\t\theaders: {\r\n\t\t\t\t\"Content-Type\": \"multipart/form-data\"\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\nexport default service;\r\n","/*\r\n * @Description: 说明\r\n * @Author: ninZhiYong\r\n * @Date: 2022-11-16 08:34:25\r\n */\r\nimport axios from 'axios'\r\n\r\naxios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'\r\n\r\n// 创建axios实例\r\nconst service = axios.create({\r\n  baseURL: __APP_ENV__.VITE_APP_SSO_HOST_URL,\r\n  // 超时\r\n  timeout: 1000 * 60\r\n})\r\n\r\nexport default service\r\n","/**\r\n *  Copyright [2022] [https://www.xiaonuo.vip]\r\n *\tSnowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：\r\n *\t1.请不要删除和修改根目录下的LICENSE文档。\r\n *\t2.请不要删除和修改Snowy源码头部的版权声明。\r\n *\t3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文档的项目出处，作者声明等。\r\n *\t4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip\r\n *\t5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。\r\n *\t6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip\r\n */\r\n/**\r\n * 加解密的工具类\r\n * 使用：https://github.com/JuneAndGreen/sm-crypto\r\n *\r\n * @author yubaoshan\r\n */\r\nimport smCrypto from 'sm-crypto'\r\nconst sm2 = smCrypto.sm2\r\nconst sm3 = smCrypto.sm3\r\nconst sm4 = smCrypto.sm4\r\nconst cipherMode = 1 // 1 - C1C3C2，0 - C1C2C3，默认为1\r\nconst publicKey = '04298364ec840088475eae92a591e01284d1abefcda348b47eb324bb521bb03b0b2a5bc393f6b71dabb8f15c99a0050818b56b23f31743b93df9cf8948f15ddb54'\r\nconst privateKey = '3037723d47292171677ec8bd7dc9af696c7472bc5f251b2cec07e65fdef22e25'\r\nconst key = '0123456789abcdeffedcba9876543210'\r\n/**\r\n * 国密加解密工具类\r\n */\r\nexport default {\r\n\t// SM2加密\r\n\tdoSm2Encrypt(msgString) {\r\n\t\treturn sm2.doEncrypt(msgString, publicKey, cipherMode)\r\n\t},\r\n\t// SM2解密\r\n\tdoSm2Decrypt(encryptData) {\r\n\t\treturn sm2.doDecrypt(encryptData, privateKey, cipherMode)\r\n\t},\r\n\t// SM2数组加密\r\n\tdoSm2ArrayEncrypt(msgString) {\r\n\t\treturn sm2.doEncrypt(msgString, publicKey, cipherMode)\r\n\t},\r\n\t// SM2数组解密\r\n\tdoSm2ArrayDecrypt(encryptData) {\r\n\t\treturn sm2.doDecrypt(encryptData, privateKey, cipherMode, { output: 'array' })\r\n\t},\r\n\t// SM3哈希\r\n\tdoSm3Hash(msgString) {\r\n\t\treturn sm3(msgString)\r\n\t},\r\n\t// SM4 加密\r\n\tdoSm4Encrypt(msgString) {\r\n\t\treturn sm4.encrypt(msgString, key)\r\n\t},\r\n\t// SM4 CBC加密\r\n\tdoSm4CbcEncrypt(msgString) {\r\n\t\treturn sm4.encrypt(msgString, key, { mode: 'cbc', iv: 'fedcba98765432100123456789abcdef' })\r\n\t},\r\n\t// SM4 解密\r\n\tdoSm4Decrypt(encryptData) {\r\n\t\treturn sm4.decrypt(encryptData, key)\r\n\t},\r\n\t// SM4 CBC解密\r\n\tdoSm4CbcDecrypt(encryptData) {\r\n\t\treturn sm4.decrypt(encryptData, key, { mode: 'cbc', iv: 'fedcba98765432100123456789abcdef' })\r\n\t}\r\n}\r\n","import store from '@/store'\r\nexport const watermark = {\r\n\tset: function (text1, text2) {\r\n\t\tconst canvas = document.createElement('canvas')\r\n\t\tcanvas.width = 150\r\n\t\tcanvas.height = 120\r\n\t\tcanvas.style.display = 'none'\r\n\t\tconst shuiyin = canvas.getContext('2d')\r\n\t\t// 控制文字的旋转角度和上下位置\r\n\t\tshuiyin.rotate((-20 * Math.PI) / 180)\r\n\t\tshuiyin.translate(-50, 20)\r\n\t\t//文字颜色\r\n\t\tshuiyin.fillStyle = '#f5f5f5'\r\n\t\t//文字样式\r\n\t\tshuiyin.font = '100 16px Microsoft JhengHei '\r\n\t\tshuiyin.fillText(text1, canvas.width / 3, canvas.height / 2)\r\n\t\tshuiyin.fillText(text2, canvas.width / 3, canvas.height / 2 + 20)\r\n\t\t/* 新建一个用于填充canvas水印的标签，之所以没有直接在body上添加，\r\n           是因为z-index对个别内容影响，才考虑的不用body */\r\n\t\tconst watermark = document.createElement('div')\r\n\t\tconst styleStr = `\r\n            position:fixed;\r\n            top:0;\r\n            left:0;\r\n            width:100vw;\r\n            height:100vh;\r\n            z-index:99;\r\n            pointer-events:none;\r\n            background-repeat:repeat;\r\n            mix-blend-mode: multiply;\r\n            background-image:url('${canvas.toDataURL('image/png')}')`\r\n\t\twatermark.setAttribute('style', styleStr)\r\n\t\twatermark.classList.add('watermark')\r\n\t\tdocument.body.appendChild(watermark)\r\n\t\t//此方法是防止用户通过控制台修改样式去除水印效果\r\n\t\t/* MutationObserver 是一个可以监听DOM结构变化的接口。 */\r\n\t\tconst observer = new MutationObserver(() => {\r\n\t\t\tconst wmInstance = document.querySelector('.watermark')\r\n\t\t\tif ((wmInstance && wmInstance.getAttribute('style') !== styleStr) || !wmInstance) {\r\n\t\t\t\t//如果标签在，只修改了属性，重新赋值属性\r\n\t\t\t\tif (wmInstance) {\r\n\t\t\t\t\t// 避免一直触发\r\n\t\t\t\t\t// observer.disconnect();\r\n\t\t\t\t\t// console.log('水印属性修改了');\r\n\t\t\t\t\twmInstance.setAttribute('style', styleStr)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t/* 此处根据用户登录状态，判断是否终止监听，避免用户退出后登录页面仍然有水印 */\r\n\t\t\t\t\tif (store.getters.token) {\r\n\t\t\t\t\t\t//标签被移除，重新添加标签\r\n\t\t\t\t\t\t// console.log('水印标签被移除了');\r\n\t\t\t\t\t\tdocument.body.appendChild(watermark)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tobserver.disconnect()\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\tobserver.observe(document.body, {\r\n\t\t\tattributes: true,\r\n\t\t\tsubtree: true,\r\n\t\t\tchildList: true\r\n\t\t})\r\n\t},\r\n\tclose: function () {\r\n\t\t/* 关闭页面的水印，即要移除水印标签 */\r\n\t\tlet watermark = document.querySelector('.watermark')\r\n\t\tdocument.body.removeChild(watermark)\r\n\t}\r\n}\r\n// 使用方法\r\n// import { watermark } from '@/utils/watermark'\r\n// 添加水印\r\n// watermark.set('Snowy','xiaonuo.vip')\r\n// 移除水印,传 null 移除水印\r\n// watermark.close()\r\n","import {nextTick} from 'vue'\r\nexport const beforeEach = (to, from, store) => {\r\n\tconst adminMain = document.querySelector('#adminui-main')\r\n\tif (!adminMain) {\r\n\t\treturn false\r\n\t}\r\n\tstore.commit('updateViewTags', {\r\n\t\tfullPath: from.fullPath,\r\n\t\tscrollTop: adminMain.scrollTop\r\n\t})\r\n}\r\nexport const afterEach = (to,from, store) => {\r\n\tconst adminMain = document.querySelector('#adminui-main')\r\n\tif (!adminMain) {\r\n\t\treturn false\r\n\t}\r\n\tnextTick(() => {\r\n\t\tconst beforeRoute = store.state.viewTags.viewTags.filter((v) => v.fullPath == to.fullPath)[0]\r\n\t\tif (beforeRoute) {\r\n\t\t\tadminMain.scrollTop = beforeRoute.scrollTop || 0\r\n\t\t}\r\n\t})\r\n}\r\nexport default {\r\n\tbeforeEach, afterEach\r\n}\r\n","// 系统路由\r\nconst routes = [\r\n\t{\r\n\t\tname: 'layout',\r\n\t\tpath: '/',\r\n\t\tcomponent: () => import('layout/index.vue'),\r\n\t\t//redirect: tool.data.get('MENU') ? tool.data.get('MENU')[0].children[0].path : config.DASHBOARD_URL,\r\n\t\t//redirect: config.DASHBOARD_URL,\r\n\t\tchildren: []\r\n\t},\r\n\t{\r\n\t\tpath: '/codeCallback',\r\n\t\tcomponent: () => import('@/pagesDefault/auth/codeCallback.vue'),\r\n\t\tmeta: {\r\n\t\t\ttitle: '单点登录'\r\n\t\t}\r\n\t}\r\n]\r\nexport default routes\r\n","export default [\r\n\t//这个不能去掉\r\n\t{\r\n\t\tpath: '/codeCallback'\r\n\t},\r\n]\r\n","/*\r\n ** 全局注册Icon组件\r\n * 推荐前往https://icones.js.org下载图标的Vue文档，然后放在src/assets/icons文档里面\r\n * 这个网址有118个图标集，包括antd、bootstrap、eleme等累计140456个图标\r\n */\r\nimport { defineAsyncComponent } from 'vue'\r\nconst components = import.meta.glob('./**/*.vue') // 异步方式\r\nexport default function install(app) {\r\n\tfor (const [key, value] of Object.entries(components)) {\r\n\t\tconst name = key.slice(key.lastIndexOf('/') + 1, key.lastIndexOf('.'))\r\n\t\tapp.component(name, defineAsyncComponent(value))\r\n\t}\r\n}\r\n","/**\r\n *  Copyright [2022] [https://www.xiaonuo.vip]\r\n *\tSnowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：\r\n *\t1.请不要删除和修改根目录下的LICENSE文档。\r\n *\t2.请不要删除和修改Snowy源码头部的版权声明。\r\n *\t3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文档的项目出处，作者声明等。\r\n *\t4.分发源码时候，请注明软件出处 https://xiaonuo.vip\r\n *\t5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。\r\n *\t6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip\r\n */\r\nimport * as antdvIcons from '@ant-design/icons-vue'\r\nimport {config} from 'elead-ui-tool-v3'\r\nimport * as permission from '@/utils/permission'\r\nimport * as errorHandler from '@/utils/errorHandler'\r\nimport iconsJs from '@/utils/icons'\r\nimport {tool} from 'elead-ui-tool-v3'\r\nimport SnowyFormDesign from 'snowy-form-design'\r\nimport hljsVuePlugin from '@highlightjs/vue-plugin'\r\nexport default {\r\n\tinstall(app) {\r\n\t\t// 挂载全局对象\r\n\t\tapp.config.globalProperties.$CONFIG = config\r\n\t\tapp.config.globalProperties.$TOOL = tool\r\n\t\tapp.config.globalProperties.hasPerm = permission.hasPerm\r\n\t\t// 注册常用组件\r\n\t\t//app.component('STable', STable)\r\n\t\t//app.component('Ellipsis', Ellipsis)\r\n\t\t// 统一注册antdv图标\r\n\t\tfor (const icon in antdvIcons) {\r\n\t\t\tapp.component(icon, antdvIcons[icon])\r\n\t\t}\r\n\t\t// 统一注册自定义全局图标\r\n\t\tapp.use(iconsJs)\r\n\t\t// 注册表单设计器，如果您不需要流程设计相关功能，可以移除以减少体积\r\n\t\tapp.use(SnowyFormDesign)\r\n\t\t// 注册代码高亮组件 （博客：https://blog.csdn.net/weixin_41897680/article/details/124925222）\r\n\t\tapp.use(hljsVuePlugin)\r\n\t\t// 全局代码错误捕捉\r\n\t\tapp.config.errorHandler = errorHandler.errorHandler\r\n\t}\r\n}\r\n","// 中文转拼音 传入仅首字母\r\nimport pinyin from 'pinyin'\r\nObject.defineProperty(String.prototype, 'toPinyin', {\r\n\twritable: false,\r\n\tenumerable: false,\r\n\tconfigurable: true,\r\n\tvalue: function (first) {\r\n\t\tlet str = this\r\n\t\tif (pinyin) {\r\n\t\t\tif (first) {\r\n\t\t\t\treturn pinyin.getCamelChars(str).replace(/\\uD83C[\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDE4F]/g, '')\r\n\t\t\t}\r\n\t\t\treturn pinyin.getFullChars(str).replace(/\\uD83C[\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDE4F]/g, '')\r\n\t\t} else {\r\n\t\t\treturn str\r\n\t\t}\r\n\t}\r\n})\r\n// 字符检索 传入检索值\r\nObject.defineProperty(String.prototype, 'filter', {\r\n\twritable: false,\r\n\tenumerable: false,\r\n\tconfigurable: true,\r\n\tvalue: function (input) {\r\n\t\tlet str = this\r\n\t\tlet en = str.toLowerCase().includes(input.toLowerCase())\r\n\t\tlet zhFull = str.toPinyin().toLowerCase().includes(input.toLowerCase())\r\n\t\tlet zhFirst = str.toPinyin(true).toLowerCase().includes(input.toLowerCase())\r\n\t\treturn en || zhFull || zhFirst\r\n\t}\r\n})\r\n","import {nextTick} from 'vue'\r\nimport router from '@/router'\r\nimport store from '@/store'\r\nimport NProgress from 'NProgress'\r\nexport default {\r\n\t// 刷新标签\r\n\trefresh() {\r\n\t\tif (NProgress) {\r\n\t\t\tNProgress.start()\r\n\t\t}\r\n\t\tconst route = router.currentRoute.value\r\n\t\tstore.commit('removeKeepLive', route.name)\r\n\t\tstore.commit('setRouteShow', false)\r\n\t\tnextTick(() => {\r\n\t\t\tstore.commit('pushKeepLive', route.name)\r\n\t\t\tstore.commit('setRouteShow', true)\r\n\t\t\tif (NProgress) {\r\n\t\t\t\tNProgress.done()\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\t// 关闭标签\r\n\tclose(tag) {\r\n\t\tconst route = tag || router.currentRoute.value\r\n\t\tstore.commit('removeViewTags', route)\r\n\t\tstore.commit('removeIframeList', route)\r\n\t\tstore.commit('removeKeepLive', route.name)\r\n\t\tconst tagList = store.state.viewTags.viewTags\r\n\t\tconst latestView = tagList.slice(-1)[0]\r\n\t\tif (latestView) {\r\n\t\t\trouter.push(latestView)\r\n\t\t} else {\r\n\t\t\trouter.push('/')\r\n\t\t}\r\n\t},\r\n\t// 关闭标签后处理\r\n\tcloseNext(next) {\r\n\t\tconst route = router.currentRoute.value\r\n\t\tstore.commit('removeViewTags', route)\r\n\t\tstore.commit('removeIframeList', route)\r\n\t\tstore.commit('removeKeepLive', route.name)\r\n\t\tif (next) {\r\n\t\t\tconst tagList = store.state.viewTags.viewTags\r\n\t\t\tnext(tagList)\r\n\t\t}\r\n\t},\r\n\t// 关闭其他\r\n\tcloseOther() {\r\n\t\tconst route = router.currentRoute.value\r\n\t\tconst tagList = [...store.state.viewTags.viewTags]\r\n\t\ttagList.forEach((tag) => {\r\n\t\t\t// eslint-disable-next-line prettier/prettier\r\n\t\t\tif (tag.meta && tag.meta.affix || route.fullPath == tag.fullPath) {\r\n\t\t\t\treturn true\r\n\t\t\t} else {\r\n\t\t\t\tthis.close(tag)\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\t// 设置标题\r\n\tsetTitle(title) {\r\n\t\tstore.commit('updateViewTagsTitle', title)\r\n\t}\r\n}\r\n","//组件\r\nimport ArrowRight from '@/components/SvgIcons/ArrowRight'\r\nimport arrowRightMoreIcon from '@/components/SvgIcons/arrowRightMoreIcon'\r\nimport CaretDown from '@/components/SvgIcons/CaretDown'\r\nimport CaretLeft from '@/components/SvgIcons/CaretLeft'\r\nimport CaretRight from '@/components/SvgIcons/CaretRight'\r\nimport CaretUp from '@/components/SvgIcons/CaretUp'\r\nimport DeleteIcon from '@/components/SvgIcons/DeleteIcon'\r\nimport FileIcon from '@/components/SvgIcons/FileIcon'\r\nimport FolderIcon from '@/components/SvgIcons/FolderIcon'\r\nimport FolderIcon2 from '@/components/SvgIcons/FolderIcon2'\r\nimport FolderIcon3 from '@/components/SvgIcons/FolderIcon3'\r\nimport SvgClose from '@/components/SvgIcons/SvgClose'\r\nimport EleadButton from '@/components/eleadButton/Button'\r\nimport EleadIcon from '@/components/eleadIcon/Icon'\r\nimport BaseDrawer from '@/components/BaseDrawer/BaseDrawer'\r\nimport BaseTree from '@/components/BaseTree/BaseTree'\r\nimport DeptPicker from '@/components/DeptPicker/DeptPicker'\r\nimport DrawerPicker from '@/components/DrawerPicker/DrawerPicker'\r\nimport MemberPicker from '@/components/MemberPicker/MemberPicker'\r\nimport RolePicker from '@/components/RolePicker/RolePicker'\r\nimport PickerInput from '@/components/PickerInput/PickerInput'\r\nimport TopBar from '@/components/layout/TopBar'\r\nimport Tags from '@/components/layout/Tags'\r\nimport NavMenu from '@/components/layout/NavMenu'\r\nimport SmartAvatar from '@/components/SmartAvatar/SmartAvatar'\r\nimport UserBar from '@/components/layout/UserBar'\r\nimport IframeView from '@/components/layout/IframeView'\r\nimport LayoutIndex from '@/components/layout/LayoutIndex'\r\nimport Page403 from '@/components/layout/other/403'\r\nimport Page404 from '@/components/layout/other/404'\r\nimport PageEmpty from '@/components/layout/other/empty'\r\nimport STable from '@/components/Table/index.vue'\r\nimport SplitLayout from '@/components/SplitLayout/SplitLayout'\r\nimport SlideBtn from '@/components/SlideBtn/SlideBtn'\r\nimport FilePreview from '@/components/FilePreview/FilePreview'\r\nimport SearchForm from '@/components/SearchForm/SearchForm'\r\n//页面\r\nimport authLoginCodeCallback from '@/pagesDefault/auth/codeCallback'\r\nimport sysResourceSpaIndex from '@/pagesDefault/sys/resource/spa'\r\nimport sysResourceMenuIndex from '@/pagesDefault/sys/resource/menu'\r\nimport sysResourceModuleIndex from '@/pagesDefault/sys/resource/module'\r\nimport genIndex from '@/pagesDefault/gen'\r\nimport genBasic from '@/pagesDefault/gen/basic'\r\nimport genConfig from '@/pagesDefault/gen/config'\r\nimport genPreview from '@/pagesDefault/gen/preview'\r\nimport genSteps from '@/pagesDefault/gen/steps'\r\nimport devLogOplogIndex from '@/pagesDefault/dev/log/oplog'\r\nimport visLogPieChart from '@/pagesDefault/dev/log/vislog/pieChart'\r\nimport visLogLineChart from '@/pagesDefault/dev/log/vislog/lineChart'\r\nimport oplogColumnChart from '@/pagesDefault/dev/log/vislog/lineChart'\r\nimport oplogPieChart from '@/pagesDefault/dev/log/vislog/pieChart'\r\nimport vislogDetail from '@/pagesDefault/dev/log/vislog/detail'\r\nimport oplogDetail from '@/pagesDefault/dev/log/oplog/detail'\r\nimport devLogVislogIndex from '@/pagesDefault/dev/log/vislog'\r\nimport devConfigIndex from '@/pagesDefault/dev/config'\r\nimport devDictIndex from '@/pagesDefault/dev/dict'\r\nimport sysOrgIndex from '@/pagesDefault/sys/org'\r\nimport sysUserIndex from '@/pagesDefault/sys/user'\r\nimport sysUserUserCenter from '@/pagesDefault/sys/user/userCenter'\r\nimport sysPositionIndex from '@/pagesDefault/sys/position'\r\nimport sysRoleIndex from '@/pagesDefault/sys/role'\r\nimport devFileIndex from '@/pagesDefault/dev/file'\r\nimport devEmailIndex from '@/pagesDefault/dev/email'\r\n//系统组件\r\nimport menuTreeSelect from '@/comDefault/TreeSelect/menuTreeSelect'\r\nimport IconSelector from '@/comDefault/Selector/iconSelector'\r\nimport orgSelectorPlus from '@/comDefault/Selector/orgSelectorPlus'\r\nimport posSelectorPlus from '@/comDefault/Selector/posSelectorPlus'\r\nimport roleSelectorPlus from '@/comDefault/Selector/roleSelectorPlus'\r\nimport userComplete from '@/comDefault/Selector/userComplete'\r\nimport userSelectorPlus from '@/comDefault/Selector/userSelectorPlus'\r\nimport CButton from '@/comDefault/CButton/index'\r\nimport SelectDict from '@/comDefault/Dict/SelectDict'\r\nimport MemberSearchPicker from '@/comDefault/MemberSearchPicker/MemberSearchPicker'\r\nimport GUser from '@/comDefault/GUser/GUser'\r\nimport GPos from '@/comDefault/GPos/GPos'\r\nimport GDept from '@/comDefault/GDept/GDept'\r\nimport GRole from '@/comDefault/GRole/GRole'\r\nimport FileUpload from '@/comDefault/FileUpload/FileUpload'\r\n//工具\r\nimport type { App } from 'vue'\r\nimport * as util from '@/utils/util'\r\nimport useCommon from '@/utils/useCommon'\r\nimport downloadFile from '@/utils/downloadFile'\r\nimport * as other from '@/utils/other'\r\nimport { panesValues, replaceTag } from '@/utils/other'\r\nimport * as sso from '@/utils/sso'\r\nimport * as permission from '@/utils/permission'\r\nimport { hasPerm } from '@/utils/permission'\r\nimport * as color from '@/utils/color'\r\nimport * as themeUtil from '@/utils/themeUtil'\r\nimport * as errorHandler from '@/utils/errorHandler'\r\nimport * as formRules from '@/utils/formRules'\r\nimport { required, rules } from '@/utils/formRules'\r\nimport * as Print from '@/utils/print'\r\nimport * as request from '@/utils/request'\r\nimport { baseRequest, appRequest } from '@/utils/request'\r\nimport * as requestValid from '@/utils/requestValid'\r\nimport * as smCrypto from '@/utils/smCrypto'\r\nimport * as watermark from '@/utils/watermark'\r\nimport * as scrollBehavior from '@/routerUtil/scrollBehavior'\r\nimport * as sysRouter from '@/routerUtil/systemRouter'\r\nimport * as whiteListRouters from '@/routerUtil/whiteList'\r\nimport * as iconSelect from '@/utils/iconSelect'\r\nimport * as iconsJs from '@/utils/icons'\r\nimport * as snowy from '@/utils/snowy'\r\n//如果没有子菜单 组件命名 :\r\n// 浏览器路径 : /dev/vislog -> 组件路径 /dev/vislog -> devVislogIndex\r\n//如果有子菜单 组件命名 :\r\n// 浏览器路径 : /dev/vislog -> 组件路径 dev/log/vislog/index -> devLogVislogIndex\r\nimport '@/utils/objects'\r\nimport ModuleMenu from '@/components/layout/ModuleMenu'\r\nimport * as useTabs from '@/utils/useTabs'\r\nimport { installLibMethods, libFlowPackageMethods } from '@/utils/exportInstallMethods'\r\nimport { toCamelCaseWithDelimiter, setCache, getCache, removeCache } from '@/utils/util'\r\n//components 必须声明键的类型 , 不然 下面在引用 components[componentName] 的时候 , 会报错\r\nexport const components: { [key: string]: any } = {\r\n\tsysResourceModuleIndex,\r\n\tsysResourceMenuIndex,\r\n\tauthLoginCodeCallback,\r\n\tsysResourceSpaIndex,\r\n\tgenIndex,\r\n\tgenBasic,\r\n\tgenConfig,\r\n\tgenPreview,\r\n\tgenSteps,\r\n\tdevDictIndex,\r\n\tdevConfigIndex,\r\n\tdevLogVislogIndex,\r\n\tdevLogOplogIndex,\r\n\tvislogDetail,\r\n\tvisLogPieChart,\r\n\tvisLogLineChart,\r\n\toplogColumnChart,\r\n\toplogPieChart,\r\n\toplogDetail,\r\n\tsysOrgIndex,\r\n\tsysUserIndex,\r\n\tsysUserUserCenter,\r\n\tsysPositionIndex,\r\n\tdevFileIndex,\r\n\tdevEmailIndex,\r\n\tsysRoleIndex,\r\n\ticonSelector: IconSelector,\r\n\tmenuTreeSelect,\r\n\torgSelectorPlus,\r\n\tposSelectorPlus,\r\n\troleSelectorPlus,\r\n\tuserComplete,\r\n\tuserSelectorPlus,\r\n\tCButton,\r\n\tSelectDict,\r\n\tMemberSearchPicker,\r\n\tGUser,\r\n\tGPos,\r\n\tGDept,\r\n\tGRole,\r\n\tFileUpload,\r\n\tPage403,\r\n\tPage404,\r\n\tPageEmpty,\r\n\tPickerInput,\r\n\tEleadButton,\r\n\tEleadIcon,\r\n\tBaseDrawer,\r\n\tBaseTree,\r\n\tDeptPicker,\r\n\tDrawerPicker,\r\n\tMemberPicker,\r\n\tRolePicker,\r\n\tSvgClose,\r\n\tArrowRight,\r\n\tarrowRightMoreIcon,\r\n\tCaretDown,\r\n\tCaretLeft,\r\n\tCaretRight,\r\n\tCaretUp,\r\n\tDeleteIcon,\r\n\tFileIcon,\r\n\tFolderIcon,\r\n\tFolderIcon2,\r\n\tFolderIcon3,\r\n\tTopBar,\r\n\tTags,\r\n\tNavMenu,\r\n\tSmartAvatar,\r\n\tUserBar,\r\n\tIframeView,\r\n\tLayoutIndex,\r\n\tModuleMenu,\r\n\tSTable,\r\n\tSplitLayout,\r\n\tSlideBtn,\r\n\tFilePreview,\r\n\tSearchForm\r\n}\r\nconst install = (app: App, options = {}) => {\r\n\t//组件注册\r\n\tObject.keys(components).forEach((componentName: string) => {\r\n\t\tapp.component(componentName, components[componentName])\r\n\t})\r\n\t//注册util函数库\r\n\tapp.config.globalProperties.$util = util\r\n}\r\nexport {\r\n\tSearchForm,\r\n\tuseCommon,\r\n\tdownloadFile,\r\n\tpanesValues,\r\n\treplaceTag,\r\n\thasPerm,\r\n\tsysResourceModuleIndex,\r\n\tsysResourceMenuIndex,\r\n\tauthLoginCodeCallback,\r\n\tsysResourceSpaIndex,\r\n\tgenIndex,\r\n\tgenBasic,\r\n\tgenConfig,\r\n\tgenPreview,\r\n\tgenSteps,\r\n\tsetCache,\r\n\tgetCache,\r\n\tremoveCache,\r\n\tIconSelector,\r\n\tmenuTreeSelect,\r\n\torgSelectorPlus,\r\n\tposSelectorPlus,\r\n\troleSelectorPlus,\r\n\tuserComplete,\r\n\tuserSelectorPlus,\r\n\tCButton,\r\n\tSelectDict,\r\n\tMemberSearchPicker,\r\n\tGUser,\r\n\tGPos,\r\n\tGDept,\r\n\tGRole,\r\n\tFileUpload,\r\n\tdevDictIndex,\r\n\tdevConfigIndex,\r\n\tdevLogVislogIndex,\r\n\tvislogDetail,\r\n\tvisLogPieChart,\r\n\tvisLogLineChart,\r\n\toplogColumnChart,\r\n\toplogPieChart,\r\n\toplogDetail,\r\n\tdevLogOplogIndex,\r\n\tsysOrgIndex,\r\n\tsysUserIndex,\r\n\tsysUserUserCenter,\r\n\tsysPositionIndex,\r\n\tdevFileIndex,\r\n\tdevEmailIndex,\r\n\tsysRoleIndex,\r\n\tPage403,\r\n\tPage404,\r\n\tPageEmpty,\r\n\tPickerInput,\r\n\tEleadButton,\r\n\tEleadIcon,\r\n\tBaseDrawer,\r\n\tBaseTree,\r\n\tDeptPicker,\r\n\tDrawerPicker,\r\n\tMemberPicker,\r\n\tRolePicker,\r\n\tSvgClose,\r\n\tArrowRight,\r\n\tarrowRightMoreIcon,\r\n\tCaretDown,\r\n\tCaretLeft,\r\n\tCaretRight,\r\n\tCaretUp,\r\n\tDeleteIcon,\r\n\tFileIcon,\r\n\tFolderIcon,\r\n\tFolderIcon2,\r\n\tFolderIcon3,\r\n\tTopBar,\r\n\tTags,\r\n\tNavMenu,\r\n\tSmartAvatar,\r\n\tUserBar,\r\n\tIframeView,\r\n\tLayoutIndex,\r\n\tModuleMenu,\r\n\tSTable,\r\n\tSplitLayout,\r\n\tSlideBtn,\r\n\tFilePreview,\r\n\ttoCamelCaseWithDelimiter,\r\n\trules,\r\n\tsso,\r\n\tother,\r\n\tutil,\r\n\tlibFlowPackageMethods,\r\n\tinstallLibMethods,\r\n\tscrollBehavior,\r\n\tsysRouter,\r\n\twhiteListRouters,\r\n\ticonSelect,\r\n\tcolor,\r\n\tthemeUtil,\r\n\terrorHandler,\r\n\tformRules,\r\n\trequired,\r\n\tpermission,\r\n\trequest,\r\n\trequestValid,\r\n\tsmCrypto,\r\n\tuseTabs,\r\n\twatermark,\r\n\ticonsJs,\r\n\tPrint,\r\n\tbaseRequest,\r\n\tappRequest,\r\n\tsnowy\r\n}\r\n//这个需要default导出\r\n//主项目全局注册后会调用install import eleadComponentsV3 from 'elead-components-v3'\r\n//app.use(eleadComponentsV3)\r\nexport default {\r\n\tinstall\r\n}\r\n"],"names":["_createElementBlock","_normalizeStyle","_createElementVNode","_openBlock","_hoisted_1","_createVNode","_unref","_hoisted_5","_createBlock","_hoisted_2","_hoisted_3","_renderSlot","_hoisted_4","components","data","props","Object","assign","Tree","showChildrenCount","type","default","undefined","watch","created","mounted","methods","trans","keys","transData","go","item","newItem","i","length","push","hasOwnProperty","children","listToTree","list","childrenKey","parentIdKey","map","node","roots","id","defaultExpandAction","treeData","expandKeys","forEach","res","setNodeAttrByNodeId","arrValue","values","$props","key","value","render","class","slots","$slots","switcherIcon","scope","expanded","_resolveComponent","fontSize","title","_Fragment","Array","isArray","_createTextVNode","action","icon","tree","index","_normalizeClass","_withCtx","_toDisplayString","selected","_renderList","panesValues","_sfc_main","module","tag","_resolveDynamicComponent","_normalizeProps","_mergeProps","e","t","h","n","r","o","c","s","l","a","u","f","p","m","v","g","b","w","d","y","O","I","x","k","N","S","C","error","ssoUrl","sso.toLogin","_withDirectives","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_createCommentVNode","_KeepAlive","_sfc_render","_isSlot","prototype","toString","call","_isVNode","draggable","columnSetting","showOperator","needTotalList","selectedRows","selectedRowKeys","localLoading","localDataSource","localPagination","pagination","isFullscreen","customSize","compSize","columnsSetting","localSettings","rowClassName","rowClassNameSwitch","Boolean","uploadLoading","tableProps","pageSizeOptions","rowKey","String","Function","required","pageNum","Number","size","showSizeChanger","alert","rowSelection","showAlertInfo","showPagination","pageURI","extraTool","toolConfig","refresh","height","striped","operatorConfig","val","$router","$route","name","params","current","columns","localPageNum","parseInt","includes","showTotal","total","range","initTotalList","loadData","bool","filters","sorter","parameter","pageSize","field","sortField","order","sortOrder","result","then","records","hideOnSinglePage","totalList","column","needTotal","updateSelect","reduce","sum","get","dataIndex","isNaN","clearSelected","onChange","clearRefreshSelected","renderClear","callback","onClick","renderAlert","needTotalItems","customRender","clearItem","clear","message","columnChange","getButtonType","config","buttonType","text","renderOperatorButtons","buttons","isVisible","visible","isDisabled","disabled","confirmTitle","okText","cancelText","danger","padding","marginRight","ref","uploadProps","accept","headers","showUploadList","uploadUrl","showFileList","autoUpload","multiple","onSuccess","onError","beforeUpload","display","loading","filter","buttonsWithDividers","button","alignItems","handleResizeColumn","col","width","renderHeader","tools","isDropdown","menu","isPopover","concat","changeRowClass","target","checked","evenClass","_record","gap","flexWrap","pageInfo","operator","justifyContent","margin","tool","toolElement","cursor","marginLeft","wrappedElement","localKeys","$data","showAlert","show","localKey","substring","toUpperCase","table","onExpand","record","$emit","cachePrefix","url","_hoisted_6","router","formRules","$TOOL","Form","_hoisted_7","detail","param","remove","removeUser","checkedKeys","drawerWidth","PositionApi","OrganizationApi","SysRoleApi","color","service","sysConfig","smCrypto","watermark","store","install","permission.hasPerm","iconsJs","errorHandler.errorHandler","visLogPieChart","visLogLineChart"],"mappings":"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A;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACA;AAAA,QACD;AAAA,QACD;AAAA,UACC,MAAM;AAAA,UACN,KAAK;AAAA,UACL,MAAM;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACA;AAAA,QACD;AAAA,QACD;AAAA,UACC,MAAM;AAAA,UACN,KAAK;AAAA,UACL,MAAM;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YAC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"}