diff --git a/dynamicTheme.js b/dynamicTheme.js new file mode 100644 index 0000000..70a9a27 --- /dev/null +++ b/dynamicTheme.js @@ -0,0 +1,377 @@ +/** ele admin pro dynamic theme plugin license by http://eleadmin.com */ +/** + * 需要修改的less变量 + */ +const variables = { + // Blue + '@blue-1': 'var(--blue-1)', + '@blue-2': 'var(--blue-2)', + '@blue-3': 'var(--blue-3)', + '@blue-4': 'var(--blue-4)', + '@blue-5': 'var(--blue-5)', + '@blue-6': 'var(--blue-6)', + '@blue-7': 'var(--blue-7)', + '@blue-8': 'var(--blue-8)', + '@blue-9': 'var(--blue-9)', + '@blue-10': 'var(--blue-10)', + // Green + '@green-1': 'var(--green-1)', + '@green-2': 'var(--green-2)', + '@green-3': 'var(--green-3)', + '@green-4': 'var(--green-4)', + '@green-5': 'var(--green-5)', + '@green-6': 'var(--green-6)', + '@green-7': 'var(--green-7)', + '@green-8': 'var(--green-8)', + '@green-9': 'var(--green-9)', + '@green-10': 'var(--green-10)', + // Red + '@red-1': 'var(--red-1)', + '@red-2': 'var(--red-2)', + '@red-3': 'var(--red-3)', + '@red-4': 'var(--red-4)', + '@red-5': 'var(--red-5)', + '@red-6': 'var(--red-6)', + '@red-7': 'var(--red-7)', + '@red-8': 'var(--red-8)', + '@red-9': 'var(--red-9)', + '@red-10': 'var(--red-10)', + // Gold + '@gold-1': 'var(--gold-1)', + '@gold-2': 'var(--gold-2)', + '@gold-3': 'var(--gold-3)', + '@gold-4': 'var(--gold-4)', + '@gold-5': 'var(--gold-5)', + '@gold-6': 'var(--gold-6)', + '@gold-7': 'var(--gold-7)', + '@gold-8': 'var(--gold-8)', + '@gold-9': 'var(--gold-9)', + '@gold-10': 'var(--gold-10)', + // Purple + '@purple-1': 'var(--purple-1)', + '@purple-2': 'var(--purple-2)', + '@purple-3': 'var(--purple-3)', + '@purple-4': 'var(--purple-4)', + '@purple-5': 'var(--purple-5)', + '@purple-6': 'var(--purple-6)', + '@purple-7': 'var(--purple-7)', + '@purple-8': 'var(--purple-8)', + '@purple-9': 'var(--purple-9)', + '@purple-10': 'var(--purple-10)', + // Cyan + '@cyan-1': 'var(--cyan-1)', + '@cyan-2': 'var(--cyan-2)', + '@cyan-3': 'var(--cyan-3)', + '@cyan-4': 'var(--cyan-4)', + '@cyan-5': 'var(--cyan-5)', + '@cyan-6': 'var(--cyan-6)', + '@cyan-7': 'var(--cyan-7)', + '@cyan-8': 'var(--cyan-8)', + '@cyan-9': 'var(--cyan-9)', + '@cyan-10': 'var(--cyan-10)', + // Pink + '@pink-1': 'var(--pink-1)', + '@pink-2': 'var(--pink-2)', + '@pink-3': 'var(--pink-3)', + '@pink-4': 'var(--pink-4)', + '@pink-5': 'var(--pink-5)', + '@pink-6': 'var(--pink-6)', + '@pink-7': 'var(--pink-7)', + '@pink-8': 'var(--pink-8)', + '@pink-9': 'var(--pink-9)', + '@pink-10': 'var(--pink-10)', + // Orange + '@orange-1': 'var(--orange-1)', + '@orange-2': 'var(--orange-2)', + '@orange-3': 'var(--orange-3)', + '@orange-4': 'var(--orange-4)', + '@orange-5': 'var(--orange-5)', + '@orange-6': 'var(--orange-6)', + '@orange-7': 'var(--orange-7)', + '@orange-8': 'var(--orange-8)', + '@orange-9': 'var(--orange-9)', + '@orange-10': 'var(--orange-10)', + // Colors + '@primary-color': 'var(--primary-color)', + '@info-color': 'var(--info-color)', + '@success-color': 'var(--success-color)', + '@processing-color': 'var(--processing-color)', + '@error-color': 'var(--error-color)', + '@highlight-color': 'var(--highlight-color)', + '@warning-color': 'var(--warning-color)', + // Color used by default to control hover and active backgrounds + '@primary-1': 'var(--primary-1)', + '@primary-2': 'var(--primary-2)', + '@primary-3': 'var(--primary-3)', + '@primary-4': 'var(--primary-4)', + '@primary-5': 'var(--primary-5)', + '@primary-6': 'var(--primary-6)', + '@primary-7': 'var(--primary-7)', + '@primary-8': 'var(--primary-8)', + '@primary-9': 'var(--primary-9)', + '@primary-10': 'var(--primary-10)', + // Background color + '@body-background': 'var(--body-background)', + '@component-background': 'var(--component-background)', + // Popover + '@popover-background': 'var(--popover-background)', + '@popover-customize-border-color': 'var(--popover-customize-border-color)', + // Text Color + '@text-color': 'var(--text-color)', + '@text-color-secondary': 'var(--text-color-secondary)', + '@text-color-inverse': 'var(--text-color-inverse)', + '@icon-color-hover': 'var(--icon-color-hover)', + '@heading-color': 'var(--heading-color)', + // The background colors for active and hover states for things like + '@item-hover-bg': 'var(--item-hover-bg)', + // LINK + '@link-hover-color': '@primary-5', + '@link-active-color': '@primary-7', + // Border color + '@border-color-base': 'var(--border-color-base)', + '@border-color-split': 'var(--border-color-split)', + '@border-color-inverse': 'var(--border-color-inverse)', + // Outline + '@background-color-light': 'var(--background-color-light)', + '@background-color-base': 'var(--background-color-base)', + // Disabled states + '@disabled-color': 'var(--disabled-color)', + '@disabled-bg': 'var(--disabled-bg)', + '@disabled-color-dark': 'var(--disabled-color-dark)', + // Shadow + '@shadow-color': 'var(--shadow-color)', + '@box-shadow-base': 'var(--box-shadow-base)', + '@shadow-1-up': 'var(--shadow-1-up)', + '@shadow-1-down': 'var(--shadow-1-down)', + '@shadow-1-left': 'var(--shadow-1-left)', + '@shadow-1-right': 'var(--shadow-1-right)', + '@shadow-2': 'var(--shadow-2)', + // Buttons + '@btn-shadow': 'var(--btn-shadow)', + '@btn-primary-shadow': 'var(--btn-primary-shadow)', + '@btn-text-shadow': 'var(--btn-text-shadow)', + '@btn-default-bg': 'var(--btn-default-bg)', + '@btn-danger-bg': '@error-color', + '@btn-danger-border': '@error-color', + '@btn-default-ghost-color': 'var(--btn-default-ghost-color)', + '@btn-default-ghost-border': 'var(--btn-default-ghost-border)', + '@btn-text-hover-bg': 'var(--btn-text-hover-bg)', + // Checkbox + '@checkbox-check-bg': 'var(--checkbox-check-bg)', + // Descriptions + '@descriptions-bg': 'var(--descriptions-bg)', + // Divider + '@divider-color': 'var(--divider-color)', + // Dropdown + '@dropdown-menu-submenu-disabled-bg': 'var(--dropdown-menu-submenu-disabled-bg)', + // Radio + '@radio-dot-disabled-color': 'var(--radio-dot-disabled-color)', + '@radio-solid-checked-color': 'var(--radio-solid-checked-color)', + '@radio-focused-outline': '3px solid @primary-1', // var(--primary-fade-6) + // Radio buttons + '@radio-disabled-button-checked-bg': 'var(--radio-disabled-button-checked-bg)', + // Layout + '@layout-body-background': 'var(--layout-body-background)', + '@layout-header-background': 'var(--layout-header-background)', + '@layout-trigger-background': 'var(--layout-trigger-background)', + // Dropdown + '@dropdown-menu-bg': 'var(--dropdown-menu-bg)', + // Input + '@input-placeholder-color': 'var(--input-placeholder-color)', + '@input-icon-color': 'var(--input-icon-color)', + '@input-bg': 'var(--input-bg)', + '@input-number-handler-active-bg': 'var(--input-number-handler-active-bg)', + '@input-icon-hover-color': 'var(--input-icon-hover-color)', + // Mentions + '@mentions-dropdown-bg': 'var(--mentions-dropdown-bg)', + // Select + '@select-dropdown-bg': 'var(--select-dropdown-bg)', + '@select-background': 'var(--select-background)', + '@select-clear-background': 'var(--select-clear-background)', + '@select-selection-item-bg': 'var(--select-selection-item-bg)', + '@select-selection-item-border-color': 'var(--select-selection-item-border-color)', + '@select-multiple-disabled-background': 'var(--select-multiple-disabled-background)', + '@select-multiple-item-disabled-color': 'var(--select-multiple-item-disabled-color)', + '@select-multiple-item-disabled-border-color': 'var(--select-multiple-item-disabled-border-color)', + // Cascader + '@cascader-bg': 'var(--cascader-bg)', + '@cascader-menu-bg': 'var(--cascader-menu-bg)', + '@cascader-menu-border-color-split': 'var(--cascader-menu-border-color-split)', + // Tooltip + '@tooltip-bg': 'var(--tooltip-bg)', + // Popover + '@popover-bg': 'var(--popover-bg)', + // Modal + '@modal-header-bg': 'var(--modal-header-bg)', + '@modal-header-border-color-split': 'var(--modal-header-border-color-split)', + '@modal-content-bg': 'var(--modal-content-bg)', + '@modal-footer-border-color-split': 'var(--modal-footer-border-color-split)', + // Menu + '@menu-popup-bg': 'var(--menu-popup-bg)', + '@menu-dark-bg': 'var(--menu-dark-bg)', + '@menu-dark-submenu-bg': 'var(--menu-dark-submenu-bg)', + // Table + '@table-header-bg': 'var(--table-header-bg)', + '@table-header-sort-bg': 'var(--table-header-sort-bg)', + '@table-body-sort-bg': 'var(--table-body-sort-bg)', + '@table-row-hover-bg': 'var(--table-row-hover-bg)', + '@table-selected-row-hover-bg': '@primary-1', + '@table-expanded-row-bg': 'var(--table-expanded-row-bg)', + '@table-header-sort-active-bg': 'var(--table-header-sort-active-bg)', + '@table-header-filter-active-bg': 'var(--table-header-filter-active-bg)', + // Badge + '@badge-text-color': '@white', + // Rate + '@rate-star-bg': 'var(--rate-star-bg)', + // Card + '@card-actions-background': 'var(--card-actions-background)', + '@card-skeleton-bg': 'var(--card-skeleton-bg)', + '@card-shadow': 'var(--card-shadow)', + '@gradient-min': 'var(--gradient-min)', + '@gradient-max': 'var(--gradient-max)', + // Comment + '@comment-bg': 'var(--comment-bg)', + '@comment-author-time-color': 'var(--comment-author-time-color)', + '@comment-action-hover-color': 'var(--comment-action-hover-color)', + // BackTop + '@back-top-bg': 'var(--back-top-bg)', + '@back-top-hover-bg': 'var(--back-top-hover-bg)', + // Avatar + '@avatar-bg': 'var(--avatar-bg)', + // Switch + '@switch-bg': '@white', + // Pagination + '@pagination-item-bg': 'var(--pagination-item-bg)', + '@pagination-item-bg-active': 'var(--pagination-item-bg-active)', + '@pagination-item-link-bg': 'var(--pagination-item-link-bg)', + '@pagination-item-disabled-color-active': 'var(--pagination-item-disabled-color-active)', + '@pagination-item-disabled-bg-active': 'var(--pagination-item-disabled-bg-active)', + '@pagination-item-input-bg': 'var(--pagination-item-input-bg)', + // PageHeader + '@page-header-back-color': 'var(--page-header-back-color)', + // Slider + '@slider-rail-background-color': 'var(--slider-rail-background-color)', + '@slider-rail-background-color-hover': 'var(--slider-rail-background-color-hover)', + '@slider-handle-color-focus': '@primary-5', + '@slider-handle-color-focus-shadow': 'var(--primary-fade-20)', + '@slider-dot-border-color': 'var(--slider-dot-border-color)', + '@slider-dot-border-color-active': 'var(--slider-dot-border-color)', + // Skeleton + '@skeleton-to-color': 'var(--skeleton-to-color)', + // Transfer + '@transfer-item-hover-bg': 'var(--transfer-item-hover-bg)', + // Message + '@message-notice-content-bg': 'var(--message-notice-content-bg)', + // Alert + '@alert-success-border-color': '@green-3', + '@alert-success-bg-color': '@green-1', + '@alert-success-icon-color': '@success-color', + '@alert-info-border-color': '@primary-3', + '@alert-info-bg-color': '@primary-1', + '@alert-info-icon-color': '@primary-color', + '@alert-warning-border-color': '@gold-3', + '@alert-warning-bg-color': '@gold-1', + '@alert-warning-icon-color': '@warning-color', + '@alert-error-border-color': '@red-3', + '@alert-error-bg-color': '@red-1', + '@alert-error-icon-color': '@error-color', + // Drawer + '@drawer-bg': 'var(--drawer-bg)', + // Timeline + '@timeline-color': 'var(--timeline-color)', + '@timeline-dot-color': 'var(--timeline-dot-color)', + // Image + '@image-preview-operation-disabled-color': 'var(--image-preview-operation-disabled-color)', + // Steps + '@steps-nav-arrow-color': 'var(--steps-nav-arrow-color)', + '@steps-background': 'var(--steps-background)', + // Notification + '@notification-bg': 'var(--notification-bg)', +}; + +/** + * 需要替换的内容 + */ +const replaces = { + // input/style/mixin.less + 'fade(@color, 20%)': 'ele-fade(@color, 20%)', + // layout/style/index.less + //'tint(@layout-sider-background, 10%)': 'var(--layout-sider-background-1)', + // notification/style/index.less + 'shade(@text-color-secondary, 40%)': '@text-color', + // popover/style/index.less + 'box-shadow: ~\'0 0 8px @{shadow-color} \\9\';': '', + // radio/style/index.less + 'fade(@radio-dot-color, 8%)': 'var(--primary-fade-8)', + // switch/style/index.less + 'fade(@switch-color, 20%)': 'var(--primary-fade-20)', + // menu/style/index.less + 'fade(@primary-color, 20%)': 'var(--primary-fade-20)', + // button/style/mixin.less + 'fadein(@btn-text-hover-bg, 1%)': 'var(--btn-text-active-bg)' +}; + +/** + * 修改less变量的预处理器 + */ +class AntdLessPreProcessor { + constructor(variables, replaces) { + this.variables = variables || {}; + this.replaces = replaces || {}; + } + + process(src) { + let result = src; + Object.keys(this.variables).forEach((key) => { + result = result.replace(new RegExp(key + ':[^;]*;', 'g'), key + ': ' + this.variables[key] + ';'); + }); + Object.keys(this.replaces).forEach((key) => { + //result = result.replaceAll(key, this.replaces[key]); + // replaceAll以及正则如果含有符号容易报错, 使用如下实现全部替换 + result = result.split(key).join(this.replaces[key]); + }); + return result; + } +} + +/** + * 转换antd变量的less插件 + */ +class DynamicAntdLess { + constructor(opt) { + this.option = { + variables: Object.assign({}, variables, opt ? opt.variables : null), + replaces: Object.assign({}, replaces, opt ? opt.replaces : null), + }; + } + + install(less, manager, functions) { + // 添加预处理器 + manager.addPreProcessor(new AntdLessPreProcessor(this.option.variables, this.option.replaces), 2000); + + // 添加自定义函数, 替代fade函数以支持var() + const call = (name, ...args) => new less.tree.Call(name, [new less.tree.Expression(args)]); + functions.add('ele-fade', (node, amount) => { + if (node.name === 'var') { + const color = node.args[0].value; + if (color === '--primary-color' || color === '--info-color') { + return call('var', new less.tree.Anonymous('--primary-fade-' + amount.value)); + } + if (color === '--error-color' || color === '--highlight-color') { + return call('var', new less.tree.Anonymous('--error-fade-' + amount.value)); + } + if (color === '--warning-color') { + return call('var', new less.tree.Anonymous('--warning-fade-' + amount.value)); + } + if (color === '--success-color') { + return call('var', new less.tree.Anonymous('--success-fade-' + amount.value)); + } + return call('var', new less.tree.Anonymous(color + '-fade-unknown')); + } + const f = functions.get('fade'); + return f ? f(node, amount) : node; + }); + } +} + +module.exports = DynamicAntdLess; diff --git a/package-lock.json b/package-lock.json index d96158c..f473ed1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,6 @@ "cropperjs": "~1.5.12", "echarts": "~5.1.2", "echarts-wordcloud": "~2.0.0", - "ele-admin-pro": "~1.5.0", "lodash": "^4.17.21", "nprogress": "~0.2.0", "tinymce": "~5.8.2", @@ -3525,9 +3524,9 @@ } }, "node_modules/@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", "dev": true, "dependencies": { "@types/connect": "*", @@ -3535,18 +3534,18 @@ } }, "node_modules/@types/connect": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", - "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.4.tgz", - "integrity": "sha512-Kf8v0wljR5GSCOCF/VQWdV3ZhKOVA73drXtY3geMTQgHy9dgqQ0dLrf31M0hcuWkhFzK5sP0kkS3mJzcKVtZbw==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", "dev": true, "dependencies": { "@types/express-serve-static-core": "*", @@ -3559,9 +3558,9 @@ "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==" }, "node_modules/@types/express": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", - "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "dependencies": { "@types/body-parser": "*", @@ -3571,9 +3570,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.21.tgz", - "integrity": "sha512-gwCiEZqW6f7EoR8TTEfalyEhb1zA5jQJnRngr97+3pzMaO1RKoI1w2bw07TK72renMUVWcWS5mLI6rk1NqN0nA==", + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", "dev": true, "dependencies": { "@types/node": "*", @@ -3592,9 +3591,9 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.6.tgz", - "integrity": "sha512-+qsjqR75S/ib0ig0R9WN+CDoZeOBU6F2XLewgC4KVgdXiNHiKKHFEMRHOrs5PbYE97D5vataw5wPj4KLYfUkuQ==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", + "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", "dev": true, "dependencies": { "@types/node": "*" @@ -3624,9 +3623,9 @@ "dev": true }, "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "node_modules/@types/node": { @@ -3648,21 +3647,21 @@ "dev": true }, "node_modules/@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, "node_modules/@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "node_modules/@types/serve-static": { - "version": "1.13.9", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", - "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, "dependencies": { "@types/mime": "^1", @@ -3676,24 +3675,24 @@ "dev": true }, "node_modules/@types/tapable": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", - "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", "dev": true }, "node_modules/@types/uglify-js": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", - "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", + "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", "dev": true, "dependencies": { "source-map": "^0.6.1" } }, "node_modules/@types/webpack": { - "version": "4.41.29", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.29.tgz", - "integrity": "sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q==", + "version": "4.41.30", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.30.tgz", + "integrity": "sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA==", "dev": true, "dependencies": { "@types/node": "*", @@ -3705,9 +3704,9 @@ } }, "node_modules/@types/webpack-dev-server": { - "version": "3.11.4", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.4.tgz", - "integrity": "sha512-DCKORHjqNNVuMIDWFrlljftvc9CL0+09p3l7lBpb8dRqgN5SmvkWCY4MPKxoI6wJgdRqohmoNbptkxqSKAzLRg==", + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.5.tgz", + "integrity": "sha512-vjsbQBW3fE5FDICkF3w3ZWFRXNwQdKt7JRPLmRy5W0KXlcuew4wgpKWXhgHS71iLNv7Z2PlY9dSSIaYg+bk+9w==", "dev": true, "dependencies": { "@types/connect-history-api-fallback": "*", @@ -3718,9 +3717,9 @@ } }, "node_modules/@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.1.tgz", + "integrity": "sha512-MjM1R6iuw8XaVbtkCBz0N349cyqBjJHCbQiOeppe3VBeFvxqs74RKHAVt9LkxTnUWc7YLZOEsUfPUnmK6SBPKQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -4137,6 +4136,50 @@ "node": ">=0.4.0" } }, + "node_modules/@vue/cli-service/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vue/cli-service/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/@vue/cli-service/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@vue/cli-service/node_modules/fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -4163,6 +4206,20 @@ "node": ">= 8" } }, + "node_modules/@vue/cli-service/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@vue/cli-shared-utils": { "version": "4.5.13", "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.13.tgz", @@ -4388,11 +4445,6 @@ "@vue/shared": "3.1.5" } }, - "node_modules/@vue/reactivity/node_modules/@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - }, "node_modules/@vue/runtime-core": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.5.tgz", @@ -4402,11 +4454,6 @@ "@vue/shared": "3.1.5" } }, - "node_modules/@vue/runtime-core/node_modules/@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - }, "node_modules/@vue/runtime-dom": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.5.tgz", @@ -4417,11 +4464,6 @@ "csstype": "^2.6.8" } }, - "node_modules/@vue/runtime-dom/node_modules/@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - }, "node_modules/@vue/shared": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", @@ -5968,19 +6010,6 @@ "node": ">=8" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/chokidar/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6234,61 +6263,69 @@ } }, "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/clone": { @@ -6586,9 +6623,9 @@ } }, "node_modules/compression-webpack-plugin/node_modules/ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dev": true, "dependencies": { "minipass": "^3.1.1" @@ -7569,6 +7606,14 @@ "node": ">=0.10" } }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -8227,17 +8272,6 @@ "node": ">=0.10.0" } }, - "node_modules/ele-admin-pro": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ele-admin-pro/-/ele-admin-pro-1.5.0.tgz", - "integrity": "sha512-nKjzN895isvwuI+0O9HlIvxw4kbzFMuJqwVbVFuF2IcyrnvVeHouar7rOmHygDFL0k2Wzfy1RgSlp3Z8iUUKeA==", - "peerDependencies": { - "ant-design-vue": ">=2.0.0", - "nprogress": ">=0.2.0", - "vue": ">=3.0.0", - "vuedraggable": ">=4.0.0" - } - }, "node_modules/electron-to-chromium": { "version": "1.3.752", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", @@ -9723,9 +9757,9 @@ } }, "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" @@ -13262,9 +13296,9 @@ } }, "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", "dev": true, "dependencies": { "ts-pnp": "^1.1.6" @@ -16917,9 +16951,9 @@ } }, "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz", + "integrity": "sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==", "dev": true, "dependencies": { "chownr": "^2.0.0", @@ -17918,15 +17952,24 @@ }, "node_modules/vue-loader-v16": { "name": "vue-loader", - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz", - "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==", + "version": "16.4.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.4.1.tgz", + "integrity": "sha512-nL1bDhfMAZgTVmVkOXQaK/WJa9zFDLM9vKHbh5uGv6HeH1TmZrXMWUEVhUrACT38XPhXM4Awtjj25EvhChEgXw==", "dev": true, "optional": true, "dependencies": { "chalk": "^4.1.0", "hash-sum": "^2.0.0", "loader-utils": "^2.0.0" + }, + "peerDependencies": { + "@vue/compiler-sfc": "^3.0.8", + "webpack": "^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + } } }, "node_modules/vue-loader-v16/node_modules/ansi-styles": { @@ -17946,9 +17989,9 @@ } }, "node_modules/vue-loader-v16/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "optional": true, "dependencies": { @@ -18053,6 +18096,18 @@ "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", "dev": true }, + "node_modules/vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, "node_modules/vue-template-es2015-compiler": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", @@ -18073,32 +18128,6 @@ "vue": "^3.0.0" } }, - "node_modules/vue/node_modules/@vue/compiler-core": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.5.tgz", - "integrity": "sha512-TXBhFinoBaXKDykJzY26UEuQU1K07FOp/0Ie+OXySqqk0bS0ZO7Xvl7UmiTUPYcLrWbxWBR7Bs/y55AI0MNc2Q==", - "dependencies": { - "@babel/parser": "^7.12.0", - "@babel/types": "^7.12.0", - "@vue/shared": "3.1.5", - "estree-walker": "^2.0.1", - "source-map": "^0.6.1" - } - }, - "node_modules/vue/node_modules/@vue/compiler-dom": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.5.tgz", - "integrity": "sha512-ZsL3jqJ52OjGU/YiT/9XiuZAmWClKInZM2aFJh9gnsAPqOrj2JIELMbkIFpVKR/CrVO/f2VxfPiiQdQTr65jcQ==", - "dependencies": { - "@vue/compiler-core": "3.1.5", - "@vue/shared": "3.1.5" - } - }, - "node_modules/vue/node_modules/@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - }, "node_modules/vuedraggable": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.0.3.tgz", @@ -18121,11 +18150,6 @@ "vue": "^3.0.2" } }, - "node_modules/vuex/node_modules/@vue/devtools-api": { - "version": "6.0.0-beta.14", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.0.0-beta.14.tgz", - "integrity": "sha512-44fPrrN1cqcs6bFkT0C+yxTM6PZXLbR+ESh1U1j8UD22yO04gXvxH62HApMjLbS3WqJO/iCNC+CYT+evPQh2EQ==" - }, "node_modules/warning": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", @@ -18552,38 +18576,6 @@ "fsevents": "^1.2.7" } }, - "node_modules/webpack-dev-server/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -18818,41 +18810,6 @@ "node": ">=6" } }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", @@ -21900,9 +21857,9 @@ "requires": {} }, "@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", "dev": true, "requires": { "@types/connect": "*", @@ -21910,18 +21867,18 @@ } }, "@types/connect": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", - "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "requires": { "@types/node": "*" } }, "@types/connect-history-api-fallback": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.4.tgz", - "integrity": "sha512-Kf8v0wljR5GSCOCF/VQWdV3ZhKOVA73drXtY3geMTQgHy9dgqQ0dLrf31M0hcuWkhFzK5sP0kkS3mJzcKVtZbw==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", "dev": true, "requires": { "@types/express-serve-static-core": "*", @@ -21934,9 +21891,9 @@ "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==" }, "@types/express": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", - "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "requires": { "@types/body-parser": "*", @@ -21946,9 +21903,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.21.tgz", - "integrity": "sha512-gwCiEZqW6f7EoR8TTEfalyEhb1zA5jQJnRngr97+3pzMaO1RKoI1w2bw07TK72renMUVWcWS5mLI6rk1NqN0nA==", + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", "dev": true, "requires": { "@types/node": "*", @@ -21967,9 +21924,9 @@ } }, "@types/http-proxy": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.6.tgz", - "integrity": "sha512-+qsjqR75S/ib0ig0R9WN+CDoZeOBU6F2XLewgC4KVgdXiNHiKKHFEMRHOrs5PbYE97D5vataw5wPj4KLYfUkuQ==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", + "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", "dev": true, "requires": { "@types/node": "*" @@ -21999,9 +21956,9 @@ "dev": true }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/node": { @@ -22023,21 +21980,21 @@ "dev": true }, "@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "@types/serve-static": { - "version": "1.13.9", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", - "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, "requires": { "@types/mime": "^1", @@ -22051,24 +22008,24 @@ "dev": true }, "@types/tapable": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", - "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", "dev": true }, "@types/uglify-js": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", - "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", + "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", "dev": true, "requires": { "source-map": "^0.6.1" } }, "@types/webpack": { - "version": "4.41.29", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.29.tgz", - "integrity": "sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q==", + "version": "4.41.30", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.30.tgz", + "integrity": "sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA==", "dev": true, "requires": { "@types/node": "*", @@ -22080,9 +22037,9 @@ } }, "@types/webpack-dev-server": { - "version": "3.11.4", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.4.tgz", - "integrity": "sha512-DCKORHjqNNVuMIDWFrlljftvc9CL0+09p3l7lBpb8dRqgN5SmvkWCY4MPKxoI6wJgdRqohmoNbptkxqSKAzLRg==", + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.5.tgz", + "integrity": "sha512-vjsbQBW3fE5FDICkF3w3ZWFRXNwQdKt7JRPLmRy5W0KXlcuew4wgpKWXhgHS71iLNv7Z2PlY9dSSIaYg+bk+9w==", "dev": true, "requires": { "@types/connect-history-api-fallback": "*", @@ -22093,9 +22050,9 @@ } }, "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.1.tgz", + "integrity": "sha512-MjM1R6iuw8XaVbtkCBz0N349cyqBjJHCbQiOeppe3VBeFvxqs74RKHAVt9LkxTnUWc7YLZOEsUfPUnmK6SBPKQ==", "dev": true, "requires": { "@types/node": "*", @@ -22414,6 +22371,41 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -22433,6 +22425,17 @@ "requires": { "minipass": "^3.1.1" } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } } } }, @@ -22626,13 +22629,6 @@ "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", "requires": { "@vue/shared": "3.1.5" - }, - "dependencies": { - "@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - } } }, "@vue/runtime-core": { @@ -22642,13 +22638,6 @@ "requires": { "@vue/reactivity": "3.1.5", "@vue/shared": "3.1.5" - }, - "dependencies": { - "@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - } } }, "@vue/runtime-dom": { @@ -22659,13 +22648,6 @@ "@vue/runtime-core": "3.1.5", "@vue/shared": "3.1.5", "csstype": "^2.6.8" - }, - "dependencies": { - "@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - } } }, "@vue/shared": { @@ -23938,16 +23920,6 @@ "to-regex-range": "^5.0.1" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -24142,49 +24114,57 @@ } }, "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" } } } @@ -24441,9 +24421,9 @@ } }, "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dev": true, "requires": { "minipass": "^3.1.1" @@ -25212,6 +25192,14 @@ "assert-plus": "^1.0.0" } }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true, + "optional": true, + "peer": true + }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -25745,12 +25733,6 @@ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", "dev": true }, - "ele-admin-pro": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ele-admin-pro/-/ele-admin-pro-1.5.0.tgz", - "integrity": "sha512-nKjzN895isvwuI+0O9HlIvxw4kbzFMuJqwVbVFuF2IcyrnvVeHouar7rOmHygDFL0k2Wzfy1RgSlp3Z8iUUKeA==", - "requires": {} - }, "electron-to-chromium": { "version": "1.3.752", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", @@ -26946,9 +26928,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -29721,9 +29703,9 @@ } }, "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", "dev": true, "requires": { "ts-pnp": "^1.1.6" @@ -32649,9 +32631,9 @@ "dev": true }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz", + "integrity": "sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==", "dev": true, "requires": { "chownr": "^2.0.0", @@ -33373,34 +33355,6 @@ "@vue/compiler-dom": "3.1.5", "@vue/runtime-dom": "3.1.5", "@vue/shared": "3.1.5" - }, - "dependencies": { - "@vue/compiler-core": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.5.tgz", - "integrity": "sha512-TXBhFinoBaXKDykJzY26UEuQU1K07FOp/0Ie+OXySqqk0bS0ZO7Xvl7UmiTUPYcLrWbxWBR7Bs/y55AI0MNc2Q==", - "requires": { - "@babel/parser": "^7.12.0", - "@babel/types": "^7.12.0", - "@vue/shared": "3.1.5", - "estree-walker": "^2.0.1", - "source-map": "^0.6.1" - } - }, - "@vue/compiler-dom": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.5.tgz", - "integrity": "sha512-ZsL3jqJ52OjGU/YiT/9XiuZAmWClKInZM2aFJh9gnsAPqOrj2JIELMbkIFpVKR/CrVO/f2VxfPiiQdQTr65jcQ==", - "requires": { - "@vue/compiler-core": "3.1.5", - "@vue/shared": "3.1.5" - } - }, - "@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - } } }, "vue-axios": { @@ -33481,9 +33435,9 @@ } }, "vue-loader-v16": { - "version": "npm:vue-loader@16.2.0", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz", - "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==", + "version": "npm:vue-loader@16.4.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.4.1.tgz", + "integrity": "sha512-nL1bDhfMAZgTVmVkOXQaK/WJa9zFDLM9vKHbh5uGv6HeH1TmZrXMWUEVhUrACT38XPhXM4Awtjj25EvhChEgXw==", "dev": true, "optional": true, "requires": { @@ -33503,9 +33457,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "optional": true, "requires": { @@ -33587,6 +33541,18 @@ } } }, + "vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, "vue-template-es2015-compiler": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", @@ -33615,13 +33581,6 @@ "integrity": "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==", "requires": { "@vue/devtools-api": "^6.0.0-beta.11" - }, - "dependencies": { - "@vue/devtools-api": { - "version": "6.0.0-beta.14", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.0.0-beta.14.tgz", - "integrity": "sha512-44fPrrN1cqcs6bFkT0C+yxTM6PZXLbR+ESh1U1j8UD22yO04gXvxH62HApMjLbS3WqJO/iCNC+CYT+evPQh2EQ==" - } } }, "warning": { @@ -33977,34 +33936,6 @@ "upath": "^1.1.1" } }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -34184,34 +34115,6 @@ "has-flag": "^3.0.0" } }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, "yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", diff --git a/package.json b/package.json index 0a99c94..f7cc9f1 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "cropperjs": "~1.5.12", "echarts": "~5.1.2", "echarts-wordcloud": "~2.0.0", - "ele-admin-pro": "~1.5.0", "lodash": "^4.17.21", "nprogress": "~0.2.0", "tinymce": "~5.8.2", diff --git a/src/App.vue b/src/App.vue index c2034eb..06a0a97 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,9 +5,9 @@ + + diff --git a/src/components/ele-admin-pro/packages/ele-chart/index.js b/src/components/ele-admin-pro/packages/ele-chart/index.js new file mode 100644 index 0000000..5e11494 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-chart/index.js @@ -0,0 +1,8 @@ +/** echarts 图表组件封装 license by http://eleadmin.com */ +import EleChart from './src/main'; + +EleChart.install = function (app) { + app.component(EleChart.name, EleChart); +}; + +export default EleChart; diff --git a/src/components/ele-admin-pro/packages/ele-chart/src/main.vue b/src/components/ele-admin-pro/packages/ele-chart/src/main.vue new file mode 100644 index 0000000..560c63e --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-chart/src/main.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-chart/src/theme.js b/src/components/ele-admin-pro/packages/ele-chart/src/theme.js new file mode 100644 index 0000000..a7a6815 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-chart/src/theme.js @@ -0,0 +1,395 @@ +/** echarts 图表主题 license by http://eleadmin.com */ +export default { + "color": [ + "#3aa1ff", + "#4ecb73", + "#fbd437", + "#36cbcb", + "#f2637b", + "#975fe5", + "#fc8452", + "#ea7ccc", + "#5254cf" + ], + "backgroundColor": "rgba(0,0,0,0)", + "textStyle": {}, + "title": { + "textStyle": { + "color": "#333333" + }, + "subtextStyle": { + "color": "#888888" + } + }, + "line": { + "itemStyle": { + "borderWidth": 1 + }, + "lineStyle": { + "width": "2" + }, + "symbolSize": 4, + "symbol": "emptyCircle", + "smooth": false + }, + "radar": { + "itemStyle": { + "borderWidth": 1 + }, + "lineStyle": { + "width": "2" + }, + "symbolSize": 4, + "symbol": "emptyCircle", + "smooth": false + }, + "bar": { + "barCategoryGap": "50%", + "itemStyle": { + "barBorderWidth": "0", + "barBorderColor": "#ccc" + } + }, + "pie": { + "itemStyle": { + "borderWidth": "2", + "borderColor": "#fff" + } + }, + "scatter": { + "itemStyle": { + "borderWidth": "0", + "borderColor": "#ccc" + } + }, + "boxplot": { + "itemStyle": { + "borderWidth": "0", + "borderColor": "#ccc" + } + }, + "parallel": { + "itemStyle": { + "borderWidth": "0", + "borderColor": "#ccc" + } + }, + "sankey": { + "itemStyle": { + "borderWidth": "0", + "borderColor": "#ccc" + } + }, + "funnel": { + "itemStyle": { + "borderWidth": "0", + "borderColor": "#ccc" + } + }, + "gauge": { + "itemStyle": { + "borderWidth": "0", + "borderColor": "#ccc" + } + }, + "candlestick": { + "itemStyle": { + "color": "#dd3f5d", + "color0": "#51bd4b", + "borderColor": "#dd3f5d", + "borderColor0": "#51bd4b", + "borderWidth": 1 + } + }, + "graph": { + "itemStyle": { + "borderWidth": "0", + "borderColor": "#ccc" + }, + "lineStyle": { + "width": 1, + "color": "#aaa" + }, + "symbolSize": 4, + "symbol": "emptyCircle", + "smooth": false, + "color": [ + "#3aa1ff", + "#4ecb73", + "#fbd437", + "#36cbcb", + "#f2637b", + "#975fe5", + "#fc8452", + "#ea7ccc", + "#5254cf" + ], + "label": { + "color": "#eeeeee" + } + }, + "map": { + "itemStyle": { + "areaColor": "#fafafa", + "borderColor": "#d9d9d9", + "borderWidth": 1 + }, + "label": { + "color": "#000", + "textBorderColor": "#fff", + "textBorderWidth": 1 + } + }, + "geo": { + "itemStyle": { + "areaColor": "#fafafa", + "borderColor": "#d9d9d9", + "borderWidth": 1 + }, + "label": { + "color": "#000", + "textBorderColor": "#fff", + "textBorderWidth": 1 + }, + "emphasis": { + "itemStyle": { + "areaColor": "rgba(255,215,0,0.8)", + "borderColor": "#d9d9d9", + "borderWidth": 1 + } + } + }, + "grid": { + "top": 30, + "right": 20, + "left": 60, + "bottom": 40 + }, + "categoryAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": true, + "lineStyle": { + "color": "#cccccc" + }, + "alignWithLabel": true + }, + "axisLabel": { + "show": true, + "color": "#555555" + }, + "splitLine": { + "show": false, + "lineStyle": { + "type": "dashed", + "color": [ + "#E0E6F1" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.2)", + "rgba(210,219,238,0.2)" + ] + } + } + }, + "valueAxis": { + "axisLine": { + "show": false, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisLabel": { + "show": true, + "color": "#555555" + }, + "splitLine": { + "show": true, + "lineStyle": { + "type": "dashed", + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.2)", + "rgba(210,219,238,0.2)" + ] + } + } + }, + "logAxis": { + "axisLine": { + "show": false, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisLabel": { + "show": true, + "color": "#555555" + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.2)", + "rgba(210,219,238,0.2)" + ] + } + } + }, + "timeAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisLabel": { + "show": true, + "color": "#555555" + }, + "splitLine": { + "show": false, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.2)", + "rgba(210,219,238,0.2)" + ] + } + } + }, + "toolbox": { + "iconStyle": { + "borderColor": "#888888" + }, + "emphasis": { + "iconStyle": { + "borderColor": "#888888" + } + } + }, + "legend": { + "textStyle": { + "color": "#888888" + } + }, + "tooltip": { + "axisPointer": { + "lineStyle": { + "color": "#ccc", + "width": 1 + }, + "crossStyle": { + "color": "#ccc", + "width": 1 + } + } + }, + "timeline": { + "lineStyle": { + "color": "#DAE1F5", + "width": 2 + }, + "itemStyle": { + "color": "#A4B1D7", + "borderWidth": "1" + }, + "controlStyle": { + "color": "#A4B1D7", + "borderColor": "#A4B1D7", + "borderWidth": 1 + }, + "checkpointStyle": { + "color": "#316bf3", + "borderColor": "fff" + }, + "label": { + "color": "#A4B1D7" + }, + "emphasis": { + "itemStyle": { + "color": "#FFF" + }, + "controlStyle": { + "color": "#A4B1D7", + "borderColor": "#A4B1D7", + "borderWidth": 1 + }, + "label": { + "color": "#A4B1D7" + } + } + }, + "visualMap": { + "itemHeight": 80, + "itemWidth": 15, + "color": [ + "#bf444c", + "#d88273", + "#f6efa6" + ] + }, + "dataZoom": { + "handleSize": "100%" + }, + "markPoint": { + "label": { + "color": "#eeeeee" + }, + "emphasis": { + "label": { + "color": "#eeeeee" + } + } + } +} diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/index.js b/src/components/ele-admin-pro/packages/ele-color-picker/index.js new file mode 100644 index 0000000..1075ad9 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/index.js @@ -0,0 +1,8 @@ +/** 颜色选择器 license by http://eleadmin.com */ +import EleColorPicker from './src/main'; + +EleColorPicker.install = function (app) { + app.component(EleColorPicker.name, EleColorPicker); +}; + +export default EleColorPicker; diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/src/color.js b/src/components/ele-admin-pro/packages/ele-color-picker/src/color.js new file mode 100644 index 0000000..7bc2de2 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/src/color.js @@ -0,0 +1,305 @@ +const hsv2hsl = function (hue, sat, val) { + return [ + hue, + (sat * val / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue)) || 0, + hue / 2 + ]; +}; + +// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 +// +const isOnePointZero = function (n) { + return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1; +}; + +const isPercentage = function (n) { + return typeof n === 'string' && n.indexOf('%') !== -1; +}; + +// Take input from [0, n] and return it as [0, 1] +const bound01 = function (value, max) { + if (isOnePointZero(value)) value = '100%'; + + const processPercent = isPercentage(value); + value = Math.min(max, Math.max(0, parseFloat(value))); + + // Automatically convert percentage into number + if (processPercent) { + value = parseInt(value * max, 10) / 100; + } + + // Handle floating point rounding errors + if ((Math.abs(value - max) < 0.000001)) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return (value % max) / parseFloat(max); +}; + +const INT_HEX_MAP = {10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F'}; + +const toHex = function ({r, g, b}) { + const hexOne = function (value) { + value = Math.min(Math.round(value), 255); + const high = Math.floor(value / 16); + const low = value % 16; + return '' + (INT_HEX_MAP[high] || high) + (INT_HEX_MAP[low] || low); + }; + + if (isNaN(r) || isNaN(g) || isNaN(b)) return ''; + + return '#' + hexOne(r) + hexOne(g) + hexOne(b); +}; + +const HEX_INT_MAP = {A: 10, B: 11, C: 12, D: 13, E: 14, F: 15}; + +const parseHexChannel = function (hex) { + if (hex.length === 2) { + return (HEX_INT_MAP[hex[0].toUpperCase()] || +hex[0]) * 16 + (HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]); + } + + return HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]; +}; + +const hsl2hsv = function (hue, sat, light) { + sat = sat / 100; + light = light / 100; + let smin = sat; + const lmin = Math.max(light, 0.01); + let sv; + let v; + + light *= 2; + sat *= (light <= 1) ? light : 2 - light; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (light + sat) / 2; + sv = light === 0 ? (2 * smin) / (lmin + smin) : (2 * sat) / (light + sat); + + return { + h: hue, + s: sv * 100, + v: v * 100 + }; +}; + +// `rgbToHsv` +// Converts an RGB color value to HSV +// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] +// *Returns:* { h, s, v } in [0,1] +const rgb2hsv = function (r, g, b) { + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + let h, s; + let v = max; + + const d = max - min; + s = max === 0 ? 0 : d / max; + + if (max === min) { + h = 0; // achromatic + } else { + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + } + h /= 6; + } + + return {h: h * 360, s: s * 100, v: v * 100}; +}; + +// `hsvToRgb` +// Converts an HSV color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] +const hsv2rgb = function (h, s, v) { + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + const i = Math.floor(h); + const f = h - i; + const p = v * (1 - s); + const q = v * (1 - f * s); + const t = v * (1 - (1 - f) * s); + const mod = i % 6; + const r = [v, q, p, p, t, v][mod]; + const g = [t, v, v, q, p, p][mod]; + const b = [p, p, t, v, v, q][mod]; + + return { + r: Math.round(r * 255), + g: Math.round(g * 255), + b: Math.round(b * 255) + }; +}; + +export default class Color { + constructor(options) { + this._hue = 0; + this._saturation = 100; + this._value = 100; + this._alpha = 100; + + this.enableAlpha = false; + this.format = 'hex'; + this.value = ''; + + options = options || {}; + + for (let option in options) { + if (Object.prototype.hasOwnProperty.call(options, option)) { + this[option] = options[option]; + } + } + + this.doOnChange(); + } + + set(prop, value) { + if (arguments.length === 1 && typeof prop === 'object') { + for (let p in prop) { + if (Object.prototype.hasOwnProperty.call(prop, p)) { + this[p] = prop[p]; + } + } + this.doOnChange(); + } else { + this[prop] = value; + this.doOnChange(); + } + } + + toRgb() { + return hsv2rgb(this._hue, this._saturation, this._value); + } + + fromString(value) { + if (!value) { + this._hue = 0; + this._saturation = 100; + this._value = 100; + this._alpha = 100; + this.doOnChange(); + return; + } + + const fromHSV = (h, s, v) => { + this._hue = Math.max(0, Math.min(360, h)); + this._saturation = Math.max(0, Math.min(100, s)); + this._value = Math.max(0, Math.min(100, v)); + this.doOnChange(); + }; + + if (value.indexOf('hsl') !== -1) { + const parts = value.replace(/hsla|hsl|\(|\)/gm, '') + .split(/\s|,/g) + .filter((val) => val !== '') + .map((val, index) => index > 2 ? parseFloat(val) : parseInt(val, 10)); + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + const {h, s, v} = hsl2hsv(parts[0], parts[1], parts[2]); + fromHSV(h, s, v); + } + } else if (value.indexOf('hsv') !== -1) { + const parts = value.replace(/hsva|hsv|\(|\)/gm, '') + .split(/\s|,/g) + .filter((val) => val !== '') + .map((val, index) => index > 2 ? parseFloat(val) : parseInt(val, 10)); + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + fromHSV(parts[0], parts[1], parts[2]); + } + } else if (value.indexOf('rgb') !== -1) { + const parts = value.replace(/rgba|rgb|\(|\)/gm, '') + .split(/\s|,/g) + .filter((val) => val !== '') + .map((val, index) => index > 2 ? parseFloat(val) : parseInt(val, 10)); + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + const {h, s, v} = rgb2hsv(parts[0], parts[1], parts[2]); + fromHSV(h, s, v); + } + } else if (value.indexOf('#') !== -1) { + const hex = value.replace('#', '').trim(); + if (!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(hex)) { + return; + } + let r, g, b; + if (hex.length === 3) { + r = parseHexChannel(hex[0] + hex[0]); + g = parseHexChannel(hex[1] + hex[1]); + b = parseHexChannel(hex[2] + hex[2]); + } else if (hex.length === 6 || hex.length === 8) { + r = parseHexChannel(hex.substring(0, 2)); + g = parseHexChannel(hex.substring(2, 4)); + b = parseHexChannel(hex.substring(4, 6)); + } + if (hex.length === 8) { + this._alpha = Math.floor(parseHexChannel(hex.substring(6)) / 255 * 100); + } else if (hex.length === 3 || hex.length === 6) { + this._alpha = 100; + } + const {h, s, v} = rgb2hsv(r, g, b); + fromHSV(h, s, v); + } + } + + compare(color) { + return Math.abs(color._hue - this._hue) < 2 && + Math.abs(color._saturation - this._saturation) < 1 && + Math.abs(color._value - this._value) < 1 && + Math.abs(color._alpha - this._alpha) < 1; + } + + doOnChange() { + const {_hue, _saturation, _value, _alpha, format} = this; + if (this.enableAlpha) { + if (format === 'hsl') { + const hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = `hsla(${_hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%, ${_alpha / 100})`; + } else if (format === 'hsv') { + this.value = `hsva(${_hue}, ${Math.round(_saturation)}%, ${Math.round(_value)}%, ${_alpha / 100})`; + } else { + const {r, g, b} = hsv2rgb(_hue, _saturation, _value); + this.value = `rgba(${r}, ${g}, ${b}, ${_alpha / 100})`; + } + } else { + if (format === 'hsl') { + const hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = `hsl(${_hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%)`; + } else if (format === 'hsv') { + this.value = `hsv(${_hue}, ${Math.round(_saturation)}%, ${Math.round(_value)}%)`; + } else if (format === 'rgb') { + const {r, g, b} = hsv2rgb(_hue, _saturation, _value); + this.value = `rgb(${r}, ${g}, ${b})`; + } else { + this.value = toHex(hsv2rgb(_hue, _saturation, _value)); + } + } + } +} diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-alpha-slider.vue b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-alpha-slider.vue new file mode 100644 index 0000000..3412fbb --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-alpha-slider.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-hue-slider.vue b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-hue-slider.vue new file mode 100644 index 0000000..e9dbb43 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-hue-slider.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-predefine.vue b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-predefine.vue new file mode 100644 index 0000000..5bedb40 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-predefine.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-sv-panel.vue b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-sv-panel.vue new file mode 100644 index 0000000..4feb026 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/src/components/ele-sv-panel.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/src/draggable.js b/src/components/ele-admin-pro/packages/ele-color-picker/src/draggable.js new file mode 100644 index 0000000..a0196b0 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/src/draggable.js @@ -0,0 +1,38 @@ +let isDragging = false; + +export default function (element, options) { + const moveFn = function (event) { + if (options.drag) { + options.drag(event); + } + }; + const upFn = function (event) { + document.removeEventListener('mousemove', moveFn); + document.removeEventListener('mouseup', upFn); + document.onselectstart = null; + document.ondragstart = null; + + isDragging = false; + + if (options.end) { + options.end(event); + } + }; + element.addEventListener('mousedown', function (event) { + if (isDragging) return; + document.onselectstart = function () { + return false; + }; + document.ondragstart = function () { + return false; + }; + + document.addEventListener('mousemove', moveFn); + document.addEventListener('mouseup', upFn); + isDragging = true; + + if (options.start) { + options.start(event); + } + }); +} diff --git a/src/components/ele-admin-pro/packages/ele-color-picker/src/main.vue b/src/components/ele-admin-pro/packages/ele-color-picker/src/main.vue new file mode 100644 index 0000000..7dd2518 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-color-picker/src/main.vue @@ -0,0 +1,374 @@ + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-count-up/index.js b/src/components/ele-admin-pro/packages/ele-count-up/index.js new file mode 100644 index 0000000..1e0d4fb --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-count-up/index.js @@ -0,0 +1,8 @@ +/** 数字动画组件 license by http://eleadmin.com */ +import EleCountUp from './src/main'; + +EleCountUp.install = function (app) { + app.component(EleCountUp.name, EleCountUp); +}; + +export default EleCountUp; diff --git a/src/components/ele-admin-pro/packages/ele-count-up/src/main.vue b/src/components/ele-admin-pro/packages/ele-count-up/src/main.vue new file mode 100644 index 0000000..1aa84f3 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-count-up/src/main.vue @@ -0,0 +1,155 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-cropper-modal/index.js b/src/components/ele-admin-pro/packages/ele-cropper-modal/index.js new file mode 100644 index 0000000..6b4e0c6 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-cropper-modal/index.js @@ -0,0 +1,8 @@ +/** 图片裁剪弹窗组件 license by http://eleadmin.com */ +import EleCropperModal from './src/main'; + +EleCropperModal.install = function (app) { + app.component(EleCropperModal.name, EleCropperModal); +}; + +export default EleCropperModal; diff --git a/src/components/ele-admin-pro/packages/ele-cropper-modal/src/main.vue b/src/components/ele-admin-pro/packages/ele-cropper-modal/src/main.vue new file mode 100644 index 0000000..f9966f8 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-cropper-modal/src/main.vue @@ -0,0 +1,191 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-cropper/index.js b/src/components/ele-admin-pro/packages/ele-cropper/index.js new file mode 100644 index 0000000..11a2331 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-cropper/index.js @@ -0,0 +1,8 @@ +/** 图片裁剪组件 license by http://eleadmin.com */ +import EleCropper from './src/main'; + +EleCropper.install = function (app) { + app.component(EleCropper.name, EleCropper); +}; + +export default EleCropper; diff --git a/src/components/ele-admin-pro/packages/ele-cropper/src/main.vue b/src/components/ele-admin-pro/packages/ele-cropper/src/main.vue new file mode 100644 index 0000000..6709100 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-cropper/src/main.vue @@ -0,0 +1,567 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-edit-tag/index.js b/src/components/ele-admin-pro/packages/ele-edit-tag/index.js new file mode 100644 index 0000000..b710e09 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-edit-tag/index.js @@ -0,0 +1,8 @@ +/** 标签输入框组件 license by http://eleadmin.com */ +import EleEditTag from './src/main'; + +EleEditTag.install = function (app) { + app.component(EleEditTag.name, EleEditTag); +}; + +export default EleEditTag; diff --git a/src/components/ele-admin-pro/packages/ele-edit-tag/src/main.vue b/src/components/ele-admin-pro/packages/ele-edit-tag/src/main.vue new file mode 100644 index 0000000..75924a9 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-edit-tag/src/main.vue @@ -0,0 +1,184 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-empty-layout/index.js b/src/components/ele-admin-pro/packages/ele-empty-layout/index.js new file mode 100644 index 0000000..1ec91cb --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-empty-layout/index.js @@ -0,0 +1,8 @@ +/** 空布局 license by http://eleadmin.com */ +import EleEmptyLayout from './src/main'; + +EleEmptyLayout.install = function (app) { + app.component(EleEmptyLayout.name, EleEmptyLayout); +}; + +export default EleEmptyLayout; diff --git a/src/components/ele-admin-pro/packages/ele-empty-layout/src/main.vue b/src/components/ele-admin-pro/packages/ele-empty-layout/src/main.vue new file mode 100644 index 0000000..d7e535a --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-empty-layout/src/main.vue @@ -0,0 +1,26 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-file-list/index.js b/src/components/ele-admin-pro/packages/ele-file-list/index.js new file mode 100644 index 0000000..e572f70 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-file-list/index.js @@ -0,0 +1,8 @@ +/** 文件列表组件 license by http://eleadmin.com */ +import EleFileList from './src/main'; + +EleFileList.install = function (app) { + app.component(EleFileList.name, EleFileList); +}; + +export default EleFileList; diff --git a/src/components/ele-admin-pro/packages/ele-file-list/src/icon.js b/src/components/ele-admin-pro/packages/ele-file-list/src/icon.js new file mode 100644 index 0000000..b181392 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-file-list/src/icon.js @@ -0,0 +1,330 @@ +/** 文件列表组件默认图标 license by http://eleadmin.com */ +export const icons = [ + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_misc.png', + type: 'file' + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_folder.png', + type: 'dir' + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_code.png', + types: [ + '.java', + '.js', + '.css', + '.vue', + '.ts', + '.tsx', + '.scss', + '.less', + '.c', + '.cpp', + '.cs', + '.jsp', + '.php', + '.asp', + '.py', + '.go', + '.kt', + '.lua' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_htm.png', + types: [ + '.html', + '.htm' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_text.png', + types: [ + '.txt' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_pdf.png', + types: [ + '.pdf' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_word.png', + types: [ + '.doc', + '.docx' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_excel.png', + types: [ + '.xls', + '.xlsx' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_ppt.png', + types: [ + '.ppt', + '.pptx' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_visio.png', + types: [ + '.vsd' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_ps.png', + types: [ + '.psd' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_cad.png', + types: [ + '.dwg' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_flash.png', + types: [ + '.swf' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_music.png', + types: [ + '.mp3', + '.wav' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_video.png', + types: [ + '.mp4', + '.rmvb', + '.flv', + '.avi', + '.3gp' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_picture.png', + types: [ + '.png', + '.jpg', + '.jpeg', + '.gif', + '.bmp' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_fonts.png', + types: [ + '.ttf', + '.woff' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_bt.png', + types: [ + '.torrent' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_android.png', + types: [ + '.apk' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_exe.png', + types: [ + '.exe' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_ipa.png', + types: [ + '.ipa', + '.dmg' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_zip.png', + types: [ + '.zip', + '.rar', + '.7z' + ] + } +]; + +export const smIcons = [ + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_misc_sm.png', + type: 'file' + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_folder_sm.png', + type: 'dir' + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_code_sm.png', + types: [ + '.java', + '.js', + '.css', + '.vue', + '.ts', + '.tsx', + '.scss', + '.less', + '.c', + '.cpp', + '.cs', + '.jsp', + '.php', + '.asp', + '.py', + '.go', + '.kt', + '.lua' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_htm_sm.png', + types: [ + '.html', + '.htm' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_text_sm.png', + types: [ + '.txt' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_pdf_sm.png', + types: [ + '.pdf' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_word_sm.png', + types: [ + '.doc', + '.docx' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_excel_sm.png', + types: [ + '.xls', + '.xlsx' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_ppt_sm.png', + types: [ + '.ppt', + '.pptx' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_visio_sm.png', + types: [ + '.vsd' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_ps_sm.png', + types: [ + '.psd' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_cad_sm.png', + types: [ + '.dwg' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_flash_sm.png', + types: [ + '.swf' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_music_sm.png', + types: [ + '.mp3', + '.wav' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_video_sm.png', + types: [ + '.mp4', + '.rmvb', + '.flv', + '.avi', + '.3gp' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_picture_sm.png', + types: [ + '.png', + '.jpg', + '.jpeg', + '.gif', + '.bmp' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_fonts_sm.png', + types: [ + '.ttf', + '.woff' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_bt_sm.png', + types: [ + '.torrent' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_android_sm.png', + types: [ + '.apk' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_exe_sm.png', + types: [ + '.exe' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_ipa_sm.png', + types: [ + '.ipa', + '.dmg' + ] + }, + { + icon: 'https://cdn.eleadmin.com/20200609/ic_file_zip_sm.png', + types: [ + '.zip', + '.rar', + '.7z' + ] + } +]; diff --git a/src/components/ele-admin-pro/packages/ele-file-list/src/main.vue b/src/components/ele-admin-pro/packages/ele-file-list/src/main.vue new file mode 100644 index 0000000..c7fc2ee --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-file-list/src/main.vue @@ -0,0 +1,639 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-icon-picker/index.js b/src/components/ele-admin-pro/packages/ele-icon-picker/index.js new file mode 100644 index 0000000..48cf325 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-icon-picker/index.js @@ -0,0 +1,8 @@ +/** 数字动画组件 license by http://eleadmin.com */ +import EleIconPicker from './src/main'; + +EleIconPicker.install = function (app) { + app.component(EleIconPicker.name, EleIconPicker); +}; + +export default EleIconPicker; diff --git a/src/components/ele-admin-pro/packages/ele-icon-picker/src/icon.js b/src/components/ele-admin-pro/packages/ele-icon-picker/src/icon.js new file mode 100644 index 0000000..3801c75 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-icon-picker/src/icon.js @@ -0,0 +1,896 @@ +/** 图标数据 license by http://eleadmin.com */ +export default [ + { + title: '线框风格', + children: [ + { + title: '方向性图标', + icons: [ + 'StepBackwardOutlined', + 'StepForwardOutlined', + 'FastBackwardOutlined', + 'FastForwardOutlined', + 'ShrinkOutlined', + 'ArrowsAltOutlined', + 'DownOutlined', + 'UpOutlined', + 'LeftOutlined', + 'RightOutlined', + 'CaretUpOutlined', + 'CaretDownOutlined', + 'CaretLeftOutlined', + 'CaretRightOutlined', + 'UpCircleOutlined', + 'DownCircleOutlined', + 'LeftCircleOutlined', + 'RightCircleOutlined', + 'DoubleRightOutlined', + 'DoubleLeftOutlined', + 'VerticalLeftOutlined', + 'VerticalRightOutlined', + 'VerticalAlignTopOutlined', + 'VerticalAlignMiddleOutlined', + 'VerticalAlignBottomOutlined', + 'ForwardOutlined', + 'BackwardOutlined', + 'RollbackOutlined', + 'EnterOutlined', + 'RetweetOutlined', + 'SwapOutlined', + 'SwapLeftOutlined', + 'SwapRightOutlined', + 'ArrowUpOutlined', + 'ArrowDownOutlined', + 'ArrowLeftOutlined', + 'ArrowRightOutlined', + 'PlayCircleOutlined', + 'UpSquareOutlined', + 'DownSquareOutlined', + 'LeftSquareOutlined', + 'RightSquareOutlined', + 'LoginOutlined', + 'LogoutOutlined', + 'MenuFoldOutlined', + 'MenuUnfoldOutlined', + 'BorderBottomOutlined', + 'BorderHorizontalOutlined', + 'BorderInnerOutlined', + 'BorderOuterOutlined', + 'BorderLeftOutlined', + 'BorderRightOutlined', + 'BorderTopOutlined', + 'BorderVerticleOutlined', + 'PicCenterOutlined', + 'PicLeftOutlined', + 'PicRightOutlined', + 'RadiusBottomleftOutlined', + 'RadiusBottomrightOutlined', + 'RadiusUpleftOutlined', + 'RadiusUprightOutlined', + 'FullscreenOutlined', + 'FullscreenExitOutlined' + ] + }, + { + title: '提示建议性', + icons: [ + 'QuestionOutlined', + 'QuestionCircleOutlined', + 'PlusOutlined', + 'PlusCircleOutlined', + 'PauseOutlined', + 'PauseCircleOutlined', + 'MinusOutlined', + 'MinusCircleOutlined', + 'PlusSquareOutlined', + 'MinusSquareOutlined', + 'InfoOutlined', + 'InfoCircleOutlined', + 'ExclamationOutlined', + 'ExclamationCircleOutlined', + 'CloseOutlined', + 'CloseCircleOutlined', + 'CloseSquareOutlined', + 'CheckOutlined', + 'CheckCircleOutlined', + 'CheckSquareOutlined', + 'ClockCircleOutlined', + 'WarningOutlined', + 'IssuesCloseOutlined', + 'StopOutlined' + ] + }, + { + title: '编辑类图标', + icons: [ + 'EditOutlined', + 'FormOutlined', + 'CopyOutlined', + 'ScissorOutlined', + 'DeleteOutlined', + 'SnippetsOutlined', + 'DiffOutlined', + 'HighlightOutlined', + 'AlignCenterOutlined', + 'AlignLeftOutlined', + 'AlignRightOutlined', + 'BgColorsOutlined', + 'BoldOutlined', + 'ItalicOutlined', + 'UnderlineOutlined', + 'StrikethroughOutlined', + 'RedoOutlined', + 'UndoOutlined', + 'ZoomInOutlined', + 'ZoomOutOutlined', + 'FontColorsOutlined', + 'FontSizeOutlined', + 'LineHeightOutlined', + 'DashOutlined', + 'SmallDashOutlined', + 'SortAscendingOutlined', + 'SortDescendingOutlined', + 'DragOutlined', + 'OrderedListOutlined', + 'UnorderedListOutlined', + 'RadiusSettingOutlined', + 'ColumnWidthOutlined', + 'ColumnHeightOutlined' + ] + }, + { + title: '数据类图标', + icons: [ + 'AreaChartOutlined', + 'PieChartOutlined', + 'BarChartOutlined', + 'DotChartOutlined', + 'LineChartOutlined', + 'RadarChartOutlined', + 'HeatMapOutlined', + 'FallOutlined', + 'RiseOutlined', + 'StockOutlined', + 'BoxPlotOutlined', + 'FundOutlined', + 'SlidersOutlined' + ] + }, + { + title: '品牌和标识', + icons: [ + 'AndroidOutlined', + 'AppleOutlined', + 'WindowsOutlined', + 'IeOutlined', + 'ChromeOutlined', + 'GithubOutlined', + 'AliwangwangOutlined', + 'DingdingOutlined', + 'WeiboSquareOutlined', + 'WeiboCircleOutlined', + 'TaobaoCircleOutlined', + 'Html5Outlined', + 'WeiboOutlined', + 'TwitterOutlined', + 'WechatOutlined', + 'YoutubeOutlined', + 'AlipayCircleOutlined', + 'TaobaoOutlined', + 'SkypeOutlined', + 'QqOutlined', + 'MediumWorkmarkOutlined', + 'GitlabOutlined', + 'MediumOutlined', + 'LinkedinOutlined', + 'GooglePlusOutlined', + 'DropboxOutlined', + 'FacebookOutlined', + 'CodepenOutlined', + 'CodeSandboxOutlined', + 'AmazonOutlined', + 'GoogleOutlined', + 'CodepenCircleOutlined', + 'AlipayOutlined', + 'AntDesignOutlined', + 'AntCloudOutlined', + 'AliyunOutlined', + 'ZhihuOutlined', + 'SlackOutlined', + 'SlackSquareOutlined', + 'BehanceOutlined', + 'BehanceSquareOutlined', + 'DribbbleOutlined', + 'DribbbleSquareOutlined', + 'InstagramOutlined', + 'YuqueOutlined', + 'AlibabaOutlined', + 'YahooOutlined', + 'RedditOutlined', + 'SketchOutlined' + ] + }, + { + title: '网站通用图标', + icons: [ + 'AccountBookOutlined', + 'AimOutlined', + 'AlertOutlined', + 'ApartmentOutlined', + 'ApiOutlined', + 'AppstoreAddOutlined', + 'AppstoreOutlined', + 'AudioOutlined', + 'AudioMutedOutlined', + 'AuditOutlined', + 'BankOutlined', + 'BarcodeOutlined', + 'BarsOutlined', + 'BellOutlined', + 'BlockOutlined', + 'BookOutlined', + 'BorderOutlined', + 'BorderlessTableOutlined', + 'BranchesOutlined', + 'BugOutlined', + 'BuildOutlined', + 'BulbOutlined', + 'CalculatorOutlined', + 'CalendarOutlined', + 'CameraOutlined', + 'CarOutlined', + 'CarryOutOutlined', + 'CiCircleOutlined', + 'CiOutlined', + 'ClearOutlined', + 'CloudDownloadOutlined', + 'CloudOutlined', + 'CloudServerOutlined', + 'CloudSyncOutlined', + 'CloudUploadOutlined', + 'ClusterOutlined', + 'CodeOutlined', + 'CoffeeOutlined', + 'CommentOutlined', + 'CompassOutlined', + 'CompressOutlined', + 'ConsoleSqlOutlined', + 'ContactsOutlined', + 'ContainerOutlined', + 'ControlOutlined', + 'CopyrightCircleOutlined', + 'CopyrightOutlined', + 'CreditCardOutlined', + 'CrownOutlined', + 'CustomerServiceOutlined', + 'DashboardOutlined', + 'DatabaseOutlined', + 'DeleteColumnOutlined', + 'DeleteRowOutlined', + 'DeliveredProcedureOutlined', + 'DeploymentUnitOutlined', + 'DesktopOutlined', + 'DingtalkOutlined', + 'DisconnectOutlined', + 'DislikeOutlined', + 'DollarCircleOutlined', + 'DollarOutlined', + 'DownloadOutlined', + 'EllipsisOutlined', + 'EnvironmentOutlined', + 'EuroCircleOutlined', + 'EuroOutlined', + 'ExceptionOutlined', + 'ExpandAltOutlined', + 'ExpandOutlined', + 'ExperimentOutlined', + 'ExportOutlined', + 'EyeOutlined', + 'EyeInvisibleOutlined', + 'FieldBinaryOutlined', + 'FieldNumberOutlined', + 'FieldStringOutlined', + 'FieldTimeOutlined', + 'FileAddOutlined', + 'FileDoneOutlined', + 'FileExcelOutlined', + 'FileExclamationOutlined', + 'FileOutlined', + 'FileGifOutlined', + 'FileImageOutlined', + 'FileJpgOutlined', + 'FileMarkdownOutlined', + 'FilePdfOutlined', + 'FilePptOutlined', + 'FileProtectOutlined', + 'FileSearchOutlined', + 'FileSyncOutlined', + 'FileTextOutlined', + 'FileUnknownOutlined', + 'FileWordOutlined', + 'FileZipOutlined', + 'FilterOutlined', + 'FireOutlined', + 'FlagOutlined', + 'FolderAddOutlined', + 'FolderOutlined', + 'FolderOpenOutlined', + 'FolderViewOutlined', + 'ForkOutlined', + 'FormatPainterOutlined', + 'FrownOutlined', + 'FunctionOutlined', + 'FundProjectionScreenOutlined', + 'FundViewOutlined', + 'FunnelPlotOutlined', + 'GatewayOutlined', + 'GifOutlined', + 'GiftOutlined', + 'GlobalOutlined', + 'GoldOutlined', + 'GroupOutlined', + 'HddOutlined', + 'HeartOutlined', + 'HistoryOutlined', + 'HomeOutlined', + 'HourglassOutlined', + 'IdcardOutlined', + 'ImportOutlined', + 'InboxOutlined', + 'InsertRowAboveOutlined', + 'InsertRowBelowOutlined', + 'InsertRowLeftOutlined', + 'InsertRowRightOutlined', + 'InsuranceOutlined', + 'InteractionOutlined', + 'KeyOutlined', + 'LaptopOutlined', + 'LayoutOutlined', + 'LikeOutlined', + 'LineOutlined', + 'LinkOutlined', + 'Loading3QuartersOutlined', + 'LoadingOutlined', + 'LockOutlined', + 'MacCommandOutlined', + 'MailOutlined', + 'ManOutlined', + 'MedicineBoxOutlined', + 'MehOutlined', + 'MenuOutlined', + 'MergeCellsOutlined', + 'MessageOutlined', + 'MobileOutlined', + 'MoneyCollectOutlined', + 'MonitorOutlined', + 'MoreOutlined', + 'NodeCollapseOutlined', + 'NodeExpandOutlined', + 'NodeIndexOutlined', + 'NotificationOutlined', + 'NumberOutlined', + 'OneToOneOutlined', + 'PaperClipOutlined', + 'PartitionOutlined', + 'PayCircleOutlined', + 'PercentageOutlined', + 'PhoneOutlined', + 'PictureOutlined', + 'PlaySquareOutlined', + 'PoundCircleOutlined', + 'PoundOutlined', + 'PoweroffOutlined', + 'PrinterOutlined', + 'ProfileOutlined', + 'ProjectOutlined', + 'PropertySafetyOutlined', + 'PullRequestOutlined', + 'PushpinOutlined', + 'QrcodeOutlined', + 'ReadOutlined', + 'ReconciliationOutlined', + 'RedEnvelopeOutlined', + 'ReloadOutlined', + 'RestOutlined', + 'RobotOutlined', + 'RocketOutlined', + 'RotateLeftOutlined', + 'RotateRightOutlined', + 'SafetyCertificateOutlined', + 'SafetyOutlined', + 'SaveOutlined', + 'ScanOutlined', + 'ScheduleOutlined', + 'SearchOutlined', + 'SecurityScanOutlined', + 'SelectOutlined', + 'SendOutlined', + 'SettingOutlined', + 'ShakeOutlined', + 'ShareAltOutlined', + 'ShopOutlined', + 'ShoppingCartOutlined', + 'ShoppingOutlined', + 'SisternodeOutlined', + 'SkinOutlined', + 'SmileOutlined', + 'SolutionOutlined', + 'SoundOutlined', + 'SplitCellsOutlined', + 'StarOutlined', + 'SubnodeOutlined', + 'SwitcherOutlined', + 'SyncOutlined', + 'TableOutlined', + 'TabletOutlined', + 'TagOutlined', + 'TagsOutlined', + 'TeamOutlined', + 'ThunderboltOutlined', + 'ToTopOutlined', + 'ToolOutlined', + 'TrademarkCircleOutlined', + 'TrademarkOutlined', + 'TransactionOutlined', + 'TranslationOutlined', + 'TrophyOutlined', + 'UngroupOutlined', + 'UnlockOutlined', + 'UploadOutlined', + 'UsbOutlined', + 'UserAddOutlined', + 'UserDeleteOutlined', + 'UserOutlined', + 'UserSwitchOutlined', + 'UsergroupAddOutlined', + 'UsergroupDeleteOutlined', + 'VerifiedOutlined', + 'VideoCameraAddOutlined', + 'VideoCameraOutlined', + 'WalletOutlined', + 'WhatsAppOutlined', + 'WifiOutlined', + 'WomanOutlined' + ] + } + ] + }, + { + title: '实底风格', + children: [ + { + title: '方向性图标', + icons: [ + 'StepBackwardFilled', + 'StepForwardFilled', + 'FastBackwardFilled', + 'FastForwardFilled', + 'CaretUpFilled', + 'CaretDownFilled', + 'CaretLeftFilled', + 'CaretRightFilled', + 'UpCircleFilled', + 'DownCircleFilled', + 'LeftCircleFilled', + 'RightCircleFilled', + 'ForwardFilled', + 'BackwardFilled', + 'PlayCircleFilled', + 'UpSquareFilled', + 'DownSquareFilled', + 'LeftSquareFilled', + 'RightSquareFilled' + ] + }, + { + title: '提示建议性', + icons: [ + 'QuestionCircleFilled', + 'PlusCircleFilled', + 'PauseCircleFilled', + 'MinusCircleFilled', + 'PlusSquareFilled', + 'MinusSquareFilled', + 'InfoCircleFilled', + 'ExclamationCircleFilled', + 'CloseCircleFilled', + 'CloseSquareFilled', + 'CheckCircleFilled', + 'CheckSquareFilled', + 'ClockCircleFilled', + 'WarningFilled', + 'StopFilled' + ] + }, + { + title: '编辑类图标', + icons: [ + 'EditFilled', + 'CopyFilled', + 'DeleteFilled', + 'SnippetsFilled', + 'DiffFilled', + 'HighlightFilled' + ] + }, + { + title: '数据类图标', + icons: [ + 'PieChartFilled', + 'BoxPlotFilled', + 'FundFilled', + 'SlidersFilled' + ] + }, + { + title: '品牌和标识', + icons: [ + 'AndroidFilled', + 'AppleFilled', + 'WindowsFilled', + 'ChromeFilled', + 'GithubFilled', + 'AliwangwangFilled', + 'WeiboSquareFilled', + 'WeiboCircleFilled', + 'TaobaoCircleFilled', + 'Html5Filled', + 'WechatFilled', + 'YoutubeFilled', + 'AlipayCircleFilled', + 'SkypeFilled', + 'GitlabFilled', + 'LinkedinFilled', + 'FacebookFilled', + 'CodeSandboxCircleFilled', + 'CodepenCircleFilled', + 'SlackSquareFilled', + 'BehanceSquareFilled', + 'DribbbleSquareFilled', + 'InstagramFilled', + 'YuqueFilled', + 'YahooFilled' + ] + }, + { + title: '网站通用图标', + icons: [ + 'AccountBookFilled', + 'AlertFilled', + 'AlipaySquareFilled', + 'AmazonCircleFilled', + 'AmazonSquareFilled', + 'ApiFilled', + 'AppstoreFilled', + 'AudioFilled', + 'BankFilled', + 'BehanceCircleFilled', + 'BellFilled', + 'BookFilled', + 'BugFilled', + 'BuildFilled', + 'BulbFilled', + 'CalculatorFilled', + 'CalendarFilled', + 'CameraFilled', + 'CarFilled', + 'CarryOutFilled', + 'CiCircleFilled', + 'CloudFilled', + 'CodeFilled', + 'CodeSandboxSquareFilled', + 'CodepenSquareFilled', + 'CompassFilled', + 'ContactsFilled', + 'ContainerFilled', + 'ControlFilled', + 'CopyrightCircleFilled', + 'CreditCardFilled', + 'CrownFilled', + 'CustomerServiceFilled', + 'DashboardFilled', + 'DatabaseFilled', + 'DingtalkCircleFilled', + 'DingtalkSquareFilled', + 'DislikeFilled', + 'DollarCircleFilled', + 'DribbbleCircleFilled', + 'DropboxCircleFilled', + 'DropboxSquareFilled', + 'EnvironmentFilled', + 'EuroCircleFilled', + 'ExperimentFilled', + 'EyeFilled', + 'EyeInvisibleFilled', + 'FileAddFilled', + 'FileExcelFilled', + 'FileExclamationFilled', + 'FileFilled', + 'FileImageFilled', + 'FileMarkdownFilled', + 'FilePdfFilled', + 'FilePptFilled', + 'FileTextFilled', + 'FileUnknownFilled', + 'FileWordFilled', + 'FileZipFilled', + 'FilterFilled', + 'FireFilled', + 'FlagFilled', + 'FolderAddFilled', + 'FolderFilled', + 'FolderOpenFilled', + 'FormatPainterFilled', + 'FrownFilled', + 'FunnelPlotFilled', + 'GiftFilled', + 'GoldFilled', + 'GoldenFilled', + 'GoogleCircleFilled', + 'GooglePlusCircleFilled', + 'GooglePlusSquareFilled', + 'GoogleSquareFilled', + 'HddFilled', + 'HeartFilled', + 'HomeFilled', + 'HourglassFilled', + 'IdcardFilled', + 'IeCircleFilled', + 'IeSquareFilled', + 'InsuranceFilled', + 'InteractionFilled', + 'LayoutFilled', + 'LikeFilled', + 'LockFilled', + 'MacCommandFilled', + 'MailFilled', + 'MedicineBoxFilled', + 'MediumCircleFilled', + 'MediumSquareFilled', + 'MehFilled', + 'MessageFilled', + 'MobileFilled', + 'MoneyCollectFilled', + 'NotificationFilled', + 'PayCircleFilled', + 'PhoneFilled', + 'PictureFilled', + 'PlaySquareFilled', + 'PoundCircleFilled', + 'PrinterFilled', + 'ProfileFilled', + 'ProjectFilled', + 'PropertySafetyFilled', + 'PushpinFilled', + 'QqCircleFilled', + 'QqSquareFilled', + 'ReadFilled', + 'ReconciliationFilled', + 'RedEnvelopeFilled', + 'RedditCircleFilled', + 'RedditSquareFilled', + 'RestFilled', + 'RobotFilled', + 'RocketFilled', + 'SafetyCertificateFilled', + 'SaveFilled', + 'ScheduleFilled', + 'SecurityScanFilled', + 'SettingFilled', + 'ShopFilled', + 'ShoppingFilled', + 'SignalFilled', + 'SketchCircleFilled', + 'SketchSquareFilled', + 'SkinFilled', + 'SlackCircleFilled', + 'SmileFilled', + 'SoundFilled', + 'StarFilled', + 'SwitcherFilled', + 'TabletFilled', + 'TagFilled', + 'TagsFilled', + 'TaobaoSquareFilled', + 'ThunderboltFilled', + 'ToolFilled', + 'TrademarkCircleFilled', + 'TrophyFilled', + 'TwitterCircleFilled', + 'TwitterSquareFilled', + 'UnlockFilled', + 'UsbFilled', + 'VideoCameraFilled', + 'WalletFilled', + 'ZhihuCircleFilled', + 'ZhihuSquareFilled' + ] + } + ] + }, + { + title: '双色风格', + children: [ + { + title: '方向性图标', + icons: [ + 'UpCircleTwoTone', + 'DownCircleTwoTone', + 'LeftCircleTwoTone', + 'RightCircleTwoTone', + 'PlayCircleTwoTone', + 'UpSquareTwoTone', + 'DownSquareTwoTone', + 'LeftSquareTwoTone', + 'RightSquareTwoTone' + ] + }, + { + title: '提示建议性', + icons: [ + 'QuestionCircleTwoTone', + 'PlusCircleTwoTone', + 'PauseCircleTwoTone', + 'MinusCircleTwoTone', + 'PlusSquareTwoTone', + 'MinusSquareTwoTone', + 'InfoCircleTwoTone', + 'ExclamationCircleTwoTone', + 'CloseCircleTwoTone', + 'CloseSquareTwoTone', + 'CheckCircleTwoTone', + 'CheckSquareTwoTone', + 'ClockCircleTwoTone', + 'WarningTwoTone', + 'StopTwoTone' + ] + }, + { + title: '编辑类图标', + icons: [ + 'EditTwoTone', + 'CopyTwoTone', + 'DeleteTwoTone', + 'SnippetsTwoTone', + 'DiffTwoTone', + 'HighlightTwoTone' + ] + }, + { + title: '数据类图标', + icons: [ + 'PieChartTwoTone', + 'BoxPlotTwoTone', + 'FundTwoTone', + 'SlidersTwoTone' + ] + }, + { + title: '品牌和标识', + icons: [ + 'Html5TwoTone' + ] + }, + { + title: '网站通用图标', + icons: [ + 'AccountBookTwoTone', + 'AlertTwoTone', + 'ApiTwoTone', + 'AppstoreTwoTone', + 'AudioTwoTone', + 'BankTwoTone', + 'BellTwoTone', + 'BookTwoTone', + 'BugTwoTone', + 'BuildTwoTone', + 'BulbTwoTone', + 'CalculatorTwoTone', + 'CalendarTwoTone', + 'CameraTwoTone', + 'CarTwoTone', + 'CarryOutTwoTone', + 'CiCircleTwoTone', + 'CiTwoTone', + 'CloudTwoTone', + 'CodeTwoTone', + 'CompassTwoTone', + 'ContactsTwoTone', + 'ContainerTwoTone', + 'ControlTwoTone', + 'CopyrightCircleTwoTone', + 'CopyrightTwoTone', + 'CreditCardTwoTone', + 'CrownTwoTone', + 'CustomerServiceTwoTone', + 'DashboardTwoTone', + 'DatabaseTwoTone', + 'DislikeTwoTone', + 'DollarCircleTwoTone', + 'DollarTwoTone', + 'EnvironmentTwoTone', + 'EuroCircleTwoTone', + 'EuroTwoTone', + 'ExperimentTwoTone', + 'EyeTwoTone', + 'EyeInvisibleTwoTone', + 'FileAddTwoTone', + 'FileExcelTwoTone', + 'FileExclamationTwoTone', + 'FileTwoTone', + 'FileImageTwoTone', + 'FileMarkdownTwoTone', + 'FilePdfTwoTone', + 'FilePptTwoTone', + 'FileTextTwoTone', + 'FileUnknownTwoTone', + 'FileWordTwoTone', + 'FileZipTwoTone', + 'FilterTwoTone', + 'FireTwoTone', + 'FlagTwoTone', + 'FolderAddTwoTone', + 'FolderTwoTone', + 'FolderOpenTwoTone', + 'FrownTwoTone', + 'FunnelPlotTwoTone', + 'GiftTwoTone', + 'GoldTwoTone', + 'HddTwoTone', + 'HeartTwoTone', + 'HomeTwoTone', + 'HourglassTwoTone', + 'IdcardTwoTone', + 'InsuranceTwoTone', + 'InteractionTwoTone', + 'LayoutTwoTone', + 'LikeTwoTone', + 'LockTwoTone', + 'MailTwoTone', + 'MedicineBoxTwoTone', + 'MehTwoTone', + 'MessageTwoTone', + 'MobileTwoTone', + 'MoneyCollectTwoTone', + 'NotificationTwoTone', + 'PhoneTwoTone', + 'PictureTwoTone', + 'PlaySquareTwoTone', + 'PoundCircleTwoTone', + 'PrinterTwoTone', + 'ProfileTwoTone', + 'ProjectTwoTone', + 'PropertySafetyTwoTone', + 'PushpinTwoTone', + 'ReconciliationTwoTone', + 'RedEnvelopeTwoTone', + 'RestTwoTone', + 'RocketTwoTone', + 'SafetyCertificateTwoTone', + 'SaveTwoTone', + 'ScheduleTwoTone', + 'SecurityScanTwoTone', + 'SettingTwoTone', + 'ShopTwoTone', + 'ShoppingTwoTone', + 'SkinTwoTone', + 'SmileTwoTone', + 'SoundTwoTone', + 'StarTwoTone', + 'SwitcherTwoTone', + 'TabletTwoTone', + 'TagTwoTone', + 'TagsTwoTone', + 'ThunderboltTwoTone', + 'ToolTwoTone', + 'TrademarkCircleTwoTone', + 'TrophyTwoTone', + 'UnlockTwoTone', + 'UsbTwoTone', + 'VideoCameraTwoTone', + 'WalletTwoTone' + ] + } + ] + } +] diff --git a/src/components/ele-admin-pro/packages/ele-icon-picker/src/main.vue b/src/components/ele-admin-pro/packages/ele-icon-picker/src/main.vue new file mode 100644 index 0000000..cca774c --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-icon-picker/src/main.vue @@ -0,0 +1,320 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-iframe-layout/index.js b/src/components/ele-admin-pro/packages/ele-iframe-layout/index.js new file mode 100644 index 0000000..63935f4 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-iframe-layout/index.js @@ -0,0 +1,8 @@ +/** iframe布局 license by http://eleadmin.com */ +import EleIframeLayout from './src/main'; + +EleIframeLayout.install = function (app) { + app.component(EleIframeLayout.name, EleIframeLayout); +}; + +export default EleIframeLayout; diff --git a/src/components/ele-admin-pro/packages/ele-iframe-layout/src/main.vue b/src/components/ele-admin-pro/packages/ele-iframe-layout/src/main.vue new file mode 100644 index 0000000..8649555 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-iframe-layout/src/main.vue @@ -0,0 +1,32 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-map-picker/index.js b/src/components/ele-admin-pro/packages/ele-map-picker/index.js new file mode 100644 index 0000000..bf1ddc0 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-map-picker/index.js @@ -0,0 +1,8 @@ +/** 地图位置选择组件 license by http://eleadmin.com */ +import EleMapPicker from './src/main'; + +EleMapPicker.install = function (app) { + app.component(EleMapPicker.name, EleMapPicker); +} + +export default EleMapPicker; diff --git a/src/components/ele-admin-pro/packages/ele-map-picker/src/main.vue b/src/components/ele-admin-pro/packages/ele-map-picker/src/main.vue new file mode 100644 index 0000000..cea716d --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-map-picker/src/main.vue @@ -0,0 +1,645 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-header/index.js b/src/components/ele-admin-pro/packages/ele-pro-header/index.js new file mode 100644 index 0000000..38b5df7 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-header/index.js @@ -0,0 +1,8 @@ +/** 顶栏 license by http://eleadmin.com */ +import EleProHeader from './src/main'; + +EleProHeader.install = function (Vue) { + Vue.component(EleProHeader.name, EleProHeader); +}; + +export default EleProHeader; diff --git a/src/components/ele-admin-pro/packages/ele-pro-header/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-header/src/main.vue new file mode 100644 index 0000000..29620b4 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-header/src/main.vue @@ -0,0 +1,134 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-layout/index.js b/src/components/ele-admin-pro/packages/ele-pro-layout/index.js new file mode 100644 index 0000000..4aebfe9 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-layout/index.js @@ -0,0 +1,8 @@ +/** ele admin 布局 license by http://eleadmin.com */ +import EleProLayout from './src/main'; + +EleProLayout.install = function (Vue) { + Vue.component(EleProLayout.name, EleProLayout); +}; + +export default EleProLayout; diff --git a/src/components/ele-admin-pro/packages/ele-pro-layout/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-layout/src/main.vue new file mode 100644 index 0000000..0d3af1d --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-layout/src/main.vue @@ -0,0 +1,970 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-setting/index.js b/src/components/ele-admin-pro/packages/ele-pro-setting/index.js new file mode 100644 index 0000000..5798a7b --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-setting/index.js @@ -0,0 +1,8 @@ +/** ele admin 主题设置抽屉 license by http://eleadmin.com */ +import EleProSetting from './src/main'; + +EleProSetting.install = function (Vue) { + Vue.component(EleProSetting.name, EleProSetting); +}; + +export default EleProSetting; diff --git a/src/components/ele-admin-pro/packages/ele-pro-setting/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-setting/src/main.vue new file mode 100644 index 0000000..2861cfe --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-setting/src/main.vue @@ -0,0 +1,523 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar-item/index.js b/src/components/ele-admin-pro/packages/ele-pro-sidebar-item/index.js new file mode 100644 index 0000000..a00932e --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar-item/index.js @@ -0,0 +1,8 @@ +/** 侧边栏菜单 item license by http://eleadmin.com */ +import EleProSidebarItem from './src/main'; + +EleProSidebarItem.install = function (Vue) { + Vue.component(EleProSidebarItem.name, EleProSidebarItem); +}; + +export default EleProSidebarItem; diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar-item/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-sidebar-item/src/main.vue new file mode 100644 index 0000000..98b24f7 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar-item/src/main.vue @@ -0,0 +1,51 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar-menus/index.js b/src/components/ele-admin-pro/packages/ele-pro-sidebar-menus/index.js new file mode 100644 index 0000000..c27a056 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar-menus/index.js @@ -0,0 +1,8 @@ +/** 侧边栏菜单非递归 license by http://eleadmin.com */ +import EleProSidebarMenus from './src/main'; + +EleProSidebarMenus.install = function (Vue) { + Vue.component(EleProSidebarMenus.name, EleProSidebarMenus); +}; + +export default EleProSidebarMenus; diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar-menus/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-sidebar-menus/src/main.vue new file mode 100644 index 0000000..fa2511c --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar-menus/src/main.vue @@ -0,0 +1,205 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar-nav/index.js b/src/components/ele-admin-pro/packages/ele-pro-sidebar-nav/index.js new file mode 100644 index 0000000..3fd914d --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar-nav/index.js @@ -0,0 +1,8 @@ +/** 侧边栏双排菜单一级 license by http://eleadmin.com */ +import EleProSidebarNav from './src/main'; + +EleProSidebarNav.install = function (Vue) { + Vue.component(EleProSidebarNav.name, EleProSidebarNav); +}; + +export default EleProSidebarNav; diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar-nav/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-sidebar-nav/src/main.vue new file mode 100644 index 0000000..81d7ddc --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar-nav/src/main.vue @@ -0,0 +1,86 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar/index.js b/src/components/ele-admin-pro/packages/ele-pro-sidebar/index.js new file mode 100644 index 0000000..62effb1 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar/index.js @@ -0,0 +1,8 @@ +/** 侧边栏 license by http://eleadmin.com */ +import EleProSidebar from './src/main'; + +EleProSidebar.install = function (Vue) { + Vue.component(EleProSidebar.name, EleProSidebar); +}; + +export default EleProSidebar; diff --git a/src/components/ele-admin-pro/packages/ele-pro-sidebar/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-sidebar/src/main.vue new file mode 100644 index 0000000..d970d00 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-sidebar/src/main.vue @@ -0,0 +1,119 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-table-tools/index.js b/src/components/ele-admin-pro/packages/ele-pro-table-tools/index.js new file mode 100644 index 0000000..628225a --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-table-tools/index.js @@ -0,0 +1,8 @@ +/** 表格工具按钮组件 license by http://eleadmin.com */ +import EleProTableTools from './src/main'; + +EleProTableTools.install = function (app) { + app.component(EleProTableTools.name, EleProTableTools); +}; + +export default EleProTableTools; diff --git a/src/components/ele-admin-pro/packages/ele-pro-table-tools/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-table-tools/src/main.vue new file mode 100644 index 0000000..0fe82b4 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-table-tools/src/main.vue @@ -0,0 +1,363 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-table/index.js b/src/components/ele-admin-pro/packages/ele-pro-table/index.js new file mode 100644 index 0000000..e7bd29f --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-table/index.js @@ -0,0 +1,8 @@ +/** 高级表格组件 license by http://eleadmin.com */ +import EleProTable from './src/main'; + +EleProTable.install = function (Vue) { + Vue.component(EleProTable.name, EleProTable); +}; + +export default EleProTable; diff --git a/src/components/ele-admin-pro/packages/ele-pro-table/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-table/src/main.vue new file mode 100644 index 0000000..227c5fc --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-table/src/main.vue @@ -0,0 +1,755 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-pro-tabs/index.js b/src/components/ele-admin-pro/packages/ele-pro-tabs/index.js new file mode 100644 index 0000000..5b69a4f --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-tabs/index.js @@ -0,0 +1,8 @@ +/** 标签页 license by http://eleadmin.com */ +import EleProTabs from './src/main'; + +EleProTabs.install = function (Vue) { + Vue.component(EleProTabs.name, EleProTabs); +}; + +export default EleProTabs; diff --git a/src/components/ele-admin-pro/packages/ele-pro-tabs/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-tabs/src/main.vue new file mode 100644 index 0000000..324190c --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-pro-tabs/src/main.vue @@ -0,0 +1,192 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-redirect/index.js b/src/components/ele-admin-pro/packages/ele-redirect/index.js new file mode 100644 index 0000000..7f924c2 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-redirect/index.js @@ -0,0 +1,8 @@ +/** 用于刷新路由 license by http://eleadmin.com */ +import EleRedirect from './src/main'; + +EleRedirect.install = function (Vue) { + Vue.component(EleRedirect.name, EleRedirect); +}; + +export default EleRedirect; diff --git a/src/components/ele-admin-pro/packages/ele-redirect/src/main.js b/src/components/ele-admin-pro/packages/ele-redirect/src/main.js new file mode 100644 index 0000000..784a0bc --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-redirect/src/main.js @@ -0,0 +1,26 @@ +/** 用于刷新路由 license by http://eleadmin.com */ +import {createVNode, defineComponent, unref} from 'vue'; +import {useRouter} from 'vue-router'; +import {useStore} from 'vuex'; + +export default defineComponent({ + name: 'EleRedirect', + setup() { + const {currentRoute, replace} = useRouter(); + const {dispatch} = useStore(); + const {params, query} = unref(currentRoute); + const {path} = params; + const _path = Array.isArray(path) ? path.join('/') : path; + dispatch('theme/setKeepAliveExclude', []).then(() => { + replace({ + path: '/' + _path, + query: query, + }).then(() => { + }); + }); + return {}; + }, + render() { + return createVNode('div'); + } +}); diff --git a/src/components/ele-admin-pro/packages/ele-tag/index.js b/src/components/ele-admin-pro/packages/ele-tag/index.js new file mode 100644 index 0000000..d0a6887 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-tag/index.js @@ -0,0 +1,8 @@ +/** 标签组件 license by http://eleadmin.com */ +import EleTag from './src/main'; + +EleTag.install = function (app) { + app.component(EleTag.name, EleTag); +}; + +export default EleTag; diff --git a/src/components/ele-admin-pro/packages/ele-tag/src/main.vue b/src/components/ele-admin-pro/packages/ele-tag/src/main.vue new file mode 100644 index 0000000..1a8d8c7 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-tag/src/main.vue @@ -0,0 +1,155 @@ + + + + + + diff --git a/src/components/ele-admin-pro/packages/ele-toolbar/index.js b/src/components/ele-admin-pro/packages/ele-toolbar/index.js new file mode 100644 index 0000000..06bf6a5 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-toolbar/index.js @@ -0,0 +1,8 @@ +/** 表格工具栏组件 license by http://eleadmin.com */ +import EleToolbar from './src/main'; + +EleToolbar.install = function (Vue) { + Vue.component(EleToolbar.name, EleToolbar); +}; + +export default EleToolbar; diff --git a/src/components/ele-admin-pro/packages/ele-toolbar/src/main.vue b/src/components/ele-admin-pro/packages/ele-toolbar/src/main.vue new file mode 100644 index 0000000..73002d1 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-toolbar/src/main.vue @@ -0,0 +1,123 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/ele-word-cloud/index.js b/src/components/ele-admin-pro/packages/ele-word-cloud/index.js new file mode 100644 index 0000000..cebae58 --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-word-cloud/index.js @@ -0,0 +1,8 @@ +/** echarts 词云组件封装 license by http://eleadmin.com */ +import EleWordCloud from './src/main'; + +EleWordCloud.install = function (app) { + app.component(EleWordCloud.name, EleWordCloud); +}; + +export default EleWordCloud; diff --git a/src/components/ele-admin-pro/packages/ele-word-cloud/src/main.vue b/src/components/ele-admin-pro/packages/ele-word-cloud/src/main.vue new file mode 100644 index 0000000..a52debe --- /dev/null +++ b/src/components/ele-admin-pro/packages/ele-word-cloud/src/main.vue @@ -0,0 +1,99 @@ + + + + diff --git a/src/components/ele-admin-pro/packages/index.js b/src/components/ele-admin-pro/packages/index.js new file mode 100644 index 0000000..e7171c9 --- /dev/null +++ b/src/components/ele-admin-pro/packages/index.js @@ -0,0 +1,60 @@ +/** ele admin pro license by http://eleadmin.com */ +import NProgress from 'nprogress'; +import Antd from 'ant-design-vue'; +import EleAvatarList from './ele-avatar-list'; +import EleEditTag from './ele-edit-tag'; +import EleProLayout from './ele-pro-layout'; +import EleProTable from './ele-pro-table'; +import EleProTableTools from './ele-pro-table-tools'; +import EleTag from './ele-tag'; +import EleToolbar from './ele-toolbar'; +import * as util from './util.js'; +import messageLoading from './message-loading.js'; +import {menuToRoutes, formatMenus} from './menu-util.js'; + +export { + EleAvatarList, + EleEditTag, + EleProLayout, + EleProTable, + EleProTableTools, + EleTag, + EleToolbar, + messageLoading, + menuToRoutes, + formatMenus, + util +} + +export default { + install: function (app, opt) { + // 配置nprogress + NProgress.configure(Object.assign({ + speed: 200, + minimum: 0.02, + trickleRate: 0.1, + trickleSpeed: 200, + showSpinner: false + }, opt ? opt.nProgress : null)); + + // 安装antd + app.use(Antd); + + // 添加全局属性 + app.config.globalProperties.$ELEADMIN = { + request: opt ? opt.request : null, + response: opt ? opt.response : null + }; + app.config.globalProperties.$util = util; + app.config.globalProperties.$messageLoading = messageLoading; + + // 注册全局组件 + app.component(EleAvatarList.name, EleAvatarList); + app.component(EleEditTag.name, EleEditTag); + app.component(EleProLayout.name, EleProLayout); + app.component(EleProTable.name, EleProTable); + app.component(EleProTableTools.name, EleProTableTools); + app.component(EleTag.name, EleTag); + app.component(EleToolbar.name, EleToolbar); + } +} diff --git a/src/components/ele-admin-pro/packages/lang/ar_EG.js b/src/components/ele-admin-pro/packages/lang/ar_EG.js new file mode 100644 index 0000000..85eef9c --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ar_EG.js @@ -0,0 +1,113 @@ +/** 阿拉伯语 */ +import lang from 'ant-design-vue/es/locale/ar_EG'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'منعش', + fullscreen: 'فول سكرين', + fullscreenExit: 'فول سكرين', + closeLeft: 'إغلاق الجانب الأيسر', + closeRight: 'إغلاق اليمين', + closeOther: 'إغلاق أخرى', + closeAll: 'إغلاق جميع' + }, + setting: { + title: 'إعدادات الموضوع', + sideStyles: { + dark: 'الجانب المظلم', + light: 'ضوء الشريط الجانبي' + }, + headStyles: { + light: 'مصباح حامل', + dark: 'عنوان الظلام', + primary: 'الجدول الرئيسي' + }, + layoutStyles: { + side: 'الجانب قائمة تخطيط', + top: 'أعلى القائمة تخطيط', + mix: 'مزيج من تصميم القائمة' + }, + colors: { + default: 'لي مينغ', + dust: 'رمادي أزرق', + sunset: 'الغروب البرتقالي', + volcano: 'البراكين', + purple: 'الذهب الأرجواني', + cyan: 'سماوي', + green: 'القطبية الخضراء', + geekblue: 'المهوس الأزرق' + }, + darkMode: 'نمط الظلام', + layoutStyle: 'نمط الملاحة', + sideMenuStyle: 'القائمة المزدوجة للشريط الجانبي', + bodyFull: 'كامل الشاشة', + other: 'إعدادات أخرى', + fixedHeader: 'ثابت الجدول الحصاد', + fixedSidebar: 'شريط جانبي ثابت', + fixedBody: 'جسم ثابت', + logoAutoSize: 'تعديل التوقيع', + colorfulIcon: 'رمز اللون', + sideUniqueOpen: 'القائمة مفتوحة فقط', + weakMode: 'وضع ضعيف', + showFooter: 'عرض تذييل', + showTabs: 'عرض علامة التبويب', + tabStyle: 'نمط التسمية', + tabStyles: { + default: 'خرق العقد', + dot: 'رقصة البولكا النقاط', + card: 'البطاقات' + }, + tips: 'في المرة القادمة التي تفتح ، وسوف تذكر التكوين الخاص بك' + }, + tableTools: { + refresh: 'منعش', + size: 'كثافة', + sizeOption: { + large: 'سهل', + medium: 'خرق العقد', + small: 'الثانوية', + mini: 'عقد' + }, + columns: 'عمود', + columnsOption: { + columns: 'عمود', + reset: 'ريست', + index: 'ديجيتال', + selection: 'اختار', + untitled: 'بدون عنوان' + }, + fullscreen: 'فول سكرين' + }, + fileList: { + selectAll: 'انتخاب كامل', + selectTips: 'اختار من {total} فايل/المحتويات', + fileName: 'الاسم الكامل', + fileSize: 'مقاس', + fileTimestamp: 'آخر تعديل' + }, + cropper: { + zoomIn: 'مكبرة', + zoomOut: 'تصغير', + rotateLeft: 'تناوب اليسار', + rotateRight: 'تدوير الحق', + moveLeft: 'تحرك يسارا', + moveRight: 'رايت ›', + moveUp: 'صاعد صاعد', + moveDown: 'نزول', + flipX: 'فليب اكس', + flipY: 'الوجه ي', + reset: 'ريست', + upload: 'ابلود', + ok: 'حسناً', + title: 'آلة قطع' + }, + map: { + title: 'آدرس', + placeholder: 'ادخل كلمة', + message: 'الرجاء اختيار العنوان', + ok: 'حسناً' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/bg_BG.js b/src/components/ele-admin-pro/packages/lang/bg_BG.js new file mode 100644 index 0000000..e8fc3f5 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/bg_BG.js @@ -0,0 +1,113 @@ +/** 保加利亚语 */ +import lang from 'ant-design-vue/es/locale/bg_BG'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Освежаване', + fullscreen: 'пълен екран', + fullscreenExit: 'пълен екран', + closeLeft: 'Ляво затваряне', + closeRight: 'Затваряне надясно', + closeOther: 'Затваряне на други', + closeAll: 'Затваряне на всички' + }, + setting: { + title: 'Настройки на тема', + sideStyles: { + dark: 'Тъмна страна', + light: 'Страничен панел' + }, + headStyles: { + light: 'Светлина глава', + dark: 'Тъмна глава', + primary: 'Главна глава' + }, + layoutStyles: { + side: 'Настройки на страничното меню', + top: 'Настройки на менюто', + mix: 'Настройки на менюто' + }, + colors: { + default: 'Дневна Синьо', + dust: 'Dust Blue', + sunset: 'Залез Оранжев', + volcano: 'Вулкан', + purple: 'Златен Пурпурно', + cyan: 'Циан', + green: 'Полярно Зелено', + geekblue: 'Смотаняк Синьо' + }, + darkMode: 'Мрачен режим', + layoutStyle: 'Навигационен режим', + sideMenuStyle: 'двойно меню', + bodyFull: 'Телесно покритие', + other: 'Други настройки', + fixedHeader: 'Настояща глава', + fixedSidebar: 'Постоянен панел', + fixedBody: 'Твърдо тяло', + logoAutoSize: 'Адаптация на логото', + colorfulIcon: 'Цветна икона', + sideUniqueOpen: 'Отваряне на меню', + weakMode: 'Слаб режим', + showFooter: 'Показване на стъпка', + showTabs: 'Показване на подпрозорците', + tabStyle: 'Стил на подпрозореца', + tabStyles: { + default: 'Стандартно', + dot: 'Точка', + card: 'Карта' + }, + tips: 'Той ще запомни конфигурацията ти следващия път, когато я отвориш.' + }, + tableTools: { + refresh: 'Освежаване', + size: 'Плътност', + sizeOption: { + large: 'Леко', + medium: 'Стандартно', + small: 'Вторичен', + mini: 'Компактен' + }, + columns: 'Колони', + columnsOption: { + columns: 'Колони', + reset: 'Рестартиране', + index: 'Числа', + selection: 'Маркиране', + untitled: 'Без заглавие' + }, + fullscreen: 'пълен екран' + }, + fileList: { + selectAll: 'Избор на всичко', + selectTips: 'Избрано {total} файл/директория', + fileName: 'Име', + fileSize: 'Размер', + fileTimestamp: 'Последна модификация' + }, + cropper: { + zoomIn: 'Увеличаване на', + zoomOut: 'Увеличаване на мащаба', + rotateLeft: 'Завъртане наляво', + rotateRight: 'Завъртане надясно', + moveLeft: 'Преместване наляво', + moveRight: 'Преместване надясно', + moveUp: 'Преместване нагоре', + moveDown: 'Преместване надолу', + flipX: 'Завъртане', + flipY: 'Завъртане', + reset: 'Рестартиране', + upload: 'Качване', + ok: 'Добре', + title: 'Кропър' + }, + map: { + title: 'Адрес', + placeholder: 'Въведете ключова дума', + message: 'Моля, изберете адрес', + ok: 'Добре' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ca_ES.js b/src/components/ele-admin-pro/packages/lang/ca_ES.js new file mode 100644 index 0000000..834e257 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ca_ES.js @@ -0,0 +1,113 @@ +/** 加泰罗尼亚语 */ +import lang from 'ant-design-vue/es/locale/ca_ES'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Actualitzar', + fullscreen: 'Pantalla completa', + fullscreenExit: 'Pantalla completa', + closeLeft: 'tancar a esquerra', + closeRight: 'Zarrar a la dreta', + closeOther: 'Zarrar altres', + closeAll: 'Zarrar tot' + }, + setting: { + title: 'Configuració del tema', + sideStyles: { + dark: 'Barra lateral fosca', + light: 'Barra lateral llum' + }, + headStyles: { + light: 'cap lliure', + dark: 'Cap negre', + primary: 'Cap principal' + }, + layoutStyles: { + side: 'Disposició del menú lateral', + top: 'Disposició del menú superior', + mix: 'Distribució del Menú Mix' + }, + colors: { + default: 'blau de la matinada', + dust: 'Blau de pols', + sunset: 'naranja del sol', + volcano: 'Volcà', + purple: 'Púrpura dorada', + cyan: 'Cian', + green: 'Verd Polar', + geekblue: 'blau geek' + }, + darkMode: 'Mou fosc', + layoutStyle: 'Mod de navegació', + sideMenuStyle: 'doble menú', + bodyFull: 'Corp a pantalla completa', + other: 'altres condicions', + fixedHeader: 'cap fixa', + fixedSidebar: 'Barra lateral fixa', + fixedBody: 'Corp fixe', + logoAutoSize: 'Adaptació al logo', + colorfulIcon: 'Icó colorida', + sideUniqueOpen: 'Menú únic obert', + weakMode: 'Mod frac', + showFooter: 'Mostrar el pie', + showTabs: 'Mostrar les llingüetes', + tabStyle: 'Estil de llingüetes', + tabStyles: { + default: 'Predeterminat', + dot: 'Punt', + card: 'Carta' + }, + tips: 'Recordarà la vostra configuració la propera vegada que l\'obreu.' + }, + tableTools: { + refresh: 'Actualitzar', + size: 'La densitat', + sizeOption: { + large: 'Fàcil', + medium: 'Predeterminat', + small: 'Secundari', + mini: 'Compacte' + }, + columns: 'Columnes', + columnsOption: { + columns: 'Columnes', + reset: 'Reiniciar', + index: 'Números', + selection: 'Selecció', + untitled: 'Sen títol' + }, + fullscreen: 'Pantalla completa' + }, + fileList: { + selectAll: 'Seleccionar tot', + selectTips: 'Seleccionat {total} arxiu/directori', + fileName: 'Nom', + fileSize: 'Tamañ', + fileTimestamp: 'Última modificació' + }, + cropper: { + zoomIn: 'Ampliar', + zoomOut: 'Ampliar', + rotateLeft: 'Xirar a l\'esquerra', + rotateRight: 'Xirar a la dreta', + moveLeft: 'Movir a l\'esquerra', + moveRight: 'Movir a la dreta', + moveUp: 'Subir', + moveDown: 'Baixar', + flipX: 'Xirar X', + flipY: 'Xirar Y', + reset: 'Reiniciar', + upload: 'Enviar', + ok: 'D\'acord', + title: 'Cropper' + }, + map: { + title: 'Adresa', + placeholder: 'Introdueix la paraula clau', + message: 'Si us plau seleccioneu una adreça', + ok: 'D\'acord' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/cs_CZ.js b/src/components/ele-admin-pro/packages/lang/cs_CZ.js new file mode 100644 index 0000000..11299ea --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/cs_CZ.js @@ -0,0 +1,113 @@ +/** 捷克语 */ +import lang from 'ant-design-vue/es/locale/cs_CZ'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Obnovit', + fullscreen: 'Celoobrazovka', + fullscreenExit: 'Celoobrazovka', + closeLeft: 'Zavřít Doleva', + closeRight: 'Zavřít Vpravo', + closeOther: 'Zavřít Další', + closeAll: 'Zavřít Vše' + }, + setting: { + title: 'Téma Nastavení', + sideStyles: { + dark: 'Tmavé Vedlejší', + light: 'Světlo Vedlejší' + }, + headStyles: { + light: 'Světlo Hlavička', + dark: 'Tmavé Hlavička', + primary: 'Primární Hlavička' + }, + layoutStyles: { + side: 'Strana Menu Uspořádání', + top: 'Nahoře Menu Uspořádání', + mix: 'Směs Menu Uspořádání' + }, + colors: { + default: 'Svátek Modrá', + dust: 'Prach Modrá', + sunset: 'Západ Oranžová', + volcano: 'Sopky', + purple: 'Zlatá Fialová', + cyan: 'Kyan', + green: 'Polární Zelená', + geekblue: 'Geeku Modrá' + }, + darkMode: 'Tmavý Režim', + layoutStyle: 'Navigační Režim', + sideMenuStyle: 'dvojité menu', + bodyFull: 'Tělo Celoobrazovka', + other: 'Ostatní Nastavení', + fixedHeader: 'Pevná hlavička', + fixedSidebar: 'Pevná postranní lišta', + fixedBody: 'Pevné Tělo', + logoAutoSize: 'Loga Přizpůsobení', + colorfulIcon: 'Barva Ikony', + sideUniqueOpen: 'Nabídka Unikátní', + weakMode: 'Slabý Režim', + showFooter: 'Zápatí Zobrazit', + showTabs: 'Karet Zobrazit', + tabStyle: 'Karet Styl', + tabStyles: { + default: 'Výchozí', + dot: 'tečka', + card: 'Karta' + }, + tips: 'Bude si pamatovat vaši konfiguraci, až ji příště otevřete.' + }, + tableTools: { + refresh: 'Obnovit', + size: 'Hustota', + sizeOption: { + large: 'Pomalu.', + medium: 'Výchozí', + small: 'Sekundární', + mini: 'Kompaktní' + }, + columns: 'Sloupce', + columnsOption: { + columns: 'Sloupce', + reset: 'Obnovit', + index: 'Čísla', + selection: 'Výběr', + untitled: 'Nepojmenované' + }, + fullscreen: 'Celoobrazovka' + }, + fileList: { + selectAll: 'VybratVše', + selectTips: 'Vybrané {total} soubor/adresář', + fileName: 'Jméno', + fileSize: 'Velikost', + fileTimestamp: 'Poslední úpravy' + }, + cropper: { + zoomIn: 'PřiblížitSe', + zoomOut: 'ZvětšitVen', + rotateLeft: 'RotovatDoleva', + rotateRight: 'RotovatVpravo', + moveLeft: 'PřesunoutDoleva', + moveRight: 'PřesunoutVpravo', + moveUp: 'PřesunoutNahoru', + moveDown: 'PřesunoutDolů', + flipX: 'PřevrátitX', + flipY: 'PřevrátitY', + reset: 'Obnovit', + upload: 'Nahrát', + ok: 'OK', + title: 'Plechovka' + }, + map: { + title: 'Adresa', + placeholder: 'Klíčové slovo', + message: 'Prosím vyberte adresu', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/da_DK.js b/src/components/ele-admin-pro/packages/lang/da_DK.js new file mode 100644 index 0000000..2a008b0 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/da_DK.js @@ -0,0 +1,113 @@ +/** 丹麦语 */ +import lang from 'ant-design-vue/es/locale/da_DK'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Genopfrisk', + fullscreen: 'FuldskærmName', + fullscreenExit: 'FuldskærmName', + closeLeft: 'Luk Venstre', + closeRight: 'Luk Højre', + closeOther: 'Luk Andet', + closeAll: 'Luk Alle' + }, + setting: { + title: 'Tema Indstilling', + sideStyles: { + dark: 'Mørk Sidebjælke', + light: 'Lys Sidebjælke' + }, + headStyles: { + light: 'Lys Overskrift', + dark: 'Mørkets Overskrift', + primary: 'Primær Overskrift' + }, + layoutStyles: { + side: 'Side Menu Layout', + top: 'Øverste Menu Layout', + mix: 'Bland Menu Layout' + }, + colors: { + default: 'Dagbreak Blå', + dust: 'Støv Blå', + sunset: 'Solnedgang Orange', + volcano: 'Vulcan', + purple: 'Gylden Lilla', + cyan: 'Cyan', + green: 'Grøn Polar', + geekblue: 'Nørd Blå' + }, + darkMode: 'Mørke Tilstand', + layoutStyle: 'Navigation Tilstand', + sideMenuStyle: 'Sidemenu dobbeltmenu', + bodyFull: 'Krop Fuldskærm', + other: 'Anden Indstilling', + fixedHeader: 'Fast Overskrift', + fixedSidebar: 'Fast Sidebjælke', + fixedBody: 'Fast Krop', + logoAutoSize: 'Logo Tilpasning', + colorfulIcon: 'Farvestoffer Ikon', + sideUniqueOpen: 'Menu Unik Åbn', + weakMode: 'Svag Tilstand', + showFooter: 'Vis Foder', + showTabs: 'Vis Tabs', + tabStyle: 'Tab Stil', + tabStyles: { + default: 'Standard', + dot: 'Punkt', + card: 'KortName' + }, + tips: 'Den vil huske din indstilling næste gang du åbner den.' + }, + tableTools: { + refresh: 'Genopfrisk', + size: 'Tæthed', + sizeOption: { + large: 'Nemt', + medium: 'Standard', + small: 'Sekundær', + mini: 'Kompakt' + }, + columns: 'Kolonner', + columnsOption: { + columns: 'Kolonner', + reset: 'Nulstil', + index: 'Tal', + selection: 'Valg', + untitled: 'Unavngivet' + }, + fullscreen: 'FuldskærmName' + }, + fileList: { + selectAll: 'Markér alle', + selectTips: 'Udvalgt {total} fil/mappe', + fileName: 'Navn', + fileSize: 'Størrelse', + fileTimestamp: 'Senest ændret' + }, + cropper: { + zoomIn: 'Vergrößern', + zoomOut: 'Rauszoomen', + rotateLeft: 'RotérVenstre', + rotateRight: 'RotérHøjre', + moveLeft: 'FlytVenstre', + moveRight: 'FlytHøjre', + moveUp: 'FlytOp', + moveDown: 'FlytNed', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Nulstil', + upload: 'Hochladen', + ok: 'OK', + title: 'Markør' + }, + map: { + title: 'Adresse', + placeholder: 'Indtast søgeord', + message: 'Vælg venligst en adresse', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/de_DE.js b/src/components/ele-admin-pro/packages/lang/de_DE.js new file mode 100644 index 0000000..9d8a513 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/de_DE.js @@ -0,0 +1,113 @@ +/** 德语 */ +import lang from 'ant-design-vue/es/locale/de_DE'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Aktualisieren', + fullscreen: 'Vollbild', + fullscreenExit: 'Vollbild', + closeLeft: 'Links Schließen', + closeRight: 'Rechtes Schließen', + closeOther: 'Andere Schließen', + closeAll: 'Alle Schließen' + }, + setting: { + title: 'Designs Einstellung', + sideStyles: { + dark: 'Dunkle Seitenleiste', + light: 'Leichte Seitenleiste' + }, + headStyles: { + light: 'Lichts Kopfzeile', + dark: 'Dunkler Kopfzeile', + primary: 'Primärer Kopfzeile' + }, + layoutStyles: { + side: 'Seitenmenüs Layout', + top: 'Oben Menüs Layout', + mix: 'Mix Menü Layout' + }, + colors: { + default: 'Blaue Morgendämmerung', + dust: 'Staub Blau', + sunset: 'Orange Sonnenuntergang', + volcano: 'Vulkan', + purple: 'Goldenes Purpur', + cyan: 'Cyan', + green: 'Polares Grün', + geekblue: 'Geek Blue' + }, + darkMode: 'Dunkler Modus', + layoutStyle: 'Navigation Modus', + sideMenuStyle: 'Seitenleiste Doppelmenü', + bodyFull: 'Körper Vollbild', + other: 'Sonstige Einstellung', + fixedHeader: 'Feste Kopfzeile', + fixedSidebar: 'Feste Seitenleiste', + fixedBody: 'Feste Karosserie', + logoAutoSize: 'Logo Anpassung', + colorfulIcon: 'Farbiges Symbol', + sideUniqueOpen: 'Menü Einmaliges Öffnen', + weakMode: 'Schwacher Modus', + showFooter: 'Anzeigen Fußzeile', + showTabs: 'Anzeigen Tabulatoren', + tabStyle: 'Unterfenster Stil', + tabStyles: { + default: 'Standard', + dot: 'Punkt', + card: 'Karte' + }, + tips: 'Sie wird sich beim nächsten Öffnen an Ihre Konfiguration erinnern.' + }, + tableTools: { + refresh: 'Aktualisieren', + size: 'Dichte', + sizeOption: { + large: 'Ruhig', + medium: 'Standard', + small: 'Sekundär', + mini: 'Kompakt' + }, + columns: 'Spalten', + columnsOption: { + columns: 'Spalten', + reset: 'Zurücksetzen', + index: 'Zahlen', + selection: 'Auswahl', + untitled: 'Ohne Titel' + }, + fullscreen: 'Vollbild' + }, + fileList: { + selectAll: 'AuswählenAlle', + selectTips: 'Ausgewählte {total} datei/verzeichnis', + fileName: 'Name', + fileSize: 'Größe', + fileTimestamp: 'ZuletztGeändert' + }, + cropper: { + zoomIn: 'VergrößernIn', + zoomOut: 'VergrößernSie', + rotateLeft: 'DrehenLinks', + rotateRight: 'DrehenRechts', + moveLeft: 'BewegungLinks', + moveRight: 'BewegungRechts', + moveUp: 'BewegungHoch', + moveDown: 'BewegungUnten', + flipX: 'DrehenX', + flipY: 'DrehenY', + reset: 'Zurücksetzen', + upload: 'Hochladen', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Adresse', + placeholder: 'Einträge filtern', + message: 'Bitte wählen Sie eine Adresse', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/el_GR.js b/src/components/ele-admin-pro/packages/lang/el_GR.js new file mode 100644 index 0000000..46ca9c1 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/el_GR.js @@ -0,0 +1,113 @@ +/** 希腊语 */ +import lang from 'ant-design-vue/es/locale/el_GR'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Ανανέωση', + fullscreen: 'Πλήρης οθόνη', + fullscreenExit: 'Πλήρης οθόνη', + closeLeft: 'Κλείσιμο Αριστερά', + closeRight: 'Κλείσιμο Σωστά', + closeOther: 'Κλείσιμο Άλλα', + closeAll: 'Κλείσιμο Όλα' + }, + setting: { + title: 'Θέμα Ρύθμιση', + sideStyles: { + dark: 'Σκοτεινή Πλευρικό', + light: 'Ελαφρά Πλευρικό' + }, + headStyles: { + light: 'Ελαφρά Κεφαλίδα', + dark: 'Σκοτεινή Κεφαλίδα', + primary: 'Κύρια Κεφαλίδα' + }, + layoutStyles: { + side: 'Πλαίσιο μενού πλευρών', + top: 'Διάταξη άνω μενού', + mix: 'Ρύθμιση μενού Mix' + }, + colors: { + default: 'Μπλε ξημέρωμα', + dust: 'Μπλε σκόνη', + sunset: 'Ηλιοβασίλεμα πορτοκάλι', + volcano: 'Ηφαίστειο', + purple: 'Χρυσό μωβ', + cyan: 'Κυανή', + green: 'Πολικό πράσινο', + geekblue: 'Κομπιουτεράκιας Μπλε' + }, + darkMode: 'Σκοτεινή κατάσταση', + layoutStyle: 'Λειτουργία πλοήγησης', + sideMenuStyle: 'διπλό μενού', + bodyFull: 'Πλήρης οθόνη σώματος', + other: 'Άλλες ρυθμίσεις', + fixedHeader: 'Σταθερή επικεφαλίδα', + fixedSidebar: 'Σταθερή πλευρική γραμμή', + fixedBody: 'Σταθερό σώμα', + logoAutoSize: 'Προσαρμογή ημερολογίου', + colorfulIcon: 'Χρωματικό εικονίδιο', + sideUniqueOpen: 'Μοναδικό άνοιγμα μενού', + weakMode: 'Αδύναμη κατάσταση', + showFooter: 'Εμφάνιση υποδήματος', + showTabs: 'Εμφάνιση καρτελών', + tabStyle: 'Στυλ καρτελών', + tabStyles: { + default: 'Προκαθορισμένο', + dot: 'Ντοτ', + card: 'Κάρτα' + }, + tips: 'Θα θυμάται τις ρυθμίσεις σας την επόμενη φορά που θα τις ανοίξετε.' + }, + tableTools: { + refresh: 'Ανανέωση', + size: 'πυκνότητα', + sizeOption: { + large: 'Εύκολο', + medium: 'Προκαθορισμένο', + small: 'Δευτερογενής', + mini: 'Συμπίεση' + }, + columns: 'Στήλες', + columnsOption: { + columns: 'Στήλες', + reset: 'Επαναφορά', + index: 'Αριθμοί', + selection: 'Επιλογή', + untitled: 'Χωρίς' + }, + fullscreen: 'Πλήρης οθόνη' + }, + fileList: { + selectAll: 'Επιλογή όλων', + selectTips: 'Επιλεγμένο {total} αρχείο/κατάλογος', + fileName: 'όνομα', + fileSize: 'Μέγεθος', + fileTimestamp: 'Τελευταία τροποποίηση' + }, + cropper: { + zoomIn: 'Μεγέθυνση μέσα', + zoomOut: 'Μεγέθυνση έξω', + rotateLeft: 'Περιστροφή αριστερά', + rotateRight: 'Περιστροφή δεξιά', + moveLeft: 'Μετακίνηση αριστερά', + moveRight: 'Μετακίνηση δεξιά', + moveUp: 'Μετακίνηση πάνω', + moveDown: 'Μετακίνηση κάτω', + flipX: 'Αναστροφή X', + flipY: 'Αναστροφή Υ', + reset: 'Επαναφορά', + upload: 'Αποστολή', + ok: 'Εντάξει', + title: 'Θεριστής' + }, + map: { + title: 'Διεύθυνση', + placeholder: 'Αναζήτηση', + message: 'Παρακαλώ επιλέξτε μια διεύθυνση', + ok: 'Εντάξει' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/en_GB.js b/src/components/ele-admin-pro/packages/lang/en_GB.js new file mode 100644 index 0000000..53b5188 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/en_GB.js @@ -0,0 +1,113 @@ +/** 英语 */ +import lang from 'ant-design-vue/es/locale/en_GB'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Refresh', + fullscreen: 'Fullscreen', + fullscreenExit: 'Fullscreen', + closeLeft: 'Close Left', + closeRight: 'Close Right', + closeOther: 'Close Other', + closeAll: 'Close All' + }, + setting: { + title: 'Theme Setting', + sideStyles: { + dark: 'Dark Sidebar', + light: 'Light Sidebar' + }, + headStyles: { + light: 'Light Header', + dark: 'Dark Header', + primary: 'Primary Header' + }, + layoutStyles: { + side: 'Side Menu Layout', + top: 'Top Menu Layout', + mix: 'Mix Menu Layout' + }, + colors: { + default: 'Daybreak Blue', + dust: 'Dust Blue', + sunset: 'Sunset Orange', + volcano: 'Volcano', + purple: 'Golden Purple', + cyan: 'Cyan', + green: 'Polar Green', + geekblue: 'Geek Blue' + }, + darkMode: 'Dark Mode', + layoutStyle: 'Navigation Mode', + sideMenuStyle: 'Sidebar Double Menu', + bodyFull: 'Body Fullscreen', + other: 'Other Setting', + fixedHeader: 'Fixed Header', + fixedSidebar: 'Fixed Sidebar', + fixedBody: 'Fixed Body', + logoAutoSize: 'Logo Adaptation', + colorfulIcon: 'Colorful Icon', + sideUniqueOpen: 'Menu Unique Open', + weakMode: 'Weak Mode', + showFooter: 'Show Footer', + showTabs: 'Show Tabs', + tabStyle: 'Tab Style', + tabStyles: { + default: 'Default', + dot: 'Dot', + card: 'Card' + }, + tips: 'It will remember your configuration the next time you open it.' + }, + tableTools: { + refresh: 'Refresh', + size: 'Density', + sizeOption: { + large: 'Easy', + medium: 'Default', + small: 'Secondary', + mini: 'Compact' + }, + columns: 'Columns', + columnsOption: { + columns: 'Columns', + reset: 'Reset', + index: 'Numbers', + selection: 'Selection', + untitled: 'Untitled' + }, + fullscreen: 'Fullscreen' + }, + fileList: { + selectAll: 'SelectAll', + selectTips: 'Selected {total} file/directory', + fileName: 'Name', + fileSize: 'Size', + fileTimestamp: 'LastModified' + }, + cropper: { + zoomIn: 'ZoomIn', + zoomOut: 'ZoomOut', + rotateLeft: 'RotateLeft', + rotateRight: 'RotateRight', + moveLeft: 'MoveLeft', + moveRight: 'MoveRight', + moveUp: 'MoveUp', + moveDown: 'MoveDown', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Reset', + upload: 'Upload', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Address', + placeholder: 'Enter keyword', + message: 'Please select an address', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/en_US.js b/src/components/ele-admin-pro/packages/lang/en_US.js new file mode 100644 index 0000000..43a36bf --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/en_US.js @@ -0,0 +1,115 @@ +/** 英语 */ +import lang from 'ant-design-vue/es/locale/en_US'; +import ColorPicker from 'ant-design-vue/es/color-picker/locale/en_US.js'; + +export default { + ColorPicker: ColorPicker, + ...lang, + ele: { + tabs: { + reload: 'Refresh', + fullscreen: 'Fullscreen', + fullscreenExit: 'Fullscreen', + closeLeft: 'Close Left', + closeRight: 'Close Right', + closeOther: 'Close Other', + closeAll: 'Close All' + }, + setting: { + title: 'Theme Setting', + sideStyles: { + dark: 'Dark Sidebar', + light: 'Light Sidebar' + }, + headStyles: { + light: 'Light Header', + dark: 'Dark Header', + primary: 'Primary Header' + }, + layoutStyles: { + side: 'Side Menu Layout', + top: 'Top Menu Layout', + mix: 'Mix Menu Layout' + }, + colors: { + default: 'Daybreak Blue', + dust: 'Dust Blue', + sunset: 'Sunset Orange', + volcano: 'Volcano', + purple: 'Golden Purple', + cyan: 'Cyan', + green: 'Polar Green', + geekblue: 'Geek Blue' + }, + darkMode: 'Dark Mode', + layoutStyle: 'Navigation Mode', + sideMenuStyle: 'Sidebar Double Menu', + bodyFull: 'Body Fullscreen', + other: 'Other Setting', + fixedHeader: 'Fixed Header', + fixedSidebar: 'Fixed Sidebar', + fixedBody: 'Fixed Body', + logoAutoSize: 'Logo Adaptation', + colorfulIcon: 'Colorful Icon', + sideUniqueOpen: 'Menu Unique Open', + weakMode: 'Weak Mode', + showFooter: 'Show Footer', + showTabs: 'Show Tabs', + tabStyle: 'Tab Style', + tabStyles: { + default: 'Default', + dot: 'Dot', + card: 'Card' + }, + tips: 'It will remember your configuration the next time you open it.' + }, + tableTools: { + refresh: 'Refresh', + size: 'Density', + sizeOption: { + large: 'Easy', + medium: 'Default', + small: 'Secondary', + mini: 'Compact' + }, + columns: 'Columns', + columnsOption: { + columns: 'Columns', + reset: 'Reset', + index: 'Numbers', + selection: 'Selection', + untitled: 'Untitled' + }, + fullscreen: 'Fullscreen' + }, + fileList: { + selectAll: 'SelectAll', + selectTips: 'Selected {total} file/directory', + fileName: 'Name', + fileSize: 'Size', + fileTimestamp: 'LastModified' + }, + cropper: { + zoomIn: 'ZoomIn', + zoomOut: 'ZoomOut', + rotateLeft: 'RotateLeft', + rotateRight: 'RotateRight', + moveLeft: 'MoveLeft', + moveRight: 'MoveRight', + moveUp: 'MoveUp', + moveDown: 'MoveDown', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Reset', + upload: 'Upload', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Address', + placeholder: 'Enter keyword', + message: 'Please select an address', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/es_ES.js b/src/components/ele-admin-pro/packages/lang/es_ES.js new file mode 100644 index 0000000..cbe6dcd --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/es_ES.js @@ -0,0 +1,113 @@ +/** 西班牙语 */ +import lang from 'ant-design-vue/es/locale/es_ES'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Refrescar', + fullscreen: 'Pantalla completa', + fullscreenExit: 'Pantalla completa', + closeLeft: 'Cerrar izquierdo', + closeRight: 'Cerrar derecho', + closeOther: 'Cerrar otro', + closeAll: 'Cerrar todas' + }, + setting: { + title: 'Tema Configuración', + sideStyles: { + dark: 'Oscuro Barra', + light: 'Luz Barra' + }, + headStyles: { + light: 'Luz Encabezado', + dark: 'Oscuro Encabezado', + primary: 'Principal Encabezado' + }, + layoutStyles: { + side: 'Lateral Menú Diseño', + top: 'Principal Menú Diseño', + mix: 'Mix Menú Diseño' + }, + colors: { + default: 'Amanecer Azul', + dust: 'Polvo Azul', + sunset: 'Atardecer Naranja', + volcano: 'Volcán', + purple: 'Dorado Morado', + cyan: 'Cian', + green: 'Polar Verde', + geekblue: 'Adicto Azul' + }, + darkMode: 'Oscuro Modo', + layoutStyle: 'Navegación Modo', + sideMenuStyle: 'menú doble', + bodyFull: 'Cuerpo Pantalla Completa', + other: 'Otro Configuración', + fixedHeader: 'Reparado Encabezamiento', + fixedSidebar: 'Reparado Barra Lateral', + fixedBody: 'Reparado Cuerpo', + logoAutoSize: 'Logo Adaptación', + colorfulIcon: 'Vistoso Icono', + sideUniqueOpen: 'Menú Único Abierto', + weakMode: 'Débil Modo', + showFooter: 'Mostrar Pie De Página', + showTabs: 'Mostrar Pestaña', + tabStyle: 'Etiqueta Estilo', + tabStyles: { + default: 'Incumplimiento', + dot: 'Punto', + card: 'Tarjeta' + }, + tips: 'La próxima vez que se abra, recordará su configuración.' + }, + tableTools: { + refresh: 'Refrescar', + size: 'Densidad', + sizeOption: { + large: 'Fácil', + medium: 'Incumplimiento', + small: 'Secundaria', + mini: 'Contrato' + }, + columns: 'Columna', + columnsOption: { + columns: 'Columna', + reset: 'Reiniciar', + index: 'Número', + selection: 'Selección', + untitled: 'Intitulado' + }, + fullscreen: 'Pantalla Completa' + }, + fileList: { + selectAll: 'Seleccionar Todo', + selectTips: 'Seleccionado {total} expediente/directorio', + fileName: 'Nombre', + fileSize: 'Tamaño', + fileTimestamp: 'Última Modificación' + }, + cropper: { + zoomIn: 'Acercarse', + zoomOut: 'Encoger', + rotateLeft: 'Girar Izquierdo', + rotateRight: 'Girar Derecho', + moveLeft: 'Mover Izquierdo', + moveRight: 'Mover Derecho', + moveUp: 'Ascender', + moveDown: 'Bajar', + flipX: 'VoltearX', + flipY: 'VoltearY', + reset: 'Reiniciar', + upload: 'Subir', + ok: 'Confirmar', + title: 'Cultivador' + }, + map: { + title: 'Dirección', + placeholder: 'Ingresar palabra clave', + message: 'Por favor seleccione una direccion', + ok: 'Confirmar' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/et_EE.js b/src/components/ele-admin-pro/packages/lang/et_EE.js new file mode 100644 index 0000000..dae1776 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/et_EE.js @@ -0,0 +1,113 @@ +/** 爱沙尼亚语 */ +import lang from 'ant-design-vue/es/locale/et_EE'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Värskenda', + fullscreen: 'Täisekraan', + fullscreenExit: 'Täisekraan', + closeLeft: 'Sulge Vasakult', + closeRight: 'Sulge Paremal', + closeOther: 'Sulge Muu', + closeAll: 'Sulge Kõik' + }, + setting: { + title: 'Teema Seadistamine', + sideStyles: { + dark: 'Tume Külgriba', + light: 'Hele Külgriba' + }, + headStyles: { + light: 'Hele Päis', + dark: 'Tume Päis', + primary: 'Esmane Päis' + }, + layoutStyles: { + side: 'Külg Menüü Paigutus', + top: 'Ülal Menüü Paigutus', + mix: 'Segu Menüü Paigutus' + }, + colors: { + default: 'Koidiku Sinine', + dust: 'Mulla Sinine', + sunset: 'Päikeseloojangu Oranž', + volcano: 'Vulkaan', + purple: 'Kuldne Lilla', + cyan: 'Tsüaan', + green: 'Polar Roheline', + geekblue: 'Nohiku Sinine' + }, + darkMode: 'Tume Režiim', + layoutStyle: 'Liikumise Režiim', + sideMenuStyle: 'Külgriba topeltmenüü', + bodyFull: 'Keha Täisekraan', + other: 'Muu Seadistus', + fixedHeader: 'Fikseeritud Päis', + fixedSidebar: 'Fikseeritud Külgriba', + fixedBody: 'Fikseeritud Kere', + logoAutoSize: 'Logo Kohandamine', + colorfulIcon: 'Värviline Ikoon', + sideUniqueOpen: 'Menüü Ainulaadne Avamine', + weakMode: 'Nõrk Režiim', + showFooter: 'Näita Jalust', + showTabs: 'Näita Kaarte', + tabStyle: 'Kaardi Stiil', + tabStyles: { + default: 'Vaikimisi', + dot: 'Punkt', + card: 'Kaart' + }, + tips: 'See mäletab sinu seadistust, kui sa selle järgmine kord avad.' + }, + tableTools: { + refresh: 'Värskenda', + size: 'Tihedus', + sizeOption: { + large: 'Rahulikult', + medium: 'Vaikimisi', + small: 'Sekundaarne', + mini: 'Tihe' + }, + columns: 'Veerud', + columnsOption: { + columns: 'Veerud', + reset: 'Lähtesta', + index: 'Numbrid', + selection: 'Valik', + untitled: 'Nimetu' + }, + fullscreen: 'Täisekraan' + }, + fileList: { + selectAll: 'ValiKõik', + selectTips: 'Valitud {total} fail/kataloog', + fileName: 'Nimi', + fileSize: 'Suurus', + fileTimestamp: 'ViimatiMuudetud' + }, + cropper: { + zoomIn: 'Suurendada', + zoomOut: 'Kitsas', + rotateLeft: 'Pööra vasakule', + rotateRight: 'Pöörake paremale', + moveLeft: 'Liigu vasakule', + moveRight: 'Liigu paremale', + moveUp: 'Üles liikuma', + moveDown: 'Liigu alla', + flipX: 'Klapp X', + flipY: 'Pöörake Y', + reset: 'Lähtesta', + upload: 'Üleslaadimine', + ok: 'OK', + title: 'Põllukultuurid' + }, + map: { + title: 'Aadress', + placeholder: 'Sisesta märksõna', + message: 'Palun vali aadress', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/fa_IR.js b/src/components/ele-admin-pro/packages/lang/fa_IR.js new file mode 100644 index 0000000..27bbb6c --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/fa_IR.js @@ -0,0 +1,113 @@ +/** 波斯语 */ +import lang from 'ant-design-vue/es/locale/fa_IR'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'تازه کردن', + fullscreen: 'تمام صفحه', + fullscreenExit: 'تمام صفحه', + closeLeft: 'چپ را ببند', + closeRight: 'درست ببند', + closeOther: 'بستن دیگر', + closeAll: 'بستن همه' + }, + setting: { + title: 'تنظیم تم', + sideStyles: { + dark: 'نوار کناری تاریک', + light: 'نوار کناری سبک' + }, + headStyles: { + light: 'هدر نور', + dark: 'سربرگ تیره', + primary: 'هدر اصلی' + }, + layoutStyles: { + side: 'طرح منوی کناری', + top: 'چیدمان منو', + mix: 'طرح منو را مخلوط کنید' + }, + colors: { + default: 'آبی روشن', + dust: 'آبی غبار', + sunset: 'غروب نارنجی', + volcano: 'آتشفشان', + purple: 'بنفش طلایی', + cyan: 'فیروزه ای', + green: 'قطبی سبز', + geekblue: 'آبی گیک' + }, + darkMode: 'حالت تاریک', + layoutStyle: 'حالت پیمایش', + sideMenuStyle: 'نوار کناری منوی دو', + bodyFull: 'تمام صفحه بدن', + other: 'تنظیمات دیگر', + fixedHeader: 'سرصفحه ثابت', + fixedSidebar: 'نوار کناری ثابت', + fixedBody: 'بدن ثابت', + logoAutoSize: 'سازگاری آرم', + colorfulIcon: 'نماد رنگارنگ', + sideUniqueOpen: 'منو منحصر به فرد باز', + weakMode: 'حالت ضعیف', + showFooter: 'نمایش پاورقی', + showTabs: 'نمایش برگه ها', + tabStyle: 'سبک زبانه', + tabStyles: { + default: 'پیش فرض', + dot: 'نقطه', + card: 'کارت' + }, + tips: 'دفعه بعد که آن را باز کنید ، پیکربندی شما را به خاطر می آورد.' + }, + tableTools: { + refresh: 'تازه کردن', + size: 'تراکم', + sizeOption: { + large: 'آسان', + medium: 'پیش فرض', + small: 'ثانوی', + mini: 'فشرده - جمع و جور' + }, + columns: 'ستون ها', + columnsOption: { + columns: 'ستون ها', + reset: 'تنظیم مجدد', + index: 'شماره', + selection: 'انتخاب', + untitled: 'بدون عنوان' + }, + fullscreen: 'تمام صفحه' + }, + fileList: { + selectAll: 'انتخاب همه', + selectTips: 'انتخاب شد {total} فایل/فهرست راهنما', + fileName: 'نام', + fileSize: 'اندازه', + fileTimestamp: 'آخرین تغییر' + }, + cropper: { + zoomIn: 'بزرگنمایی', + zoomOut: 'کوچک نمایی', + rotateLeft: 'چرخش به چپ', + rotateRight: 'به طرف راست بچرخان', + moveLeft: 'حرکت به سمت چپ', + moveRight: 'برو راست', + moveUp: 'حرکت به بالا', + moveDown: 'حرکت به پایین', + flipX: 'تلنگر X', + flipY: 'تلنگر Y', + reset: 'تنظیم مجدد', + upload: 'بارگذاری', + ok: 'باشد', + title: 'کراپ' + }, + map: { + title: 'نشانی', + placeholder: 'کلید واژه هارو وارد کن', + message: 'لطفاً یک آدرس انتخاب کنید', + ok: 'باشد' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/fi_FI.js b/src/components/ele-admin-pro/packages/lang/fi_FI.js new file mode 100644 index 0000000..c3dbe2b --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/fi_FI.js @@ -0,0 +1,113 @@ +/** 芬兰语 */ +import lang from 'ant-design-vue/es/locale/fi_FI'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'virkistää', + fullscreen: 'Koko näyttö', + fullscreenExit: 'Koko näyttö', + closeLeft: 'Sulje Vasen', + closeRight: 'Sulje oikea', + closeOther: 'Sulje Muu', + closeAll: 'Sulje kaikki' + }, + setting: { + title: 'Teeman asetus', + sideStyles: { + dark: 'Tumma sivupalkki', + light: 'Vaalea sivupalkki' + }, + headStyles: { + light: 'Kevyt otsikko', + dark: 'Tumma otsikko', + primary: 'Ensisijainen otsikko' + }, + layoutStyles: { + side: 'Sivuvalikon asettelu', + top: 'Ylävalikon asettelu', + mix: 'Sekoita valikon asettelu' + }, + colors: { + default: 'Auringonnousu sininen', + dust: 'Pölysininen', + sunset: 'Auringonlasku oranssi', + volcano: 'Tulivuori', + purple: 'Kulta violetti', + cyan: 'Syaani', + green: 'Polaarivihreä', + geekblue: 'Geek sininen' + }, + darkMode: 'Tumma tila', + layoutStyle: 'Navigointitila', + sideMenuStyle: 'Sivupalkin kaksoisvalikko', + bodyFull: 'Runko Koko näyttö', + other: 'Muu asetus', + fixedHeader: 'Kiinteä otsikko', + fixedSidebar: 'Kiinteä sivupalkki', + fixedBody: 'Kiinteä runko', + logoAutoSize: 'Logon mukauttaminen', + colorfulIcon: 'Värikäs kuvake', + sideUniqueOpen: 'Valikko Ainutlaatuinen auki', + weakMode: 'Heikko tila', + showFooter: 'Näytä alatunniste', + showTabs: 'Näytä välilehdet', + tabStyle: 'Välilehden tyyli', + tabStyles: { + default: 'Oletus', + dot: 'Piste', + card: 'Kortti' + }, + tips: 'Se muistaa asetuksesi seuraavan kerran, kun avaat sen.' + }, + tableTools: { + refresh: 'virkistää', + size: 'Tiheys', + sizeOption: { + large: 'Helppo', + medium: 'Oletus', + small: 'Toissijainen', + mini: 'Kompakti' + }, + columns: 'Sarakkeet', + columnsOption: { + columns: 'Sarakkeet', + reset: 'Nollaa', + index: 'Numerot', + selection: 'Valinta', + untitled: 'Nimetön' + }, + fullscreen: 'Koko näyttö' + }, + fileList: { + selectAll: 'Valitse kaikki', + selectTips: 'Valittu {total} tiedosto/hakemistoon', + fileName: 'Nimi', + fileSize: 'Koko', + fileTimestamp: 'Viimeksi muokattu' + }, + cropper: { + zoomIn: 'Lähennä', + zoomOut: 'Loitontaa', + rotateLeft: 'Käänny vasemmalle', + rotateRight: 'Kierrä oikealle', + moveLeft: 'Siirry vasemmalle', + moveRight: 'Liiku oikealle', + moveUp: 'Liiku ylös', + moveDown: 'Siirry alas', + flipX: 'Käännä X', + flipY: 'Käännä Y', + reset: 'Nollaa', + upload: 'Lähetä', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Osoite', + placeholder: 'Syötä hakusana', + message: 'Valitse osoite', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/fr_BE.js b/src/components/ele-admin-pro/packages/lang/fr_BE.js new file mode 100644 index 0000000..2a8bd94 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/fr_BE.js @@ -0,0 +1,113 @@ +/** 法语(比利时) */ +import lang from 'ant-design-vue/es/locale/fr_BE'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Rafraîchir', + fullscreen: 'Plein écran', + fullscreenExit: 'Plein écran', + closeLeft: 'Fermer à gauche', + closeRight: 'Fermer à droite', + closeOther: 'Fermer Autre', + closeAll: 'Ferme tout' + }, + setting: { + title: 'Réglage du thème', + sideStyles: { + dark: 'Barre latérale sombre', + light: 'Barre latérale lumineuse' + }, + headStyles: { + light: 'En-tête léger', + dark: 'En-tête sombre', + primary: 'En-tête principal' + }, + layoutStyles: { + side: 'Disposition du menu latéral', + top: 'Disposition du menu supérieur', + mix: 'Disposition du menu de mixage' + }, + colors: { + default: 'Bleu de l\'aube', + dust: 'Bleu poussière', + sunset: 'Orange coucher de soleil', + volcano: 'Volcan', + purple: 'Violet doré', + cyan: 'Cyan', + green: 'vert polaire', + geekblue: 'Geek Blue' + }, + darkMode: 'Mode sombre', + layoutStyle: 'Mode de navigation', + sideMenuStyle: 'menu double', + bodyFull: 'Corps plein écran', + other: 'Autre cadre', + fixedHeader: 'En-tête fixe', + fixedSidebar: 'Barre latérale fixe', + fixedBody: 'Corps fixe', + logoAutoSize: 'Adaptation du logo', + colorfulIcon: 'Icône colorée', + sideUniqueOpen: 'Menu unique ouvert', + weakMode: 'mode faible', + showFooter: 'Afficher le pied de page', + showTabs: 'Afficher les onglets', + tabStyle: 'Style d\'onglet', + tabStyles: { + default: 'Défaut', + dot: 'Point', + card: 'Carte' + }, + tips: 'Il se souviendra de votre configuration la prochaine fois que vous l\'ouvrirez.' + }, + tableTools: { + refresh: 'Rafraîchir', + size: 'Densité', + sizeOption: { + large: 'Facile', + medium: 'Défaut', + small: 'Secondaire', + mini: 'Compact' + }, + columns: 'Colonnes', + columnsOption: { + columns: 'Colonnes', + reset: 'Réinitialiser', + index: 'Nombres', + selection: 'Sélection', + untitled: 'Sans titre' + }, + fullscreen: 'Plein écran' + }, + fileList: { + selectAll: 'Tout sélectionner', + selectTips: 'Choisi {total} déposer/annuaire', + fileName: 'Nom', + fileSize: 'Taille', + fileTimestamp: 'Dernière modification' + }, + cropper: { + zoomIn: 'Agrandir', + zoomOut: 'Dézoomer', + rotateLeft: 'Tourne à gauche', + rotateRight: 'Tourner à droite', + moveLeft: 'Se déplacer à gauche', + moveRight: 'Déplacer vers la droite', + moveUp: 'Déplacer vers le haut', + moveDown: 'Descendre', + flipX: 'Retourner X', + flipY: 'Retourner Y', + reset: 'Réinitialiser', + upload: 'Télécharger', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Adresse', + placeholder: 'Entrer un mot clef', + message: 'Veuillez sélectionner une adresse', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/fr_FR.js b/src/components/ele-admin-pro/packages/lang/fr_FR.js new file mode 100644 index 0000000..d4d558b --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/fr_FR.js @@ -0,0 +1,113 @@ +/** 法语 */ +import lang from 'ant-design-vue/es/locale/fr_FR'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Rafraîchir', + fullscreen: 'Plein écran', + fullscreenExit: 'Plein écran', + closeLeft: 'Fermer à gauche', + closeRight: 'Fermer à droite', + closeOther: 'Fermer Autre', + closeAll: 'Ferme tout' + }, + setting: { + title: 'Réglage du thème', + sideStyles: { + dark: 'Barre latérale sombre', + light: 'Barre latérale lumineuse' + }, + headStyles: { + light: 'En-tête léger', + dark: 'En-tête sombre', + primary: 'En-tête principal' + }, + layoutStyles: { + side: 'Disposition du menu latéral', + top: 'Disposition du menu supérieur', + mix: 'Disposition du menu de mixage' + }, + colors: { + default: 'Bleu de l\'aube', + dust: 'Bleu poussière', + sunset: 'Orange coucher de soleil', + volcano: 'Volcan', + purple: 'Violet doré', + cyan: 'Cyan', + green: 'vert polaire', + geekblue: 'Geek Blue' + }, + darkMode: 'Mode sombre', + layoutStyle: 'Mode de navigation', + sideMenuStyle: 'menu double', + bodyFull: 'Corps plein écran', + other: 'Autre cadre', + fixedHeader: 'En-tête fixe', + fixedSidebar: 'Barre latérale fixe', + fixedBody: 'Corps fixe', + logoAutoSize: 'Adaptation du logo', + colorfulIcon: 'Icône colorée', + sideUniqueOpen: 'Menu unique ouvert', + weakMode: 'mode faible', + showFooter: 'Afficher le pied de page', + showTabs: 'Afficher les onglets', + tabStyle: 'Style d\'onglet', + tabStyles: { + default: 'Défaut', + dot: 'Point', + card: 'Carte' + }, + tips: 'Il se souviendra de votre configuration la prochaine fois que vous l\'ouvrirez.' + }, + tableTools: { + refresh: 'Rafraîchir', + size: 'Densité', + sizeOption: { + large: 'Facile', + medium: 'Défaut', + small: 'Secondaire', + mini: 'Compact' + }, + columns: 'Colonnes', + columnsOption: { + columns: 'Colonnes', + reset: 'Réinitialiser', + index: 'Nombres', + selection: 'Sélection', + untitled: 'Sans titre' + }, + fullscreen: 'Plein écran' + }, + fileList: { + selectAll: 'Tout sélectionner', + selectTips: 'Choisi {total} déposer/annuaire', + fileName: 'Nom', + fileSize: 'Taille', + fileTimestamp: 'Dernière modification' + }, + cropper: { + zoomIn: 'Agrandir', + zoomOut: 'Dézoomer', + rotateLeft: 'Tourne à gauche', + rotateRight: 'Tourner à droite', + moveLeft: 'Se déplacer à gauche', + moveRight: 'Déplacer vers la droite', + moveUp: 'Déplacer vers le haut', + moveDown: 'Descendre', + flipX: 'Retourner X', + flipY: 'Retourner Y', + reset: 'Réinitialiser', + upload: 'Télécharger', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Adresse', + placeholder: 'Entrer un mot clef', + message: 'Veuillez sélectionner une adresse', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ga_IE.js b/src/components/ele-admin-pro/packages/lang/ga_IE.js new file mode 100644 index 0000000..96a238f --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ga_IE.js @@ -0,0 +1,113 @@ +/** 爱尔兰语 */ +import lang from 'ant-design-vue/es/locale/ga_IE'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'athnuachan', + fullscreen: 'scáileán iomlán', + fullscreenExit: 'scáileán iomlán', + closeLeft: 'gar ar chlé', + closeRight: 'gar ar dheis', + closeOther: 'dún eile', + closeAll: 'dún gach' + }, + setting: { + title: 'suíomh téama', + sideStyles: { + dark: 'barra taobh dorcha', + light: 'barra taobh éadrom' + }, + headStyles: { + light: 'ceanntásc éadrom', + dark: 'ceanntásc dorcha', + primary: 'ceanntásc bunscoile' + }, + layoutStyles: { + side: 'leagan amach an roghchláir taobh', + top: 'leagan amach barr an roghchláir', + mix: 'leagan amach an roghchláir a mheascadh' + }, + colors: { + default: 'gorm lae', + dust: 'gorm deannaigh', + sunset: 'oráiste luí na gréine', + volcano: 'bolcán', + purple: 'corcra órga', + cyan: 'cian', + green: 'glas polach', + geekblue: 'gorm geek' + }, + darkMode: 'modh dorcha', + layoutStyle: 'modh nascleanúna', + sideMenuStyle: 'Roghchlár Dúbailte Barra Taobh', + bodyFull: 'lánscáileán coirp', + other: 'suíomh eile', + fixedHeader: 'ceanntásc seasta', + fixedSidebar: 'barra taobh seasta', + fixedBody: 'comhlacht seasta', + logoAutoSize: 'oiriúnú lógó', + colorfulIcon: 'íocón ildaite', + sideUniqueOpen: 'roghchlár oscailte uathúil', + weakMode: 'modh lag', + showFooter: 'taispeáin buntásc', + showTabs: 'cluaisíní a thaispeáint', + tabStyle: 'stíl cluaisín', + tabStyles: { + default: 'réamhshocraithe', + dot: 'ponc', + card: 'cárta' + }, + tips: 'cuimhneoidh sé ar do chumraíocht an chéad uair eile a osclóidh tú é.' + }, + tableTools: { + refresh: 'athnuachan', + size: 'dlús', + sizeOption: { + large: 'éasca', + medium: 'réamhshocraithe', + small: 'tánaisteach', + mini: 'dlúth' + }, + columns: 'colúin', + columnsOption: { + columns: 'colúin', + reset: 'athshocrú', + index: 'uimhreacha', + selection: 'roghnú', + untitled: 'gan ainm' + }, + fullscreen: 'scáileán iomlán' + }, + fileList: { + selectAll: 'roghnú go léir', + selectTips: 'roghnaithe {total} comhad/eolaire', + fileName: 'ainm', + fileSize: 'méid', + fileTimestamp: 'modhnaithe go deireanach' + }, + cropper: { + zoomIn: 'zúmáil isteach', + zoomOut: 'súmáil amach', + rotateLeft: 'rothlú ar chlé', + rotateRight: 'rothlú ar dheis', + moveLeft: 'bog ar chlé', + moveRight: 'bogadh ar dheis', + moveUp: 'Éirí suas', + moveDown: 'bogadh síos', + flipX: 'smeach x', + flipY: 'smeach y', + reset: 'athshocrú', + upload: 'uaslódáil', + ok: 'OK', + title: 'cropper' + }, + map: { + title: 'seoladh', + placeholder: 'cuir isteach eochairfhocal', + message: 'roghnaigh seoladh le do thoil', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/he_IL.js b/src/components/ele-admin-pro/packages/lang/he_IL.js new file mode 100644 index 0000000..6c41a6d --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/he_IL.js @@ -0,0 +1,113 @@ +/** 希伯来语 */ +import lang from 'ant-design-vue/es/locale/he_IL'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'לְרַעֲנֵן', + fullscreen: 'מסך מלא', + fullscreenExit: 'מסך מלא', + closeLeft: 'סגור שמאל', + closeRight: 'סגור ימינה', + closeOther: 'סגור אחר', + closeAll: 'סגור הכל' + }, + setting: { + title: 'הגדרת נושא', + sideStyles: { + dark: 'סרגל צדדי כהה', + light: 'סרגל צדדי קל' + }, + headStyles: { + light: 'כותרת קלה', + dark: 'כותרת כהה', + primary: 'כותרת ראשית' + }, + layoutStyles: { + side: 'פריסת תפריט צד', + top: 'פריסת התפריט העליון', + mix: 'פריסת תפריט מיקס' + }, + colors: { + default: 'שחר כחול', + dust: 'אבק כחול', + sunset: 'תפוז שקיעה', + volcano: 'הַר גַעַשׁ', + purple: 'סגול זהוב', + cyan: 'טורקיז', + green: 'קוטב ירוק', + geekblue: 'חנון כחול' + }, + darkMode: 'מצב כהה', + layoutStyle: 'מצב ניווט', + sideMenuStyle: 'תפריט כפול בסרגל הצדדי', + bodyFull: 'גוף מסך מלא', + other: 'הגדרה אחרת', + fixedHeader: 'כותרת קבועה', + fixedSidebar: 'סרגל צד קבוע', + fixedBody: 'גוף קבוע', + logoAutoSize: 'התאמת לוגו', + colorfulIcon: 'אייקון צבעוני', + sideUniqueOpen: 'תפריט ייחודי פתוח', + weakMode: 'מצב חלש', + showFooter: 'הצג כותרת תחתונה', + showTabs: 'הצג כרטיסיות', + tabStyle: 'סגנון טאב', + tabStyles: { + default: 'בְּרִירַת מֶחדָל', + dot: 'נְקוּדָה', + card: 'כַּרְטִיס' + }, + tips: 'הוא יזכור את התצורה שלך בפעם הבאה שתפתח אותה.' + }, + tableTools: { + refresh: 'לְרַעֲנֵן', + size: 'צְפִיפוּת', + sizeOption: { + large: 'קַל', + medium: 'בְּרִירַת מֶחדָל', + small: 'מִשׁנִי', + mini: 'קוֹמפָּקטִי' + }, + columns: 'עמודות', + columnsOption: { + columns: 'עמודות', + reset: 'אִתחוּל', + index: 'מספרים', + selection: 'בְּחִירָה', + untitled: 'ללא כותרת' + }, + fullscreen: 'מסך מלא' + }, + fileList: { + selectAll: 'בחר הכל', + selectTips: 'נבחר {total} קוֹבֶץ/מַדרִיך', + fileName: 'שֵׁם', + fileSize: 'גודל', + fileTimestamp: 'שונה לאחרונה' + }, + cropper: { + zoomIn: 'לְהִתְמַקֵד', + zoomOut: 'להקטין את התצוגה', + rotateLeft: 'סובב שמאלה', + rotateRight: 'לסובב ימינה', + moveLeft: 'זוז שמאלה', + moveRight: 'זוז ימינה', + moveUp: 'זוז למעלה', + moveDown: 'לרדת', + flipX: 'הפוך את X', + flipY: 'הפוך את Y', + reset: 'אִתחוּל', + upload: 'העלה', + ok: 'אישור', + title: 'קרופר' + }, + map: { + title: 'כתובת', + placeholder: 'הקלד', + message: 'אנא בחר כתובת', + ok: 'אישור' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/hi_IN.js b/src/components/ele-admin-pro/packages/lang/hi_IN.js new file mode 100644 index 0000000..373a160 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/hi_IN.js @@ -0,0 +1,113 @@ +/** 印地语 */ +import lang from 'ant-design-vue/es/locale/hi_IN'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'ताज़ा करना', + fullscreen: 'पूर्ण स्क्रीन', + fullscreenExit: 'पूर्ण स्क्रीन', + closeLeft: 'बाईं ओर', + closeRight: 'सही पास', + closeOther: 'अन्य को बंद करें', + closeAll: 'सब बंद करें' + }, + setting: { + title: 'विषय सेटिंग', + sideStyles: { + dark: 'डार्क साइडबार', + light: 'लाइट साइडबार' + }, + headStyles: { + light: 'प्रकाश हैडर', + dark: 'डार्क हेडर', + primary: 'प्राथमिक शीर्षक' + }, + layoutStyles: { + side: 'साइड मेनू लेआउट', + top: 'शीर्ष मेनू लेआउट', + mix: 'मिक्स मेनू लेआउट' + }, + colors: { + default: 'दिन का नीला', + dust: 'धूल का नीला', + sunset: 'सूर्यास्त नारंगी', + volcano: 'ज्वर भाता', + purple: 'सुनहरा बैंगनी', + cyan: 'सियान', + green: 'ध्रुवीय हरा', + geekblue: 'geek नीला' + }, + darkMode: 'डार्क मोड', + layoutStyle: 'नेविगेशन मोड', + sideMenuStyle: 'साइडबार डबल मेनू', + bodyFull: 'बॉडी फुलस्क्रीन', + other: 'अन्य सेटिंग', + fixedHeader: 'निश्चित शीर्षक', + fixedSidebar: 'तय साइडबार', + fixedBody: 'निश्चित शरीर', + logoAutoSize: 'लोगो का अनुकूलन', + colorfulIcon: 'रंगीन आइकन', + sideUniqueOpen: 'मेनू अद्वितीय खुला', + weakMode: 'कमजोर मोड', + showFooter: 'पाद दिखाना', + showTabs: 'टैब दिखाएं', + tabStyle: 'टैब शैली', + tabStyles: { + default: 'चूक', + dot: 'दूरसंचार विभाग', + card: 'कार्ड' + }, + tips: 'अगली बार इसे खोलने पर यह आपके कॉन्फ़िगरेशन को याद रखेगा।' + }, + tableTools: { + refresh: 'ताज़ा करना', + size: 'घनत्व', + sizeOption: { + large: 'आसान', + medium: 'चूक', + small: 'माध्यमिक', + mini: 'सघन' + }, + columns: 'कॉलम', + columnsOption: { + columns: 'कॉलम', + reset: 'रीसेट', + index: 'नंबर', + selection: 'चयन', + untitled: 'शीर्षकहीन' + }, + fullscreen: 'पूर्ण स्क्रीन' + }, + fileList: { + selectAll: 'सभी का चयन करे', + selectTips: 'चयनित {total} फ़ाइल/निर्देशिका', + fileName: 'नाम', + fileSize: 'आकार', + fileTimestamp: 'अंतिम बार संशोधित' + }, + cropper: { + zoomIn: 'ज़ूम इन', + zoomOut: 'ज़ूम आउट', + rotateLeft: 'बायीं तरफ', + rotateRight: 'दाएं घुमाएं', + moveLeft: 'बाएं खिसको', + moveRight: 'सही कदम', + moveUp: 'बढ़ाना', + moveDown: 'नीचे की ओर', + flipX: 'फ्लिप एक्स', + flipY: 'पलटें', + reset: 'रीसेट', + upload: 'डालना', + ok: 'निर्धारित', + title: 'कबूतर' + }, + map: { + title: 'पता', + placeholder: 'कुंजीशब्द दर्ज करें', + message: 'कृपया एक पता चुनें', + ok: 'निर्धारित' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/hr_HR.js b/src/components/ele-admin-pro/packages/lang/hr_HR.js new file mode 100644 index 0000000..fab24ce --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/hr_HR.js @@ -0,0 +1,113 @@ +/** 克罗地亚 */ +import lang from 'ant-design-vue/es/locale/hr_HR'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Osvježiti', + fullscreen: 'Puni zaslon', + fullscreenExit: 'Puni zaslon', + closeLeft: 'Zatvori lijevo', + closeRight: 'Zatvori desno', + closeOther: 'Zatvori Ostalo', + closeAll: 'Zatvori sve' + }, + setting: { + title: 'Postavljanje teme', + sideStyles: { + dark: 'Tamna bočna traka', + light: 'Lagana bočna traka' + }, + headStyles: { + light: 'Svjetlosno zaglavlje', + dark: 'Tamno zaglavlje', + primary: 'Primarno zaglavlje' + }, + layoutStyles: { + side: 'Izgled bočnog izbornika', + top: 'Izgled gornjeg izbornika', + mix: 'Izmiješajte izgled izbornika' + }, + colors: { + default: 'Zora plava', + dust: 'Prašina plava', + sunset: 'Sunset Orange', + volcano: 'Vulkan', + purple: 'Zlatnoljubičasta', + cyan: 'Cijan', + green: 'Polarno zelena', + geekblue: 'Geek Blue' + }, + darkMode: 'Tamni način rada', + layoutStyle: 'Način navigacije', + sideMenuStyle: 'Dvostruki izbornik bočne trake', + bodyFull: 'Puni zaslon tijela', + other: 'Ostale postavke', + fixedHeader: 'Fiksno zaglavlje', + fixedSidebar: 'Fiksna bočna traka', + fixedBody: 'Fiksno tijelo', + logoAutoSize: 'Prilagođavanje logotipa', + colorfulIcon: 'Ikona u boji', + sideUniqueOpen: 'Izbornik Jedinstveno otvoren', + weakMode: 'Slabi način rada', + showFooter: 'Prikaži podnožje', + showTabs: 'Prikaži kartice', + tabStyle: 'Stil kartice', + tabStyles: { + default: 'Zadano', + dot: 'Točka', + card: 'Kartica' + }, + tips: 'Sjetit će se vaše konfiguracije kad je sljedeći put otvorite.' + }, + tableTools: { + refresh: 'Osvježiti', + size: 'Gustoća', + sizeOption: { + large: 'Lako', + medium: 'Zadano', + small: 'Sekundarni', + mini: 'Kompaktni' + }, + columns: 'Stupci', + columnsOption: { + columns: 'Stupci', + reset: 'Resetirati', + index: 'Brojevi', + selection: 'Izbor', + untitled: 'Bez naslova' + }, + fullscreen: 'Puni zaslon' + }, + fileList: { + selectAll: 'Odaberi sve', + selectTips: 'Odabran {total} datoteka/imenik', + fileName: 'Ime', + fileSize: 'Veličina', + fileTimestamp: 'Zadnja promjena' + }, + cropper: { + zoomIn: 'Povećaj', + zoomOut: 'Umanji', + rotateLeft: 'Rotirajte ulijevo', + rotateRight: 'Rotiraj udesno', + moveLeft: 'Pomakni se ulijevo', + moveRight: 'Pomaknuti se udesno', + moveUp: 'Pomakni se gore', + moveDown: 'Pomicati prema dolje', + flipX: 'Preokrenite X', + flipY: 'Preokrenite Y', + reset: 'Resetirati', + upload: 'Učitaj', + ok: 'OK', + title: 'Fijasko' + }, + map: { + title: 'Adresa', + placeholder: 'Unesite ključnu riječ', + message: 'Odaberite adresu', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/hu_HU.js b/src/components/ele-admin-pro/packages/lang/hu_HU.js new file mode 100644 index 0000000..0a70470 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/hu_HU.js @@ -0,0 +1,113 @@ +/** 匈牙利语 */ +import lang from 'ant-design-vue/es/locale/hu_HU'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Frissítés', + fullscreen: 'Teljes képernyő', + fullscreenExit: 'Teljes képernyő', + closeLeft: 'Bezárás balra', + closeRight: 'Bezárás jobbra', + closeOther: 'Zárja be az Egyéb elemet', + closeAll: 'Bezárja az összeset' + }, + setting: { + title: 'Téma beállítása', + sideStyles: { + dark: 'Sötét oldalsáv', + light: 'Világos oldalsáv' + }, + headStyles: { + light: 'Fényfejléc', + dark: 'Sötét fejléc', + primary: 'Elsődleges fejléc' + }, + layoutStyles: { + side: 'Oldalsó menü elrendezése', + top: 'Felső menü elrendezése', + mix: 'Keverje össze a menüelrendezést' + }, + colors: { + default: 'Hajnalban kék', + dust: 'Por kék', + sunset: 'Naplemente narancssárga', + volcano: 'Vulkán', + purple: 'Aranylila', + cyan: 'Cián', + green: 'Sarki zöld', + geekblue: 'Geek Blue' + }, + darkMode: 'Sötét mód', + layoutStyle: 'Navigációs mód', + sideMenuStyle: 'Oldalsáv dupla menü', + bodyFull: 'Test teljes képernyős', + other: 'Egyéb beállítás', + fixedHeader: 'Fix fejléc', + fixedSidebar: 'Rögzített oldalsáv', + fixedBody: 'Rögzített test', + logoAutoSize: 'Logó adaptáció', + colorfulIcon: 'Színes ikonra', + sideUniqueOpen: 'Menü Egyedi Megnyitás', + weakMode: 'Gyenge mód', + showFooter: 'Lábléc megjelenítése', + showTabs: 'Fülek megjelenítése', + tabStyle: 'Tab stílus', + tabStyles: { + default: 'Alapértelmezett', + dot: 'Pont', + card: 'Kártya' + }, + tips: 'A következő megnyitásakor emlékezni fog a konfigurációjára.' + }, + tableTools: { + refresh: 'Frissítés', + size: 'Sűrűség', + sizeOption: { + large: 'Könnyen', + medium: 'Alapértelmezett', + small: 'Másodlagos', + mini: 'Kompakt' + }, + columns: 'Oszlopok', + columnsOption: { + columns: 'Oszlopok', + reset: 'Visszaállítás', + index: 'Számok', + selection: 'Kiválasztás', + untitled: 'Névtelen' + }, + fullscreen: 'Teljes képernyő' + }, + fileList: { + selectAll: 'Mindet kiválaszt', + selectTips: 'Kiválasztott {total} fájl/Könyvtár', + fileName: 'Név', + fileSize: 'Méret', + fileTimestamp: 'Utoljára módosítva' + }, + cropper: { + zoomIn: 'Ráközelíteni', + zoomOut: 'Kicsinyítés', + rotateLeft: 'Forgasd balra', + rotateRight: 'Forgasd jobbra', + moveLeft: 'Menj balra', + moveRight: 'Mozdulj jobbra', + moveUp: 'Haladj felfelé', + moveDown: 'Mozgás lefelé', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Visszaállítás', + upload: 'Feltöltés', + ok: 'OK', + title: 'Posztónyíró' + }, + map: { + title: 'Cím', + placeholder: 'Kulcsszó', + message: 'Válasszon címet', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/hy_AM.js b/src/components/ele-admin-pro/packages/lang/hy_AM.js new file mode 100644 index 0000000..e7face4 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/hy_AM.js @@ -0,0 +1,113 @@ +/** 亚美尼亚语 */ +import lang from 'ant-design-vue/es/locale/hy_AM'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Թարմացնել', + fullscreen: 'Ամբողջ էկրան', + fullscreenExit: 'Ամբողջ էկրան', + closeLeft: 'Փակել ձախը', + closeRight: 'Փակել աջ', + closeOther: 'Փակել այլ', + closeAll: 'Փակել բոլորը' + }, + setting: { + title: 'Թեմայի կարգավորում', + sideStyles: { + dark: 'Մութ կողային տող', + light: 'Թեթև կողային տող' + }, + headStyles: { + light: 'Լույսի վերնագիր', + dark: 'Մուգ վերնագիր', + primary: 'Հիմնական վերնագիր' + }, + layoutStyles: { + side: 'Կողային ընտրացանկի դասավորություն', + top: 'Topանկի լավագույն դասավորությունը', + mix: 'Խառնել ընտրացանկի դասավորությունը' + }, + colors: { + default: 'Լուսաբաց կապույտ', + dust: 'Փոշի կապույտ', + sunset: 'Մայրամուտ նարնջագույն', + volcano: 'Հրաբուխ', + purple: 'Ոսկե մանուշակագույն', + cyan: 'Կապույտ', + green: 'Բեւեռային կանաչ', + geekblue: 'Geek Blue' + }, + darkMode: 'Մութ ռեժիմ', + layoutStyle: 'Նավիգացիոն ռեժիմ', + sideMenuStyle: 'Կողային երկակի ընտրացանկ', + bodyFull: 'Մարմնի ամբողջ էկրան', + other: 'Այլ պարամետրեր', + fixedHeader: 'Ֆիքսված վերնագիր', + fixedSidebar: 'Ֆիքսված կողային տող', + fixedBody: 'Հաստատուն մարմին', + logoAutoSize: 'Լոգոյի հարմարեցում', + colorfulIcon: 'Գունագեղ պատկերակ', + sideUniqueOpen: 'Uաշացանկը եզակի բաց է', + weakMode: 'Թույլ ռեժիմ', + showFooter: 'Footույց տալ ստորագիր', + showTabs: 'Showուցադրել ներդիրները', + tabStyle: 'Տաբ ոճը', + tabStyles: { + default: 'Լռելյայն', + dot: 'Կետ', + card: 'Քարտ' + }, + tips: 'Այն կհիշի ձեր կազմաձևը հաջորդ անգամ, երբ այն բացեք:' + }, + tableTools: { + refresh: 'Թարմացնել', + size: 'Խտություն', + sizeOption: { + large: 'Հեշտ', + medium: 'Լռելյայն', + small: 'Երկրորդական', + mini: 'Կոմպակտ' + }, + columns: 'Սյունակներ', + columnsOption: { + columns: 'Սյունակներ', + reset: 'Վերականգնել', + index: 'Համարներ', + selection: 'Ընտրություն', + untitled: 'Անվերնագիր' + }, + fullscreen: 'Ամբողջ էկրան' + }, + fileList: { + selectAll: 'Ընտրել բոլորը', + selectTips: 'Ընտրված է {total} ֆայլ/գրացուցակ', + fileName: 'Անուն', + fileSize: 'Չափը', + fileTimestamp: 'Վերջին փոփոխված' + }, + cropper: { + zoomIn: 'Խոշորացնել. մոտեցնել', + zoomOut: 'Մանրացնել', + rotateLeft: 'Պտտեք ձախ', + rotateRight: 'Պտտեք աջ', + moveLeft: 'Շարժվիր ձախ', + moveRight: 'Շարժվել աջ', + moveUp: 'Վեր շարժվեք', + moveDown: 'Իջնել', + flipX: 'Մատով խփել', + flipY: 'Մատով խփել', + reset: 'Վերականգնել', + upload: 'Վերբեռնել', + ok: 'Լաւ', + title: 'Կտրող' + }, + map: { + title: 'Հասցե', + placeholder: 'Մուտքագրեք բանալի բառ', + message: 'Խնդրում ենք ընտրել հասցե', + ok: 'Լաւ' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/id_ID.js b/src/components/ele-admin-pro/packages/lang/id_ID.js new file mode 100644 index 0000000..2edf42e --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/id_ID.js @@ -0,0 +1,113 @@ +/** 印尼语 */ +import lang from 'ant-design-vue/es/locale/id_ID'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Menyegarkan', + fullscreen: 'Layar penuh', + fullscreenExit: 'Layar penuh', + closeLeft: 'Tutup Kiri', + closeRight: 'Tutup Kanan', + closeOther: 'Tutup Lainnya', + closeAll: 'Tutup semua' + }, + setting: { + title: 'Pengaturan Tema', + sideStyles: { + dark: 'Sidebar Gelap', + light: 'Sidebar Cahaya' + }, + headStyles: { + light: 'Header Cahaya', + dark: 'Header Gelap', + primary: 'Header Utama' + }, + layoutStyles: { + side: 'Tata Letak Menu Samping', + top: 'Tata Letak Menu Atas', + mix: 'Tata Letak Menu Campuran' + }, + colors: { + default: 'Fajar Biru', + dust: 'Debu Biru', + sunset: 'Matahari Terbenam Jeruk', + volcano: 'Gunung Berapi', + purple: 'Keemasan Ungu', + cyan: 'Cyan', + green: 'Kutub Hijau', + geekblue: 'Geek Biru' + }, + darkMode: 'Mode Gelap', + layoutStyle: 'Mode Navigasi', + sideMenuStyle: 'Menu ganda bilah sisi', + bodyFull: 'Layar Penuh Tubuh', + other: 'Pengaturan Lainnya', + fixedHeader: 'Header Tetap', + fixedSidebar: 'Sidebar Tetap', + fixedBody: 'Tubuh Tetap', + logoAutoSize: 'Adaptasi Logo', + colorfulIcon: 'Ikon Berwarna-warni', + sideUniqueOpen: 'Menu Unik Terbuka', + weakMode: 'Mode Lemah', + showFooter: 'Tunjukkan Footer', + showTabs: 'Tampilkan Tab', + tabStyle: 'Gaya Tab', + tabStyles: { + default: 'Default', + dot: 'Dot', + card: 'Kartu' + }, + tips: 'Ini akan mengingat konfigurasi Anda saat Anda membukanya lagi.' + }, + tableTools: { + refresh: 'Menyegarkan', + size: 'Massa jenis', + sizeOption: { + large: 'Mudah', + medium: 'Default', + small: 'Sekunder', + mini: 'Kompak' + }, + columns: 'Kolom', + columnsOption: { + columns: 'Kolom', + reset: 'Setel ulang', + index: 'Angka', + selection: 'Pilihan', + untitled: 'Tanpa judul' + }, + fullscreen: 'Layar penuh' + }, + fileList: { + selectAll: 'Pilih Semua', + selectTips: 'Terpilih {total} mengajukan/direktori', + fileName: 'Nama', + fileSize: 'Ukuran', + fileTimestamp: 'Terakhir Diubah' + }, + cropper: { + zoomIn: 'Perbesar', + zoomOut: 'Perkecil', + rotateLeft: 'Putar ke Kiri', + rotateRight: 'Putar ke kanan', + moveLeft: 'Pindah ke Kiri', + moveRight: 'Bergerak ke kanan', + moveUp: 'Pindah ke Atas', + moveDown: 'Turunkan', + flipX: 'Balik X', + flipY: 'Balik Y', + reset: 'Setel ulang', + upload: 'Unggah', + ok: 'Pilih', + title: 'Keruntuhan' + }, + map: { + title: 'Alamat', + placeholder: 'Masukan kata kunci', + message: 'Silakan pilih sebuah alamat', + ok: 'Pilih' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/is_IS.js b/src/components/ele-admin-pro/packages/lang/is_IS.js new file mode 100644 index 0000000..ffd8f5b --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/is_IS.js @@ -0,0 +1,113 @@ +/** 冰岛语 */ +import lang from 'ant-design-vue/es/locale/is_IS'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'hressa', + fullscreen: 'fullskjár', + fullscreenExit: 'fullskjár', + closeLeft: 'loka til vinstri', + closeRight: 'loka rétt', + closeOther: 'loka öðru', + closeAll: 'loka öllum' + }, + setting: { + title: 'þema stilling', + sideStyles: { + dark: 'dökk hliðarrönd', + light: 'létt skenkur' + }, + headStyles: { + light: 'létt haus', + dark: 'dökkur haus', + primary: 'aðal haus' + }, + layoutStyles: { + side: 'hliðarmatseðli', + top: 'toppvalmyndarskipulag', + mix: 'blanda matseðill skipulag' + }, + colors: { + default: 'dögun blár', + dust: 'rykblátt', + sunset: 'sólarlag appelsínugult', + volcano: 'eldfjall', + purple: 'gullfjólublátt', + cyan: 'blágrænt', + green: 'skautgrænn', + geekblue: 'gáfaður blár' + }, + darkMode: 'dökk háttur', + layoutStyle: 'leiðsöguhamur', + sideMenuStyle: 'Tvöfaldur valmynd hliðarstiku', + bodyFull: 'líkami fullskjár', + other: 'önnur stilling', + fixedHeader: 'fastur haus', + fixedSidebar: 'föst skenkur', + fixedBody: 'fastur líkami', + logoAutoSize: 'aðlögun lógósins', + colorfulIcon: 'litríkt tákn', + sideUniqueOpen: 'matseðill einstakur opinn', + weakMode: 'veikur háttur', + showFooter: 'sýna fót', + showTabs: 'sýna flipa', + tabStyle: 'flipastíl', + tabStyles: { + default: 'sjálfgefið', + dot: 'punktur', + card: 'Spil' + }, + tips: 'það muna stillingar þínar næst þegar þú opnar það.' + }, + tableTools: { + refresh: 'hressa', + size: 'þéttleiki', + sizeOption: { + large: 'auðvelt', + medium: 'sjálfgefið', + small: 'aukaatriði', + mini: 'samningur' + }, + columns: 'dálkar', + columnsOption: { + columns: 'dálkar', + reset: 'endurstilla', + index: 'tölur', + selection: 'val', + untitled: 'án titils' + }, + fullscreen: 'fullskjár' + }, + fileList: { + selectAll: 'velja allt', + selectTips: 'valinn {total} skjal/Skrá', + fileName: 'nafn', + fileSize: 'stærð', + fileTimestamp: 'síðast breytt' + }, + cropper: { + zoomIn: 'þysja inn', + zoomOut: 'þysja út', + rotateLeft: 'snúið til vinstri', + rotateRight: 'snúið til hægri', + moveLeft: 'færa til vinstri', + moveRight: 'hreyfðu þig til hægri', + moveUp: 'fara upp', + moveDown: 'færa sig niður', + flipX: 'flettu x', + flipY: 'flettu y', + reset: 'endurstilla', + upload: 'hlaða upp', + ok: 'OK', + title: 'cropper' + }, + map: { + title: 'heimilisfang', + placeholder: 'sláðu inn leitarorð', + message: 'vinsamlegast veldu heimilisfang', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/it_IT.js b/src/components/ele-admin-pro/packages/lang/it_IT.js new file mode 100644 index 0000000..2371fde --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/it_IT.js @@ -0,0 +1,113 @@ +/** 意大利语 */ +import lang from 'ant-design-vue/es/locale/it_IT'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'ricaricare', + fullscreen: 'A schermo intero', + fullscreenExit: 'A schermo intero', + closeLeft: 'Chiudi a sinistra', + closeRight: 'Chiudi a destra', + closeOther: 'Chiudi altro', + closeAll: 'Chiudi tutto' + }, + setting: { + title: 'Impostazione del tema', + sideStyles: { + dark: 'Buio Sidebar', + light: 'Leggero Sidebar' + }, + headStyles: { + light: 'Intestazione leggera', + dark: 'Intestazione scura', + primary: 'Intestazione primaria' + }, + layoutStyles: { + side: 'Laterale Menu Layout', + top: 'Superiore Menu Layout', + mix: 'Mix Menu Layout' + }, + colors: { + default: 'Daybreak Blu', + dust: 'Polvere Blu', + sunset: 'Tramonto Arancia', + volcano: 'Vulcano', + purple: 'D\'oro Viola', + cyan: 'Ciano', + green: 'Polare Verde', + geekblue: 'Geek Blu' + }, + darkMode: 'Modalità scura', + layoutStyle: 'Modalità di navigazione', + sideMenuStyle: 'Doppio menù sidebar', + bodyFull: 'Corpo a schermo intero', + other: 'Altre impostazioni', + fixedHeader: 'Intestazione fissa', + fixedSidebar: 'Barra laterale fissa', + fixedBody: 'Corpo fisso', + logoAutoSize: 'Adattamento del logo', + colorfulIcon: 'Icona colorata', + sideUniqueOpen: 'Menu unico aperto', + weakMode: 'Modalità debole', + showFooter: 'Mostra piè di pagina', + showTabs: 'Mostra schede', + tabStyle: 'Stile scheda', + tabStyles: { + default: 'Predefinito', + dot: 'Punto', + card: 'Carta' + }, + tips: 'Ricorderà la tua configurazione la prossima volta che lo aprirai.' + }, + tableTools: { + refresh: 'Ricaricare', + size: 'Densità', + sizeOption: { + large: 'Facile', + medium: 'Predefinito', + small: 'Secondario', + mini: 'Compatto' + }, + columns: 'Colonne', + columnsOption: { + columns: 'Colonne', + reset: 'Ripristina', + index: 'Numeri', + selection: 'Selezione', + untitled: 'Senza titolo' + }, + fullscreen: 'Schermo intero' + }, + fileList: { + selectAll: 'Seleziona tutto', + selectTips: 'Selezionato {total} file/directory', + fileName: 'Nome', + fileSize: 'Dimensione', + fileTimestamp: 'Ultima modifica' + }, + cropper: { + zoomIn: 'Ingrandire', + zoomOut: 'Zoom indietro', + rotateLeft: 'Gira a sinistra', + rotateRight: 'Ruota a destra', + moveLeft: 'Muovere a sinistra', + moveRight: 'Vai a destra', + moveUp: 'Andare avanti', + moveDown: 'Abbassati', + flipX: 'Capovolgi X', + flipY: 'Capovolgi Y', + reset: 'Ripristina', + upload: 'Caricare', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Indirizzo', + placeholder: 'Inserisci filtro', + message: 'Seleziona un indirizzo', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ja_JP.js b/src/components/ele-admin-pro/packages/lang/ja_JP.js new file mode 100644 index 0000000..3039694 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ja_JP.js @@ -0,0 +1,114 @@ +/** 日语 */ +import lang from 'ant-design-vue/es/locale/ja_JP'; + +export default { + ...lang, + ele: { + tabs: { + reload: '現在を更新', + fullscreen: 'フルスクリーン', + fullscreenExit: 'フルスクリーン', + closeLeft: '左を閉じる', + closeRight: '右側を閉じる', + closeOther: 'その他を閉じる', + closeAll: 'すべてを閉じる' + }, + setting: { + title: 'テーマの設定', + sideStyles: { + dark: '暗いサイドバー', + light: '明るいサイドバー' + }, + headStyles: { + light: '明るいトップバー', + dark: '暗いトップバー', + primary: 'カラートップバー' + }, + layoutStyles: { + side: '左メニューレイアウト', + top: 'トップメニューレイアウト', + mix: 'ミックスメニューレイアウト' + }, + colors: { + default: '明けの空', + dust: '夕暮れ', + sunset: '日が暮れる', + volcano: '火山', + purple: '濃い紫色', + cyan: '明るい青', + green: '极光绿', + geekblue: '极客蓝' + }, + darkMode: '暗黒モード', + layoutStyle: 'ナビゲーションモード', + sideMenuStyle: 'サイドバーダブルメニュー', + bodyFull: '内容がしきつめる', + other: 'その他の設定', + fixedHeader: 'トップバーを固定', + fixedSidebar: 'サイドバーを固定する', + fixedBody: '本体を固定する', + logoAutoSize: 'Logo幅適応', + colorfulIcon: 'カラーバーのアイコン', + sideUniqueOpen: '横の列を彼が広げます', + weakMode: '色弱モード', + showFooter: 'グローバルフッタ', + showTabs: '複数ページの欄', + tabStyle: 'ページスタイル', + tabStyles: { + default: 'デフォルト', + dot: '円点', + card: 'カード' + }, + tips: '修正後はローカルにキャッシュされます。今度はテーマ設定を記憶します。' + }, + tableTools: { + refresh: '更新', + size: '密度', + sizeOption: { + large: '緩い', + medium: 'デフォルト', + small: '中ぐらい', + mini: 'コンパクト' + }, + columns: '列の設定', + columnsOption: { + columns: '列の展示', + reset: 'リセット', + index: '番号付け', + selection: '列を選択', + untitled: 'タイトルなし' + }, + fullscreen: 'フルスクリーン', + + }, + fileList: { + selectAll: 'すべて選択', + selectTips: '選択されました {total} ファイル/フォルダ', + fileName: '名前', + fileSize: 'サイズ', + fileTimestamp: '変更日' + }, + cropper: { + zoomIn: '拡大', + zoomOut: '縮小', + rotateLeft: '左に回る', + rotateRight: '右に回転', + moveLeft: '左に移動', + moveRight: '右に移動', + moveUp: '上へ移動', + moveDown: '下に移動', + flipX: '左右反転', + flipY: '上下反転', + reset: '新たに始める', + upload: '画像を選択', + ok: '確認', + title: '画像を切り取り' + }, + map: { + title: '場所を選択', + placeholder: 'キーワードを入力', + message: 'リストの選択位置をクリックしてください', + ok: '確認' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/kn_IN.js b/src/components/ele-admin-pro/packages/lang/kn_IN.js new file mode 100644 index 0000000..ed04c4b --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/kn_IN.js @@ -0,0 +1,113 @@ +/** 卡纳达语 */ +import lang from 'ant-design-vue/es/locale/kn_IN'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'ರಿಫ್ರೆಶ್ ಮಾಡಿ', + fullscreen: 'ಪೂರ್ಣ ಪರದೆ', + fullscreenExit: 'ಪೂರ್ಣ ಪರದೆ', + closeLeft: 'ಎಡಕ್ಕೆ ಮುಚ್ಚಿ', + closeRight: 'ಬಲಕ್ಕೆ ಮುಚ್ಚಿ', + closeOther: 'ಇತರ ಮುಚ್ಚಿ', + closeAll: 'ಎಲ್ಲವನ್ನೂ ಮುಚ್ಚಿ' + }, + setting: { + title: 'ಥೀಮ್ ಸೆಟ್ಟಿಂಗ್', + sideStyles: { + dark: 'ಡಾರ್ಕ್ ಸೈಡ್ಬಾರ್', + light: 'ಬೆಳಕಿನ ಸೈಡ್ಬಾರ್' + }, + headStyles: { + light: 'ಬೆಳಕಿನ ಹೆಡರ್', + dark: 'ಡಾರ್ಕ್ ಹೆಡರ್', + primary: 'ಪ್ರಾಥಮಿಕ ಹೆಡರ್' + }, + layoutStyles: { + side: 'ಸೈಡ್ ಮೆನು ವಿನ್ಯಾಸ', + top: 'ಉನ್ನತ ಮೆನು ವಿನ್ಯಾಸ', + mix: 'ಮಿಶ್ರಣ ಮೆನು ವಿನ್ಯಾಸ' + }, + colors: { + default: 'ಹಗಲು ನೀಲಿ', + dust: 'ಧೂಳು ನೀಲಿ', + sunset: 'ಸೂರ್ಯಾಸ್ತ ಕಿತ್ತಳೆ', + volcano: 'ಜ್ವಾಲಾಮುಖಿ', + purple: 'ಚಿನ್ನದ ನೇರಳೆ', + cyan: 'ಸಯಾನ್', + green: 'ಧ್ರುವ ಹಸಿರು', + geekblue: 'ಗೀಕ್ ನೀಲಿ' + }, + darkMode: 'ಡಾರ್ಕ್ ಮೋಡ್', + layoutStyle: 'ನ್ಯಾವಿಗೇಷನ್ ಮೋಡ್', + sideMenuStyle: 'ಸೈಡ್ಬಾರ್ ಡಬಲ್ ಮೆನು', + bodyFull: 'ದೇಹದ ಪೂರ್ಣ ಪರದೆ', + other: 'ಇತರ ಸೆಟ್ಟಿಂಗ್', + fixedHeader: 'ಸ್ಥಿರ ಹೆಡರ್', + fixedSidebar: 'ಸ್ಥಿರ ಸೈಡ್ಬಾರ್', + fixedBody: 'ಸ್ಥಿರ ದೇಹ', + logoAutoSize: 'ಲೋಗೋ ರೂಪಾಂತರ', + colorfulIcon: 'ವರ್ಣರಂಜಿತ ಐಕಾನ್', + sideUniqueOpen: 'ಮೆನು ಅನನ್ಯವಾಗಿದೆ', + weakMode: 'ದುರ್ಬಲ ಮೋಡ್', + showFooter: 'ಅಡಿಟಿಪ್ಪಣಿ ತೋರಿಸಿ', + showTabs: 'ಟ್ಯಾಬ್‌ಗಳನ್ನು ತೋರಿಸಿ', + tabStyle: 'ಟ್ಯಾಬ್ ಶೈಲಿ', + tabStyles: { + default: 'ಡೀಫಾಲ್ಟ್', + dot: 'ಡಾಟ್', + card: 'ಕಾರ್ಡ್' + }, + tips: 'ಮುಂದಿನ ಬಾರಿ ನೀವು ಅದನ್ನು ತೆರೆದಾಗ ಅದು ನಿಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ನೆನಪಿಸುತ್ತದೆ.' + }, + tableTools: { + refresh: 'ರಿಫ್ರೆಶ್ ಮಾಡಿ', + size: 'ಸಾಂದ್ರತೆ', + sizeOption: { + large: 'ಸುಲಭ', + medium: 'ಡೀಫಾಲ್ಟ್', + small: 'ದ್ವಿತೀಯ', + mini: 'ಕಾಂಪ್ಯಾಕ್ಟ್' + }, + columns: 'ಕಾಲಮ್‌ಗಳು', + columnsOption: { + columns: 'ಕಾಲಮ್‌ಗಳು', + reset: 'ಮರುಹೊಂದಿಸಿ', + index: 'ಸಂಖ್ಯೆಗಳು', + selection: 'ಆಯ್ಕೆ', + untitled: 'ಶೀರ್ಷಿಕೆರಹಿತ' + }, + fullscreen: 'ಪೂರ್ಣ ಪರದೆ' + }, + fileList: { + selectAll: 'ಎಲ್ಲವನ್ನು ಆರಿಸು', + selectTips: 'ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ {total} ಫೈಲ್/ಡೈರೆಕ್ಟರಿ', + fileName: 'ಹೆಸರು', + fileSize: 'ಗಾತ್ರ', + fileTimestamp: 'ಕೊನೆಯದಾಗಿ ಮಾರ್ಪಡಿಸಲಾಗಿದೆ' + }, + cropper: { + zoomIn: 'ಇನ್ನು ಹತ್ತಿರವಾಗಿಸಿ', + zoomOut: 'ಜೂಮ್ .ಟ್ ಮಾಡಿ', + rotateLeft: 'ಎಡಕ್ಕೆ ತಿರುಗಿಸಿ', + rotateRight: 'ಬಲಕ್ಕೆ ತಿರುಗಿಸಿ', + moveLeft: 'ಎಡಕ್ಕೆ ಸರಿಸಿ', + moveRight: 'ಬಲಕ್ಕೆ ಹೋಗು', + moveUp: 'ಮೇಲೇರು', + moveDown: 'ಕೆಳಗೆ ಸರಿಸಿ', + flipX: 'ಫ್ಲಿಪ್ x', + flipY: 'ಫ್ಲಿಪ್ ವೈ', + reset: 'ಮರುಹೊಂದಿಸಿ', + upload: 'ಅಪ್‌ಲೋಡ್ ಮಾಡಿ', + ok: 'ಸರಿ', + title: 'ಕ್ರಾಪರ್' + }, + map: { + title: 'ವಿಳಾಸ', + placeholder: 'ಕೀವರ್ಡ್ ನಮೂದಿಸಿ', + message: 'ದಯವಿಟ್ಟು ವಿಳಾಸವನ್ನು ಆರಿಸಿ', + ok: 'ಸರಿ' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ko_KR.js b/src/components/ele-admin-pro/packages/lang/ko_KR.js new file mode 100644 index 0000000..81ed58a --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ko_KR.js @@ -0,0 +1,114 @@ +/** 韩语 */ +import lang from 'ant-design-vue/es/locale/ko_KR'; + +export default { + ...lang, + ele: { + tabs: { + reload: '새로 고침', + fullscreen: '전체 화면', + fullscreenExit: '전체 화면', + closeLeft: '왼쪽 닫 기', + closeRight: '오른쪽 닫 기', + closeOther: '기타 닫 기', + closeAll: '모두 닫 기' + }, + setting: { + title: '테마 설정', + sideStyles: { + dark: '어두운 사이드 바', + light: '밝은 사이드 바' + }, + headStyles: { + light: '밝은 상단 바', + dark: '어두운 상단 막대', + primary: '기본 헤더' + }, + layoutStyles: { + side: '왼쪽 메뉴 레이아웃', + top: '상위 메뉴 레이아웃', + mix: '혼합 메뉴 레이아웃' + }, + colors: { + default: '새벽의 푸른', + dust: '황혼', + sunset: '선셋 오렌지', + volcano: '화산', + purple: '골든 퍼플', + cyan: '청록색', + green: '폴라 그린', + geekblue: '괴짜 블루' + }, + darkMode: '다크 모드 켜기', + layoutStyle: '탐색 모드', + sideMenuStyle: '사이드 바 더블 메뉴', + bodyFull: '콘텐츠 영역 전체 화면', + other: '기타 구성', + fixedHeader: '고정 상단 바 영역', + fixedSidebar: '고정 사이드 바 영역', + fixedBody: '고정 컨텐츠 영역', + logoAutoSize: '자동 로고 너비', + colorfulIcon: '사이드 바 색상 아이콘', + sideUniqueOpen: '메뉴 독점 확장', + weakMode: '색 약화 모드 켜기', + showFooter: '글로벌 바닥 글 켜기', + showTabs: '여러 탭 열기', + tabStyle: '탭 표시 스타일', + tabStyles: { + default: '기본', + dot: '도트', + card: '카드' + }, + tips: '수정 후에는 로컬로 캐시되며 다음에 열 때 테마 구성이 기억됩니다.' + }, + tableTools: { + refresh: '최신 정보', + size: '밀도', + sizeOption: { + large: '느슨하게', + medium: '기본', + small: '매질', + mini: '콤팩트' + }, + columns: '열 설정', + columnsOption: { + columns: '열 설정', + reset: '초기화', + index: '일련 번호', + selection: '列选择', + untitled: '제목 없음' + }, + fullscreen: '전체 화면', + + }, + fileList: { + selectAll: '모두 선택', + selectTips: '선택된 {total} 파일/폴더', + fileName: '파일 이름', + fileSize: '크기', + fileTimestamp: '수정 날짜' + }, + cropper: { + zoomIn: '크게 하다', + zoomOut: '축소', + rotateLeft: '왼쪽으로 회전', + rotateRight: '오른쪽으로 회전', + moveLeft: '왼쪽으로 이동', + moveRight: '오른쪽으로 이동', + moveUp: '이동', + moveDown: '아래로 이동', + flipX: '좌우로 뒤집기', + flipY: '거꾸로 뒤집기', + reset: '재시작', + upload: '이미지 선택', + ok: '확인', + title: '사진 자르기' + }, + map: { + title: '지역 선택', + placeholder: '입력하세요', + message: '위치를 선택하려면 목록을 클릭하십시오', + ok: '확인' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ku_IQ.js b/src/components/ele-admin-pro/packages/lang/ku_IQ.js new file mode 100644 index 0000000..2976c11 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ku_IQ.js @@ -0,0 +1,113 @@ +/** 库尔德语 */ +import lang from 'ant-design-vue/es/locale/ku_IQ'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Hênikkirin', + fullscreen: 'Dîmendera tevahî', + fullscreenExit: 'Dîmendera tevahî', + closeLeft: 'Çep bigire', + closeRight: 'Rast bigire', + closeOther: 'Yê din bigire', + closeAll: 'Girtî Hemî' + }, + setting: { + title: 'Sazkirina Temayê', + sideStyles: { + dark: 'Tenişta tarî', + light: 'Milê sivik' + }, + headStyles: { + light: 'Sernavê ronahî', + dark: 'Sernavê tarî', + primary: 'Sernavê bingehîn' + }, + layoutStyles: { + side: 'hêl qerta xûrekê', + top: 'lûtik qerta xûrekê', + mix: 'lihevxitin qerta xûrekê' + }, + colors: { + default: 'roj şîn', + dust: 'toza şîn', + sunset: 'rojava porteqalî', + volcano: 'çîyayê agirî', + purple: 'binefşî zêrîn', + cyan: 'cyan', + green: 'kesk polar', + geekblue: 'geek blue' + }, + darkMode: 'moda tarî', + layoutStyle: 'moda navîgasyonê', + sideMenuStyle: 'Menu menu du qat', + bodyFull: 'fullscreen laş', + other: 'mîhengê din', + fixedHeader: 'sernavê sabît', + fixedSidebar: 'keviya kêlekê sabît', + fixedBody: 'laşê sabit', + logoAutoSize: 'adaptekirina logoyê', + colorfulIcon: 'îkona rengîn', + sideUniqueOpen: 'menu yekta vekirî', + weakMode: 'moda lawaz', + showFooter: 'footer nîşan bide', + showTabs: 'taban nîşan bide', + tabStyle: 'şêwaza tabê', + tabStyles: { + default: 'Destçûnî', + dot: 'Dot', + card: 'Qert' + }, + tips: 'Gava ku hûn vebikin dê veavakirina we bi bîr bîne.' + }, + tableTools: { + refresh: 'Hênikkirin', + size: 'Density', + sizeOption: { + large: 'Sivik', + medium: 'Destçûnî', + small: 'Dûwemdor', + mini: 'Gişt' + }, + columns: 'Stûn', + columnsOption: { + columns: 'Stûn', + reset: 'Reset bikin', + index: 'Jimare', + selection: 'Neqînî', + untitled: 'Bê sernav' + }, + fullscreen: 'dîmendera tevahî' + }, + fileList: { + selectAll: 'Hemî hilbijêrin', + selectTips: 'Hilbijartin {total} dosî/peldank', + fileName: 'Nav', + fileSize: 'Mezinayî', + fileTimestamp: 'paşîn hate guherandin' + }, + cropper: { + zoomIn: 'Mezin bike', + zoomOut: 'Dûr xistin', + rotateLeft: 'Çepê Zivirandin', + rotateRight: 'Rast Bike', + moveLeft: 'Çepê Bizivirin', + moveRight: 'Rast Bike', + moveUp: 'Derketina jor', + moveDown: 'Dakêşin Jêr', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Reset', + upload: 'Upload', + ok: 'Temam', + title: 'Cropper' + }, + map: { + title: 'Navnîşan', + placeholder: 'Binivîse', + message: 'Ji kerema xwe navnîşanek hilbijêrin', + ok: 'Temam' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/lv_LV.js b/src/components/ele-admin-pro/packages/lang/lv_LV.js new file mode 100644 index 0000000..c0a0d7a --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/lv_LV.js @@ -0,0 +1,113 @@ +/** 拉脱维亚语 */ +import lang from 'ant-design-vue/es/locale/lv_LV'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'atjaunot', + fullscreen: 'Pilnekrāna režīmā', + fullscreenExit: 'Pilnekrāna režīmā', + closeLeft: 'Aizvērt pa kreisi', + closeRight: 'Aizveriet labo pusi', + closeOther: 'Aizvērt citu', + closeAll: 'Aizvērt visu' + }, + setting: { + title: 'Tēmas iestatīšana', + sideStyles: { + dark: 'Tumšā sānjosla', + light: 'Viegla sānjosla' + }, + headStyles: { + light: 'Gaismas galvene', + dark: 'Tumša galvene', + primary: 'Galvenā galvene' + }, + layoutStyles: { + side: 'Sānu izvēlnes izkārtojums', + top: 'Augšējās izvēlnes izkārtojums', + mix: 'Sajaukt izvēlnes izkārtojumu' + }, + colors: { + default: 'Diennakts zils', + dust: 'Putekļu zils', + sunset: 'Saulrieta oranža', + volcano: 'Vulkāns', + purple: 'Zeltaini violets', + cyan: 'Ciāna', + green: 'Polārā zaļā krāsā', + geekblue: 'Geek zils' + }, + darkMode: 'Tumšais režīms', + layoutStyle: 'Navigācijas režīms', + sideMenuStyle: 'Sānjoslas dubultā izvēlne', + bodyFull: 'Virsbūve pilnekrāna režīmā', + other: 'Cits iestatījums', + fixedHeader: 'Fiksēta galvene', + fixedSidebar: 'Fiksēta sānjosla', + fixedBody: 'Fiksēts korpuss', + logoAutoSize: 'Logotipa pielāgošana', + colorfulIcon: 'Krāsaina ikona', + sideUniqueOpen: 'Izvēlne Unikāli Atvērt', + weakMode: 'Vājš režīms', + showFooter: 'Rādīt kājeni', + showTabs: 'Rādīt cilnes', + tabStyle: 'Cilnes stils', + tabStyles: { + default: 'Noklusējums', + dot: 'Punkts', + card: 'Karte' + }, + tips: 'Nākamo reizi, kad to atvērsit, tā atcerēsies jūsu konfigurāciju.' + }, + tableTools: { + refresh: 'atjaunot', + size: 'Blīvums', + sizeOption: { + large: 'Viegli', + medium: 'Noklusējums', + small: 'Sekundāra', + mini: 'Kompakts' + }, + columns: 'Kolonnas', + columnsOption: { + columns: 'Kolonnas', + reset: 'Atiestatīt', + index: 'Skaitļi', + selection: 'Atlase', + untitled: 'Bez nosaukuma' + }, + fullscreen: 'Pilnekrāna režīmā' + }, + fileList: { + selectAll: 'Izvēlēties visus', + selectTips: 'Atlasīts {total} failu/direktorijā', + fileName: 'Nosaukums', + fileSize: 'Izmērs', + fileTimestamp: 'Pēdējoreiz modificēts' + }, + cropper: { + zoomIn: 'Pietuvināt', + zoomOut: 'Attālināt', + rotateLeft: 'Pagriezt pa kreisi', + rotateRight: 'Pagrieziet pa labi', + moveLeft: 'Pārvietoties pa kreisi', + moveRight: 'Kusties pa labi', + moveUp: 'Virzīties uz augšu', + moveDown: 'Pārvietoties uz leju', + flipX: 'Apvērst X', + flipY: 'Pārvērst Y', + reset: 'Atiestatīt', + upload: 'Augšupielādēt', + ok: 'Labi', + title: 'augkopējs' + }, + map: { + title: 'Adrese', + placeholder: 'Ievadīt atslēgvārdu', + message: 'Lūdzu, izvēlieties adresi', + ok: 'Labi' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/mk_MK.js b/src/components/ele-admin-pro/packages/lang/mk_MK.js new file mode 100644 index 0000000..cea3ce1 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/mk_MK.js @@ -0,0 +1,113 @@ +/** 马其顿语 */ +import lang from 'ant-design-vue/es/locale/mk_MK'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Освежи', + fullscreen: 'Цел екран', + fullscreenExit: 'Цел екран', + closeLeft: 'Затвори лево', + closeRight: 'Затвори десно', + closeOther: 'Затвори други', + closeAll: 'Затвори ги сите' + }, + setting: { + title: 'Тема за поставување', + sideStyles: { + dark: 'Темна странична лента', + light: 'Лесна странична лента' + }, + headStyles: { + light: 'Светло заглавие', + dark: 'Темно заглавие', + primary: 'Примарен заглавие' + }, + layoutStyles: { + side: 'Распоред на странично мени', + top: 'Врвен распоред на менито', + mix: 'Распоред на мени' + }, + colors: { + default: 'Ден на разденување сино', + dust: 'Сина прашина', + sunset: 'Зајдисонце портокалова', + volcano: 'Вулкан', + purple: 'Златна виолетова', + cyan: 'Цијан', + green: 'Поларно зелено', + geekblue: 'Гик Блу' + }, + darkMode: 'Темен режим', + layoutStyle: 'Режим на навигација', + sideMenuStyle: 'Странична двојно мени', + bodyFull: 'Цел екран на телото', + other: 'Друго поставување', + fixedHeader: 'Фиксен заглавие', + fixedSidebar: 'Поправена странична лента', + fixedBody: 'Фиксно тело', + logoAutoSize: 'Адаптација на логото', + colorfulIcon: 'Шарена икона', + sideUniqueOpen: 'Мени Единствено отворено', + weakMode: 'Слаб режим', + showFooter: 'Покажи подножје', + showTabs: 'Покажи јазичиња', + tabStyle: 'Стил на јазиче', + tabStyles: { + default: 'Стандардно', + dot: 'Точка', + card: 'Картичка' + }, + tips: 'Willе ја запомни вашата конфигурација следниот пат кога ќе ја отворите.' + }, + tableTools: { + refresh: 'Освежи', + size: 'Густина', + sizeOption: { + large: 'Лесно', + medium: 'Стандардно', + small: 'Средно', + mini: 'Компактен' + }, + columns: 'Колумни', + columnsOption: { + columns: 'Колумни', + reset: 'Ресетирај', + index: 'Броеви', + selection: 'Избор', + untitled: 'Без наслов' + }, + fullscreen: 'Цел екран' + }, + fileList: { + selectAll: 'Селектирај се', + selectTips: 'Избрани {total} досие/директориум', + fileName: 'Име', + fileSize: 'Големина', + fileTimestamp: 'LastModified' + }, + cropper: { + zoomIn: 'Зумирај', + zoomOut: 'Зумирај', + rotateLeft: 'Ротирај лево', + rotateRight: 'RotateRight', + moveLeft: 'Помести се на лево', + moveRight: 'Движете се надесно', + moveUp: 'MoveUp', + moveDown: 'Да се движи надолу', + flipX: 'Флип X', + flipY: 'Флип Y', + reset: 'Ресетирај', + upload: 'Поставете', + ok: 'добро', + title: 'Кропер' + }, + map: { + title: 'Адреса', + placeholder: 'Внесете клучен збор', + message: 'Ве молиме изберете адреса', + ok: 'добро' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/mn_MN.js b/src/components/ele-admin-pro/packages/lang/mn_MN.js new file mode 100644 index 0000000..0ce7506 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/mn_MN.js @@ -0,0 +1,113 @@ +/** 蒙古语 */ +import lang from 'ant-design-vue/es/locale/mn_MN'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Сэргээх', + fullscreen: 'Дэлгэц дүүрэн', + fullscreenExit: 'Дэлгэц дүүрэн', + closeLeft: 'Зүүн хаах', + closeRight: 'Баруун хаах', + closeOther: 'Бусадыг хаах', + closeAll: 'Бүгдийг хаах' + }, + setting: { + title: 'Сэдвийн тохиргоо', + sideStyles: { + dark: 'Харанхуй хажуугийн самбар', + light: 'Хөнгөн хажуугийн самбар' + }, + headStyles: { + light: 'Хөнгөн толгой', + dark: 'Харанхуй толгой', + primary: 'Үндсэн толгой' + }, + layoutStyles: { + side: 'Хажуугийн цэсний байршил', + top: 'Шилдэг цэсийн байршил', + mix: 'Холимог цэсийн байршил' + }, + colors: { + default: 'Өдрийн цэнхэр', + dust: 'Тоос хөх', + sunset: 'Нар жаргах улбар шар', + volcano: 'Галт уул', + purple: 'Алтан ягаан', + cyan: 'Цэнхэр', + green: 'Алтан гадас', + geekblue: 'Geek Цэнхэр' + }, + darkMode: 'Харанхуй горим', + layoutStyle: 'Навигацийн горим', + sideMenuStyle: 'Хажуугийн давхар цэс', + bodyFull: 'Биеийн бүтэн дэлгэц', + other: 'Бусад тохиргоо', + fixedHeader: 'Тогтмол толгой', + fixedSidebar: 'Суурин талын самбар', + fixedBody: 'Тогтмол бие', + logoAutoSize: 'Логоны тохируулга', + colorfulIcon: 'Өнгөт дүрс', + sideUniqueOpen: 'Өвөрмөц цэс', + weakMode: 'Сул горим', + showFooter: 'Хөлийг харуулах', + showTabs: 'Табуудыг харуулах', + tabStyle: 'Табын хэв маяг', + tabStyles: { + default: 'Анхдагч', + dot: 'Цэг', + card: 'Карт' + }, + tips: 'Энэ нь дараагийн удаа нээхэд таны тохиргоог санах болно.' + }, + tableTools: { + refresh: 'Сэргээх', + size: 'Нягт', + sizeOption: { + large: 'Хялбар', + medium: 'Анхдагч', + small: 'Хоёрдогч', + mini: 'Компакт' + }, + columns: 'Багана', + columnsOption: { + columns: 'Багана', + reset: 'Дахин тохируулах', + index: 'Тоо', + selection: 'Сонголт', + untitled: 'Гарчиггүй' + }, + fullscreen: 'Дэлгэц дүүрэн' + }, + fileList: { + selectAll: 'Бүгдийг сонгох', + selectTips: 'Сонгосон {total} файл/лавлах', + fileName: 'Нэр', + fileSize: 'Хэмжээ', + fileTimestamp: 'Хамгийн сүүлд өөрчилсөн' + }, + cropper: { + zoomIn: 'Томруулах', + zoomOut: 'Томруулах', + rotateLeft: 'Зүүн тийш эргүүлэх', + rotateRight: 'Зөв эргүүлэх', + moveLeft: 'Зүүн тийш шилжих', + moveRight: 'Баруун тийш шилжих', + moveUp: 'Дээшээ хөдөл', + moveDown: 'Доош шилжих', + flipX: 'X-г дарах', + flipY: 'Y-г дарна уу', + reset: 'Дахин тохируулах', + upload: 'Байршуулах', + ok: 'Тийм', + title: 'Тайруулагч' + }, + map: { + title: 'Хаяг', + placeholder: 'Утга оруул', + message: 'Хаяг сонгоно уу', + ok: 'Тийм' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ms_MY.js b/src/components/ele-admin-pro/packages/lang/ms_MY.js new file mode 100644 index 0000000..963d713 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ms_MY.js @@ -0,0 +1,113 @@ +/** 马来语 */ +import lang from 'ant-design-vue/es/locale/ms_MY'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Segarkan', + fullscreen: 'Skrin penuh', + fullscreenExit: 'Skrin penuh', + closeLeft: 'Tutup Kiri', + closeRight: 'Tutup Kanan', + closeOther: 'Tutup Lain', + closeAll: 'Tutup semua' + }, + setting: { + title: 'Penetapan Tema', + sideStyles: { + dark: 'Bilah Sisi Gelap', + light: 'Bilah Sisi Cahaya' + }, + headStyles: { + light: 'Tajuk Cahaya', + dark: 'Tajuk Gelap', + primary: 'Tajuk Utama' + }, + layoutStyles: { + side: 'Susun atur Menu Sampingan', + top: 'Susun atur Menu Teratas', + mix: 'Susun atur Menu Campuran' + }, + colors: { + default: 'Daybreak Biru', + dust: 'Debu Biru', + sunset: 'Jingga Matahari Terbenam', + volcano: 'Gunung Berapi', + purple: 'Ungu Emas', + cyan: 'Sian', + green: 'Hijau Kutub', + geekblue: 'Geek Biru' + }, + darkMode: 'Mod Gelap', + layoutStyle: 'Mod Navigasi', + sideMenuStyle: 'Menu Berkembar Sisi', + bodyFull: 'Skrin Penuh Badan', + other: 'Tetapan Lain', + fixedHeader: 'Tajuk Tetap', + fixedSidebar: 'Membetulkan Sidebar', + fixedBody: 'Memperbaiki Badan', + logoAutoSize: 'Penyesuaian Logo', + colorfulIcon: 'Ikon Berwarna-warni', + sideUniqueOpen: 'Menu Terbuka Unik', + weakMode: 'Mod Lemah', + showFooter: 'Tunjukkan Footer', + showTabs: 'Tunjukkan Tab', + tabStyle: 'Gaya Tab', + tabStyles: { + default: 'Lalai', + dot: 'Dot', + card: 'Kad' + }, + tips: 'Ia akan mengingati konfigurasi anda pada saat anda membukanya.' + }, + tableTools: { + refresh: 'Segarkan', + size: 'Ketumpatan', + sizeOption: { + large: 'Mudah', + medium: 'Lalai', + small: 'Menengah', + mini: 'Ringkas' + }, + columns: 'Lajur', + columnsOption: { + columns: 'Lajur', + reset: 'Tetapkan semula', + index: 'Nombor', + selection: 'Pemilihan', + untitled: 'Tanpa tajuk' + }, + fullscreen: 'Skrin penuh' + }, + fileList: { + selectAll: 'Pilih semua', + selectTips: 'Terpilih {total} fail/direktori', + fileName: 'Nama', + fileSize: 'Saiz', + fileTimestamp: 'Terakhir Diubahsuai' + }, + cropper: { + zoomIn: 'Mengezum masuk', + zoomOut: 'Zum keluar', + rotateLeft: 'Pusing kiri', + rotateRight: 'Putar ke Kanan', + moveLeft: 'Bergerak ke kiri', + moveRight: 'Bergerak ke Kanan', + moveUp: 'Bergerak ke atas', + moveDown: 'Bergerak ke bawah', + flipX: 'Balik X', + flipY: 'Balik Y', + reset: 'Tetapkan semula', + upload: 'Muat naik', + ok: 'OK', + title: 'Pemangkas' + }, + map: { + title: 'Alamat', + placeholder: 'Masukkan kata kunci', + message: 'Sila pilih alamat', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/nb_NO.js b/src/components/ele-admin-pro/packages/lang/nb_NO.js new file mode 100644 index 0000000..2481573 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/nb_NO.js @@ -0,0 +1,113 @@ +/** 挪威语 */ +import lang from 'ant-design-vue/es/locale/nb_NO'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Forfriske', + fullscreen: 'Full skjerm', + fullscreenExit: 'Full skjerm', + closeLeft: 'Lukk Venstre', + closeRight: 'Lukk høyre', + closeOther: 'Lukk Annet', + closeAll: 'Lukk alle' + }, + setting: { + title: 'Temainnstilling', + sideStyles: { + dark: 'Mørk sidefelt', + light: 'Lys sidefelt' + }, + headStyles: { + light: 'Lett topptekst', + dark: 'Mørk topptekst', + primary: 'Primær topptekst' + }, + layoutStyles: { + side: 'Sidemenyoppsett', + top: 'Toppmenyoppsett', + mix: 'Mix Menu Layout' + }, + colors: { + default: 'Daybreak Blue', + dust: 'Støvblå', + sunset: 'Sunset Orange', + volcano: 'Vulkan', + purple: 'Golden Purple', + cyan: 'Cyan', + green: 'Polar Green', + geekblue: 'Geek Blue' + }, + darkMode: 'Mørk modus', + layoutStyle: 'Navigasjonsmodus', + sideMenuStyle: 'Dobbel meny på sidelinjen', + bodyFull: 'Kropp fullskjerm', + other: 'Andre innstillinger', + fixedHeader: 'Fast topptekst', + fixedSidebar: 'Fast sidefelt', + fixedBody: 'Fast kropp', + logoAutoSize: 'Logo Tilpasning', + colorfulIcon: 'Fargerikt ikon', + sideUniqueOpen: 'Meny Unik Åpne', + weakMode: 'Svak modus', + showFooter: 'Vis bunntekst', + showTabs: 'Vis faner', + tabStyle: 'Tab Style', + tabStyles: { + default: 'Misligholde', + dot: 'Punktum', + card: 'Kort' + }, + tips: 'Den vil huske konfigurasjonen din neste gang du åpner den.' + }, + tableTools: { + refresh: 'Forfriske', + size: 'Tetthet', + sizeOption: { + large: 'Lett', + medium: 'Misligholde', + small: 'Sekundær', + mini: 'Kompakt' + }, + columns: 'Kolonner', + columnsOption: { + columns: 'Kolonner', + reset: 'Nullstille', + index: 'Tall', + selection: 'Utvalg', + untitled: 'Uten navn' + }, + fullscreen: 'Full skjerm' + }, + fileList: { + selectAll: 'Velg alle', + selectTips: 'Valgt {total} fil/katalog', + fileName: 'Navn', + fileSize: 'Størrelse', + fileTimestamp: 'Sist endret' + }, + cropper: { + zoomIn: 'Zoom inn', + zoomOut: 'Zoome ut', + rotateLeft: 'Rotér mot venstre', + rotateRight: 'Roter til høyre', + moveLeft: 'Gå til venstre', + moveRight: 'Flytt til høyre', + moveUp: 'Flytte opp', + moveDown: 'Flytt ned', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Nullstille', + upload: 'Laste opp', + ok: 'OK', + title: 'Cropper' + }, + map: { + title: 'Adresse', + placeholder: 'Skriv inn nøkkelord', + message: 'Velg en adresse', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ne_NP.js b/src/components/ele-admin-pro/packages/lang/ne_NP.js new file mode 100644 index 0000000..41fcef6 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ne_NP.js @@ -0,0 +1,113 @@ +/** 尼泊尔语 */ +import lang from 'ant-design-vue/es/locale/ne_NP'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'रिफ्रेस गर्नुहोस्', + fullscreen: 'पूर्णस्क्रीन', + fullscreenExit: 'पूर्णस्क्रीन', + closeLeft: 'बाँया बन्द गर्नुहोस्', + closeRight: 'दाँया बन्द गर्नुहोस्', + closeOther: 'बन्द गर्नुहोस्', + closeAll: 'सबै बन्द गर्नुहोस्' + }, + setting: { + title: 'थिम सेटिंग', + sideStyles: { + dark: 'गाढा साइडबार', + light: 'लाइट साइडबार' + }, + headStyles: { + light: 'हल्का हेडर', + dark: 'गाढा हेडर', + primary: 'प्राथमिक हेडर' + }, + layoutStyles: { + side: 'साइड मेनू लेआउट', + top: 'शीर्ष मेनू लेआउट', + mix: 'मेनू लेआउट मिक्स गर्नुहोस्' + }, + colors: { + default: 'डेब्रेक निलो', + dust: 'धुलो निलो', + sunset: 'सूर्यास्त सुन्तला', + volcano: 'ज्वालामुखी', + purple: 'गोल्डन बैजनी', + cyan: 'सियान', + green: 'ध्रुव हरियो', + geekblue: 'गीक निलो' + }, + darkMode: 'गाढा मोड', + layoutStyle: 'नेभिगेसन मोड', + sideMenuStyle: 'साइडबार डबल मेनू', + bodyFull: 'शरीर पूर्णस्क्रीन', + other: 'अन्य सेटिंग्स', + fixedHeader: 'फिक्स्ड हेडर', + fixedSidebar: 'फिक्स साइडबार', + fixedBody: 'स्थिर शरीर', + logoAutoSize: 'लोगो अनुकूलन', + colorfulIcon: 'रंगीन प्रतिमा', + sideUniqueOpen: 'मेनू अद्वितीय खोल्नुहोस्', + weakMode: 'कमजोर मोड', + showFooter: 'फुटर देखाउनुहोस्', + showTabs: 'ट्याबहरू देखाउनुहोस्', + tabStyle: 'ट्याब शैली', + tabStyles: { + default: 'पूर्वनिर्धारित', + dot: 'डट', + card: 'कार्ड' + }, + tips: 'यो तपाईको कन्फिगरेसन याद आउँदछ जुन तपाईले अर्को पटक खोल्नु भयो।' + }, + tableTools: { + refresh: 'रिफ्रेस गर्नुहोस्', + size: 'घनत्व', + sizeOption: { + large: 'सजिलो', + medium: 'पूर्वनिर्धारित', + small: 'माध्यमिक', + mini: 'कम्प्याक्ट' + }, + columns: 'स्तम्भहरू', + columnsOption: { + columns: 'स्तम्भहरू', + reset: 'रिसेट गर्नुहोस्', + index: 'नम्बरहरू', + selection: 'छनौट', + untitled: 'शीर्षकविहीन' + }, + fullscreen: 'पूर्णस्क्रीन' + }, + fileList: { + selectAll: 'सबै छान्नु', + selectTips: 'चयन गरिएको {total} फाईल/निर्देशिका', + fileName: 'नाम', + fileSize: 'आकार', + fileTimestamp: 'अन्तिम परिमार्जित' + }, + cropper: { + zoomIn: 'जुम इन', + zoomOut: 'जुम आउट', + rotateLeft: 'बाँया घुमाउनुहोस्', + rotateRight: 'दाँया घुमाउनुहोस्', + moveLeft: 'बाँया सार्नुहोस्', + moveRight: 'दायाँ सार्नुहोस्', + moveUp: 'माथि बढ्नु', + moveDown: 'तल झर', + flipX: 'फ्लिप एक्स', + flipY: 'फ्लिप वाई', + reset: 'रिसेट गर्नुहोस्', + upload: 'अपलोड गर्नुहोस्', + ok: 'सिद्द्याउनु', + title: 'क्रपर' + }, + map: { + title: 'ठेगाना', + placeholder: 'कुञ्जी शब्द प्रविष्ट गर्नुहोस्', + message: 'कृपया ठेगाना चयन गर्नुहोस्', + ok: 'सिद्द्याउनु' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/nl_BE.js b/src/components/ele-admin-pro/packages/lang/nl_BE.js new file mode 100644 index 0000000..991cd8d --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/nl_BE.js @@ -0,0 +1,113 @@ +/** 南非荷兰语 */ +import lang from 'ant-design-vue/es/locale/nl_BE'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Verfris', + fullscreen: 'Volskerm', + fullscreenExit: 'Volskerm', + closeLeft: 'Sluit Links', + closeRight: 'Sluit Regterkant', + closeOther: 'Maak toe ander', + closeAll: 'Sluit Alle' + }, + setting: { + title: 'Tema Opstelling', + sideStyles: { + dark: 'Donker kantbalk', + light: 'Ligte kantbalk' + }, + headStyles: { + light: 'Ligte Kop', + dark: 'Donker Opskrif', + primary: 'Hoofkop' + }, + layoutStyles: { + side: 'Kant Kieslys Uitleg', + top: 'Bo Kieslys Uitleg', + mix: 'Menger Kieslys Uitleg' + }, + colors: { + default: 'Dagbreak Blou', + dust: 'Stuur Blou', + sunset: 'Sonstel Oranjecolor', + volcano: 'Vulkano', + purple: 'Goue Purple', + cyan: 'Cyan', + green: 'Polar Groen', + geekblue: 'Geek Blou' + }, + darkMode: 'Donker Modus', + layoutStyle: 'Navigasie Modus', + sideMenuStyle: 'Sidebar dubbel menu', + bodyFull: 'Ligging Volskerm', + other: 'Ander Opstelling', + fixedHeader: 'Voeg by Opskrif', + fixedSidebar: 'Vaste kantbalk', + fixedBody: 'Vaste Ligging', + logoAutoSize: 'Logo aanpassing', + colorfulIcon: 'Kleur Ikoon', + sideUniqueOpen: 'Kieslys Unieke Open', + weakMode: 'Swak Modus', + showFooter: 'Vertoon Voetskrif', + showTabs: 'Vertoon Oortjies', + tabStyle: 'Oortjie Styl', + tabStyles: { + default: 'Verstek', + dot: 'Punt', + card: 'Kaart' + }, + tips: 'Dit sal onthou jou konfigurasie die volgende keer jy dit oop.' + }, + tableTools: { + refresh: 'Verfris', + size: 'Densiteit', + sizeOption: { + large: 'Maklik', + medium: 'Verstek', + small: 'Sekundêre', + mini: 'Kompakt' + }, + columns: 'Kolomme', + columnsOption: { + columns: 'Kolomme', + reset: 'Herstel', + index: 'Nommers', + selection: 'Keuse', + untitled: 'Ontitel' + }, + fullscreen: 'Volskerm' + }, + fileList: { + selectAll: 'Kies Alle', + selectTips: 'Gekose {total} lêer/gids', + fileName: 'Naam', + fileSize: 'Grootte', + fileTimestamp: 'Laaste verander' + }, + cropper: { + zoomIn: 'Zoem In', + zoomOut: 'Zoem Uit', + rotateLeft: 'Roteer Links', + rotateRight: 'Roteer Regterkant', + moveLeft: 'Beweeg Links', + moveRight: 'Beweeg Regterkant', + moveUp: 'Beweeg Op', + moveDown: 'Beweeg Ondertoe', + flipX: 'Draai X', + flipY: 'Draai Y', + reset: 'Herstel', + upload: 'Oplaai', + ok: 'Bevestig', + title: 'Cropper' + }, + map: { + title: 'Adres', + placeholder: 'Voer sleutelwoord in', + message: 'Kies asseblief \'n adres', + ok: 'Bevestig' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/nl_NL.js b/src/components/ele-admin-pro/packages/lang/nl_NL.js new file mode 100644 index 0000000..50b7b27 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/nl_NL.js @@ -0,0 +1,113 @@ +/** 荷兰语 */ +import lang from 'ant-design-vue/es/locale/nl_NL'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Vernieuwen', + fullscreen: 'Volledig scherm', + fullscreenExit: 'Volledig scherm', + closeLeft: 'Links sluiten', + closeRight: 'Rechts sluiten', + closeOther: 'Andere sluiten', + closeAll: 'Sluit alles' + }, + setting: { + title: 'Thema-instelling', + sideStyles: { + dark: 'Donkere zijbalk', + light: 'Lichte zijbalk' + }, + headStyles: { + light: 'Licht Header', + dark: 'Dark Header', + primary: 'Primaire koptekst' + }, + layoutStyles: { + side: 'Zijmenu-indeling', + top: 'Lay-out van het bovenste menu', + mix: 'Mix Menu-indeling' + }, + colors: { + default: 'Daybreak Blue', + dust: 'Dust Blue', + sunset: 'Sunset Orange', + volcano: 'Vulkaan', + purple: 'Gouden paars', + cyan: 'Cyaan', + green: 'Polar Groen', + geekblue: 'Geek Blue' + }, + darkMode: 'Donkere modus', + layoutStyle: 'Navigatiemodus', + sideMenuStyle: 'Zijbalk dubbel menu', + bodyFull: 'Lichaam op volledig scherm', + other: 'Andere instellingen', + fixedHeader: 'Vaste koptekst', + fixedSidebar: 'Vaste zijbalk', + fixedBody: 'Vast lichaam', + logoAutoSize: 'Logo aanpassing', + colorfulIcon: 'Kleurrijk pictogram', + sideUniqueOpen: 'Menu Uniek Open', + weakMode: 'Zwakke modus', + showFooter: 'Voettekst weergeven', + showTabs: 'Tabbladen weergeven', + tabStyle: 'Tabbladstijl', + tabStyles: { + default: 'Standaard', + dot: 'Punt', + card: 'Kaart' + }, + tips: 'Het onthoudt uw configuratie de volgende keer dat u het opent.' + }, + tableTools: { + refresh: 'Vernieuwen', + size: 'Dichtheid', + sizeOption: { + large: 'Gemakkelijk', + medium: 'Standaard', + small: 'Ondergeschikt', + mini: 'Compact' + }, + columns: 'Kolommen', + columnsOption: { + columns: 'Kolommen', + reset: 'Reset', + index: 'Getallen', + selection: 'Selectie', + untitled: 'Ongetiteld' + }, + fullscreen: 'Volledig scherm' + }, + fileList: { + selectAll: 'Selecteer alles', + selectTips: 'Geselecteerd {total} het dossier/directory', + fileName: 'Naam', + fileSize: 'Grootte', + fileTimestamp: 'Laatst gewijzigd' + }, + cropper: { + zoomIn: 'In zoomen', + zoomOut: 'Uitzoomen', + rotateLeft: 'Draai naar links', + rotateRight: 'Draai naar rechts', + moveLeft: 'Ga naar links', + moveRight: 'Ga naar rechts', + moveUp: 'MoveUp', + moveDown: 'Naar beneden verplaatsen', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Reset', + upload: 'Uploaden', + ok: 'Bevestig', + title: 'Kropper' + }, + map: { + title: 'Adres', + placeholder: 'Geef zoekwoerd', + message: 'Selecteer een adres', + ok: 'Bevestig' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/pl_PL.js b/src/components/ele-admin-pro/packages/lang/pl_PL.js new file mode 100644 index 0000000..257f28e --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/pl_PL.js @@ -0,0 +1,113 @@ +/** 波兰语 */ +import lang from 'ant-design-vue/es/locale/pl_PL'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Odświeżać', + fullscreen: 'Pełny ekran', + fullscreenExit: 'Pełny ekran', + closeLeft: 'Zamknij w lewo', + closeRight: 'Zamknij w prawo', + closeOther: 'Zamknij Inne', + closeAll: 'Zamknij wszystko' + }, + setting: { + title: 'Ustawienie motywu', + sideStyles: { + dark: 'Ciemny pasek boczny', + light: 'Jasny pasek boczny' + }, + headStyles: { + light: 'Lekki nagłówek', + dark: 'Dark Header', + primary: 'Główny nagłówek' + }, + layoutStyles: { + side: 'Układ menu bocznego', + top: 'Układ górnego menu', + mix: 'Układ menu Mix' + }, + colors: { + default: 'Daybreak Blue', + dust: 'Pył niebieski', + sunset: 'Sunset Orange', + volcano: 'Wulkan', + purple: 'Złoty Fioletowy', + cyan: 'Cyjan', + green: 'Polarny zielony', + geekblue: 'Geek Blue' + }, + darkMode: 'Tryb ciemny', + layoutStyle: 'Tryb nawigacji', + sideMenuStyle: 'Podwójne menu paska bocznego', + bodyFull: 'Body Fullscreen', + other: 'Inne ustawienia', + fixedHeader: 'Naprawiono nagłówek', + fixedSidebar: 'Naprawiono pasek boczny', + fixedBody: 'Naprawiono ciało', + logoAutoSize: 'Adaptacja logo', + colorfulIcon: 'Kolorowa ikona', + sideUniqueOpen: 'Menu Unique Open', + weakMode: 'Tryb słaby', + showFooter: 'Pokaż stopkę', + showTabs: 'Pokaż karty', + tabStyle: 'Styl zakładki', + tabStyles: { + default: 'Domyślna', + dot: 'Kropka', + card: 'Karta' + }, + tips: 'Zapamięta twoją konfigurację przy następnym otwarciu.' + }, + tableTools: { + refresh: 'Odświeżać', + size: 'Gęstość', + sizeOption: { + large: 'Łatwo', + medium: 'Domyślna', + small: 'Wtórny', + mini: 'Kompaktowy' + }, + columns: 'Kolumny', + columnsOption: { + columns: 'Kolumny', + reset: 'Resetowanie', + index: 'Liczby', + selection: 'Wybór', + untitled: 'Nieuprawny' + }, + fullscreen: 'Pełny ekran' + }, + fileList: { + selectAll: 'Zaznacz wszystko', + selectTips: 'Wybrany {total} plik/informator', + fileName: 'Nazwa', + fileSize: 'Rozmiar', + fileTimestamp: 'Ostatnio zmodyfikowany' + }, + cropper: { + zoomIn: 'Zbliżenie', + zoomOut: 'ZoomOut', + rotateLeft: 'Obrót w lewo', + rotateRight: 'Obróć w prawo', + moveLeft: 'Przesuń w lewo', + moveRight: 'Ruch w prawo', + moveUp: 'MoveUp', + moveDown: 'Padnij', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Resetowanie', + upload: 'Przekazać plik', + ok: 'OK', + title: 'Żniwiarz' + }, + map: { + title: 'Adres', + placeholder: 'Wpisz szukaną frazę', + message: 'Proszę wybrać adres', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/pt_BR.js b/src/components/ele-admin-pro/packages/lang/pt_BR.js new file mode 100644 index 0000000..28bfab6 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/pt_BR.js @@ -0,0 +1,113 @@ +/** 巴西葡萄牙语 */ +import lang from 'ant-design-vue/es/locale/pt_BR'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Atualizar', + fullscreen: 'Tela cheia', + fullscreenExit: 'Tela cheia', + closeLeft: 'Fechar à Esquerda', + closeRight: 'Fechar à direita', + closeOther: 'Fechar outro', + closeAll: 'Feche tudo' + }, + setting: { + title: 'Configuração de Tema', + sideStyles: { + dark: 'Barra Lateral Escura', + light: 'Barra Lateral Leve' + }, + headStyles: { + light: 'Cabeçalho de luz', + dark: 'Dark Header', + primary: 'Cabeçalho Primário' + }, + layoutStyles: { + side: 'Layout do menu lateral', + top: 'Layout do menu superior', + mix: 'Layout do Menu Mix' + }, + colors: { + default: 'Amanhecer azul', + dust: 'Poeira Azul', + sunset: 'Sunset Orange', + volcano: 'Vulcão', + purple: 'Roxo Dourado', + cyan: 'Ciano', + green: 'Polar Green', + geekblue: 'Geek Blue' + }, + darkMode: 'Modo escuro', + layoutStyle: 'Modo de Navegação', + sideMenuStyle: 'Menú duplo da barra lateral', + bodyFull: 'Corpo em tela cheia', + other: 'Outra Configuração', + fixedHeader: 'Cabeçalho Fixo', + fixedSidebar: 'Barra Lateral Fixa', + fixedBody: 'Corpo Fixo', + logoAutoSize: 'Adaptação de logotipo', + colorfulIcon: 'Ícone Colorido', + sideUniqueOpen: 'Menu Único Aberto', + weakMode: 'Modo Fraco', + showFooter: 'Mostrar rodapé', + showTabs: 'Mostrar abas', + tabStyle: 'Estilo de guia', + tabStyles: { + default: 'Padrão', + dot: 'Ponto', + card: 'Cartão' + }, + tips: 'Ele se lembrará de sua configuração na próxima vez que você abri-lo.' + }, + tableTools: { + refresh: 'Atualizar', + size: 'Densidade', + sizeOption: { + large: 'Fácil', + medium: 'Padrão', + small: 'Secundário', + mini: 'Compactar' + }, + columns: 'Colunas', + columnsOption: { + columns: 'Colunas', + reset: 'Redefinir', + index: 'Números', + selection: 'Seleção', + untitled: 'Sem título' + }, + fullscreen: 'Tela cheia' + }, + fileList: { + selectAll: 'Selecionar tudo', + selectTips: 'Selecionado {total} Arquivo/diretório', + fileName: 'Nome', + fileSize: 'Tamanho', + fileTimestamp: 'Última modificação' + }, + cropper: { + zoomIn: 'Mais Zoom', + zoomOut: 'Reduzir o zoom', + rotateLeft: 'Vire à esquerda', + rotateRight: 'Vire à direita', + moveLeft: 'Vire à esquerda', + moveRight: 'Mover para a direita', + moveUp: 'Subir', + moveDown: 'Mover para Baixo', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Redefinir', + upload: 'Envio', + ok: 'Confirmar', + title: 'Cultivador' + }, + map: { + title: 'Endereço', + placeholder: 'Digite uma palavra-chave', + message: 'Selecione um endereço', + ok: 'Confirmar' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/pt_PT.js b/src/components/ele-admin-pro/packages/lang/pt_PT.js new file mode 100644 index 0000000..9edcb39 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/pt_PT.js @@ -0,0 +1,113 @@ +/** 葡萄牙语 */ +import lang from 'ant-design-vue/es/locale/pt_PT'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Atualizar', + fullscreen: 'Tela cheia', + fullscreenExit: 'Tela cheia', + closeLeft: 'Fechar à Esquerda', + closeRight: 'Fechar à direita', + closeOther: 'Fechar outro', + closeAll: 'Feche tudo' + }, + setting: { + title: 'Configuração de Tema', + sideStyles: { + dark: 'Barra Lateral Escura', + light: 'Barra Lateral Leve' + }, + headStyles: { + light: 'Cabeçalho de luz', + dark: 'Dark Header', + primary: 'Cabeçalho Primário' + }, + layoutStyles: { + side: 'Layout do menu lateral', + top: 'Layout do menu superior', + mix: 'Layout do Menu Mix' + }, + colors: { + default: 'Amanhecer azul', + dust: 'Poeira Azul', + sunset: 'Sunset Orange', + volcano: 'Vulcão', + purple: 'Roxo Dourado', + cyan: 'Ciano', + green: 'Polar Green', + geekblue: 'Geek Blue' + }, + darkMode: 'Modo escuro', + layoutStyle: 'Modo de Navegação', + sideMenuStyle: 'Menu duplo da barra lateral', + bodyFull: 'Corpo em tela cheia', + other: 'Outra Configuração', + fixedHeader: 'Cabeçalho Fixo', + fixedSidebar: 'Barra Lateral Fixa', + fixedBody: 'Corpo Fixo', + logoAutoSize: 'Adaptação de logotipo', + colorfulIcon: 'Ícone Colorido', + sideUniqueOpen: 'Menu Único Aberto', + weakMode: 'Modo Fraco', + showFooter: 'Mostrar rodapé', + showTabs: 'Mostrar abas', + tabStyle: 'Estilo de guia', + tabStyles: { + default: 'Padrão', + dot: 'Ponto', + card: 'Cartão' + }, + tips: 'Ele se lembrará de sua configuração na próxima vez que você abri-lo.' + }, + tableTools: { + refresh: 'Atualizar', + size: 'Densidade', + sizeOption: { + large: 'Fácil', + medium: 'Padrão', + small: 'Secundário', + mini: 'Compactar' + }, + columns: 'Colunas', + columnsOption: { + columns: 'Colunas', + reset: 'Redefinir', + index: 'Números', + selection: 'Seleção', + untitled: 'Sem título' + }, + fullscreen: 'Tela cheia' + }, + fileList: { + selectAll: 'Selecionar tudo', + selectTips: 'Selecionado {total} Arquivo/diretório', + fileName: 'Nome', + fileSize: 'Tamanho', + fileTimestamp: 'Última modificação' + }, + cropper: { + zoomIn: 'Mais Zoom', + zoomOut: 'Reduzir o zoom', + rotateLeft: 'Vire à esquerda', + rotateRight: 'Vire à direita', + moveLeft: 'Vire à esquerda', + moveRight: 'Mover para a direita', + moveUp: 'Subir', + moveDown: 'Mover para Baixo', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Redefinir', + upload: 'Envio', + ok: 'Confirmar', + title: 'Cultivador' + }, + map: { + title: 'Endereço', + placeholder: 'Insira a palavra-chave', + message: 'Selecione um endereço', + ok: 'Confirmar' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ro_RO.js b/src/components/ele-admin-pro/packages/lang/ro_RO.js new file mode 100644 index 0000000..6f86f0d --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ro_RO.js @@ -0,0 +1,113 @@ +/** 罗马尼亚语 */ +import lang from 'ant-design-vue/es/locale/ro_RO'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Reîmprospăta', + fullscreen: 'Ecran complet', + fullscreenExit: 'Ecran complet', + closeLeft: 'Închideți stânga', + closeRight: 'Închideți dreapta', + closeOther: 'Închide Altele', + closeAll: 'Inchide tot' + }, + setting: { + title: 'Setarea temei', + sideStyles: { + dark: 'Bara laterală întunecată', + light: 'Bara laterală ușoară' + }, + headStyles: { + light: 'Antet ușor', + dark: 'Antet întunecat', + primary: 'Antetul principal' + }, + layoutStyles: { + side: 'Aspectul meniului lateral', + top: 'Aspectul meniului de sus', + mix: 'Mixează aspectul meniului' + }, + colors: { + default: 'Albastru de ziuă', + dust: 'Albastru de praf', + sunset: 'Sunset Orange', + volcano: 'Vulcan', + purple: 'Purpuriu auriu', + cyan: 'Cyan', + green: 'Verde Polar', + geekblue: 'Geek Blue' + }, + darkMode: 'Mod întunecat', + layoutStyle: 'Mod de navigare', + sideMenuStyle: 'Meniu dublu din bara laterală', + bodyFull: 'Ecran complet al corpului', + other: 'Alte setări', + fixedHeader: 'Antet fix', + fixedSidebar: 'Bara laterală fixă', + fixedBody: 'Corp fix', + logoAutoSize: 'Adaptarea siglei', + colorfulIcon: 'Pictogramă colorată', + sideUniqueOpen: 'Meniu Unic Deschis', + weakMode: 'Mod slab', + showFooter: 'Afișează subsol', + showTabs: 'Afișați filele', + tabStyle: 'Stil filă', + tabStyles: { + default: 'Mod implicit', + dot: 'Punct', + card: 'Card' + }, + tips: 'Vă va aminti configurația dvs. data viitoare când o veți deschide.' + }, + tableTools: { + refresh: 'Reîmprospăta', + size: 'Densitate', + sizeOption: { + large: 'Uşor', + medium: 'Mod implicit', + small: 'Secundar', + mini: 'Compact' + }, + columns: 'Coloane', + columnsOption: { + columns: 'Coloane', + reset: 'Resetați', + index: 'Numere', + selection: 'Selecţie', + untitled: 'Fără titlu' + }, + fullscreen: 'Ecran complet' + }, + fileList: { + selectAll: 'Selectează tot', + selectTips: 'Selectat {total} fişier/director', + fileName: 'Nume', + fileSize: 'mărimea', + fileTimestamp: 'Modificat ultima dată' + }, + cropper: { + zoomIn: 'Mareste', + zoomOut: 'A micsora', + rotateLeft: 'Rotiti la stanga', + rotateRight: 'Invarte spre dreapta', + moveLeft: 'Mută ​​la stânga', + moveRight: 'Misca-te la dreapta', + moveUp: 'Mutați în sus', + moveDown: 'Mutați în jos', + flipX: 'FlipX', + flipY: 'FlipY', + reset: 'Resetați', + upload: 'Încărcare', + ok: 'OK', + title: 'tăietor' + }, + map: { + title: 'Abordare', + placeholder: 'Introduceți cuvântul cheie', + message: 'Vă rugăm să selectați o adresă', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ru_RU.js b/src/components/ele-admin-pro/packages/lang/ru_RU.js new file mode 100644 index 0000000..f50f572 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ru_RU.js @@ -0,0 +1,113 @@ +/** 俄语 */ +import lang from 'ant-design-vue/es/locale/ru_RU'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Обновить', + fullscreen: 'Полноэкранный', + fullscreenExit: 'Полноэкранный', + closeLeft: 'Закрыть слева', + closeRight: 'Закрыть справа', + closeOther: 'Закрыть Другое', + closeAll: 'Закрыть все' + }, + setting: { + title: 'Настройка темы', + sideStyles: { + dark: 'Темная боковая панель', + light: 'Светлая боковая панель' + }, + headStyles: { + light: 'Световой заголовок', + dark: 'Темный заголовок', + primary: 'Основной заголовок' + }, + layoutStyles: { + side: 'Расположение бокового меню', + top: 'Макет верхнего меню', + mix: 'Макет меню смешивание' + }, + colors: { + default: 'Рассвет синий', + dust: 'Пыльно-синий', + sunset: 'Оранжевый закат', + volcano: 'Вулкан', + purple: 'Золотой Пурпурный', + cyan: 'Голубой', + green: 'Полярно-зеленый', + geekblue: 'Компьютерщик Синий' + }, + darkMode: 'Темный режим', + layoutStyle: 'Режим навигации', + sideMenuStyle: 'Двойное меню боковой панели', + bodyFull: 'Полноэкранный режим тела', + other: 'Другая настройка', + fixedHeader: 'Фиксированный заголовок', + fixedSidebar: 'Фиксированная боковая панель', + fixedBody: 'Фиксированное тело', + logoAutoSize: 'Адаптация логотипа', + colorfulIcon: 'Красочный значок', + sideUniqueOpen: 'Меню Уникальное Открыть', + weakMode: 'Слабый режим', + showFooter: 'Показать нижний колонтитул', + showTabs: 'Показать вкладки', + tabStyle: 'Стиль вкладки', + tabStyles: { + default: 'По умолчанию', + dot: 'Точка', + card: 'Карта' + }, + tips: 'Он запомнит вашу конфигурацию в следующий раз, когда вы ее откроете.' + }, + tableTools: { + refresh: 'Обновить', + size: 'Плотность', + sizeOption: { + large: 'Легкий', + medium: 'По умолчанию', + small: 'Вторичный', + mini: 'Компактный' + }, + columns: 'Столбцы', + columnsOption: { + columns: 'Столбцы', + reset: 'Сброс настроек', + index: 'Числа', + selection: 'Выбор', + untitled: 'Без названия' + }, + fullscreen: 'Полноэкранный' + }, + fileList: { + selectAll: 'Выбрать все', + selectTips: 'Выбрано {total} файл/каталог', + fileName: 'Имя', + fileSize: 'Размер', + fileTimestamp: 'Последнее изменение' + }, + cropper: { + zoomIn: 'Увеличить', + zoomOut: 'Уменьшить', + rotateLeft: 'Повернуть налево', + rotateRight: 'Повернуть вправо', + moveLeft: 'Двигай влево', + moveRight: 'Двигаться вправо', + moveUp: 'Двигаться вверх', + moveDown: 'Вниз', + flipX: 'Отразить X', + flipY: 'Отразить Y', + reset: 'Сброс настроек', + upload: 'Загрузить', + ok: 'ОК', + title: 'урожай' + }, + map: { + title: 'Адрес', + placeholder: 'Введите ключевое слово', + message: 'Пожалуйста, выберите адрес', + ok: 'ОК' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/sk_SK.js b/src/components/ele-admin-pro/packages/lang/sk_SK.js new file mode 100644 index 0000000..1c0d648 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/sk_SK.js @@ -0,0 +1,113 @@ +/** 斯洛伐克语 */ +import lang from 'ant-design-vue/es/locale/sk_SK'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Obnoviť', + fullscreen: 'celá obrazovka', + fullscreenExit: 'celá obrazovka', + closeLeft: 'zavrieť vľavo', + closeRight: 'zavrieť vpravo', + closeOther: 'zavrieť ďalšie', + closeAll: 'zavrieť všetko' + }, + setting: { + title: 'nastavenie témy', + sideStyles: { + dark: 'tmavý bočný panel', + light: 'svetlý bočný panel' + }, + headStyles: { + light: 'svetelná hlavička', + dark: 'tmavá hlavička', + primary: 'primárna hlavička' + }, + layoutStyles: { + side: 'rozloženie bočnej ponuky', + top: 'rozloženie horného menu', + mix: 'rozloženie ponuky mix' + }, + colors: { + default: 'úsvit modrá', + dust: 'prachová modrá', + sunset: 'oranžová západ slnka', + volcano: 'sopka', + purple: 'zlato fialová', + cyan: 'tyrkysový', + green: 'polárna zelená', + geekblue: 'geek modrá' + }, + darkMode: 'tmavý režim', + layoutStyle: 'režim navigácie', + sideMenuStyle: 'Dvojitá ponuka na bočnom paneli', + bodyFull: 'telo na celú obrazovku', + other: 'iné nastavenie', + fixedHeader: 'pevná hlavička', + fixedSidebar: 'pevný bočný panel', + fixedBody: 'pevné telo', + logoAutoSize: 'prispôsobenie loga', + colorfulIcon: 'farebná ikona', + sideUniqueOpen: 'ponuka jedinečná otvorená', + weakMode: 'slabý režim', + showFooter: 'ukážka päty', + showTabs: 'zobraziť karty', + tabStyle: 'štýl tabulátora', + tabStyles: { + default: 'predvolené', + dot: 'bodka', + card: 'karta' + }, + tips: 'zapamätá si vašu konfiguráciu pri ďalšom otvorení.' + }, + tableTools: { + refresh: 'Obnoviť', + size: 'hustota', + sizeOption: { + large: 'ľahké', + medium: 'predvolené', + small: 'sekundárne', + mini: 'kompaktný' + }, + columns: 'stĺpce', + columnsOption: { + columns: 'stĺpce', + reset: 'resetovať', + index: 'čísla', + selection: 'výber', + untitled: 'bez názvu' + }, + fullscreen: 'celá obrazovka' + }, + fileList: { + selectAll: 'vybrať všetko', + selectTips: 'vybraný {total} spis/adresár', + fileName: 'názov', + fileSize: 'veľkosť', + fileTimestamp: 'naposledy zmenené' + }, + cropper: { + zoomIn: 'priblížiť', + zoomOut: 'oddialiť', + rotateLeft: 'otočiť doľava', + rotateRight: 'otočiť doprava', + moveLeft: 'presunúť doľava', + moveRight: 'pohnúť sa vpravo', + moveUp: 'posunúť sa hore', + moveDown: 'posunúť nadol', + flipX: 'prevrátiť x', + flipY: 'preklopiť y', + reset: 'resetovať', + upload: 'nahrať', + ok: 'OK', + title: 'orezávač' + }, + map: { + title: 'adresa', + placeholder: 'Filtrovať podľa', + message: 'prosím vyberte adresu', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/sl_SI.js b/src/components/ele-admin-pro/packages/lang/sl_SI.js new file mode 100644 index 0000000..49e8ebe --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/sl_SI.js @@ -0,0 +1,113 @@ +/** 斯洛文尼亚语 */ +import lang from 'ant-design-vue/es/locale/sl_SI'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'osvežite', + fullscreen: 'celozaslonski način', + fullscreenExit: 'celozaslonski način', + closeLeft: 'blizu levo', + closeRight: 'blizu desno', + closeOther: 'zaprite drugo', + closeAll: 'zaprite vse' + }, + setting: { + title: 'nastavitev teme', + sideStyles: { + dark: 'temna stranska vrstica', + light: 'lahka stranska vrstica' + }, + headStyles: { + light: 'lahka glava', + dark: 'temna glava', + primary: 'primarna glava' + }, + layoutStyles: { + side: 'postavitev stranskega menija', + top: 'postavitev zgornjega menija', + mix: 'mešanica postavitve menija' + }, + colors: { + default: 'zore modro', + dust: 'prašno modra', + sunset: 'sončni zahod oranžna', + volcano: 'vulkan', + purple: 'zlato vijolična', + cyan: 'cian', + green: 'polarno zelena', + geekblue: 'geek modra' + }, + darkMode: 'temni način', + layoutStyle: 'navigacijski način', + sideMenuStyle: 'Dvojni meni stranske vrstice', + bodyFull: 'celoten zaslon telesa', + other: 'druga nastavitev', + fixedHeader: 'fiksna glava', + fixedSidebar: 'fiksna stranska vrstica', + fixedBody: 'fiksno telo', + logoAutoSize: 'prilagoditev logotipa', + colorfulIcon: 'pisana ikona', + sideUniqueOpen: 'meni edinstven odprt', + weakMode: 'šibek način', + showFooter: 'prikaži nogo', + showTabs: 'pokaži zavihke', + tabStyle: 'slog zavihka', + tabStyles: { + default: 'privzeto', + dot: 'pika', + card: 'kartica' + }, + tips: 'si bo zapomnil vašo konfiguracijo, ko jo boste naslednjič odprli.' + }, + tableTools: { + refresh: 'osvežite', + size: 'gostoto', + sizeOption: { + large: 'enostavno', + medium: 'privzeto', + small: 'sekundarni', + mini: 'kompakten' + }, + columns: 'stolpci', + columnsOption: { + columns: 'stolpci', + reset: 'ponastaviti', + index: 'številke', + selection: 'izbiro', + untitled: 'brez naslova' + }, + fullscreen: 'celozaslonski način' + }, + fileList: { + selectAll: 'Izberi vse', + selectTips: 'izbrano {total} mapa/imenik', + fileName: 'ime', + fileSize: 'velikost', + fileTimestamp: 'nazadnje spremenjena' + }, + cropper: { + zoomIn: 'približaj', + zoomOut: 'pomanjšanje', + rotateLeft: 'zavrtite levo', + rotateRight: 'zavrtite desno', + moveLeft: 'premakni levo', + moveRight: 'premakni desno', + moveUp: 'Pomakni se navzgor', + moveDown: 'premik navzdol', + flipX: 'flip x', + flipY: 'flip y', + reset: 'ponastaviti', + upload: 'naložite', + ok: 'V redu', + title: 'kropper' + }, + map: { + title: 'naslov', + placeholder: 'Vnesi ključno besedo', + message: 'prosim izberite naslov', + ok: 'V redu' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/sr_RS.js b/src/components/ele-admin-pro/packages/lang/sr_RS.js new file mode 100644 index 0000000..c8c652d --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/sr_RS.js @@ -0,0 +1,113 @@ +/** 塞尔维亚语 */ +import lang from 'ant-design-vue/es/locale/sr_RS'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Освјежи', + fullscreen: 'цео екран', + fullscreenExit: 'цео екран', + closeLeft: 'близу лево', + closeRight: 'близу десно', + closeOther: 'затвори друго', + closeAll: 'затворите све' + }, + setting: { + title: 'постављање теме', + sideStyles: { + dark: 'тамна бочна трака', + light: 'лагана бочна трака' + }, + headStyles: { + light: 'светло заглавље', + dark: 'тамно заглавље', + primary: 'примарно заглавље' + }, + layoutStyles: { + side: 'распоред бочног менија', + top: 'изглед горњег менија', + mix: 'комбинација изгледа менија' + }, + colors: { + default: 'зора плава', + dust: 'прашњаво плава', + sunset: 'залазак сунца наранџасти', + volcano: 'вулкан', + purple: 'златнољубичаста', + cyan: 'цијан', + green: 'поларно зелена', + geekblue: 'геек блуе' + }, + darkMode: 'мрачни режим', + layoutStyle: 'режим навигације', + sideMenuStyle: 'Двоструки мени бочне траке', + bodyFull: 'тело преко целог екрана', + other: 'друга поставка', + fixedHeader: 'фиксно заглавље', + fixedSidebar: 'фиксна бочна трака', + fixedBody: 'фиксно тело', + logoAutoSize: 'адаптација логотипа', + colorfulIcon: 'живописна икона', + sideUniqueOpen: 'мени јединствен отворен', + weakMode: 'слаб режим', + showFooter: 'схов фоотер', + showTabs: 'прикажи картице', + tabStyle: 'стил картице', + tabStyles: { + default: 'Уобичајено', + dot: 'тачка', + card: 'карта' + }, + tips: 'памтиће вашу конфигурацију када је следећи пут отворите.' + }, + tableTools: { + refresh: 'Освјежи', + size: 'густина', + sizeOption: { + large: 'лако', + medium: 'Уобичајено', + small: 'секундарни', + mini: 'компактан' + }, + columns: 'колоне', + columnsOption: { + columns: 'колоне', + reset: 'ресетовати', + index: 'бројеви', + selection: 'избор', + untitled: 'без наслова' + }, + fullscreen: 'цео екран' + }, + fileList: { + selectAll: 'Изабери све', + selectTips: 'изабрани {total} датотека/именик', + fileName: 'име', + fileSize: 'величина', + fileTimestamp: 'Последња измена' + }, + cropper: { + zoomIn: 'увеличати', + zoomOut: 'умањи', + rotateLeft: 'ротирајте лево', + rotateRight: 'ротирајте десно', + moveLeft: 'помери се лево', + moveRight: 'помери се десно', + moveUp: 'напредовати', + moveDown: 'помери се доле', + flipX: 'флип к', + flipY: 'флип и', + reset: 'ресетовати', + upload: 'отпремити', + ok: 'OK', + title: 'цроппер' + }, + map: { + title: 'адреса', + placeholder: 'унесите кључну реч', + message: 'молимо одаберите адресу', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/sv_SE.js b/src/components/ele-admin-pro/packages/lang/sv_SE.js new file mode 100644 index 0000000..d4c9766 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/sv_SE.js @@ -0,0 +1,113 @@ +/** 瑞典语 */ +import lang from 'ant-design-vue/es/locale/sv_SE'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'uppdatera', + fullscreen: 'fullskärm', + fullscreenExit: 'fullskärm', + closeLeft: 'nära vänster', + closeRight: 'nära höger', + closeOther: 'nära andra', + closeAll: 'Stäng alla' + }, + setting: { + title: 'temainställning', + sideStyles: { + dark: 'mörkt sidofält', + light: 'lätt sidofält' + }, + headStyles: { + light: 'ljusrubrik', + dark: 'mörk rubrik', + primary: 'huvudrubrik' + }, + layoutStyles: { + side: 'sidmenylayout', + top: 'toppmenylayout', + mix: 'mixa meny layout' + }, + colors: { + default: 'daggry blå', + dust: 'dammblått', + sunset: 'solnedgång orange', + volcano: 'vulkan', + purple: 'gyllene lila', + cyan: 'cyan', + green: 'polargrön', + geekblue: 'nördblått' + }, + darkMode: 'mörkt läge', + layoutStyle: 'navigationsläge', + sideMenuStyle: 'Dubbla menyn i sidofältet', + bodyFull: 'kroppens helskärm', + other: 'annan inställning', + fixedHeader: 'fast rubrik', + fixedSidebar: 'fast sidofält', + fixedBody: 'fast kropp', + logoAutoSize: 'logotypanpassning', + colorfulIcon: 'färgglada ikon', + sideUniqueOpen: 'menyn unik öppen', + weakMode: 'svagt läge', + showFooter: 'visa sidfot', + showTabs: 'visa flikar', + tabStyle: 'flikstil', + tabStyles: { + default: 'standard', + dot: 'punkt', + card: 'kort' + }, + tips: 'den kommer ihåg din konfiguration nästa gång du öppnar den.' + }, + tableTools: { + refresh: 'uppdatera', + size: 'densitet', + sizeOption: { + large: 'lätt', + medium: 'standard', + small: 'sekundär', + mini: 'kompakt' + }, + columns: 'kolumner', + columnsOption: { + columns: 'kolumner', + reset: 'återställa', + index: 'tal', + selection: 'urval', + untitled: 'ofrälse' + }, + fullscreen: 'fullskärm' + }, + fileList: { + selectAll: 'Välj alla', + selectTips: 'vald {total} fil/katalog', + fileName: 'namn', + fileSize: 'storlek', + fileTimestamp: 'Senast ändrad' + }, + cropper: { + zoomIn: 'zooma in', + zoomOut: 'zooma ut', + rotateLeft: 'rotera vänster', + rotateRight: 'vrid höger', + moveLeft: 'flytta vänster', + moveRight: 'flytta höger', + moveUp: 'flytta upp', + moveDown: 'flytta ner', + flipX: 'vänd x', + flipY: 'vänd y', + reset: 'återställa', + upload: 'ladda upp', + ok: 'OK', + title: 'beskärare' + }, + map: { + title: 'adress', + placeholder: 'ange nyckelord', + message: 'vänligen välj en adress', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/ta_IN.js b/src/components/ele-admin-pro/packages/lang/ta_IN.js new file mode 100644 index 0000000..9a3209e --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/ta_IN.js @@ -0,0 +1,113 @@ +/** 泰米尔语 */ +import lang from 'ant-design-vue/es/locale/ta_IN'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'புதுப்பிப்பு', + fullscreen: 'முழு திரை', + fullscreenExit: 'முழு திரை', + closeLeft: 'மூடு இடது', + closeRight: 'வலதுபுறம் மூடு', + closeOther: 'மற்றவற்றை மூடு', + closeAll: 'அனைத்தையும் மூடு' + }, + setting: { + title: 'தீம் அமைப்பு', + sideStyles: { + dark: 'இருண்ட பக்கப்பட்டி', + light: 'ஒளி பக்கப்பட்டி' + }, + headStyles: { + light: 'ஒளி தலைப்பு', + dark: 'இருண்ட தலைப்பு', + primary: 'முதன்மை தலைப்பு' + }, + layoutStyles: { + side: 'பக்க மெனு தளவமைப்பு', + top: 'மேல் மெனு தளவமைப்பு', + mix: 'கலவை மெனு தளவமைப்பு' + }, + colors: { + default: 'பகல் நீலம்', + dust: 'தூசி நீலம்', + sunset: 'சூரிய அஸ்தமனம் ஆரஞ்சு', + volcano: 'எரிமலை', + purple: 'தங்க ஊதா', + cyan: 'சியான்', + green: 'துருவ பச்சை', + geekblue: 'கீக் நீலம்' + }, + darkMode: 'இருண்ட பயன்முறை', + layoutStyle: 'வழிசெலுத்தல் பயன்முறை', + sideMenuStyle: 'பக்கப்பட்டி இரட்டை மெனு', + bodyFull: 'உடல் முழுத்திரை', + other: 'பிற அமைப்பு', + fixedHeader: 'நிலையான தலைப்பு', + fixedSidebar: 'நிலையான பக்கப்பட்டி', + fixedBody: 'நிலையான உடல்', + logoAutoSize: 'லோகோ தழுவல்', + colorfulIcon: 'வண்ணமயமான ஐகான்', + sideUniqueOpen: 'மெனு தனித்துவமானது', + weakMode: 'பலவீனமான பயன்முறை', + showFooter: 'அடிக்குறிப்பைக் காட்டு', + showTabs: 'தாவல்களைக் காட்டு', + tabStyle: 'தாவல் நடை', + tabStyles: { + default: 'இயல்புநிலை', + dot: 'புள்ளி', + card: 'அட்டை' + }, + tips: 'அடுத்த முறை திறக்கும்போது அது உங்கள் உள்ளமைவை நினைவில் வைத்திருக்கும்.' + }, + tableTools: { + refresh: 'புதுப்பிப்பு', + size: 'அடர்த்தி', + sizeOption: { + large: 'சுலபம்', + medium: 'இயல்புநிலை', + small: 'இரண்டாம் நிலை', + mini: 'சிறிய' + }, + columns: 'நெடுவரிசைகள்', + columnsOption: { + columns: 'நெடுவரிசைகள்', + reset: 'மீட்டமை', + index: 'எண்கள்', + selection: 'தேர்வு', + untitled: 'பெயரிடப்படாத' + }, + fullscreen: 'முழு திரை' + }, + fileList: { + selectAll: 'அனைத்தையும் தெரிவுசெய்', + selectTips: 'தேர்ந்தெடுக்கப்பட்டது {total} கோப்பு/அடைவு', + fileName: 'பெயர்', + fileSize: 'அளவு', + fileTimestamp: 'கடைசியாக மாற்றப்பட்டது' + }, + cropper: { + zoomIn: 'பெரிதாக்க', + zoomOut: 'பெரிதாக்கவும்', + rotateLeft: 'இடதுபுறம் சுழற்று', + rotateRight: 'வலதுபுறம் சுழற்று', + moveLeft: 'இடதுபுறம் நகரவும்', + moveRight: 'வலதுபுறம் நகரவும்', + moveUp: 'மேலே நகர்த்து', + moveDown: 'கீழே இறங்கு', + flipX: 'மடக்கு x', + flipY: 'flip y', + reset: 'மீட்டமை', + upload: 'பதிவேற்றவும்', + ok: 'உறுதி செய்', + title: 'பயிர்' + }, + map: { + title: 'முகவரி', + placeholder: 'சொல்லை உள்ளீடு செய்', + message: 'முகவரியைத் தேர்ந்தெடுக்கவும்', + ok: 'உறுதி செய்' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/th_TH.js b/src/components/ele-admin-pro/packages/lang/th_TH.js new file mode 100644 index 0000000..7c87507 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/th_TH.js @@ -0,0 +1,113 @@ +/** 泰语 */ +import lang from 'ant-design-vue/es/locale/th_TH'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'รีเฟรช', + fullscreen: 'เต็มจอ', + fullscreenExit: 'เต็มจอ', + closeLeft: 'ชิดซ้าย', + closeRight: 'ปิดขวา', + closeOther: 'ปิดอื่น ๆ', + closeAll: 'ปิดทั้งหมด' + }, + setting: { + title: 'การตั้งค่าธีม', + sideStyles: { + dark: 'แถบด้านข้างสีเข้ม', + light: 'แถบด้านข้างแสง' + }, + headStyles: { + light: 'ส่วนหัวของแสง', + dark: 'ส่วนหัวสีเข้ม', + primary: 'ส่วนหัวหลัก' + }, + layoutStyles: { + side: 'เค้าโครงเมนูด้านข้าง', + top: 'เค้าโครงเมนูด้านบน', + mix: 'เค้าโครงเมนูผสม' + }, + colors: { + default: 'รุ่งสางฟ้า', + dust: 'ฝุ่นสีฟ้า', + sunset: 'พระอาทิตย์ตกสีส้ม', + volcano: 'ภูเขาไฟ', + purple: 'สีม่วงทอง', + cyan: 'สีฟ้า', + green: 'สีเขียวขั้ว', + geekblue: 'สีฟ้าเกินบรรยาย' + }, + darkMode: 'โหมดมืด', + layoutStyle: 'โหมดการนำทาง', + sideMenuStyle: 'เมนูคู่ของแถบด้านข้าง', + bodyFull: 'แบบเต็มหน้าจอของร่างกาย', + other: 'การตั้งค่าอื่น ๆ', + fixedHeader: 'ส่วนหัวคงที่', + fixedSidebar: 'แถบด้านข้างคงที่', + fixedBody: 'ร่างกายคงที่', + logoAutoSize: 'การปรับโลโก้', + colorfulIcon: 'ไอคอนสีสันสดใส', + sideUniqueOpen: 'เปิดเมนูที่ไม่ซ้ำกัน', + weakMode: 'โหมดอ่อนแอ', + showFooter: 'แสดงส่วนท้าย', + showTabs: 'แสดงแท็บ', + tabStyle: 'สไตล์แท็บ', + tabStyles: { + default: 'ค่าเริ่มต้น', + dot: 'จุด', + card: 'การ์ด' + }, + tips: 'มันจะจำการกำหนดค่าของคุณในครั้งต่อไปที่คุณเปิด' + }, + tableTools: { + refresh: 'รีเฟรช', + size: 'ความหนาแน่น', + sizeOption: { + large: 'ง่าย', + medium: 'ค่าเริ่มต้น', + small: 'รอง', + mini: 'กะทัดรัด' + }, + columns: 'คอลัมน์', + columnsOption: { + columns: 'คอลัมน์', + reset: 'รีเซ็ต', + index: 'ตัวเลข', + selection: 'การเลือก', + untitled: 'ไม่มีชื่อ' + }, + fullscreen: 'เต็มจอ' + }, + fileList: { + selectAll: 'เลือกทั้งหมด', + selectTips: 'เลือกแล้ว {total} ไฟล์/ไดเรกทอรี', + fileName: 'ชื่อ', + fileSize: 'ขนาด', + fileTimestamp: 'แก้ไขล่าสุด' + }, + cropper: { + zoomIn: 'ขยายเข้า', + zoomOut: 'ซูมออก', + rotateLeft: 'หมุนซ้าย', + rotateRight: 'หมุนไปทางขวา', + moveLeft: 'เลื่อนไปทางซ้าย', + moveRight: 'เลื่อนไปทางขวา', + moveUp: 'ขยับขึ้น', + moveDown: 'ย้ายลง', + flipX: 'พลิก x', + flipY: 'พลิก y', + reset: 'รีเซ็ต', + upload: 'ที่อัพโหลด', + ok: 'ตกลง', + title: 'ครอปเปอร์' + }, + map: { + title: 'ที่อยู่', + placeholder: 'กรอกคีย์เวิร์ด', + message: 'โปรดเลือกที่อยู่', + ok: 'ตกลง' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/tr_TR.js b/src/components/ele-admin-pro/packages/lang/tr_TR.js new file mode 100644 index 0000000..40a291a --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/tr_TR.js @@ -0,0 +1,113 @@ +/** 土耳其语 */ +import lang from 'ant-design-vue/es/locale/tr_TR'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'yenilemek', + fullscreen: 'Tam ekran', + fullscreenExit: 'Tam ekran', + closeLeft: 'sola yakın', + closeRight: 'sağa yakın', + closeOther: 'diğerini kapat', + closeAll: 'hepsini kapat' + }, + setting: { + title: 'tema ayarı', + sideStyles: { + dark: 'karanlık kenar çubuğu', + light: 'hafif kenar çubuğu' + }, + headStyles: { + light: 'ışık başlığı', + dark: 'karanlık başlık', + primary: 'birincil başlık' + }, + layoutStyles: { + side: 'yan menü düzeni', + top: 'üst menü düzeni', + mix: 'karışık menü düzeni' + }, + colors: { + default: 'daybreak blue', + dust: 'toz mavisi', + sunset: 'gün batımı turuncusu', + volcano: 'yanardağ', + purple: 'altın mor', + cyan: 'camgöbeği', + green: 'kutup yeşili', + geekblue: 'inek mavisi' + }, + darkMode: 'karanlık mod', + layoutStyle: 'navigasyon modu', + sideMenuStyle: 'Kenar çubuğu çift menüsü', + bodyFull: 'vücut tam ekranı', + other: 'diğer ayar', + fixedHeader: 'sabit başlık', + fixedSidebar: 'sabit kenar çubuğu', + fixedBody: 'sabit gövde', + logoAutoSize: 'logo uyarlaması', + colorfulIcon: 'renkli simge', + sideUniqueOpen: 'menü benzersiz açık', + weakMode: 'zayıf mod', + showFooter: 'altbilgiyi göster', + showTabs: 'sekmeleri göster', + tabStyle: 'sekme stili', + tabStyles: { + default: 'varsayılan', + dot: 'nokta', + card: 'kart' + }, + tips: 'bir dahaki sefere açtığınızda yapılandırmanızı hatırlayacaktır.' + }, + tableTools: { + refresh: 'yenilemek', + size: 'yoğunluk', + sizeOption: { + large: 'kolay', + medium: 'varsayılan', + small: 'ikincil', + mini: 'kompakt' + }, + columns: 'sütunlar', + columnsOption: { + columns: 'sütunlar', + reset: 'Sıfırla', + index: 'sayılar', + selection: 'seçim', + untitled: 'başlıksız' + }, + fullscreen: 'Tam ekran' + }, + fileList: { + selectAll: 'hepsini seç', + selectTips: 'seçildi {total} dosya/dizin', + fileName: 'isim', + fileSize: 'boyut', + fileTimestamp: 'son düzenleme' + }, + cropper: { + zoomIn: 'Yakınlaştır', + zoomOut: 'uzaklaştır', + rotateLeft: 'sola dön', + rotateRight: 'sağa döndür', + moveLeft: 'Sola hareket et', + moveRight: 'sağa hareket et', + moveUp: 'yukarı hareket et', + moveDown: 'aşağı inmek', + flipX: 'ters çevir', + flipY: 'y çevir', + reset: 'Sıfırla', + upload: 'yükle', + ok: 'Onayla', + title: 'ekin' + }, + map: { + title: 'adres', + placeholder: 'Anahtar kelimeleri gir', + message: 'lütfen bir adres seçin', + ok: 'Onayla' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/uk_UA.js b/src/components/ele-admin-pro/packages/lang/uk_UA.js new file mode 100644 index 0000000..4dff5a2 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/uk_UA.js @@ -0,0 +1,113 @@ +/** 乌克兰语 */ +import lang from 'ant-design-vue/es/locale/uk_UA'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Оновити', + fullscreen: 'Повноекранний', + fullscreenExit: 'Повноекранний', + closeLeft: 'Закрийте ліворуч', + closeRight: 'Закрийте праворуч', + closeOther: 'Закрити Інше', + closeAll: 'Закрити все' + }, + setting: { + title: 'Налаштування теми', + sideStyles: { + dark: 'Темна бічна панель', + light: 'Легка бічна панель' + }, + headStyles: { + light: 'Легкий заголовок', + dark: 'Темний заголовок', + primary: 'Первинний заголовок' + }, + layoutStyles: { + side: 'Макет бічного меню', + top: 'Макет верхнього меню', + mix: 'Розміщення меню змішування' + }, + colors: { + default: 'Світанок блакитний', + dust: 'Пил блакитний', + sunset: 'Помаранчевий захід сонця', + volcano: 'Вулкан', + purple: 'Золотий фіолетовий', + cyan: 'Блакитний', + green: 'Полярно-зелений', + geekblue: 'гік блакитний' + }, + darkMode: 'Темний режим', + layoutStyle: 'Режим навігації', + sideMenuStyle: 'Подвійне меню бічної панелі', + bodyFull: 'Повний екран тіла', + other: 'Інші налаштування', + fixedHeader: 'Виправлений заголовок', + fixedSidebar: 'Виправлена бічна панель', + fixedBody: 'Фіксоване тіло', + logoAutoSize: 'Адаптація логотипу', + colorfulIcon: 'Барвисті значок', + sideUniqueOpen: 'Меню Унікальне відкрите', + weakMode: 'Слабкий режим', + showFooter: 'Показати нижній колонтитул', + showTabs: 'Показати вкладки', + tabStyle: 'Стиль вкладки', + tabStyles: { + default: 'За замовчуванням', + dot: 'Крапка', + card: 'Картка' + }, + tips: 'Він запам\'ятає вашу конфігурацію при наступному відкритті.' + }, + tableTools: { + refresh: 'Оновити', + size: 'Щільність', + sizeOption: { + large: 'Легко', + medium: 'За замовчуванням', + small: 'Вторинні', + mini: 'Компактний' + }, + columns: 'Стовпці', + columnsOption: { + columns: 'Стовпці', + reset: 'Скинути', + index: 'Числа', + selection: 'Відбір', + untitled: 'Без назви' + }, + fullscreen: 'Повноекранний' + }, + fileList: { + selectAll: 'Вибрати все', + selectTips: 'Вибрані {total} файл/каталог', + fileName: 'Ім\'я', + fileSize: 'Розмір', + fileTimestamp: 'Остання зміна' + }, + cropper: { + zoomIn: 'Збільшувати', + zoomOut: 'Зменшення', + rotateLeft: 'Поверніть ліворуч', + rotateRight: 'Поверніть праворуч', + moveLeft: 'Переміщення вліво', + moveRight: 'Рухайтеся вправо', + moveUp: 'Рухатися вгору', + moveDown: 'Рухатися вниз', + flipX: 'Переверніть X', + flipY: 'Переверніть Y', + reset: 'Скинути', + upload: 'Завантажити', + ok: 'Обрати', + title: 'Кропер' + }, + map: { + title: 'Адреса', + placeholder: 'Введіть ключове слово', + message: 'Виберіть адресу', + ok: 'Обрати' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/vi_VN.js b/src/components/ele-admin-pro/packages/lang/vi_VN.js new file mode 100644 index 0000000..834042b --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/vi_VN.js @@ -0,0 +1,113 @@ +/** 越南语 */ +import lang from 'ant-design-vue/es/locale/vi_VN'; + +export default { + ...lang, + ele: { + tabs: { + reload: 'Làm tươi', + fullscreen: 'Toàn màn hình', + fullscreenExit: 'Toàn màn hình', + closeLeft: 'Đóng bên trái', + closeRight: 'Đóng bên phải', + closeOther: 'Đóng Khác', + closeAll: 'Đóng tất cả' + }, + setting: { + title: 'Cài đặt chủ đề', + sideStyles: { + dark: 'Thanh bên tối', + light: 'Thanh bên nhẹ' + }, + headStyles: { + light: 'Tiêu đề nhẹ', + dark: 'Tiêu đề tối', + primary: 'Tiêu đề chính' + }, + layoutStyles: { + side: 'Bố cục menu bên', + top: 'Bố cục menu trên cùng', + mix: 'Kết hợp bố cục menu' + }, + colors: { + default: 'Màu xanh da trời rạng đông', + dust: 'Màu xanh lam bụi', + sunset: 'Cam hoàng hôn', + volcano: 'Núi lửa', + purple: 'Vàng tím', + cyan: 'Lục lam', + green: 'Polar Green', + geekblue: 'Geek Blue' + }, + darkMode: 'Chế độ tối', + layoutStyle: 'Chế độ điều hướng', + sideMenuStyle: 'Menu đôi của thanh bên', + bodyFull: 'Toàn màn hình', + other: 'Cài đặt khác', + fixedHeader: 'Tiêu đề cố định', + fixedSidebar: 'Thanh bên cố định', + fixedBody: 'Cơ thể cố định', + logoAutoSize: 'Điều chỉnh biểu trưng', + colorfulIcon: 'Biểu tượng đầy màu sắc', + sideUniqueOpen: 'Menu mở duy nhất', + weakMode: 'Chế độ yếu', + showFooter: 'Hiển thị chân trang', + showTabs: 'Hiển thị các tab', + tabStyle: 'Kiểu tab', + tabStyles: { + default: 'Mặc định', + dot: 'Chấm', + card: 'Thẻ' + }, + tips: 'Nó sẽ ghi nhớ cấu hình của bạn vào lần sau khi bạn mở nó.' + }, + tableTools: { + refresh: 'Làm tươi', + size: 'Tỉ trọng', + sizeOption: { + large: 'Dễ dàng', + medium: 'Mặc định', + small: 'Thứ hai', + mini: 'gọn nhẹ' + }, + columns: 'Cột', + columnsOption: { + columns: 'Cột', + reset: 'Cài lại', + index: 'Con số', + selection: 'Lựa chọn', + untitled: 'Không có tiêu đề' + }, + fullscreen: 'Toàn màn hình' + }, + fileList: { + selectAll: 'Chọn tất cả', + selectTips: 'Đã chọn {total} tập tin/danh mục', + fileName: 'Tên', + fileSize: 'Kích thước', + fileTimestamp: 'Sửa đổi lần cuối' + }, + cropper: { + zoomIn: 'Phóng to', + zoomOut: 'Thu nhỏ', + rotateLeft: 'Xoay trái', + rotateRight: 'Xoay phải', + moveLeft: 'Di chuyển sang trái', + moveRight: 'Đi sang phải', + moveUp: 'Đi lên', + moveDown: 'Đi xuống', + flipX: 'Lật X', + flipY: 'Lật Y', + reset: 'Cài lại', + upload: 'Tải lên', + ok: 'OK', + title: 'Người cắt xén' + }, + map: { + title: 'Địa chỉ', + placeholder: 'Nhập từ khóa', + message: 'Vui lòng chọn một địa chỉ', + ok: 'OK' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/zh_CN.js b/src/components/ele-admin-pro/packages/lang/zh_CN.js new file mode 100644 index 0000000..e766015 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/zh_CN.js @@ -0,0 +1,113 @@ +/** 简体中文 */ +import lang from 'ant-design-vue/es/locale/zh_CN'; + +export default { + ...lang, + ele: { + tabs: { + reload: '刷新当前', + fullscreen: '内容全屏', + fullscreenExit: '退出全屏', + closeLeft: '关闭左侧', + closeRight: '关闭右侧', + closeOther: '关闭其他', + closeAll: '关闭全部' + }, + setting: { + title: '整体风格设置', + sideStyles: { + dark: '暗色侧边栏', + light: '亮色侧边栏' + }, + headStyles: { + light: '亮色顶栏', + dark: '暗色顶栏', + primary: '主色顶栏' + }, + layoutStyles: { + side: '左侧菜单布局', + top: '顶部菜单布局', + mix: '混合菜单布局' + }, + colors: { + default: '拂晓蓝', + dust: '薄暮', + sunset: '日暮', + volcano: '火山', + purple: '酱紫', + cyan: '明青', + green: '极光绿', + geekblue: '极客蓝' + }, + darkMode: '开启暗黑模式', + layoutStyle: '导航模式', + sideMenuStyle: '侧栏双排菜单', + bodyFull: '内容区域铺满', + other: '其它配置', + fixedHeader: '固定顶栏区域', + fixedSidebar: '固定侧栏区域', + fixedBody: '固定主体区域', + logoAutoSize: 'Logo宽度自动', + colorfulIcon: '侧栏彩色图标', + sideUniqueOpen: '侧栏排他展开', + weakMode: '开启色弱模式', + showFooter: '开启全局页脚', + showTabs: '开启多页签栏', + tabStyle: '页签显示风格', + tabStyles: { + default: '默认', + dot: '圆点', + card: '卡片' + }, + tips: '该功能可实时预览各种布局效果, 修改后会缓存在本地, 下次打开会记忆主题配置.' + }, + tableTools: { + refresh: '刷新', + size: '密度', + sizeOption: { + large: '宽松', + medium: '默认', + small: '中等', + mini: '紧凑' + }, + columns: '列设置', + columnsOption: { + columns: '列展示', + reset: '重置', + index: '序号', + selection: '选择列', + untitled: '无标题' + }, + fullscreen: '全屏' + }, + fileList: { + selectAll: '全选', + selectTips: '已选中 {total} 个文件/文件夹', + fileName: '文件名', + fileSize: '大小', + fileTimestamp: '修改日期' + }, + cropper: { + zoomIn: '放大', + zoomOut: '缩小', + rotateLeft: '向左旋转', + rotateRight: '向右旋转', + moveLeft: '左移', + moveRight: '右移', + moveUp: '上移', + moveDown: '下移', + flipX: '左右翻转', + flipY: '上下翻转', + reset: '重新开始', + upload: '选择图片', + ok: '完成', + title: '裁剪图片' + }, + map: { + title: '选择位置', + placeholder: '输入关键字搜索', + message: '请点击列表选中位置', + ok: '确定' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/lang/zh_TW.js b/src/components/ele-admin-pro/packages/lang/zh_TW.js new file mode 100644 index 0000000..9673bd8 --- /dev/null +++ b/src/components/ele-admin-pro/packages/lang/zh_TW.js @@ -0,0 +1,113 @@ +/** 繁体中文 */ +import lang from 'ant-design-vue/es/locale/zh_TW'; + +export default { + ...lang, + ele: { + tabs: { + reload: '重繪當前', + fullscreen: '内容全屏', + fullscreenExit: '退出全屏', + closeLeft: '關閉左側', + closeRight: '關閉右側', + closeOther: '關閉其他', + closeAll: '關閉全部' + }, + setting: { + title: '整體風格設定', + sideStyles: { + dark: '暗色側邊欄', + light: '亮色側邊欄' + }, + headStyles: { + light: '亮色頂欄', + dark: '暗色頂欄', + primary: '主色頂欄' + }, + layoutStyles: { + side: '左側選單佈局', + top: '頂部選單佈局', + mix: '混合選單佈局' + }, + colors: { + default: '拂曉藍', + dust: '薄暮', + sunset: '日暮', + volcano: '火山', + purple: '醬紫', + cyan: '明青', + green: '極光綠', + geekblue: '極客藍' + }, + darkMode: '開啟暗黑模式', + layoutStyle: '導航模式', + sideMenuStyle: '側欄雙排選單', + bodyFull: '內容區域鋪滿', + other: '其它配寘', + fixedHeader: '固定頂欄區域', + fixedSidebar: '固定側欄區域', + fixedBody: '固定主體區域', + logoAutoSize: 'Logo寬度自動', + colorfulIcon: '側欄彩色圖標', + sideUniqueOpen: '側欄排他展開', + weakMode: '開啟色弱模式', + showFooter: '開啟全域頁腳', + showTabs: '開啟多頁簽欄', + tabStyle: '頁簽顯示風格', + tabStyles: { + default: '默認', + dot: '圓點', + card: '卡片' + }, + tips: '該功能可實时預覽各種佈局效果,修改後會緩存在本地,下次打開會記憶主題配寘.' + }, + tableTools: { + refresh: '重繪', + size: '密度', + sizeOption: { + large: '寬鬆', + medium: '默認', + small: '中等', + mini: '緊湊' + }, + columns: '列設定', + columnsOption: { + columns: '列展示', + reset: '重置', + index: '序號', + selection: '選擇列', + untitled: '無標題' + }, + fullscreen: '全屏' + }, + fileList: { + selectAll: '全選', + selectTips: '已選中 {total} 個檔案/資料夾', + fileName: '檔名', + fileSize: '大小', + fileTimestamp: '修改日期' + }, + cropper: { + zoomIn: '放大', + zoomOut: '縮小', + rotateLeft: '向左旋轉', + rotateRight: '向右旋轉', + moveLeft: '左移', + moveRight: '右移', + moveUp: '上移', + moveDown: '下移', + flipX: '左右翻轉', + flipY: '上下翻轉', + reset: '重新開始', + upload: '選擇圖片', + ok: '完成', + title: '裁剪圖片' + }, + map: { + title: '選擇位置', + placeholder: '輸入關鍵字蒐索', + message: '請點擊清單選中位置', + ok: '確認' + } + } +}; diff --git a/src/components/ele-admin-pro/packages/menu-util.js b/src/components/ele-admin-pro/packages/menu-util.js new file mode 100644 index 0000000..a1bb266 --- /dev/null +++ b/src/components/ele-admin-pro/packages/menu-util.js @@ -0,0 +1,126 @@ +/** 菜单格式转换工具方法 license by http://eleadmin.com */ +import EleEmptyLayout from './ele-empty-layout'; +import EleIframeLayout from './ele-iframe-layout'; +import EleRedirect from './ele-redirect'; +import {eachTreeData, formatTreeData, isUrl} from './util.js'; + +/** + * 判断路由地址是否已经添加 + * @param path 路由地址 + * @param data 路由数据 + * @returns {boolean} + */ +function pathIsAdd(path, data) { + let isAdd = false; + eachTreeData(data, (item) => { + if (path === item.path) { + isAdd = true; + return false; + } + }); + return isAdd; +} + +/** + * 格式化菜单数据 + * @param data 菜单数据 + * @param parseMenuItem 自定义格式菜单item + * @returns {{homePath: String, homeTitle: String, menus: Array}} + */ +export function formatMenus(data, parseMenuItem) { + let home = null, menus = formatTreeData(data, (d) => { + let item = parseMenuItem ? parseMenuItem(d) : Object.assign({}, d); + item.meta = Object.assign({ + title: item.title, + icon: item.icon, + hide: item.hide, + active: item.active || item.uid, + hideFooter: item.hideFooter, + hideSidebar: item.hideSidebar, + tabUnique: item.tabUnique + }, item.meta); + if (!item.children || !item.children.length) { + if (!home && item.path && !isUrl(item.path)) { + home = { + path: item.path, + title: item.meta.title + }; + } + } else if (item.children[0].path) { + const cp = item.children[0].path; + if (!item.redirect) { + item.redirect = cp; + } + if (!item.path) { + item.path = cp.substring(0, cp.lastIndexOf('/')); + } + } + if (!item.path) { + console.error('菜单的path作为vue循环的key不能为空且要唯一: ', d); + return false; + } + return item; + }); + return { + menus: menus, + homePath: home ? home.path : null, + homeTitle: home ? home.title : null + }; +} + +/** + * 菜单数据转成路由数据 + * @param menus 菜单数据 + * @param importComponent 加载组件的方法 + * @param added 已添加的路由 + * @param redirect 是否需要刷新页面的路由 + * @returns {Array} + */ +export function menuToRoutes(menus, importComponent, added, redirect) { + if (!menus || !menus.length) { + return null; + } + let routes = [], addedRoutes = added ? [].concat(added) : []; + if (redirect !== false) { + routes.push({ + path: '/redirect', + component: EleEmptyLayout, + children: [ + { + path: '/redirect/:path(.*)', + component: EleRedirect + } + ] + }); + } + menus.forEach((item) => { + const path = (item.path && item.path.includes('?')) ? item.path.substring(0, item.path.indexOf('?')) : item.path; + if (path && !isUrl(path) && !pathIsAdd(path, addedRoutes)) { + let meta = Object.assign({}, item.meta); + let component; + if (item.component) { + if (isUrl(item.component)) { + component = EleIframeLayout; + meta.iframe = item.component; + meta.hideFooter = true; + } else { + component = function () { + return importComponent(item.component); + }; + } + } else { + component = EleEmptyLayout; + } + addedRoutes.push({path: item.path}); + routes.push({ + meta: meta, + name: item.path, + path: item.path, + component: component, + redirect: item.redirect, + children: menuToRoutes(item.children, importComponent, addedRoutes) + }); + } + }); + return routes; +} diff --git a/src/components/ele-admin-pro/packages/message-loading.js b/src/components/ele-admin-pro/packages/message-loading.js new file mode 100644 index 0000000..7044583 --- /dev/null +++ b/src/components/ele-admin-pro/packages/message-loading.js @@ -0,0 +1,38 @@ +/** 带遮罩层loading license by http://eleadmin.com */ +import {message} from 'ant-design-vue'; + +/** + * 全局带遮罩层loading + * @param content + * @param duration + * @param onClose + */ +export default function (content, duration, onClose) { + const loadingClass = 'ele-message-loading', + loadingMaskClass = 'ele-message-loading-mask', + callback = function (close) { + return function () { + const loadingNum = document.body.dataset.loadingNum; + if (!loadingNum || loadingNum === '1') { + document.body.dataset.loadingNum = '0'; + document.body.classList.remove(loadingClass, loadingMaskClass); + } else { + document.body.dataset.loadingNum = String(Number(loadingNum) - 1); + } + close && close(); + }; + }; + if (typeof content === 'object') { + content.onClose = callback(content.onClose); + if (content.mask === true) { + document.body.classList.remove(loadingClass); + document.body.classList.add(loadingMaskClass); + } + } else if (!document.body.classList.contains(loadingMaskClass)) { + document.body.classList.add(loadingClass); + } + const loadingNum = document.body.dataset.loadingNum; + document.body.dataset.loadingNum = String((loadingNum ? Number(loadingNum) : 0) + 1); + const arg2 = typeof duration === 'function' ? callback(duration) : duration; + return message.loading(content, arg2, callback(onClose)); +} diff --git a/src/components/ele-admin-pro/packages/modal-util.js b/src/components/ele-admin-pro/packages/modal-util.js new file mode 100644 index 0000000..a66aec0 --- /dev/null +++ b/src/components/ele-admin-pro/packages/modal-util.js @@ -0,0 +1,233 @@ +/** 弹窗支持拖拽 license by http://eleadmin.com */ + +/** + * 获取父元素 + * @param el + * @param parentClass + * @returns + */ +function queryParentByClass(el, parentClass) { + if (el === document) { + return; + } + if (el.classList.contains(parentClass)) { + return el; + } + return queryParentByClass(el.parentNode, parentClass); +} + +/** + * 获取样式 + * @param el + * @returns + */ +function getCurrentStyle(el) { + return el.currentStyle || window.getComputedStyle(el, null) || {}; +} + +/** + * 初始化modal样式 + * @param modalEl + */ +function initModalStyle(modalEl) { + modalEl.style.top = modalEl.offsetTop + 'px'; + modalEl.style.left = modalEl.offsetLeft + 'px'; + modalEl.style.bottom = 'auto'; + modalEl.style.right = 'auto'; + modalEl.style.margin = 0; + modalEl.style.position = 'relative'; + modalEl.style.display = 'inline-block'; +} + +/** + * 弹窗最大化切换 + * @param btnEl + * @param fullscreen + */ +function toggleFullscreen(btnEl, fullscreen) { + const modalEl = queryParentByClass(btnEl, 'ant-modal'); + if (modalEl) { + const wrapEl = modalEl.parentNode, fullClass = 'ele-modal-wrap-fullscreen'; + if (typeof fullscreen === 'undefined') { + wrapEl.classList.toggle(fullClass); + } else if (fullscreen) { + wrapEl.classList.add(fullClass); + } else { + wrapEl.classList.remove(fullClass); + } + } +} + +/** + * 弹窗支持拖动 + */ +export function modalMovable() { + document.addEventListener('mousedown', function (event) { + const headerEl = queryParentByClass(event.target, 'ant-modal-header'); + if (!headerEl) { + return; + } + const modalEl = headerEl.parentNode.parentNode, wrapEl = modalEl.parentNode; + const moveOut = wrapEl.classList.contains('ele-modal-move-out'); + if (!wrapEl.classList.contains('ele-modal-movable') && !moveOut) { + return; + } + if (wrapEl.classList.contains('ele-modal-wrap-fullscreen')) { + return; + } + modalEl.style.userSelect = 'none'; + initModalStyle(modalEl); + // 获取原始位置 + const downX = event.clientX; + const downY = event.clientY; + const downOL = modalEl.offsetLeft; + const downOT = modalEl.offsetTop; + + // 鼠标移动事件 + const mousemoveFn = function (e) { + let l = e.clientX - downX + downOL; + let t = e.clientY - downY + downOT; + // 边界判断 + if (!moveOut) { + const screenWidth = document.documentElement.clientWidth || document.body.clientWidth; + let limitL = screenWidth - modalEl.clientWidth; + if (l < 1) { + l = 1; + } else if (l > limitL - 1) { + l = limitL - 1; + } + const screenHeight = document.documentElement.clientHeight || document.body.clientHeight; + let limitT = screenHeight - modalEl.clientHeight; + if (t > limitT - 2) { + t = limitT - 2; + } + if (t < 1) { + t = 1; + } + } + // 移动dialog + modalEl.style.left = l + 'px'; + modalEl.style.top = t + 'px'; + } + + // 鼠标抬起事件 + const mouseupFn = function () { + modalEl.style.userSelect = null; + document.removeEventListener('mousemove', mousemoveFn); + document.removeEventListener('mouseup', mouseupFn); + }; + + // 添加鼠标事件监听 + document.addEventListener('mousemove', mousemoveFn); + document.addEventListener('mouseup', mouseupFn); + }); +} + +/** + * 弹窗支持拉伸 + */ +export function modalResizable() { + document.addEventListener('mousedown', function (event) { + const modalEl = queryParentByClass(event.target, 'ant-modal'); + if (!modalEl) { + return; + } + const wrapEl = modalEl.parentNode; + if (!wrapEl.classList.contains('ele-modal-resizable')) { + return; + } + if (wrapEl.classList.contains('ele-modal-wrap-fullscreen')) { + return; + } + const limitX = modalEl.clientWidth + modalEl.offsetLeft - wrapEl.scrollLeft; + const limitY = modalEl.clientHeight + modalEl.offsetTop - wrapEl.scrollTop; + if ( + event.clientX > limitX || + limitX - event.clientX > 10 || + event.clientY > limitY || + limitY - event.clientY > 10 + ) { + return; + } + modalEl.style.userSelect = 'none'; + initModalStyle(modalEl); + // 获取原始位置 + const downX = event.clientX; + const downY = event.clientY; + const downW = modalEl.clientWidth; + const downH = modalEl.clientHeight; + + // 鼠标移动事件 + const mousemoveFn = function (e) { + const w = e.clientX - downX + downW; + const h = e.clientY - downY + downH; + const nw = (w < 260 ? 260 : w) + 'px'; + // 移动dialog + modalEl.style.width = nw; + modalEl.style.maxWidth = nw; + modalEl.style.minWidth = nw; + modalEl.style.height = (h < 160 ? 160 : h) + 'px'; + } + + // 鼠标抬起事件 + const mouseupFn = function () { + modalEl.style.userSelect = null; + document.removeEventListener('mousemove', mousemoveFn); + document.removeEventListener('mouseup', mouseupFn); + }; + + // 添加鼠标事件监听 + document.addEventListener('mousemove', mousemoveFn); + document.addEventListener('mouseup', mouseupFn); + }); +} + +/** + * 弹窗自动置顶 + */ +export function modalAutoSetTop() { + document.addEventListener('mousedown', function (event) { + const modalEl = queryParentByClass(event.target, 'ant-modal'); + if (!modalEl) { + return; + } + const wrapEl = modalEl.parentNode; + if (!wrapEl.classList.contains('ele-modal-multiple')) { + return; + } + const wrapperEls = document.querySelectorAll('.ant-modal-wrap'); + let zIndex = Number(getCurrentStyle(wrapEl).zIndex || 1000), newZIndex = zIndex; + for (let i = 0; i < wrapperEls.length; i++) { + const index = Number(getCurrentStyle(wrapperEls[i]).zIndex || 1000); + if (wrapperEls[i] !== wrapEl && index >= newZIndex) { + newZIndex = index + 1; + } + } + if (newZIndex > zIndex) { + wrapEl.style.zIndex = String(newZIndex); + } + }); +} + +/** + * 弹窗支持最大化最小化 + */ +export function modalMaximizable() { + document.addEventListener('click', function (event) { + const btnEl = event.target.tagName === 'svg' ? event.target.parentNode : event.target; + if (btnEl.classList.contains('ele-modal-icon-expand')) { + toggleFullscreen(btnEl, true); + } else if (btnEl.classList.contains('ele-modal-icon-compress')) { + toggleFullscreen(btnEl, false); + } + }); +} + +export default { + install() { + modalMovable(); + modalResizable(); + modalAutoSetTop(); + modalMaximizable(); + } +} diff --git a/src/components/ele-admin-pro/packages/printer.js b/src/components/ele-admin-pro/packages/printer.js new file mode 100644 index 0000000..3547455 --- /dev/null +++ b/src/components/ele-admin-pro/packages/printer.js @@ -0,0 +1,779 @@ +/** 打印插件 license by http://eleadmin.com */ +export default { + /** + * 打印当前页面 + * @param hide 需要隐藏的元素 + * @param horizontal 是否横向打印 + * @param iePreview 是否支持ie打印预览 + * @param blank 是否在新窗口打印 + * @param close 如果在新窗口打印,打印完是否关闭新窗口 + * @param margin 页间距 + * @param title 页面标题 + * @returns {Window} 打印的窗口对象 + */ + print( + { + hide, + horizontal, + iePreview = true, + blank, close, + margin, + title + } + ) { + if (typeof close === 'undefined' && blank && !this.isIE()) { + close = true; + } + window.focus(); // 让当前窗口获取焦点 + this.addCommonCss(); // 加入核心样式 + // 打印方向控制 + let setElem = document.getElementById(this.pSetId); + if (setElem) { + setElem.parentNode.removeChild(setElem); + } + let sizeHtml = '', marginHtml = ''; + // 打印方向设置 + if (horizontal !== undefined) { + sizeHtml = `size: ${horizontal ? 'landscape' : 'portrait'};`; + } + // 页间距设置 + if (margin === 0 || margin) { + marginHtml = `margin: ${margin};`; + } + if (sizeHtml || marginHtml) { + let elem = document.createElement('style'); + elem.id = this.pSetId; + elem.setAttribute('type', 'text/css'); + elem.setAttribute('media', 'print'); + elem.innerHTML = `@page {${sizeHtml}${marginHtml}}`; + document.body.appendChild(elem); + } + // 隐藏打印时需要隐藏的内容 + this.hideElem(hide); + // 打印 + let oldTitle = document.title; + if (title) { + document.title = title; + } + let pWin; + if (blank) { + // 新窗口打印 + pWin = window.open('', '_blank'); + pWin.focus(); + // 写入内容到打印窗口 + const pDoc = pWin.document; + pDoc.open(); + const closeJs = close ? 'window.close();' : ''; + let html = '' + document.getElementsByTagName('html')[0].outerHTML; + // 去除js + html = html.replace(/`; + html = html.replace(/<\/html>/, `${pjs}`); + } else { + let pjs = ``; + html = html.replace(/<\/html>/, `${pjs}`); + } + pDoc.write(html); + pDoc.close(); + } else { // 当前窗口打印 + pWin = window; + if (iePreview && this.isIE()) { + if (!document.getElementById('WebBrowser')) { + let elem = document.createElement('object'); + elem.id = 'WebBrowser'; + elem.setAttribute('classid', 'clsid:8856F961-340A-11D0-A96B-00C04FD705A2'); + elem.style.display = 'none'; + document.body.appendChild(elem); + } + try { + window.WebBrowser.ExecWB(7, 1); + } catch (e) { + console.error(e); + pWin.print(); + } + } else { + pWin.print(); + } + } + if (title) { + document.title = oldTitle; + } + this.showElem(hide); // 打印完恢复隐藏的内容 + return pWin; + }, + /** + * 打印任意内容 + * @param html 要打印的html内容 + * @param blank 是否在新窗口打印 + * @param close 如果在新窗口打印,打印完是否关闭新窗口 + * @param print 是否立即打印 + * @param horizontal 纸张是否是横向 + * @param iePreview 是否兼容ie打印预览 + * @param loading 是否显示加载层 + * @param before 打印开始的回调 + * @param done 打印完成的回调 + * @param margin 页间距 + * @param header 页眉 + * @param footer 页脚 + * @returns {Window} 打印的窗口对象 + */ + printHtml( + { + html, + blank, + close, + print = true, + horizontal, + iePreview = true, + loading = true, + before, + done, + margin, + header, + footer + } + ) { + if (typeof blank === 'undefined' && this.isIE() && iePreview) { + blank = true; + } + if (typeof close === 'undefined' && blank && !this.isIE()) { + close = true; + } + if (loading && !blank) { + this.showLoading(); + } + // 创建打印窗口 + let pWin, pDoc; + if (blank) { // 新窗口打印 + pWin = window.open('', '_blank'); + pDoc = pWin.document; + } else { // 当前窗口打印 + let pFrame = this.getPFrame(); + pWin = pFrame.contentWindow; + pDoc = pFrame.contentDocument || pFrame.contentWindow.document; + } + pWin.focus(); // 让打印窗口获取焦点 + // 写入内容到打印窗口 + if (html) { + if (header || footer) html = this.addHeaderFooter(html, header, footer); // 添加页眉页脚 + html += ``; // 加入公共css + html += this.getPrintHtml(horizontal, close, print, iePreview, before, done, margin); + pDoc.open(); + pDoc.write(`${html}`); // 写入html + pDoc.close(); + } + return pWin; + }, + /** + * 分页打印 + * @param htmls 要打印的内容 + * @param horizontal 纸张是否是横向 + * @param style 打印的自定义样式 + * @param padding 每一页的边距 + * @param blank 是否在新窗口打印 + * @param close 如果在新窗口打印,打印完是否关闭新窗口 + * @param print 是否立即打印 + * @param width 每一页宽度 + * @param height 每一页高度 + * @param iePreview 是否兼容ie打印预览 + * @param isDebug 是否开启调试模式 + * @param loading 是否显示加载层 + * @param before 打印开始的回调 + * @param done 打印完成的回调 + * @param margin 页间距 + * @param header 页眉 + * @param footer 页脚 + * @param title 页面标题 + * @returns {Window} 打印的窗口对象 + */ + printPage( + { + htmls, + horizontal, + style, + padding, + blank, + close, + print = true, + width, + height, + iePreview = true, + isDebug, + loading = true, + before, + done, + margin, + header, + footer, + title + } + ) { + if (typeof blank === 'undefined' && this.isIE() && iePreview) { + blank = true; + } + if (typeof close === 'undefined' && blank && !this.isIE()) { + close = true; + } + if (loading && !blank) { + this.showLoading(); + } + // 创建打印窗口 + let pWin, pDoc; + if (blank) { // 新窗口打印 + pWin = window.open('', '_blank'); + pDoc = pWin.document; + } else { // 当前窗口打印 + let pFrame = this.getPFrame(); + pWin = pFrame.contentWindow; + pDoc = pFrame.contentDocument || pFrame.contentWindow.document; + } + pWin.focus(); // 让打印窗口获取焦点 + // 拼接打印内容 + let html = `${title || ''}`; + html += this.getPageCss(padding, width, height) + (style || '') + ''; // 控制分页的css + // 拼接分页内容 + let contentHtml = ''; + if (htmls) { + contentHtml += `
`; + contentHtml += htmls.map(h => `
${h}
`).join(''); + contentHtml += '
'; + } + // 添加页眉页脚 + if (header || footer) { + html += this.addHeaderFooter(contentHtml, header, footer); + } else { + html += contentHtml; + } + html += this.getPrintHtml(horizontal, close, print, iePreview, before, done, margin); + html += ''; + pDoc.open(); + pDoc.write(html); // 写入打印内容 + pDoc.close(); + return pWin; + }, + /** + * 生成控制打印的html + * @param horizontal 是否横向打印 + * @param close 打印完是否关闭页面 + * @param print 是否立即调起打印 + * @param iePreview 是否支持ie打印预览 + * @param before 打印前回调 + * @param done 打印后回调 + * @param margin 页间距 + * @returns {string} + */ + getPrintHtml(horizontal, close, print, iePreview, before, done, margin) { + let {beforeJs, doneJs} = this.addCallback(before, done); + let html = '', sizeHtml = '', marginHtml = ''; + // 打印方向 + if (horizontal !== undefined) { + sizeHtml = `size: ${horizontal ? 'landscape' : 'portrait'};`; + } + // 页间距 + if (margin === 0 || margin) { + marginHtml = `margin: ${margin};`; + } + html += ``; + // 兼容ie打印预览 + const closeJs = (close ? 'window.close();' : '') + doneJs; + const hideLoadJs = `${beforeJs};parent.hideElePrinterLoading&&parent.hideElePrinterLoading();`; + if (iePreview && this.isIE()) { + html += this.ieWebBrowser; + if (print) { + html += ``; + } + } else if (print) { + html += ``; + } + return html; + }, + /** + * 增加页眉页脚 + * @param html 页面内容 + * @param header 页眉 + * @param footer 页脚 + * @returns {string} + */ + addHeaderFooter(html, header, footer) { + let result = ''; + if (header) { + result += ``; + } + result += ``; + if (footer) { + result += ``; + } + return result + '
${header}
${html}
${footer}
'; + }, + /** + * 隐藏元素 + * @param elems 需要隐藏的元素 + */ + hideElem(elems) { + document.getElementsByClassName(this.hideClass).forEach(elem => { + elem.classList.add(this.printingClass); + }); + if (!elems) { + return; + } + if (!Array.isArray(elems)) { + elems = [elems]; + } + elems.forEach(elem => { + if (typeof elem === 'string') { + elem = document.querySelector(elem); + } + elem.classList.add(this.hideClass); + elem.classList.add(this.printingClass); + }); + }, + /** + * 取消隐藏 + * @param elems 需要取消隐藏的元素 + */ + showElem(elems) { + document.getElementsByClassName(this.hideClass).forEach(elem => { + elem.classList.remove(this.printingClass); + }); + if (!elems) { + return; + } + if (!Array.isArray(elems)) { + elems = [elems]; + } + elems.forEach(elem => { + if (typeof elem === 'string') { + elem = document.querySelector(elem); + } + elem.classList.remove(this.hideClass); + elem.classList.remove(this.printingClass); + }); + }, + /** + * 获取打印核心样式 + * @param isPrinting 是否已开始打印 + * @returns {String} + */ + getCommonCss(isPrinting) { + return ` + .${this.hideClass}.${this.printingClass} { + visibility: hidden !important; + } + .${this.hideClass} { + ${isPrinting ? 'visibility: hidden !important;' : ''} + } + .${this.hideClass}.${this.printingClass}.${this.hideNoneClass}, + .${this.hideClass}.${this.hideNoneClass}${isPrinting ? '' : '-no'} { + display: none !important; + } + /* 表格样式 */ + .ele-printer-table { + width: 100%; + border-collapse: collapse; + border: none; + } + .ele-printer-table td, .ele-printer-table th { + color: #333; + padding: 9px 15px; + border: 1px solid #333; + word-break: break-all; + } + /* loading样式 */ + #ele-printer-loading { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: hsla(0,0%,100%,.9); + z-index: 19000000 ; + } + #ele-printer-loading:after { + content: ""; + width: 40px; + height: 40px; + position: absolute; + top: 50%; + left: 50%; + margin: -20px auto auto -20px; + border: 2px solid #3296FA; + border-right-color: transparent; + border-bottom-color: transparent; + border-radius: 50%; + animation: ele-printer-loading-anim .8s linear infinite; + } + @keyframes ele-printer-loading-anim { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } + } + /* 带页眉页脚页面样式 */ + .ele-printer-table-page { + width: 100%; + } + `; + }, + /** + * 获取分页打印的样式 + * @param padding 每一页边距 + * @param width 每一页宽度 + * @param height 每一页高度 + * @returns {String} + */ + getPageCss(padding, width, height) { + return ` + + `; + }, + /** + * 打印pdf + * @param url pdf链接地址 + * @param arraybuffer 直接指定arraybuffer数据 + * @param error 错误回调 + * @param loading 是否显示加载层 + * @param before 打印开始的回调 + * @param done 打印完成的回调 + * @returns {Window} 打印的窗口对象 + */ + printPdf({url, arraybuffer, error, loading = true, before, done}) { + if (loading) { + this.showLoading(); + } + let pWin; + let pFrame = this.getPFrame(); + pWin = pFrame.contentWindow; + pFrame.onload = () => { + if (!pFrame.getAttribute('src')) { + return; + } + pFrame.focus(); + before && before(); + pWin.print(); + this.hideLoading(); + done && done(); + }; + + // 开始打印 + function doPrint(hideLoading) { + let localPdf = new window.Blob([arraybuffer], {type: 'application/pdf'}); + // 兼容IE + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(localPdf, 'print.pdf'); + hideLoading(); + } else { + localPdf = window.URL.createObjectURL(localPdf); + pFrame.setAttribute('src', localPdf); + } + } + + // 请求pdf数据 + if (!arraybuffer) { + let req = new window.XMLHttpRequest(); + req.open('GET', url, true); + req.responseType = 'arraybuffer'; + req.onload = () => { + if ([200, 201].indexOf(req.status) === -1) { + return error && error(req.status, req.statusText); + } + arraybuffer = req.response; + doPrint(() => { + this.hideLoading(); + }); + }; + req.send(); + } else { + doPrint(() => { + this.hideLoading(); + }); + } + return pWin; + }, + /** + * 获取隐藏的打印iframe + * @returns {HTMLElement} + */ + getPFrame() { + let pFrame = document.getElementById(this.pFrameId); + if (pFrame) { + pFrame.parentNode.removeChild(pFrame); + } + let elem = document.createElement('iframe'); + elem.id = this.pFrameId; + elem.style.width = 0; + elem.style.height = 0; + elem.style.position = 'fixed'; + elem.style.visibility = 'hidden'; + document.body.appendChild(elem); + pFrame = document.getElementById(this.pFrameId); + pFrame.focus(); + return pFrame; + }, + /** + * 生成表格html + * @param data 数据 + * @param cols 列配置 + * @returns {string} + */ + makeTable(data, cols) { + // 恢复cols参数初始状态 + cols.forEach(col => { + col.forEach(c => { + c.INIT_OK = undefined; + c.key = undefined; + c.colGroup = undefined; + c.HAS_PARENT = undefined; + c.parentKey = undefined; + c.PARENT_COL_INDEX = undefined; + }); + }); + + // cols转为嵌套结构 + let colArrays = [], colIndex = 0; + for (let i1 = 0; i1 < cols.length; i1++) { + let item1 = cols[i1]; + for (let i2 = 0; i2 < item1.length; i2++) { + let item2 = item1[i2]; + if (!item2) { + item1.splice(i2, 1); + continue; + } + // 合并单元格处理 + item2.key = i1 + '-' + i2; + let CHILD_COLS = undefined; + if (item2.colGroup || item2.colspan > 1) { + item2.colGroup = true; + CHILD_COLS = []; + colIndex++; + let childIndex = 0; + for (let i22 = 0; i22 < cols[i1 + 1].length; i22++) { + let item22 = Object.assign({}, cols[i1 + 1][i22]); + if (item22.HAS_PARENT || (childIndex > 1 && childIndex == item2.colspan)) { + cols[i1 + 1][i22] = item22; + continue; + } + item22.HAS_PARENT = true; + item22.parentKey = i1 + '-' + i2; + item22.key = (i1 + 1) + '-' + i22; + item22.PARENT_COL_INDEX = colIndex; + CHILD_COLS.push(item22); + childIndex = childIndex + parseInt(item22.colspan > 1 ? item22.colspan : 1); + cols[i1 + 1][i22] = item22; + } + } + item2.CHILD_COLS = CHILD_COLS; + if (!item2.PARENT_COL_INDEX) { + colArrays.push(item2); + } + cols[i1][i2] = item2; + } + } + + // 遍历嵌套结构cols的方法 + function eachCols(callback, obj) { + if (!obj) { + obj = colArrays; + } + for (let i = 0; i < obj.length; i++) { + let item = obj[i]; + callback && callback(i, item); + if (item.CHILD_COLS) { + eachCols(callback, item.CHILD_COLS); + } + } + } + + // 计算表格宽度 + let width = 1, needSetWidth = true, colgroup = []; + eachCols((i, c) => { + if (c.colGroup) { + return; + } + colgroup.push(''); + if (c.width && !/\d+%$/.test(width)) { + width += (c.width + 1); + } else { + needSetWidth = false; + } + }); + width += 'px'; + + // 生成html + let html = ``; + html += `${colgroup.join('')}`; + + // 表头 + let trs = cols.map(col => { + let ths = col.map(c => ``); + return `${ths.join('')}`; + }); + html += `${trs.join('')}`; + + // 主体 + html += ''; + data.forEach((d, index) => { + html += ''; + let colIndex = 0; + eachCols((i, c) => { + if (c.colGroup) { + return; + } + let content = c.templet ? c.templet(d, index, colIndex) : d[c.field]; + html += ``; + colIndex++; + }); + html += ''; + }); + return html + '
${c.title || ''}
${content}
'; + }, + /** + * 加入核心样式 + */ + addCommonCss() { + if (!document.getElementById(this.pStyleId)) { + let elem = document.createElement('style'); + elem.id = this.pStyleId; + elem.setAttribute('type', 'text/css'); + elem.innerHTML = this.getCommonCss(); + document.body.appendChild(elem); + } + }, + /** + * 检查并补全隐藏元素的class + */ + checkHideClass() { + document.getElementsByClassName(this.hideNoneClass).forEach(elem => { + elem.classList.add(this.hideClass); + }); + }, + /** + * 显示加载层 + * @returns {HTMLElement} + */ + showLoading() { + this.addCommonCss(); + let elem = document.getElementById('ele-printer-loading'); + if (!elem) { + elem = document.createElement('div'); + elem.id = 'ele-printer-loading'; + document.body.appendChild(elem); + } + elem.style.display = 'block'; + window.hideElePrinterLoading = () => { + this.hideLoading(); + }; + return elem; + }, + /** + * 关闭加载层 + */ + hideLoading() { + setTimeout(() => { + let elem = document.getElementById('ele-printer-loading'); + if (elem) { + elem.style.display = 'none'; + } + }, 1500); + }, + /** + * 添加回调监听 + * @param before + * @param done + * @returns {{beforeJs: string, taskId: string, doneJs: string}} + */ + addCallback(before, done) { + let taskId = 'p' + this.uuid(); + if (!window.elePrinterBefore) { + window.elePrinterBefore = {}; + } + if (!window.elePrinterDone) { + window.elePrinterDone = {}; + } + if (before) { + window.elePrinterBefore[taskId] = before; + } + if (done) { + window.elePrinterDone[taskId] = done; + } + let beforeJs = `;parent.elePrinterBefore&&parent.elePrinterBefore.${taskId}&&parent.elePrinterBefore.${taskId}();`; + let doneJs = `;parent.elePrinterDone&&parent.elePrinterDone.${taskId}&&parent.elePrinterDone.${taskId}();`; + return {taskId, beforeJs, doneJs}; + }, + /** + * 生成随机id + * @param length + * @returns {string} + */ + uuid(length = 8) { + const num = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'; + let str = 'p_'; + for (let i = 0; i < length; i++) { + str += num.charAt(Math.floor(Math.random() * num.length)); + } + return str; + }, + /** + * 是否是ie + * @returns {boolean} + */ + isIE() { + return !!window.ActiveXObject || 'ActiveXObject' in window; + }, + /** + * 是否是Edge + * @returns {boolean} + */ + isEdge() { + return navigator.userAgent.indexOf('Edge') !== -1; + }, + /** + * 是否是Firefox + * @returns {boolean} + */ + isFirefox() { + return navigator.userAgent.indexOf('Firefox') !== -1; + }, + // 支持ie打印预览控件 + ieWebBrowser: '', + // 当前窗口打印隐藏的iframe的id + pFrameId: 'ele-printer-frame', + // 打印核心样式的style的id + pStyleId: 'ele-printer-style', + // 打印方向设置的style的id + pSetId: 'ele-printer-set', + // 正在打印标识的class + printingClass: 'ele-printer-printing', + // 打印时隐藏的class + hideClass: 'ele-printer-hide', + // 打印时隐藏不占位置的class + hideNoneClass: 'ele-printer-hide-none' +} diff --git a/src/components/ele-admin-pro/packages/regions.js b/src/components/ele-admin-pro/packages/regions.js new file mode 100644 index 0000000..a949b8f --- /dev/null +++ b/src/components/ele-admin-pro/packages/regions.js @@ -0,0 +1,14429 @@ +/** 省市区数据 license by http://eleadmin.com */ +const regions = [ + { + label: '北京', + value: '110000', + children: [ + { + value: '110100', + label: '北京市', + children: [ + { + value: '110101', + label: '东城区' + }, + { + value: '110102', + label: '西城区' + }, + { + value: '110103', + label: '崇文区' + }, + { + value: '110104', + label: '宣武区' + }, + { + value: '110105', + label: '朝阳区' + }, + { + value: '110106', + label: '丰台区' + }, + { + value: '110107', + label: '石景山区' + }, + { + value: '110108', + label: '海淀区' + }, + { + value: '110109', + label: '门头沟区' + }, + { + value: '110111', + label: '房山区' + }, + { + value: '110112', + label: '通州区' + }, + { + value: '110113', + label: '顺义区' + }, + { + value: '110114', + label: '昌平区' + }, + { + value: '110115', + label: '大兴区' + }, + { + value: '110116', + label: '怀柔区' + }, + { + value: '110117', + label: '平谷区' + }, + { + value: '110228', + label: '密云县' + }, + { + value: '110229', + label: '延庆县' + } + ] + } + ] + }, + { + label: '天津', + value: '120000', + children: [ + { + value: '120100', + label: '天津市', + children: [ + { + value: '120101', + label: '和平区' + }, + { + value: '120102', + label: '河东区' + }, + { + value: '120103', + label: '河西区' + }, + { + value: '120104', + label: '南开区' + }, + { + value: '120105', + label: '河北区' + }, + { + value: '120106', + label: '红桥区' + }, + { + value: '120107', + label: '塘沽区' + }, + { + value: '120108', + label: '汉沽区' + }, + { + value: '120109', + label: '大港区' + }, + { + value: '120110', + label: '东丽区' + }, + { + value: '120111', + label: '西青区' + }, + { + value: '120112', + label: '津南区' + }, + { + value: '120113', + label: '北辰区' + }, + { + value: '120114', + label: '武清区' + }, + { + value: '120115', + label: '宝坻区' + }, + { + value: '120116', + label: '滨海新区' + }, + { + value: '120221', + label: '宁河县' + }, + { + value: '120223', + label: '静海县' + }, + { + value: '120225', + label: '蓟县' + } + ] + } + ] + }, + { + label: '河北省', + value: '130000', + children: [ + { + value: '130100', + label: '石家庄市', + children: [ + { + value: '130102', + label: '长安区' + }, + { + value: '130103', + label: '桥东区' + }, + { + value: '130104', + label: '桥西区' + }, + { + value: '130105', + label: '新华区' + }, + { + value: '130107', + label: '井陉矿区' + }, + { + value: '130108', + label: '裕华区' + }, + { + value: '130121', + label: '井陉县' + }, + { + value: '130123', + label: '正定县' + }, + { + value: '130124', + label: '栾城县' + }, + { + value: '130125', + label: '行唐县' + }, + { + value: '130126', + label: '灵寿县' + }, + { + value: '130127', + label: '高邑县' + }, + { + value: '130128', + label: '深泽县' + }, + { + value: '130129', + label: '赞皇县' + }, + { + value: '130130', + label: '无极县' + }, + { + value: '130131', + label: '平山县' + }, + { + value: '130132', + label: '元氏县' + }, + { + value: '130133', + label: '赵县' + }, + { + value: '130181', + label: '辛集市' + }, + { + value: '130182', + label: '藁城市' + }, + { + value: '130183', + label: '晋州市' + }, + { + value: '130184', + label: '新乐市' + }, + { + value: '130185', + label: '鹿泉市' + } + ] + }, + { + value: '130200', + label: '唐山市', + children: [ + { + value: '130202', + label: '路南区' + }, + { + value: '130203', + label: '路北区' + }, + { + value: '130204', + label: '古冶区' + }, + { + value: '130205', + label: '开平区' + }, + { + value: '130207', + label: '丰南区' + }, + { + value: '130208', + label: '丰润区' + }, + { + value: '130223', + label: '滦县' + }, + { + value: '130224', + label: '滦南县' + }, + { + value: '130225', + label: '乐亭县' + }, + { + value: '130227', + label: '迁西县' + }, + { + value: '130229', + label: '玉田县' + }, + { + value: '130230', + label: '唐海县' + }, + { + value: '130281', + label: '遵化市' + }, + { + value: '130283', + label: '迁安市' + } + ] + }, + { + value: '130300', + label: '秦皇岛市', + children: [ + { + value: '130302', + label: '海港区' + }, + { + value: '130303', + label: '山海关区' + }, + { + value: '130304', + label: '北戴河区' + }, + { + value: '130321', + label: '青龙满族自治县' + }, + { + value: '130322', + label: '昌黎县' + }, + { + value: '130323', + label: '抚宁县' + }, + { + value: '130324', + label: '卢龙县' + }, + { + value: '130399', + label: '经济技术开发区' + } + ] + }, + { + value: '130400', + label: '邯郸市', + children: [ + { + value: '130402', + label: '邯山区' + }, + { + value: '130403', + label: '丛台区' + }, + { + value: '130404', + label: '复兴区' + }, + { + value: '130406', + label: '峰峰矿区' + }, + { + value: '130421', + label: '邯郸县' + }, + { + value: '130423', + label: '临漳县' + }, + { + value: '130424', + label: '成安县' + }, + { + value: '130425', + label: '大名县' + }, + { + value: '130426', + label: '涉县' + }, + { + value: '130427', + label: '磁县' + }, + { + value: '130428', + label: '肥乡县' + }, + { + value: '130429', + label: '永年县' + }, + { + value: '130430', + label: '邱县' + }, + { + value: '130431', + label: '鸡泽县' + }, + { + value: '130432', + label: '广平县' + }, + { + value: '130433', + label: '馆陶县' + }, + { + value: '130434', + label: '魏县' + }, + { + value: '130435', + label: '曲周县' + }, + { + value: '130481', + label: '武安市' + } + ] + }, + { + value: '130500', + label: '邢台市', + children: [ + { + value: '130502', + label: '桥东区' + }, + { + value: '130503', + label: '桥西区' + }, + { + value: '130521', + label: '邢台县' + }, + { + value: '130522', + label: '临城县' + }, + { + value: '130523', + label: '内丘县' + }, + { + value: '130524', + label: '柏乡县' + }, + { + value: '130525', + label: '隆尧县' + }, + { + value: '130526', + label: '任县' + }, + { + value: '130527', + label: '南和县' + }, + { + value: '130528', + label: '宁晋县' + }, + { + value: '130529', + label: '巨鹿县' + }, + { + value: '130530', + label: '新河县' + }, + { + value: '130531', + label: '广宗县' + }, + { + value: '130532', + label: '平乡县' + }, + { + value: '130533', + label: '威县' + }, + { + value: '130534', + label: '清河县' + }, + { + value: '130535', + label: '临西县' + }, + { + value: '130581', + label: '南宫市' + }, + { + value: '130582', + label: '沙河市' + } + ] + }, + { + value: '130600', + label: '保定市', + children: [ + { + value: '130602', + label: '新市区' + }, + { + value: '130603', + label: '北市区' + }, + { + value: '130604', + label: '南市区' + }, + { + value: '130621', + label: '满城县' + }, + { + value: '130622', + label: '清苑县' + }, + { + value: '130623', + label: '涞水县' + }, + { + value: '130624', + label: '阜平县' + }, + { + value: '130625', + label: '徐水县' + }, + { + value: '130626', + label: '定兴县' + }, + { + value: '130627', + label: '唐县' + }, + { + value: '130628', + label: '高阳县' + }, + { + value: '130629', + label: '容城县' + }, + { + value: '130630', + label: '涞源县' + }, + { + value: '130631', + label: '望都县' + }, + { + value: '130632', + label: '安新县' + }, + { + value: '130633', + label: '易县' + }, + { + value: '130634', + label: '曲阳县' + }, + { + value: '130635', + label: '蠡县' + }, + { + value: '130636', + label: '顺平县' + }, + { + value: '130637', + label: '博野县' + }, + { + value: '130638', + label: '雄县' + }, + { + value: '130681', + label: '涿州市' + }, + { + value: '130682', + label: '定州市' + }, + { + value: '130683', + label: '安国市' + }, + { + value: '130684', + label: '高碑店市' + }, + { + value: '130698', + label: '高开区' + } + ] + }, + { + value: '130700', + label: '张家口市', + children: [ + { + value: '130702', + label: '桥东区' + }, + { + value: '130703', + label: '桥西区' + }, + { + value: '130705', + label: '宣化区' + }, + { + value: '130706', + label: '下花园区' + }, + { + value: '130721', + label: '宣化县' + }, + { + value: '130722', + label: '张北县' + }, + { + value: '130723', + label: '康保县' + }, + { + value: '130724', + label: '沽源县' + }, + { + value: '130725', + label: '尚义县' + }, + { + value: '130726', + label: '蔚县' + }, + { + value: '130727', + label: '阳原县' + }, + { + value: '130728', + label: '怀安县' + }, + { + value: '130729', + label: '万全县' + }, + { + value: '130730', + label: '怀来县' + }, + { + value: '130731', + label: '涿鹿县' + }, + { + value: '130732', + label: '赤城县' + }, + { + value: '130733', + label: '崇礼县' + } + ] + }, + { + value: '130800', + label: '承德市', + children: [ + { + value: '130802', + label: '双桥区' + }, + { + value: '130803', + label: '双滦区' + }, + { + value: '130804', + label: '鹰手营子矿区' + }, + { + value: '130821', + label: '承德县' + }, + { + value: '130822', + label: '兴隆县' + }, + { + value: '130823', + label: '平泉县' + }, + { + value: '130824', + label: '滦平县' + }, + { + value: '130825', + label: '隆化县' + }, + { + value: '130826', + label: '丰宁满族自治县' + }, + { + value: '130827', + label: '宽城满族自治县' + }, + { + value: '130828', + label: '围场满族蒙古族自治县' + } + ] + }, + { + value: '130900', + label: '沧州市', + children: [ + { + value: '130902', + label: '新华区' + }, + { + value: '130903', + label: '运河区' + }, + { + value: '130921', + label: '沧县' + }, + { + value: '130922', + label: '青县' + }, + { + value: '130923', + label: '东光县' + }, + { + value: '130924', + label: '海兴县' + }, + { + value: '130925', + label: '盐山县' + }, + { + value: '130926', + label: '肃宁县' + }, + { + value: '130927', + label: '南皮县' + }, + { + value: '130928', + label: '吴桥县' + }, + { + value: '130929', + label: '献县' + }, + { + value: '130930', + label: '孟村回族自治县' + }, + { + value: '130981', + label: '泊头市' + }, + { + value: '130982', + label: '任丘市' + }, + { + value: '130983', + label: '黄骅市' + }, + { + value: '130984', + label: '河间市' + } + ] + }, + { + value: '131000', + label: '廊坊市', + children: [ + { + value: '131002', + label: '安次区' + }, + { + value: '131003', + label: '广阳区' + }, + { + value: '131022', + label: '固安县' + }, + { + value: '131023', + label: '永清县' + }, + { + value: '131024', + label: '香河县' + }, + { + value: '131025', + label: '大城县' + }, + { + value: '131026', + label: '文安县' + }, + { + value: '131028', + label: '大厂回族自治县' + }, + { + value: '131051', + label: '开发区' + }, + { + value: '131052', + label: '燕郊经济技术开发区' + }, + { + value: '131081', + label: '霸州市' + }, + { + value: '131082', + label: '三河市' + } + ] + }, + { + value: '131100', + label: '衡水市', + children: [ + { + value: '131102', + label: '桃城区' + }, + { + value: '131121', + label: '枣强县' + }, + { + value: '131122', + label: '武邑县' + }, + { + value: '131123', + label: '武强县' + }, + { + value: '131124', + label: '饶阳县' + }, + { + value: '131125', + label: '安平县' + }, + { + value: '131126', + label: '故城县' + }, + { + value: '131127', + label: '景县' + }, + { + value: '131128', + label: '阜城县' + }, + { + value: '131181', + label: '冀州市' + }, + { + value: '131182', + label: '深州市' + } + ] + } + ] + }, + { + label: '山西省', + value: '140000', + children: [ + { + value: '140100', + label: '太原市', + children: [ + { + value: '140105', + label: '小店区' + }, + { + value: '140106', + label: '迎泽区' + }, + { + value: '140107', + label: '杏花岭区' + }, + { + value: '140108', + label: '尖草坪区' + }, + { + value: '140109', + label: '万柏林区' + }, + { + value: '140110', + label: '晋源区' + }, + { + value: '140121', + label: '清徐县' + }, + { + value: '140122', + label: '阳曲县' + }, + { + value: '140123', + label: '娄烦县' + }, + { + value: '140181', + label: '古交市' + } + ] + }, + { + value: '140200', + label: '大同市', + children: [ + { + value: '140202', + label: '城区' + }, + { + value: '140203', + label: '矿区' + }, + { + value: '140211', + label: '南郊区' + }, + { + value: '140212', + label: '新荣区' + }, + { + value: '140221', + label: '阳高县' + }, + { + value: '140222', + label: '天镇县' + }, + { + value: '140223', + label: '广灵县' + }, + { + value: '140224', + label: '灵丘县' + }, + { + value: '140225', + label: '浑源县' + }, + { + value: '140226', + label: '左云县' + }, + { + value: '140227', + label: '大同县' + } + ] + }, + { + value: '140300', + label: '阳泉市', + children: [ + { + value: '140302', + label: '城区' + }, + { + value: '140303', + label: '矿区' + }, + { + value: '140311', + label: '郊区' + }, + { + value: '140321', + label: '平定县' + }, + { + value: '140322', + label: '盂县' + } + ] + }, + { + value: '140400', + label: '长治市', + children: [ + { + value: '140421', + label: '长治县' + }, + { + value: '140423', + label: '襄垣县' + }, + { + value: '140424', + label: '屯留县' + }, + { + value: '140425', + label: '平顺县' + }, + { + value: '140426', + label: '黎城县' + }, + { + value: '140427', + label: '壶关县' + }, + { + value: '140428', + label: '长子县' + }, + { + value: '140429', + label: '武乡县' + }, + { + value: '140430', + label: '沁县' + }, + { + value: '140431', + label: '沁源县' + }, + { + value: '140481', + label: '潞城市' + }, + { + value: '140482', + label: '城区' + }, + { + value: '140483', + label: '郊区' + }, + { + value: '140484', + label: '高新区' + } + ] + }, + { + value: '140500', + label: '晋城市', + children: [ + { + value: '140502', + label: '城区' + }, + { + value: '140521', + label: '沁水县' + }, + { + value: '140522', + label: '阳城县' + }, + { + value: '140524', + label: '陵川县' + }, + { + value: '140525', + label: '泽州县' + }, + { + value: '140581', + label: '高平市' + } + ] + }, + { + value: '140600', + label: '朔州市', + children: [ + { + value: '140602', + label: '朔城区' + }, + { + value: '140603', + label: '平鲁区' + }, + { + value: '140621', + label: '山阴县' + }, + { + value: '140622', + label: '应县' + }, + { + value: '140623', + label: '右玉县' + }, + { + value: '140624', + label: '怀仁县' + } + ] + }, + { + value: '140700', + label: '晋中市', + children: [ + { + value: '140702', + label: '榆次区' + }, + { + value: '140721', + label: '榆社县' + }, + { + value: '140722', + label: '左权县' + }, + { + value: '140723', + label: '和顺县' + }, + { + value: '140724', + label: '昔阳县' + }, + { + value: '140725', + label: '寿阳县' + }, + { + value: '140726', + label: '太谷县' + }, + { + value: '140727', + label: '祁县' + }, + { + value: '140728', + label: '平遥县' + }, + { + value: '140729', + label: '灵石县' + }, + { + value: '140781', + label: '介休市' + } + ] + }, + { + value: '140800', + label: '运城市', + children: [ + { + value: '140802', + label: '盐湖区' + }, + { + value: '140821', + label: '临猗县' + }, + { + value: '140822', + label: '万荣县' + }, + { + value: '140823', + label: '闻喜县' + }, + { + value: '140824', + label: '稷山县' + }, + { + value: '140825', + label: '新绛县' + }, + { + value: '140826', + label: '绛县' + }, + { + value: '140827', + label: '垣曲县' + }, + { + value: '140828', + label: '夏县' + }, + { + value: '140829', + label: '平陆县' + }, + { + value: '140830', + label: '芮城县' + }, + { + value: '140881', + label: '永济市' + }, + { + value: '140882', + label: '河津市' + } + ] + }, + { + value: '140900', + label: '忻州市', + children: [ + { + value: '140902', + label: '忻府区' + }, + { + value: '140921', + label: '定襄县' + }, + { + value: '140922', + label: '五台县' + }, + { + value: '140923', + label: '代县' + }, + { + value: '140924', + label: '繁峙县' + }, + { + value: '140925', + label: '宁武县' + }, + { + value: '140926', + label: '静乐县' + }, + { + value: '140927', + label: '神池县' + }, + { + value: '140928', + label: '五寨县' + }, + { + value: '140929', + label: '岢岚县' + }, + { + value: '140930', + label: '河曲县' + }, + { + value: '140931', + label: '保德县' + }, + { + value: '140932', + label: '偏关县' + }, + { + value: '140981', + label: '原平市' + } + ] + }, + { + value: '141000', + label: '临汾市', + children: [ + { + value: '141002', + label: '尧都区' + }, + { + value: '141021', + label: '曲沃县' + }, + { + value: '141022', + label: '翼城县' + }, + { + value: '141023', + label: '襄汾县' + }, + { + value: '141024', + label: '洪洞县' + }, + { + value: '141025', + label: '古县' + }, + { + value: '141026', + label: '安泽县' + }, + { + value: '141027', + label: '浮山县' + }, + { + value: '141028', + label: '吉县' + }, + { + value: '141029', + label: '乡宁县' + }, + { + value: '141030', + label: '大宁县' + }, + { + value: '141031', + label: '隰县' + }, + { + value: '141032', + label: '永和县' + }, + { + value: '141033', + label: '蒲县' + }, + { + value: '141034', + label: '汾西县' + }, + { + value: '141081', + label: '侯马市' + }, + { + value: '141082', + label: '霍州市' + } + ] + }, + { + value: '141100', + label: '吕梁市', + children: [ + { + value: '141102', + label: '离石区' + }, + { + value: '141121', + label: '文水县' + }, + { + value: '141122', + label: '交城县' + }, + { + value: '141123', + label: '兴县' + }, + { + value: '141124', + label: '临县' + }, + { + value: '141125', + label: '柳林县' + }, + { + value: '141126', + label: '石楼县' + }, + { + value: '141127', + label: '岚县' + }, + { + value: '141128', + label: '方山县' + }, + { + value: '141129', + label: '中阳县' + }, + { + value: '141130', + label: '交口县' + }, + { + value: '141181', + label: '孝义市' + }, + { + value: '141182', + label: '汾阳市' + } + ] + } + ] + }, + { + label: '内蒙古自治区', + value: '150000', + children: [ + { + value: '150100', + label: '呼和浩特市', + children: [ + { + value: '150102', + label: '新城区' + }, + { + value: '150103', + label: '回民区' + }, + { + value: '150104', + label: '玉泉区' + }, + { + value: '150105', + label: '赛罕区' + }, + { + value: '150121', + label: '土默特左旗' + }, + { + value: '150122', + label: '托克托县' + }, + { + value: '150123', + label: '和林格尔县' + }, + { + value: '150124', + label: '清水河县' + }, + { + value: '150125', + label: '武川县' + } + ] + }, + { + value: '150200', + label: '包头市', + children: [ + { + value: '150202', + label: '东河区' + }, + { + value: '150203', + label: '昆都仑区' + }, + { + value: '150204', + label: '青山区' + }, + { + value: '150205', + label: '石拐区' + }, + { + value: '150206', + label: '白云矿区' + }, + { + value: '150207', + label: '九原区' + }, + { + value: '150221', + label: '土默特右旗' + }, + { + value: '150222', + label: '固阳县' + }, + { + value: '150223', + label: '达尔罕茂明安联合旗' + } + ] + }, + { + value: '150300', + label: '乌海市', + children: [ + { + value: '150302', + label: '海勃湾区' + }, + { + value: '150303', + label: '海南区' + }, + { + value: '150304', + label: '乌达区' + } + ] + }, + { + value: '150400', + label: '赤峰市', + children: [ + { + value: '150402', + label: '红山区' + }, + { + value: '150403', + label: '元宝山区' + }, + { + value: '150404', + label: '松山区' + }, + { + value: '150421', + label: '阿鲁科尔沁旗' + }, + { + value: '150422', + label: '巴林左旗' + }, + { + value: '150423', + label: '巴林右旗' + }, + { + value: '150424', + label: '林西县' + }, + { + value: '150425', + label: '克什克腾旗' + }, + { + value: '150426', + label: '翁牛特旗' + }, + { + value: '150428', + label: '喀喇沁旗' + }, + { + value: '150429', + label: '宁城县' + }, + { + value: '150430', + label: '敖汉旗' + } + ] + }, + { + value: '150500', + label: '通辽市', + children: [ + { + value: '150502', + label: '科尔沁区' + }, + { + value: '150521', + label: '科尔沁左翼中旗' + }, + { + value: '150522', + label: '科尔沁左翼后旗' + }, + { + value: '150523', + label: '开鲁县' + }, + { + value: '150524', + label: '库伦旗' + }, + { + value: '150525', + label: '奈曼旗' + }, + { + value: '150526', + label: '扎鲁特旗' + }, + { + value: '150581', + label: '霍林郭勒市' + } + ] + }, + { + value: '150600', + label: '鄂尔多斯市', + children: [ + { + value: '150602', + label: '东胜区' + }, + { + value: '150621', + label: '达拉特旗' + }, + { + value: '150622', + label: '准格尔旗' + }, + { + value: '150623', + label: '鄂托克前旗' + }, + { + value: '150624', + label: '鄂托克旗' + }, + { + value: '150625', + label: '杭锦旗' + }, + { + value: '150626', + label: '乌审旗' + }, + { + value: '150627', + label: '伊金霍洛旗' + } + ] + }, + { + value: '150700', + label: '呼伦贝尔市', + children: [ + { + value: '150702', + label: '海拉尔区' + }, + { + value: '150721', + label: '阿荣旗' + }, + { + value: '150722', + label: '莫力达瓦达斡尔族自治旗' + }, + { + value: '150723', + label: '鄂伦春自治旗' + }, + { + value: '150724', + label: '鄂温克族自治旗' + }, + { + value: '150725', + label: '陈巴尔虎旗' + }, + { + value: '150726', + label: '新巴尔虎左旗' + }, + { + value: '150727', + label: '新巴尔虎右旗' + }, + { + value: '150781', + label: '满洲里市' + }, + { + value: '150782', + label: '牙克石市' + }, + { + value: '150783', + label: '扎兰屯市' + }, + { + value: '150784', + label: '额尔古纳市' + }, + { + value: '150785', + label: '根河市' + } + ] + }, + { + value: '150800', + label: '巴彦淖尔市', + children: [ + { + value: '150802', + label: '临河区' + }, + { + value: '150821', + label: '五原县' + }, + { + value: '150822', + label: '磴口县' + }, + { + value: '150823', + label: '乌拉特前旗' + }, + { + value: '150824', + label: '乌拉特中旗' + }, + { + value: '150825', + label: '乌拉特后旗' + }, + { + value: '150826', + label: '杭锦后旗' + } + ] + }, + { + value: '150900', + label: '乌兰察布市', + children: [ + { + value: '150902', + label: '集宁区' + }, + { + value: '150921', + label: '卓资县' + }, + { + value: '150922', + label: '化德县' + }, + { + value: '150923', + label: '商都县' + }, + { + value: '150924', + label: '兴和县' + }, + { + value: '150925', + label: '凉城县' + }, + { + value: '150926', + label: '察哈尔右翼前旗' + }, + { + value: '150927', + label: '察哈尔右翼中旗' + }, + { + value: '150928', + label: '察哈尔右翼后旗' + }, + { + value: '150929', + label: '四子王旗' + }, + { + value: '150981', + label: '丰镇市' + } + ] + }, + { + value: '152200', + label: '兴安盟', + children: [ + { + value: '152201', + label: '乌兰浩特市' + }, + { + value: '152202', + label: '阿尔山市' + }, + { + value: '152221', + label: '科尔沁右翼前旗' + }, + { + value: '152222', + label: '科尔沁右翼中旗' + }, + { + value: '152223', + label: '扎赉特旗' + }, + { + value: '152224', + label: '突泉县' + } + ] + }, + { + value: '152500', + label: '锡林郭勒盟', + children: [ + { + value: '152501', + label: '二连浩特市' + }, + { + value: '152502', + label: '锡林浩特市' + }, + { + value: '152522', + label: '阿巴嘎旗' + }, + { + value: '152523', + label: '苏尼特左旗' + }, + { + value: '152524', + label: '苏尼特右旗' + }, + { + value: '152525', + label: '东乌珠穆沁旗' + }, + { + value: '152526', + label: '西乌珠穆沁旗' + }, + { + value: '152527', + label: '太仆寺旗' + }, + { + value: '152528', + label: '镶黄旗' + }, + { + value: '152529', + label: '正镶白旗' + }, + { + value: '152530', + label: '正蓝旗' + }, + { + value: '152531', + label: '多伦县' + } + ] + }, + { + value: '152900', + label: '阿拉善盟', + children: [ + { + value: '152921', + label: '阿拉善左旗' + }, + { + value: '152922', + label: '阿拉善右旗' + }, + { + value: '152923', + label: '额济纳旗' + } + ] + } + ] + }, + { + label: '辽宁省', + value: '210000', + children: [ + { + value: '210100', + label: '沈阳市', + children: [ + { + value: '210102', + label: '和平区' + }, + { + value: '210103', + label: '沈河区' + }, + { + value: '210104', + label: '大东区' + }, + { + value: '210105', + label: '皇姑区' + }, + { + value: '210106', + label: '铁西区' + }, + { + value: '210111', + label: '苏家屯区' + }, + { + value: '210112', + label: '东陵区' + }, + { + value: '210113', + label: '新城子区' + }, + { + value: '210114', + label: '于洪区' + }, + { + value: '210122', + label: '辽中县' + }, + { + value: '210123', + label: '康平县' + }, + { + value: '210124', + label: '法库县' + }, + { + value: '210181', + label: '新民市' + }, + { + value: '210182', + label: '浑南新区' + }, + { + value: '210183', + label: '张士开发区' + }, + { + value: '210184', + label: '沈北新区' + } + ] + }, + { + value: '210200', + label: '大连市', + children: [ + { + value: '210202', + label: '中山区' + }, + { + value: '210203', + label: '西岗区' + }, + { + value: '210204', + label: '沙河口区' + }, + { + value: '210211', + label: '甘井子区' + }, + { + value: '210212', + label: '旅顺口区' + }, + { + value: '210213', + label: '金州区' + }, + { + value: '210224', + label: '长海县' + }, + { + value: '210251', + label: '开发区' + }, + { + value: '210281', + label: '瓦房店市' + }, + { + value: '210282', + label: '普兰店市' + }, + { + value: '210283', + label: '庄河市' + }, + { + value: '210297', + label: '岭前区' + } + ] + }, + { + value: '210300', + label: '鞍山市', + children: [ + { + value: '210302', + label: '铁东区' + }, + { + value: '210303', + label: '铁西区' + }, + { + value: '210304', + label: '立山区' + }, + { + value: '210311', + label: '千山区' + }, + { + value: '210321', + label: '台安县' + }, + { + value: '210323', + label: '岫岩满族自治县' + }, + { + value: '210351', + label: '高新区' + }, + { + value: '210381', + label: '海城市' + } + ] + }, + { + value: '210400', + label: '抚顺市', + children: [ + { + value: '210402', + label: '新抚区' + }, + { + value: '210403', + label: '东洲区' + }, + { + value: '210404', + label: '望花区' + }, + { + value: '210411', + label: '顺城区' + }, + { + value: '210421', + label: '抚顺县' + }, + { + value: '210422', + label: '新宾满族自治县' + }, + { + value: '210423', + label: '清原满族自治县' + } + ] + }, + { + value: '210500', + label: '本溪市', + children: [ + { + value: '210502', + label: '平山区' + }, + { + value: '210503', + label: '溪湖区' + }, + { + value: '210504', + label: '明山区' + }, + { + value: '210505', + label: '南芬区' + }, + { + value: '210521', + label: '本溪满族自治县' + }, + { + value: '210522', + label: '桓仁满族自治县' + } + ] + }, + { + value: '210600', + label: '丹东市', + children: [ + { + value: '210602', + label: '元宝区' + }, + { + value: '210603', + label: '振兴区' + }, + { + value: '210604', + label: '振安区' + }, + { + value: '210624', + label: '宽甸满族自治县' + }, + { + value: '210681', + label: '东港市' + }, + { + value: '210682', + label: '凤城市' + } + ] + }, + { + value: '210700', + label: '锦州市', + children: [ + { + value: '210702', + label: '古塔区' + }, + { + value: '210703', + label: '凌河区' + }, + { + value: '210711', + label: '太和区' + }, + { + value: '210726', + label: '黑山县' + }, + { + value: '210727', + label: '义县' + }, + { + value: '210781', + label: '凌海市' + }, + { + value: '210782', + label: '北镇市' + } + ] + }, + { + value: '210800', + label: '营口市', + children: [ + { + value: '210802', + label: '站前区' + }, + { + value: '210803', + label: '西市区' + }, + { + value: '210804', + label: '鲅鱼圈区' + }, + { + value: '210811', + label: '老边区' + }, + { + value: '210881', + label: '盖州市' + }, + { + value: '210882', + label: '大石桥市' + } + ] + }, + { + value: '210900', + label: '阜新市', + children: [ + { + value: '210902', + label: '海州区' + }, + { + value: '210903', + label: '新邱区' + }, + { + value: '210904', + label: '太平区' + }, + { + value: '210905', + label: '清河门区' + }, + { + value: '210911', + label: '细河区' + }, + { + value: '210921', + label: '阜新蒙古族自治县' + }, + { + value: '210922', + label: '彰武县' + } + ] + }, + { + value: '211000', + label: '辽阳市', + children: [ + { + value: '211002', + label: '白塔区' + }, + { + value: '211003', + label: '文圣区' + }, + { + value: '211004', + label: '宏伟区' + }, + { + value: '211005', + label: '弓长岭区' + }, + { + value: '211011', + label: '太子河区' + }, + { + value: '211021', + label: '辽阳县' + }, + { + value: '211081', + label: '灯塔市' + } + ] + }, + { + value: '211100', + label: '盘锦市', + children: [ + { + value: '211102', + label: '双台子区' + }, + { + value: '211103', + label: '兴隆台区' + }, + { + value: '211121', + label: '大洼县' + }, + { + value: '211122', + label: '盘山县' + } + ] + }, + { + value: '211200', + label: '铁岭市', + children: [ + { + value: '211202', + label: '银州区' + }, + { + value: '211204', + label: '清河区' + }, + { + value: '211221', + label: '铁岭县' + }, + { + value: '211223', + label: '西丰县' + }, + { + value: '211224', + label: '昌图县' + }, + { + value: '211281', + label: '调兵山市' + }, + { + value: '211282', + label: '开原市' + } + ] + }, + { + value: '211300', + label: '朝阳市', + children: [ + { + value: '211302', + label: '双塔区' + }, + { + value: '211303', + label: '龙城区' + }, + { + value: '211321', + label: '朝阳县' + }, + { + value: '211322', + label: '建平县' + }, + { + value: '211324', + label: '喀喇沁左翼蒙古族自治县' + }, + { + value: '211381', + label: '北票市' + }, + { + value: '211382', + label: '凌源市' + } + ] + }, + { + value: '211400', + label: '葫芦岛市', + children: [ + { + value: '211402', + label: '连山区' + }, + { + value: '211403', + label: '龙港区' + }, + { + value: '211404', + label: '南票区' + }, + { + value: '211421', + label: '绥中县' + }, + { + value: '211422', + label: '建昌县' + }, + { + value: '211481', + label: '兴城市' + } + ] + } + ] + }, + { + label: '吉林省', + value: '220000', + children: [ + { + value: '220100', + label: '长春市', + children: [ + { + value: '220102', + label: '南关区' + }, + { + value: '220103', + label: '宽城区' + }, + { + value: '220104', + label: '朝阳区' + }, + { + value: '220105', + label: '二道区' + }, + { + value: '220106', + label: '绿园区' + }, + { + value: '220112', + label: '双阳区' + }, + { + value: '220122', + label: '农安县' + }, + { + value: '220181', + label: '九台市' + }, + { + value: '220182', + label: '榆树市' + }, + { + value: '220183', + label: '德惠市' + }, + { + value: '220184', + label: '高新技术产业开发区' + }, + { + value: '220185', + label: '汽车产业开发区' + }, + { + value: '220186', + label: '经济技术开发区' + }, + { + value: '220187', + label: '净月旅游开发区' + } + ] + }, + { + value: '220200', + label: '吉林市', + children: [ + { + value: '220202', + label: '昌邑区' + }, + { + value: '220203', + label: '龙潭区' + }, + { + value: '220204', + label: '船营区' + }, + { + value: '220211', + label: '丰满区' + }, + { + value: '220221', + label: '永吉县' + }, + { + value: '220281', + label: '蛟河市' + }, + { + value: '220282', + label: '桦甸市' + }, + { + value: '220283', + label: '舒兰市' + }, + { + value: '220284', + label: '磐石市' + } + ] + }, + { + value: '220300', + label: '四平市', + children: [ + { + value: '220302', + label: '铁西区' + }, + { + value: '220303', + label: '铁东区' + }, + { + value: '220322', + label: '梨树县' + }, + { + value: '220323', + label: '伊通满族自治县' + }, + { + value: '220381', + label: '公主岭市' + }, + { + value: '220382', + label: '双辽市' + } + ] + }, + { + value: '220400', + label: '辽源市', + children: [ + { + value: '220402', + label: '龙山区' + }, + { + value: '220403', + label: '西安区' + }, + { + value: '220421', + label: '东丰县' + }, + { + value: '220422', + label: '东辽县' + } + ] + }, + { + value: '220500', + label: '通化市', + children: [ + { + value: '220502', + label: '东昌区' + }, + { + value: '220503', + label: '二道江区' + }, + { + value: '220521', + label: '通化县' + }, + { + value: '220523', + label: '辉南县' + }, + { + value: '220524', + label: '柳河县' + }, + { + value: '220581', + label: '梅河口市' + }, + { + value: '220582', + label: '集安市' + } + ] + }, + { + value: '220600', + label: '白山市', + children: [ + { + value: '220602', + label: '八道江区' + }, + { + value: '220621', + label: '抚松县' + }, + { + value: '220622', + label: '靖宇县' + }, + { + value: '220623', + label: '长白朝鲜族自治县' + }, + { + value: '220625', + label: '江源市' + }, + { + value: '220681', + label: '临江市' + } + ] + }, + { + value: '220700', + label: '松原市', + children: [ + { + value: '220702', + label: '宁江区' + }, + { + value: '220721', + label: '前郭尔罗斯蒙古族自治县' + }, + { + value: '220722', + label: '长岭县' + }, + { + value: '220723', + label: '乾安县' + }, + { + value: '220724', + label: '扶余县' + } + ] + }, + { + value: '220800', + label: '白城市', + children: [ + { + value: '220802', + label: '洮北区' + }, + { + value: '220821', + label: '镇赉县' + }, + { + value: '220822', + label: '通榆县' + }, + { + value: '220881', + label: '洮南市' + }, + { + value: '220882', + label: '大安市' + } + ] + }, + { + value: '222400', + label: '延边朝鲜族自治州', + children: [ + { + value: '222401', + label: '延吉市' + }, + { + value: '222402', + label: '图们市' + }, + { + value: '222403', + label: '敦化市' + }, + { + value: '222404', + label: '珲春市' + }, + { + value: '222405', + label: '龙井市' + }, + { + value: '222406', + label: '和龙市' + }, + { + value: '222424', + label: '汪清县' + }, + { + value: '222426', + label: '安图县' + } + ] + } + ] + }, + { + label: '黑龙江省', + value: '230000', + children: [ + { + value: '230100', + label: '哈尔滨市', + children: [ + { + value: '230102', + label: '道里区' + }, + { + value: '230103', + label: '南岗区' + }, + { + value: '230104', + label: '道外区' + }, + { + value: '230106', + label: '香坊区' + }, + { + value: '230107', + label: '动力区' + }, + { + value: '230108', + label: '平房区' + }, + { + value: '230109', + label: '松北区' + }, + { + value: '230111', + label: '呼兰区' + }, + { + value: '230123', + label: '依兰县' + }, + { + value: '230124', + label: '方正县' + }, + { + value: '230125', + label: '宾县' + }, + { + value: '230126', + label: '巴彦县' + }, + { + value: '230127', + label: '木兰县' + }, + { + value: '230128', + label: '通河县' + }, + { + value: '230129', + label: '延寿县' + }, + { + value: '230181', + label: '阿城市' + }, + { + value: '230182', + label: '双城市' + }, + { + value: '230183', + label: '尚志市' + }, + { + value: '230184', + label: '五常市' + }, + { + value: '230185', + label: '阿城市' + } + ] + }, + { + value: '230200', + label: '齐齐哈尔市', + children: [ + { + value: '230202', + label: '龙沙区' + }, + { + value: '230203', + label: '建华区' + }, + { + value: '230204', + label: '铁锋区' + }, + { + value: '230205', + label: '昂昂溪区' + }, + { + value: '230206', + label: '富拉尔基区' + }, + { + value: '230207', + label: '碾子山区' + }, + { + value: '230208', + label: '梅里斯达斡尔族区' + }, + { + value: '230221', + label: '龙江县' + }, + { + value: '230223', + label: '依安县' + }, + { + value: '230224', + label: '泰来县' + }, + { + value: '230225', + label: '甘南县' + }, + { + value: '230227', + label: '富裕县' + }, + { + value: '230229', + label: '克山县' + }, + { + value: '230230', + label: '克东县' + }, + { + value: '230231', + label: '拜泉县' + }, + { + value: '230281', + label: '讷河市' + } + ] + }, + { + value: '230300', + label: '鸡西市', + children: [ + { + value: '230302', + label: '鸡冠区' + }, + { + value: '230303', + label: '恒山区' + }, + { + value: '230304', + label: '滴道区' + }, + { + value: '230305', + label: '梨树区' + }, + { + value: '230306', + label: '城子河区' + }, + { + value: '230307', + label: '麻山区' + }, + { + value: '230321', + label: '鸡东县' + }, + { + value: '230381', + label: '虎林市' + }, + { + value: '230382', + label: '密山市' + } + ] + }, + { + value: '230400', + label: '鹤岗市', + children: [ + { + value: '230402', + label: '向阳区' + }, + { + value: '230403', + label: '工农区' + }, + { + value: '230404', + label: '南山区' + }, + { + value: '230405', + label: '兴安区' + }, + { + value: '230406', + label: '东山区' + }, + { + value: '230407', + label: '兴山区' + }, + { + value: '230421', + label: '萝北县' + }, + { + value: '230422', + label: '绥滨县' + } + ] + }, + { + value: '230500', + label: '双鸭山市', + children: [ + { + value: '230502', + label: '尖山区' + }, + { + value: '230503', + label: '岭东区' + }, + { + value: '230505', + label: '四方台区' + }, + { + value: '230506', + label: '宝山区' + }, + { + value: '230521', + label: '集贤县' + }, + { + value: '230522', + label: '友谊县' + }, + { + value: '230523', + label: '宝清县' + }, + { + value: '230524', + label: '饶河县' + } + ] + }, + { + value: '230600', + label: '大庆市', + children: [ + { + value: '230602', + label: '萨尔图区' + }, + { + value: '230603', + label: '龙凤区' + }, + { + value: '230604', + label: '让胡路区' + }, + { + value: '230605', + label: '红岗区' + }, + { + value: '230606', + label: '大同区' + }, + { + value: '230621', + label: '肇州县' + }, + { + value: '230622', + label: '肇源县' + }, + { + value: '230623', + label: '林甸县' + }, + { + value: '230624', + label: '杜尔伯特蒙古族自治县' + } + ] + }, + { + value: '230700', + label: '伊春市', + children: [ + { + value: '230702', + label: '伊春区' + }, + { + value: '230703', + label: '南岔区' + }, + { + value: '230704', + label: '友好区' + }, + { + value: '230705', + label: '西林区' + }, + { + value: '230706', + label: '翠峦区' + }, + { + value: '230707', + label: '新青区' + }, + { + value: '230708', + label: '美溪区' + }, + { + value: '230709', + label: '金山屯区' + }, + { + value: '230710', + label: '五营区' + }, + { + value: '230711', + label: '乌马河区' + }, + { + value: '230712', + label: '汤旺河区' + }, + { + value: '230713', + label: '带岭区' + }, + { + value: '230714', + label: '乌伊岭区' + }, + { + value: '230715', + label: '红星区' + }, + { + value: '230716', + label: '上甘岭区' + }, + { + value: '230722', + label: '嘉荫县' + }, + { + value: '230781', + label: '铁力市' + } + ] + }, + { + value: '230800', + label: '佳木斯市', + children: [ + { + value: '230802', + label: '永红区' + }, + { + value: '230803', + label: '向阳区' + }, + { + value: '230804', + label: '前进区' + }, + { + value: '230805', + label: '东风区' + }, + { + value: '230811', + label: '郊区' + }, + { + value: '230822', + label: '桦南县' + }, + { + value: '230826', + label: '桦川县' + }, + { + value: '230828', + label: '汤原县' + }, + { + value: '230833', + label: '抚远县' + }, + { + value: '230881', + label: '同江市' + }, + { + value: '230882', + label: '富锦市' + } + ] + }, + { + value: '230900', + label: '七台河市', + children: [ + { + value: '230902', + label: '新兴区' + }, + { + value: '230903', + label: '桃山区' + }, + { + value: '230904', + label: '茄子河区' + }, + { + value: '230921', + label: '勃利县' + } + ] + }, + { + value: '231000', + label: '牡丹江市', + children: [ + { + value: '231002', + label: '东安区' + }, + { + value: '231003', + label: '阳明区' + }, + { + value: '231004', + label: '爱民区' + }, + { + value: '231005', + label: '西安区' + }, + { + value: '231024', + label: '东宁县' + }, + { + value: '231025', + label: '林口县' + }, + { + value: '231081', + label: '绥芬河市' + }, + { + value: '231083', + label: '海林市' + }, + { + value: '231084', + label: '宁安市' + }, + { + value: '231085', + label: '穆棱市' + } + ] + }, + { + value: '231100', + label: '黑河市', + children: [ + { + value: '231102', + label: '爱辉区' + }, + { + value: '231121', + label: '嫩江县' + }, + { + value: '231123', + label: '逊克县' + }, + { + value: '231124', + label: '孙吴县' + }, + { + value: '231181', + label: '北安市' + }, + { + value: '231182', + label: '五大连池市' + } + ] + }, + { + value: '231200', + label: '绥化市', + children: [ + { + value: '231202', + label: '北林区' + }, + { + value: '231221', + label: '望奎县' + }, + { + value: '231222', + label: '兰西县' + }, + { + value: '231223', + label: '青冈县' + }, + { + value: '231224', + label: '庆安县' + }, + { + value: '231225', + label: '明水县' + }, + { + value: '231226', + label: '绥棱县' + }, + { + value: '231281', + label: '安达市' + }, + { + value: '231282', + label: '肇东市' + }, + { + value: '231283', + label: '海伦市' + } + ] + }, + { + value: '232700', + label: '大兴安岭地区', + children: [ + { + value: '232721', + label: '呼玛县' + }, + { + value: '232722', + label: '塔河县' + }, + { + value: '232723', + label: '漠河县' + }, + { + value: '232724', + label: '加格达奇区' + } + ] + } + ] + }, + { + label: '上海', + value: '310000', + children: [ + { + value: '310100', + label: '上海市', + children: [ + { + value: '310101', + label: '黄浦区' + }, + { + value: '310103', + label: '卢湾区' + }, + { + value: '310104', + label: '徐汇区' + }, + { + value: '310105', + label: '长宁区' + }, + { + value: '310106', + label: '静安区' + }, + { + value: '310107', + label: '普陀区' + }, + { + value: '310108', + label: '闸北区' + }, + { + value: '310109', + label: '虹口区' + }, + { + value: '310110', + label: '杨浦区' + }, + { + value: '310112', + label: '闵行区' + }, + { + value: '310113', + label: '宝山区' + }, + { + value: '310114', + label: '嘉定区' + }, + { + value: '310115', + label: '浦东新区' + }, + { + value: '310116', + label: '金山区' + }, + { + value: '310117', + label: '松江区' + }, + { + value: '310118', + label: '青浦区' + }, + { + value: '310119', + label: '南汇区' + }, + { + value: '310120', + label: '奉贤区' + }, + { + value: '310152', + label: '川沙区' + }, + { + value: '310230', + label: '崇明县' + } + ] + } + ] + }, + { + label: '江苏省', + value: '320000', + children: [ + { + value: '320100', + label: '南京市', + children: [ + { + value: '320102', + label: '玄武区' + }, + { + value: '320103', + label: '白下区' + }, + { + value: '320104', + label: '秦淮区' + }, + { + value: '320105', + label: '建邺区' + }, + { + value: '320106', + label: '鼓楼区' + }, + { + value: '320107', + label: '下关区' + }, + { + value: '320111', + label: '浦口区' + }, + { + value: '320113', + label: '栖霞区' + }, + { + value: '320114', + label: '雨花台区' + }, + { + value: '320115', + label: '江宁区' + }, + { + value: '320116', + label: '六合区' + }, + { + value: '320124', + label: '溧水县' + }, + { + value: '320125', + label: '高淳县' + } + ] + }, + { + value: '320200', + label: '无锡市', + children: [ + { + value: '320202', + label: '崇安区' + }, + { + value: '320203', + label: '南长区' + }, + { + value: '320204', + label: '北塘区' + }, + { + value: '320205', + label: '锡山区' + }, + { + value: '320206', + label: '惠山区' + }, + { + value: '320211', + label: '滨湖区' + }, + { + value: '320281', + label: '江阴市' + }, + { + value: '320282', + label: '宜兴市' + }, + { + value: '320296', + label: '新区' + } + ] + }, + { + value: '320300', + label: '徐州市', + children: [ + { + value: '320302', + label: '鼓楼区' + }, + { + value: '320303', + label: '云龙区' + }, + { + value: '320304', + label: '九里区' + }, + { + value: '320305', + label: '贾汪区' + }, + { + value: '320311', + label: '泉山区' + }, + { + value: '320321', + label: '丰县' + }, + { + value: '320322', + label: '沛县' + }, + { + value: '320323', + label: '铜山县' + }, + { + value: '320324', + label: '睢宁县' + }, + { + value: '320381', + label: '新沂市' + }, + { + value: '320382', + label: '邳州市' + } + ] + }, + { + value: '320400', + label: '常州市', + children: [ + { + value: '320402', + label: '天宁区' + }, + { + value: '320404', + label: '钟楼区' + }, + { + value: '320405', + label: '戚墅堰区' + }, + { + value: '320411', + label: '新北区' + }, + { + value: '320412', + label: '武进区' + }, + { + value: '320481', + label: '溧阳市' + }, + { + value: '320482', + label: '金坛市' + } + ] + }, + { + value: '320500', + label: '苏州市', + children: [ + { + value: '320502', + label: '沧浪区' + }, + { + value: '320503', + label: '平江区' + }, + { + value: '320504', + label: '金阊区' + }, + { + value: '320505', + label: '虎丘区' + }, + { + value: '320506', + label: '吴中区' + }, + { + value: '320507', + label: '相城区' + }, + { + value: '320581', + label: '常熟市' + }, + { + value: '320582', + label: '张家港市' + }, + { + value: '320583', + label: '昆山市' + }, + { + value: '320584', + label: '吴江市' + }, + { + value: '320585', + label: '太仓市' + }, + { + value: '320594', + label: '新区' + }, + { + value: '320595', + label: '园区' + } + ] + }, + { + value: '320600', + label: '南通市', + children: [ + { + value: '320602', + label: '崇川区' + }, + { + value: '320611', + label: '港闸区' + }, + { + value: '320612', + label: '通州区' + }, + { + value: '320621', + label: '海安县' + }, + { + value: '320623', + label: '如东县' + }, + { + value: '320681', + label: '启东市' + }, + { + value: '320682', + label: '如皋市' + }, + { + value: '320683', + label: '通州市' + }, + { + value: '320684', + label: '海门市' + }, + { + value: '320693', + label: '开发区' + } + ] + }, + { + value: '320700', + label: '连云港市', + children: [ + { + value: '320703', + label: '连云区' + }, + { + value: '320705', + label: '新浦区' + }, + { + value: '320706', + label: '海州区' + }, + { + value: '320721', + label: '赣榆县' + }, + { + value: '320722', + label: '东海县' + }, + { + value: '320723', + label: '灌云县' + }, + { + value: '320724', + label: '灌南县' + } + ] + }, + { + value: '320800', + label: '淮安市', + children: [ + { + value: '320802', + label: '清河区' + }, + { + value: '320803', + label: '楚州区' + }, + { + value: '320804', + label: '淮阴区' + }, + { + value: '320811', + label: '清浦区' + }, + { + value: '320826', + label: '涟水县' + }, + { + value: '320829', + label: '洪泽县' + }, + { + value: '320830', + label: '盱眙县' + }, + { + value: '320831', + label: '金湖县' + } + ] + }, + { + value: '320900', + label: '盐城市', + children: [ + { + value: '320902', + label: '亭湖区' + }, + { + value: '320903', + label: '盐都区' + }, + { + value: '320921', + label: '响水县' + }, + { + value: '320922', + label: '滨海县' + }, + { + value: '320923', + label: '阜宁县' + }, + { + value: '320924', + label: '射阳县' + }, + { + value: '320925', + label: '建湖县' + }, + { + value: '320981', + label: '东台市' + }, + { + value: '320982', + label: '大丰市' + } + ] + }, + { + value: '321000', + label: '扬州市', + children: [ + { + value: '321002', + label: '广陵区' + }, + { + value: '321003', + label: '邗江区' + }, + { + value: '321011', + label: '维扬区' + }, + { + value: '321023', + label: '宝应县' + }, + { + value: '321081', + label: '仪征市' + }, + { + value: '321084', + label: '高邮市' + }, + { + value: '321088', + label: '江都市' + }, + { + value: '321092', + label: '经济开发区' + } + ] + }, + { + value: '321100', + label: '镇江市', + children: [ + { + value: '321102', + label: '京口区' + }, + { + value: '321111', + label: '润州区' + }, + { + value: '321112', + label: '丹徒区' + }, + { + value: '321181', + label: '丹阳市' + }, + { + value: '321182', + label: '扬中市' + }, + { + value: '321183', + label: '句容市' + } + ] + }, + { + value: '321200', + label: '泰州市', + children: [ + { + value: '321202', + label: '海陵区' + }, + { + value: '321203', + label: '高港区' + }, + { + value: '321281', + label: '兴化市' + }, + { + value: '321282', + label: '靖江市' + }, + { + value: '321283', + label: '泰兴市' + }, + { + value: '321284', + label: '姜堰市' + } + ] + }, + { + value: '321300', + label: '宿迁市', + children: [ + { + value: '321302', + label: '宿城区' + }, + { + value: '321311', + label: '宿豫区' + }, + { + value: '321322', + label: '沭阳县' + }, + { + value: '321323', + label: '泗阳县' + }, + { + value: '321324', + label: '泗洪县' + } + ] + } + ] + }, + { + label: '浙江省', + value: '330000', + children: [ + { + value: '330100', + label: '杭州市', + children: [ + { + value: '330102', + label: '上城区' + }, + { + value: '330103', + label: '下城区' + }, + { + value: '330104', + label: '江干区' + }, + { + value: '330105', + label: '拱墅区' + }, + { + value: '330106', + label: '西湖区' + }, + { + value: '330108', + label: '滨江区' + }, + { + value: '330109', + label: '萧山区' + }, + { + value: '330110', + label: '余杭区' + }, + { + value: '330122', + label: '桐庐县' + }, + { + value: '330127', + label: '淳安县' + }, + { + value: '330182', + label: '建德市' + }, + { + value: '330183', + label: '富阳市' + }, + { + value: '330185', + label: '临安市' + } + ] + }, + { + value: '330200', + label: '宁波市', + children: [ + { + value: '330203', + label: '海曙区' + }, + { + value: '330204', + label: '江东区' + }, + { + value: '330205', + label: '江北区' + }, + { + value: '330206', + label: '北仑区' + }, + { + value: '330211', + label: '镇海区' + }, + { + value: '330212', + label: '鄞州区' + }, + { + value: '330225', + label: '象山县' + }, + { + value: '330226', + label: '宁海县' + }, + { + value: '330281', + label: '余姚市' + }, + { + value: '330282', + label: '慈溪市' + }, + { + value: '330283', + label: '奉化市' + } + ] + }, + { + value: '330300', + label: '温州市', + children: [ + { + value: '330302', + label: '鹿城区' + }, + { + value: '330303', + label: '龙湾区' + }, + { + value: '330304', + label: '瓯海区' + }, + { + value: '330322', + label: '洞头县' + }, + { + value: '330324', + label: '永嘉县' + }, + { + value: '330326', + label: '平阳县' + }, + { + value: '330327', + label: '苍南县' + }, + { + value: '330328', + label: '文成县' + }, + { + value: '330329', + label: '泰顺县' + }, + { + value: '330381', + label: '瑞安市' + }, + { + value: '330382', + label: '乐清市' + } + ] + }, + { + value: '330400', + label: '嘉兴市', + children: [ + { + value: '330402', + label: '南湖区' + }, + { + value: '330411', + label: '秀洲区' + }, + { + value: '330421', + label: '嘉善县' + }, + { + value: '330424', + label: '海盐县' + }, + { + value: '330481', + label: '海宁市' + }, + { + value: '330482', + label: '平湖市' + }, + { + value: '330483', + label: '桐乡市' + } + ] + }, + { + value: '330500', + label: '湖州市', + children: [ + { + value: '330502', + label: '吴兴区' + }, + { + value: '330503', + label: '南浔区' + }, + { + value: '330521', + label: '德清县' + }, + { + value: '330522', + label: '长兴县' + }, + { + value: '330523', + label: '安吉县' + } + ] + }, + { + value: '330600', + label: '绍兴市', + children: [ + { + value: '330602', + label: '越城区' + }, + { + value: '330621', + label: '绍兴县' + }, + { + value: '330624', + label: '新昌县' + }, + { + value: '330681', + label: '诸暨市' + }, + { + value: '330682', + label: '上虞市' + }, + { + value: '330683', + label: '嵊州市' + } + ] + }, + { + value: '330700', + label: '金华市', + children: [ + { + value: '330702', + label: '婺城区' + }, + { + value: '330703', + label: '金东区' + }, + { + value: '330723', + label: '武义县' + }, + { + value: '330726', + label: '浦江县' + }, + { + value: '330727', + label: '磐安县' + }, + { + value: '330781', + label: '兰溪市' + }, + { + value: '330782', + label: '义乌市' + }, + { + value: '330783', + label: '东阳市' + }, + { + value: '330784', + label: '永康市' + } + ] + }, + { + value: '330800', + label: '衢州市', + children: [ + { + value: '330802', + label: '柯城区' + }, + { + value: '330803', + label: '衢江区' + }, + { + value: '330822', + label: '常山县' + }, + { + value: '330824', + label: '开化县' + }, + { + value: '330825', + label: '龙游县' + }, + { + value: '330881', + label: '江山市' + } + ] + }, + { + value: '330900', + label: '舟山市', + children: [ + { + value: '330902', + label: '定海区' + }, + { + value: '330903', + label: '普陀区' + }, + { + value: '330921', + label: '岱山县' + }, + { + value: '330922', + label: '嵊泗县' + } + ] + }, + { + value: '331000', + label: '台州市', + children: [ + { + value: '331002', + label: '椒江区' + }, + { + value: '331003', + label: '黄岩区' + }, + { + value: '331004', + label: '路桥区' + }, + { + value: '331021', + label: '玉环县' + }, + { + value: '331022', + label: '三门县' + }, + { + value: '331023', + label: '天台县' + }, + { + value: '331024', + label: '仙居县' + }, + { + value: '331081', + label: '温岭市' + }, + { + value: '331082', + label: '临海市' + } + ] + }, + { + value: '331100', + label: '丽水市', + children: [ + { + value: '331102', + label: '莲都区' + }, + { + value: '331121', + label: '青田县' + }, + { + value: '331122', + label: '缙云县' + }, + { + value: '331123', + label: '遂昌县' + }, + { + value: '331124', + label: '松阳县' + }, + { + value: '331125', + label: '云和县' + }, + { + value: '331126', + label: '庆元县' + }, + { + value: '331127', + label: '景宁畲族自治县' + }, + { + value: '331181', + label: '龙泉市' + } + ] + } + ] + }, + { + label: '安徽省', + value: '340000', + children: [ + { + value: '340100', + label: '合肥市', + children: [ + { + value: '340102', + label: '瑶海区' + }, + { + value: '340103', + label: '庐阳区' + }, + { + value: '340104', + label: '蜀山区' + }, + { + value: '340111', + label: '包河区' + }, + { + value: '340121', + label: '长丰县' + }, + { + value: '340122', + label: '肥东县' + }, + { + value: '340123', + label: '肥西县' + }, + { + value: '340151', + label: '高新区' + }, + { + value: '340191', + label: '中区' + }, + { + value: '341400', + label: '巢湖市' + }, + { + value: '341402', + label: '居巢区' + }, + { + value: '341421', + label: '庐江县' + } + ] + }, + { + value: '340200', + label: '芜湖市', + children: [ + { + value: '340202', + label: '镜湖区' + }, + { + value: '340203', + label: '弋江区' + }, + { + value: '340207', + label: '鸠江区' + }, + { + value: '340208', + label: '三山区' + }, + { + value: '340221', + label: '芜湖县' + }, + { + value: '340222', + label: '繁昌县' + }, + { + value: '340223', + label: '南陵县' + }, + { + value: '341422', + label: '无为县' + } + ] + }, + { + value: '340300', + label: '蚌埠市', + children: [ + { + value: '340302', + label: '龙子湖区' + }, + { + value: '340303', + label: '蚌山区' + }, + { + value: '340304', + label: '禹会区' + }, + { + value: '340311', + label: '淮上区' + }, + { + value: '340321', + label: '怀远县' + }, + { + value: '340322', + label: '五河县' + }, + { + value: '340323', + label: '固镇县' + } + ] + }, + { + value: '340400', + label: '淮南市', + children: [ + { + value: '340402', + label: '大通区' + }, + { + value: '340403', + label: '田家庵区' + }, + { + value: '340404', + label: '谢家集区' + }, + { + value: '340405', + label: '八公山区' + }, + { + value: '340406', + label: '潘集区' + }, + { + value: '340421', + label: '凤台县' + } + ] + }, + { + value: '340500', + label: '马鞍山市', + children: [ + { + value: '340502', + label: '金家庄区' + }, + { + value: '340503', + label: '花山区' + }, + { + value: '340504', + label: '雨山区' + }, + { + value: '340521', + label: '当涂县' + }, + { + value: '341423', + label: '含山县' + }, + { + value: '341424', + label: '和县' + } + ] + }, + { + value: '340600', + label: '淮北市', + children: [ + { + value: '340602', + label: '杜集区' + }, + { + value: '340603', + label: '相山区' + }, + { + value: '340604', + label: '烈山区' + }, + { + value: '340621', + label: '濉溪县' + } + ] + }, + { + value: '340700', + label: '铜陵市', + children: [ + { + value: '340702', + label: '铜官山区' + }, + { + value: '340703', + label: '狮子山区' + }, + { + value: '340711', + label: '郊区' + }, + { + value: '340721', + label: '铜陵县' + } + ] + }, + { + value: '340800', + label: '安庆市', + children: [ + { + value: '340802', + label: '迎江区' + }, + { + value: '340803', + label: '大观区' + }, + { + value: '340811', + label: '宜秀区' + }, + { + value: '340822', + label: '怀宁县' + }, + { + value: '340823', + label: '枞阳县' + }, + { + value: '340824', + label: '潜山县' + }, + { + value: '340825', + label: '太湖县' + }, + { + value: '340826', + label: '宿松县' + }, + { + value: '340827', + label: '望江县' + }, + { + value: '340828', + label: '岳西县' + }, + { + value: '340881', + label: '桐城市' + } + ] + }, + { + value: '341000', + label: '黄山市', + children: [ + { + value: '341002', + label: '屯溪区' + }, + { + value: '341003', + label: '黄山区' + }, + { + value: '341004', + label: '徽州区' + }, + { + value: '341021', + label: '歙县' + }, + { + value: '341022', + label: '休宁县' + }, + { + value: '341023', + label: '黟县' + }, + { + value: '341024', + label: '祁门县' + } + ] + }, + { + value: '341100', + label: '滁州市', + children: [ + { + value: '341102', + label: '琅琊区' + }, + { + value: '341103', + label: '南谯区' + }, + { + value: '341122', + label: '来安县' + }, + { + value: '341124', + label: '全椒县' + }, + { + value: '341125', + label: '定远县' + }, + { + value: '341126', + label: '凤阳县' + }, + { + value: '341181', + label: '天长市' + }, + { + value: '341182', + label: '明光市' + } + ] + }, + { + value: '341200', + label: '阜阳市', + children: [ + { + value: '341202', + label: '颍州区' + }, + { + value: '341203', + label: '颍东区' + }, + { + value: '341204', + label: '颍泉区' + }, + { + value: '341221', + label: '临泉县' + }, + { + value: '341222', + label: '太和县' + }, + { + value: '341225', + label: '阜南县' + }, + { + value: '341226', + label: '颍上县' + }, + { + value: '341282', + label: '界首市' + } + ] + }, + { + value: '341300', + label: '宿州市', + children: [ + { + value: '341302', + label: '埇桥区' + }, + { + value: '341321', + label: '砀山县' + }, + { + value: '341322', + label: '萧县' + }, + { + value: '341323', + label: '灵璧县' + }, + { + value: '341324', + label: '泗县' + } + ] + }, + { + value: '341500', + label: '六安市', + children: [ + { + value: '341502', + label: '金安区' + }, + { + value: '341503', + label: '裕安区' + }, + { + value: '341521', + label: '寿县' + }, + { + value: '341522', + label: '霍邱县' + }, + { + value: '341523', + label: '舒城县' + }, + { + value: '341524', + label: '金寨县' + }, + { + value: '341525', + label: '霍山县' + } + ] + }, + { + value: '341600', + label: '亳州市', + children: [ + { + value: '341602', + label: '谯城区' + }, + { + value: '341621', + label: '涡阳县' + }, + { + value: '341622', + label: '蒙城县' + }, + { + value: '341623', + label: '利辛县' + } + ] + }, + { + value: '341700', + label: '池州市', + children: [ + { + value: '341702', + label: '贵池区' + }, + { + value: '341721', + label: '东至县' + }, + { + value: '341722', + label: '石台县' + }, + { + value: '341723', + label: '青阳县' + } + ] + }, + { + value: '341800', + label: '宣城市', + children: [ + { + value: '341802', + label: '宣州区' + }, + { + value: '341821', + label: '郎溪县' + }, + { + value: '341822', + label: '广德县' + }, + { + value: '341823', + label: '泾县' + }, + { + value: '341824', + label: '绩溪县' + }, + { + value: '341825', + label: '旌德县' + }, + { + value: '341881', + label: '宁国市' + } + ] + } + ] + }, + { + label: '福建省', + value: '350000', + children: [ + { + value: '350100', + label: '福州市', + children: [ + { + value: '350102', + label: '鼓楼区' + }, + { + value: '350103', + label: '台江区' + }, + { + value: '350104', + label: '仓山区' + }, + { + value: '350105', + label: '马尾区' + }, + { + value: '350111', + label: '晋安区' + }, + { + value: '350121', + label: '闽侯县' + }, + { + value: '350122', + label: '连江县' + }, + { + value: '350123', + label: '罗源县' + }, + { + value: '350124', + label: '闽清县' + }, + { + value: '350125', + label: '永泰县' + }, + { + value: '350128', + label: '平潭县' + }, + { + value: '350181', + label: '福清市' + }, + { + value: '350182', + label: '长乐市' + } + ] + }, + { + value: '350200', + label: '厦门市', + children: [ + { + value: '350203', + label: '思明区' + }, + { + value: '350205', + label: '海沧区' + }, + { + value: '350206', + label: '湖里区' + }, + { + value: '350211', + label: '集美区' + }, + { + value: '350212', + label: '同安区' + }, + { + value: '350213', + label: '翔安区' + } + ] + }, + { + value: '350300', + label: '莆田市', + children: [ + { + value: '350302', + label: '城厢区' + }, + { + value: '350303', + label: '涵江区' + }, + { + value: '350304', + label: '荔城区' + }, + { + value: '350305', + label: '秀屿区' + }, + { + value: '350322', + label: '仙游县' + } + ] + }, + { + value: '350400', + label: '三明市', + children: [ + { + value: '350402', + label: '梅列区' + }, + { + value: '350403', + label: '三元区' + }, + { + value: '350421', + label: '明溪县' + }, + { + value: '350423', + label: '清流县' + }, + { + value: '350424', + label: '宁化县' + }, + { + value: '350425', + label: '大田县' + }, + { + value: '350426', + label: '尤溪县' + }, + { + value: '350427', + label: '沙县' + }, + { + value: '350428', + label: '将乐县' + }, + { + value: '350429', + label: '泰宁县' + }, + { + value: '350430', + label: '建宁县' + }, + { + value: '350481', + label: '永安市' + } + ] + }, + { + value: '350500', + label: '泉州市', + children: [ + { + value: '350502', + label: '鲤城区' + }, + { + value: '350503', + label: '丰泽区' + }, + { + value: '350504', + label: '洛江区' + }, + { + value: '350505', + label: '泉港区' + }, + { + value: '350521', + label: '惠安县' + }, + { + value: '350524', + label: '安溪县' + }, + { + value: '350525', + label: '永春县' + }, + { + value: '350526', + label: '德化县' + }, + { + value: '350527', + label: '金门县' + }, + { + value: '350581', + label: '石狮市' + }, + { + value: '350582', + label: '晋江市' + }, + { + value: '350583', + label: '南安市' + } + ] + }, + { + value: '350600', + label: '漳州市', + children: [ + { + value: '350602', + label: '芗城区' + }, + { + value: '350603', + label: '龙文区' + }, + { + value: '350622', + label: '云霄县' + }, + { + value: '350623', + label: '漳浦县' + }, + { + value: '350624', + label: '诏安县' + }, + { + value: '350625', + label: '长泰县' + }, + { + value: '350626', + label: '东山县' + }, + { + value: '350627', + label: '南靖县' + }, + { + value: '350628', + label: '平和县' + }, + { + value: '350629', + label: '华安县' + }, + { + value: '350681', + label: '龙海市' + } + ] + }, + { + value: '350700', + label: '南平市', + children: [ + { + value: '350702', + label: '延平区' + }, + { + value: '350721', + label: '顺昌县' + }, + { + value: '350722', + label: '浦城县' + }, + { + value: '350723', + label: '光泽县' + }, + { + value: '350724', + label: '松溪县' + }, + { + value: '350725', + label: '政和县' + }, + { + value: '350781', + label: '邵武市' + }, + { + value: '350782', + label: '武夷山市' + }, + { + value: '350783', + label: '建瓯市' + }, + { + value: '350784', + label: '建阳市' + } + ] + }, + { + value: '350800', + label: '龙岩市', + children: [ + { + value: '350802', + label: '新罗区' + }, + { + value: '350821', + label: '长汀县' + }, + { + value: '350822', + label: '永定县' + }, + { + value: '350823', + label: '上杭县' + }, + { + value: '350824', + label: '武平县' + }, + { + value: '350825', + label: '连城县' + }, + { + value: '350881', + label: '漳平市' + } + ] + }, + { + value: '350900', + label: '宁德市', + children: [ + { + value: '350902', + label: '蕉城区' + }, + { + value: '350921', + label: '霞浦县' + }, + { + value: '350922', + label: '古田县' + }, + { + value: '350923', + label: '屏南县' + }, + { + value: '350924', + label: '寿宁县' + }, + { + value: '350925', + label: '周宁县' + }, + { + value: '350926', + label: '柘荣县' + }, + { + value: '350981', + label: '福安市' + }, + { + value: '350982', + label: '福鼎市' + } + ] + } + ] + }, + { + label: '江西省', + value: '360000', + children: [ + { + value: '360100', + label: '南昌市', + children: [ + { + value: '360102', + label: '东湖区' + }, + { + value: '360103', + label: '西湖区' + }, + { + value: '360104', + label: '青云谱区' + }, + { + value: '360105', + label: '湾里区' + }, + { + value: '360111', + label: '青山湖区' + }, + { + value: '360121', + label: '南昌县' + }, + { + value: '360122', + label: '新建县' + }, + { + value: '360123', + label: '安义县' + }, + { + value: '360124', + label: '进贤县' + }, + { + value: '360125', + label: '红谷滩新区' + }, + { + value: '360126', + label: '经济技术开发区' + }, + { + value: '360127', + label: '昌北区' + } + ] + }, + { + value: '360200', + label: '景德镇市', + children: [ + { + value: '360202', + label: '昌江区' + }, + { + value: '360203', + label: '珠山区' + }, + { + value: '360222', + label: '浮梁县' + }, + { + value: '360281', + label: '乐平市' + } + ] + }, + { + value: '360300', + label: '萍乡市', + children: [ + { + value: '360302', + label: '安源区' + }, + { + value: '360313', + label: '湘东区' + }, + { + value: '360321', + label: '莲花县' + }, + { + value: '360322', + label: '上栗县' + }, + { + value: '360323', + label: '芦溪县' + } + ] + }, + { + value: '360400', + label: '九江市', + children: [ + { + value: '360402', + label: '庐山区' + }, + { + value: '360403', + label: '浔阳区' + }, + { + value: '360421', + label: '九江县' + }, + { + value: '360423', + label: '武宁县' + }, + { + value: '360424', + label: '修水县' + }, + { + value: '360425', + label: '永修县' + }, + { + value: '360426', + label: '德安县' + }, + { + value: '360427', + label: '星子县' + }, + { + value: '360428', + label: '都昌县' + }, + { + value: '360429', + label: '湖口县' + }, + { + value: '360430', + label: '彭泽县' + }, + { + value: '360481', + label: '瑞昌市' + } + ] + }, + { + value: '360500', + label: '新余市', + children: [ + { + value: '360502', + label: '渝水区' + }, + { + value: '360521', + label: '分宜县' + } + ] + }, + { + value: '360600', + label: '鹰潭市', + children: [ + { + value: '360602', + label: '月湖区' + }, + { + value: '360622', + label: '余江县' + }, + { + value: '360681', + label: '贵溪市' + } + ] + }, + { + value: '360700', + label: '赣州市', + children: [ + { + value: '360702', + label: '章贡区' + }, + { + value: '360721', + label: '赣县' + }, + { + value: '360722', + label: '信丰县' + }, + { + value: '360723', + label: '大余县' + }, + { + value: '360724', + label: '上犹县' + }, + { + value: '360725', + label: '崇义县' + }, + { + value: '360726', + label: '安远县' + }, + { + value: '360727', + label: '龙南县' + }, + { + value: '360728', + label: '定南县' + }, + { + value: '360729', + label: '全南县' + }, + { + value: '360730', + label: '宁都县' + }, + { + value: '360731', + label: '于都县' + }, + { + value: '360732', + label: '兴国县' + }, + { + value: '360733', + label: '会昌县' + }, + { + value: '360734', + label: '寻乌县' + }, + { + value: '360735', + label: '石城县' + }, + { + value: '360751', + label: '黄金区' + }, + { + value: '360781', + label: '瑞金市' + }, + { + value: '360782', + label: '南康市' + } + ] + }, + { + value: '360800', + label: '吉安市', + children: [ + { + value: '360802', + label: '吉州区' + }, + { + value: '360803', + label: '青原区' + }, + { + value: '360821', + label: '吉安县' + }, + { + value: '360822', + label: '吉水县' + }, + { + value: '360823', + label: '峡江县' + }, + { + value: '360824', + label: '新干县' + }, + { + value: '360825', + label: '永丰县' + }, + { + value: '360826', + label: '泰和县' + }, + { + value: '360827', + label: '遂川县' + }, + { + value: '360828', + label: '万安县' + }, + { + value: '360829', + label: '安福县' + }, + { + value: '360830', + label: '永新县' + }, + { + value: '360881', + label: '井冈山市' + } + ] + }, + { + value: '360900', + label: '宜春市', + children: [ + { + value: '360902', + label: '袁州区' + }, + { + value: '360921', + label: '奉新县' + }, + { + value: '360922', + label: '万载县' + }, + { + value: '360923', + label: '上高县' + }, + { + value: '360924', + label: '宜丰县' + }, + { + value: '360925', + label: '靖安县' + }, + { + value: '360926', + label: '铜鼓县' + }, + { + value: '360981', + label: '丰城市' + }, + { + value: '360982', + label: '樟树市' + }, + { + value: '360983', + label: '高安市' + } + ] + }, + { + value: '361000', + label: '抚州市', + children: [ + { + value: '361002', + label: '临川区' + }, + { + value: '361021', + label: '南城县' + }, + { + value: '361022', + label: '黎川县' + }, + { + value: '361023', + label: '南丰县' + }, + { + value: '361024', + label: '崇仁县' + }, + { + value: '361025', + label: '乐安县' + }, + { + value: '361026', + label: '宜黄县' + }, + { + value: '361027', + label: '金溪县' + }, + { + value: '361028', + label: '资溪县' + }, + { + value: '361029', + label: '东乡县' + }, + { + value: '361030', + label: '广昌县' + } + ] + }, + { + value: '361100', + label: '上饶市', + children: [ + { + value: '361102', + label: '信州区' + }, + { + value: '361121', + label: '上饶县' + }, + { + value: '361122', + label: '广丰县' + }, + { + value: '361123', + label: '玉山县' + }, + { + value: '361124', + label: '铅山县' + }, + { + value: '361125', + label: '横峰县' + }, + { + value: '361126', + label: '弋阳县' + }, + { + value: '361127', + label: '余干县' + }, + { + value: '361128', + label: '鄱阳县' + }, + { + value: '361129', + label: '万年县' + }, + { + value: '361130', + label: '婺源县' + }, + { + value: '361181', + label: '德兴市' + } + ] + } + ] + }, + { + label: '山东省', + value: '370000', + children: [ + { + value: '370100', + label: '济南市', + children: [ + { + value: '370102', + label: '历下区' + }, + { + value: '370103', + label: '市中区' + }, + { + value: '370104', + label: '槐荫区' + }, + { + value: '370105', + label: '天桥区' + }, + { + value: '370112', + label: '历城区' + }, + { + value: '370113', + label: '长清区' + }, + { + value: '370124', + label: '平阴县' + }, + { + value: '370125', + label: '济阳县' + }, + { + value: '370126', + label: '商河县' + }, + { + value: '370181', + label: '章丘市' + } + ] + }, + { + value: '370200', + label: '青岛市', + children: [ + { + value: '370202', + label: '市南区' + }, + { + value: '370203', + label: '市北区' + }, + { + value: '370205', + label: '四方区' + }, + { + value: '370211', + label: '黄岛区' + }, + { + value: '370212', + label: '崂山区' + }, + { + value: '370213', + label: '李沧区' + }, + { + value: '370214', + label: '城阳区' + }, + { + value: '370251', + label: '开发区' + }, + { + value: '370281', + label: '胶州市' + }, + { + value: '370282', + label: '即墨市' + }, + { + value: '370283', + label: '平度市' + }, + { + value: '370284', + label: '胶南市' + }, + { + value: '370285', + label: '莱西市' + } + ] + }, + { + value: '370300', + label: '淄博市', + children: [ + { + value: '370302', + label: '淄川区' + }, + { + value: '370303', + label: '张店区' + }, + { + value: '370304', + label: '博山区' + }, + { + value: '370305', + label: '临淄区' + }, + { + value: '370306', + label: '周村区' + }, + { + value: '370321', + label: '桓台县' + }, + { + value: '370322', + label: '高青县' + }, + { + value: '370323', + label: '沂源县' + } + ] + }, + { + value: '370400', + label: '枣庄市', + children: [ + { + value: '370402', + label: '市中区' + }, + { + value: '370403', + label: '薛城区' + }, + { + value: '370404', + label: '峄城区' + }, + { + value: '370405', + label: '台儿庄区' + }, + { + value: '370406', + label: '山亭区' + }, + { + value: '370481', + label: '滕州市' + } + ] + }, + { + value: '370500', + label: '东营市', + children: [ + { + value: '370502', + label: '东营区' + }, + { + value: '370503', + label: '河口区' + }, + { + value: '370521', + label: '垦利县' + }, + { + value: '370522', + label: '利津县' + }, + { + value: '370523', + label: '广饶县' + }, + { + value: '370589', + label: '西城区' + }, + { + value: '370590', + label: '东城区' + } + ] + }, + { + value: '370600', + label: '烟台市', + children: [ + { + value: '370602', + label: '芝罘区' + }, + { + value: '370611', + label: '福山区' + }, + { + value: '370612', + label: '牟平区' + }, + { + value: '370613', + label: '莱山区' + }, + { + value: '370634', + label: '长岛县' + }, + { + value: '370681', + label: '龙口市' + }, + { + value: '370682', + label: '莱阳市' + }, + { + value: '370683', + label: '莱州市' + }, + { + value: '370684', + label: '蓬莱市' + }, + { + value: '370685', + label: '招远市' + }, + { + value: '370686', + label: '栖霞市' + }, + { + value: '370687', + label: '海阳市' + } + ] + }, + { + value: '370700', + label: '潍坊市', + children: [ + { + value: '370702', + label: '潍城区' + }, + { + value: '370703', + label: '寒亭区' + }, + { + value: '370704', + label: '坊子区' + }, + { + value: '370705', + label: '奎文区' + }, + { + value: '370724', + label: '临朐县' + }, + { + value: '370725', + label: '昌乐县' + }, + { + value: '370751', + label: '开发区' + }, + { + value: '370781', + label: '青州市' + }, + { + value: '370782', + label: '诸城市' + }, + { + value: '370783', + label: '寿光市' + }, + { + value: '370784', + label: '安丘市' + }, + { + value: '370785', + label: '高密市' + }, + { + value: '370786', + label: '昌邑市' + } + ] + }, + { + value: '370800', + label: '济宁市', + children: [ + { + value: '370802', + label: '市中区' + }, + { + value: '370811', + label: '任城区' + }, + { + value: '370826', + label: '微山县' + }, + { + value: '370827', + label: '鱼台县' + }, + { + value: '370828', + label: '金乡县' + }, + { + value: '370829', + label: '嘉祥县' + }, + { + value: '370830', + label: '汶上县' + }, + { + value: '370831', + label: '泗水县' + }, + { + value: '370832', + label: '梁山县' + }, + { + value: '370881', + label: '曲阜市' + }, + { + value: '370882', + label: '兖州市' + }, + { + value: '370883', + label: '邹城市' + } + ] + }, + { + value: '370900', + label: '泰安市', + children: [ + { + value: '370902', + label: '泰山区' + }, + { + value: '370903', + label: '岱岳区' + }, + { + value: '370921', + label: '宁阳县' + }, + { + value: '370923', + label: '东平县' + }, + { + value: '370982', + label: '新泰市' + }, + { + value: '370983', + label: '肥城市' + } + ] + }, + { + value: '371000', + label: '威海市', + children: [ + { + value: '371002', + label: '环翠区' + }, + { + value: '371081', + label: '文登市' + }, + { + value: '371082', + label: '荣成市' + }, + { + value: '371083', + label: '乳山市' + } + ] + }, + { + value: '371100', + label: '日照市', + children: [ + { + value: '371102', + label: '东港区' + }, + { + value: '371103', + label: '岚山区' + }, + { + value: '371121', + label: '五莲县' + }, + { + value: '371122', + label: '莒县' + } + ] + }, + { + value: '371200', + label: '莱芜市', + children: [ + { + value: '371202', + label: '莱城区' + }, + { + value: '371203', + label: '钢城区' + } + ] + }, + { + value: '371300', + label: '临沂市', + children: [ + { + value: '371302', + label: '兰山区' + }, + { + value: '371311', + label: '罗庄区' + }, + { + value: '371312', + label: '河东区' + }, + { + value: '371321', + label: '沂南县' + }, + { + value: '371322', + label: '郯城县' + }, + { + value: '371323', + label: '沂水县' + }, + { + value: '371324', + label: '苍山县' + }, + { + value: '371325', + label: '费县' + }, + { + value: '371326', + label: '平邑县' + }, + { + value: '371327', + label: '莒南县' + }, + { + value: '371328', + label: '蒙阴县' + }, + { + value: '371329', + label: '临沭县' + } + ] + }, + { + value: '371400', + label: '德州市', + children: [ + { + value: '371402', + label: '德城区' + }, + { + value: '371421', + label: '陵县' + }, + { + value: '371422', + label: '宁津县' + }, + { + value: '371423', + label: '庆云县' + }, + { + value: '371424', + label: '临邑县' + }, + { + value: '371425', + label: '齐河县' + }, + { + value: '371426', + label: '平原县' + }, + { + value: '371427', + label: '夏津县' + }, + { + value: '371428', + label: '武城县' + }, + { + value: '371451', + label: '开发区' + }, + { + value: '371481', + label: '乐陵市' + }, + { + value: '371482', + label: '禹城市' + } + ] + }, + { + value: '371500', + label: '聊城市', + children: [ + { + value: '371502', + label: '东昌府区' + }, + { + value: '371521', + label: '阳谷县' + }, + { + value: '371522', + label: '莘县' + }, + { + value: '371523', + label: '茌平县' + }, + { + value: '371524', + label: '东阿县' + }, + { + value: '371525', + label: '冠县' + }, + { + value: '371526', + label: '高唐县' + }, + { + value: '371581', + label: '临清市' + } + ] + }, + { + value: '371600', + label: '滨州市', + children: [ + { + value: '371602', + label: '滨城区' + }, + { + value: '371621', + label: '惠民县' + }, + { + value: '371622', + label: '阳信县' + }, + { + value: '371623', + label: '无棣县' + }, + { + value: '371624', + label: '沾化县' + }, + { + value: '371625', + label: '博兴县' + }, + { + value: '371626', + label: '邹平县' + } + ] + }, + { + value: '371700', + label: '菏泽市', + children: [ + { + value: '371702', + label: '牡丹区' + }, + { + value: '371721', + label: '曹县' + }, + { + value: '371722', + label: '单县' + }, + { + value: '371723', + label: '成武县' + }, + { + value: '371724', + label: '巨野县' + }, + { + value: '371725', + label: '郓城县' + }, + { + value: '371726', + label: '鄄城县' + }, + { + value: '371727', + label: '定陶县' + }, + { + value: '371728', + label: '东明县' + } + ] + } + ] + }, + { + label: '河南省', + value: '410000', + children: [ + { + value: '410100', + label: '郑州市', + children: [ + { + value: '410102', + label: '中原区' + }, + { + value: '410103', + label: '二七区' + }, + { + value: '410104', + label: '管城回族区' + }, + { + value: '410105', + label: '金水区' + }, + { + value: '410106', + label: '上街区' + }, + { + value: '410108', + label: '惠济区' + }, + { + value: '410122', + label: '中牟县' + }, + { + value: '410181', + label: '巩义市' + }, + { + value: '410182', + label: '荥阳市' + }, + { + value: '410183', + label: '新密市' + }, + { + value: '410184', + label: '新郑市' + }, + { + value: '410185', + label: '登封市' + }, + { + value: '410186', + label: '郑东新区' + }, + { + value: '410187', + label: '高新区' + } + ] + }, + { + value: '410200', + label: '开封市', + children: [ + { + value: '410202', + label: '龙亭区' + }, + { + value: '410203', + label: '顺河回族区' + }, + { + value: '410204', + label: '鼓楼区' + }, + { + value: '410205', + label: '禹王台区' + }, + { + value: '410211', + label: '金明区' + }, + { + value: '410221', + label: '杞县' + }, + { + value: '410222', + label: '通许县' + }, + { + value: '410223', + label: '尉氏县' + }, + { + value: '410224', + label: '开封县' + }, + { + value: '410225', + label: '兰考县' + } + ] + }, + { + value: '410300', + label: '洛阳市', + children: [ + { + value: '410302', + label: '老城区' + }, + { + value: '410303', + label: '西工区' + }, + { + value: '410304', + label: '廛河回族区' + }, + { + value: '410305', + label: '涧西区' + }, + { + value: '410306', + label: '吉利区' + }, + { + value: '410307', + label: '洛龙区' + }, + { + value: '410322', + label: '孟津县' + }, + { + value: '410323', + label: '新安县' + }, + { + value: '410324', + label: '栾川县' + }, + { + value: '410325', + label: '嵩县' + }, + { + value: '410326', + label: '汝阳县' + }, + { + value: '410327', + label: '宜阳县' + }, + { + value: '410328', + label: '洛宁县' + }, + { + value: '410329', + label: '伊川县' + }, + { + value: '410381', + label: '偃师市' + }, + { + value: '471004', + label: '高新区' + } + ] + }, + { + value: '410400', + label: '平顶山市', + children: [ + { + value: '410402', + label: '新华区' + }, + { + value: '410403', + label: '卫东区' + }, + { + value: '410404', + label: '石龙区' + }, + { + value: '410411', + label: '湛河区' + }, + { + value: '410421', + label: '宝丰县' + }, + { + value: '410422', + label: '叶县' + }, + { + value: '410423', + label: '鲁山县' + }, + { + value: '410425', + label: '郏县' + }, + { + value: '410481', + label: '舞钢市' + }, + { + value: '410482', + label: '汝州市' + } + ] + }, + { + value: '410500', + label: '安阳市', + children: [ + { + value: '410502', + label: '文峰区' + }, + { + value: '410503', + label: '北关区' + }, + { + value: '410505', + label: '殷都区' + }, + { + value: '410506', + label: '龙安区' + }, + { + value: '410522', + label: '安阳县' + }, + { + value: '410523', + label: '汤阴县' + }, + { + value: '410526', + label: '滑县' + }, + { + value: '410527', + label: '内黄县' + }, + { + value: '410581', + label: '林州市' + } + ] + }, + { + value: '410600', + label: '鹤壁市', + children: [ + { + value: '410602', + label: '鹤山区' + }, + { + value: '410603', + label: '山城区' + }, + { + value: '410611', + label: '淇滨区' + }, + { + value: '410621', + label: '浚县' + }, + { + value: '410622', + label: '淇县' + } + ] + }, + { + value: '410700', + label: '新乡市', + children: [ + { + value: '410702', + label: '红旗区' + }, + { + value: '410703', + label: '卫滨区' + }, + { + value: '410704', + label: '凤泉区' + }, + { + value: '410711', + label: '牧野区' + }, + { + value: '410721', + label: '新乡县' + }, + { + value: '410724', + label: '获嘉县' + }, + { + value: '410725', + label: '原阳县' + }, + { + value: '410726', + label: '延津县' + }, + { + value: '410727', + label: '封丘县' + }, + { + value: '410728', + label: '长垣县' + }, + { + value: '410781', + label: '卫辉市' + }, + { + value: '410782', + label: '辉县市' + } + ] + }, + { + value: '410800', + label: '焦作市', + children: [ + { + value: '410802', + label: '解放区' + }, + { + value: '410803', + label: '中站区' + }, + { + value: '410804', + label: '马村区' + }, + { + value: '410811', + label: '山阳区' + }, + { + value: '410821', + label: '修武县' + }, + { + value: '410822', + label: '博爱县' + }, + { + value: '410823', + label: '武陟县' + }, + { + value: '410825', + label: '温县' + }, + { + value: '410882', + label: '沁阳市' + }, + { + value: '410883', + label: '孟州市' + } + ] + }, + { + value: '410881', + label: '济源市' + }, + { + value: '410900', + label: '濮阳市', + children: [ + { + value: '410902', + label: '华龙区' + }, + { + value: '410922', + label: '清丰县' + }, + { + value: '410923', + label: '南乐县' + }, + { + value: '410926', + label: '范县' + }, + { + value: '410927', + label: '台前县' + }, + { + value: '410928', + label: '濮阳县' + } + ] + }, + { + value: '411000', + label: '许昌市', + children: [ + { + value: '411002', + label: '魏都区' + }, + { + value: '411023', + label: '许昌县' + }, + { + value: '411024', + label: '鄢陵县' + }, + { + value: '411025', + label: '襄城县' + }, + { + value: '411081', + label: '禹州市' + }, + { + value: '411082', + label: '长葛市' + } + ] + }, + { + value: '411100', + label: '漯河市', + children: [ + { + value: '411102', + label: '源汇区' + }, + { + value: '411103', + label: '郾城区' + }, + { + value: '411104', + label: '召陵区' + }, + { + value: '411121', + label: '舞阳县' + }, + { + value: '411122', + label: '临颍县' + } + ] + }, + { + value: '411200', + label: '三门峡市', + children: [ + { + value: '411202', + label: '湖滨区' + }, + { + value: '411221', + label: '渑池县' + }, + { + value: '411222', + label: '陕县' + }, + { + value: '411224', + label: '卢氏县' + }, + { + value: '411281', + label: '义马市' + }, + { + value: '411282', + label: '灵宝市' + } + ] + }, + { + value: '411300', + label: '南阳市', + children: [ + { + value: '411302', + label: '宛城区' + }, + { + value: '411303', + label: '卧龙区' + }, + { + value: '411321', + label: '南召县' + }, + { + value: '411322', + label: '方城县' + }, + { + value: '411323', + label: '西峡县' + }, + { + value: '411324', + label: '镇平县' + }, + { + value: '411325', + label: '内乡县' + }, + { + value: '411326', + label: '淅川县' + }, + { + value: '411327', + label: '社旗县' + }, + { + value: '411328', + label: '唐河县' + }, + { + value: '411329', + label: '新野县' + }, + { + value: '411330', + label: '桐柏县' + }, + { + value: '411381', + label: '邓州市' + } + ] + }, + { + value: '411400', + label: '商丘市', + children: [ + { + value: '411402', + label: '梁园区' + }, + { + value: '411403', + label: '睢阳区' + }, + { + value: '411421', + label: '民权县' + }, + { + value: '411422', + label: '睢县' + }, + { + value: '411423', + label: '宁陵县' + }, + { + value: '411424', + label: '柘城县' + }, + { + value: '411425', + label: '虞城县' + }, + { + value: '411426', + label: '夏邑县' + }, + { + value: '411481', + label: '永城市' + } + ] + }, + { + value: '411500', + label: '信阳市', + children: [ + { + value: '411502', + label: '浉河区' + }, + { + value: '411503', + label: '平桥区' + }, + { + value: '411521', + label: '罗山县' + }, + { + value: '411522', + label: '光山县' + }, + { + value: '411523', + label: '新县' + }, + { + value: '411524', + label: '商城县' + }, + { + value: '411525', + label: '固始县' + }, + { + value: '411526', + label: '潢川县' + }, + { + value: '411527', + label: '淮滨县' + }, + { + value: '411528', + label: '息县' + } + ] + }, + { + value: '411600', + label: '周口市', + children: [ + { + value: '411602', + label: '川汇区' + }, + { + value: '411621', + label: '扶沟县' + }, + { + value: '411622', + label: '西华县' + }, + { + value: '411623', + label: '商水县' + }, + { + value: '411624', + label: '沈丘县' + }, + { + value: '411625', + label: '郸城县' + }, + { + value: '411626', + label: '淮阳县' + }, + { + value: '411627', + label: '太康县' + }, + { + value: '411628', + label: '鹿邑县' + }, + { + value: '411681', + label: '项城市' + } + ] + }, + { + value: '411700', + label: '驻马店市', + children: [ + { + value: '411702', + label: '驿城区' + }, + { + value: '411721', + label: '西平县' + }, + { + value: '411722', + label: '上蔡县' + }, + { + value: '411723', + label: '平舆县' + }, + { + value: '411724', + label: '正阳县' + }, + { + value: '411725', + label: '确山县' + }, + { + value: '411726', + label: '泌阳县' + }, + { + value: '411727', + label: '汝南县' + }, + { + value: '411728', + label: '遂平县' + }, + { + value: '411729', + label: '新蔡县' + } + ] + } + ] + }, + { + label: '湖北省', + value: '420000', + children: [ + { + value: '420100', + label: '武汉市', + children: [ + { + value: '420102', + label: '江岸区' + }, + { + value: '420103', + label: '江汉区' + }, + { + value: '420104', + label: '硚口区' + }, + { + value: '420105', + label: '汉阳区' + }, + { + value: '420106', + label: '武昌区' + }, + { + value: '420107', + label: '青山区' + }, + { + value: '420111', + label: '洪山区' + }, + { + value: '420112', + label: '东西湖区' + }, + { + value: '420113', + label: '汉南区' + }, + { + value: '420114', + label: '蔡甸区' + }, + { + value: '420115', + label: '江夏区' + }, + { + value: '420116', + label: '黄陂区' + }, + { + value: '420117', + label: '新洲区' + } + ] + }, + { + value: '420200', + label: '黄石市', + children: [ + { + value: '420202', + label: '黄石港区' + }, + { + value: '420203', + label: '西塞山区' + }, + { + value: '420204', + label: '下陆区' + }, + { + value: '420205', + label: '铁山区' + }, + { + value: '420222', + label: '阳新县' + }, + { + value: '420281', + label: '大冶市' + } + ] + }, + { + value: '420300', + label: '十堰市', + children: [ + { + value: '420302', + label: '茅箭区' + }, + { + value: '420303', + label: '张湾区' + }, + { + value: '420321', + label: '郧县' + }, + { + value: '420322', + label: '郧西县' + }, + { + value: '420323', + label: '竹山县' + }, + { + value: '420324', + label: '竹溪县' + }, + { + value: '420325', + label: '房县' + }, + { + value: '420381', + label: '丹江口市' + }, + { + value: '420382', + label: '城区' + } + ] + }, + { + value: '420500', + label: '宜昌市', + children: [ + { + value: '420502', + label: '西陵区' + }, + { + value: '420503', + label: '伍家岗区' + }, + { + value: '420504', + label: '点军区' + }, + { + value: '420505', + label: '猇亭区' + }, + { + value: '420506', + label: '夷陵区' + }, + { + value: '420525', + label: '远安县' + }, + { + value: '420526', + label: '兴山县' + }, + { + value: '420527', + label: '秭归县' + }, + { + value: '420528', + label: '长阳土家族自治县' + }, + { + value: '420529', + label: '五峰土家族自治县' + }, + { + value: '420551', + label: '葛洲坝区' + }, + { + value: '420552', + label: '开发区' + }, + { + value: '420581', + label: '宜都市' + }, + { + value: '420582', + label: '当阳市' + }, + { + value: '420583', + label: '枝江市' + } + ] + }, + { + value: '420600', + label: '襄阳市', + children: [ + { + value: '420602', + label: '襄城区' + }, + { + value: '420606', + label: '樊城区' + }, + { + value: '420607', + label: '襄州区' + }, + { + value: '420624', + label: '南漳县' + }, + { + value: '420625', + label: '谷城县' + }, + { + value: '420626', + label: '保康县' + }, + { + value: '420682', + label: '老河口市' + }, + { + value: '420683', + label: '枣阳市' + }, + { + value: '420684', + label: '宜城市' + } + ] + }, + { + value: '420700', + label: '鄂州市', + children: [ + { + value: '420702', + label: '梁子湖区' + }, + { + value: '420703', + label: '华容区' + }, + { + value: '420704', + label: '鄂城区' + } + ] + }, + { + value: '420800', + label: '荆门市', + children: [ + { + value: '420802', + label: '东宝区' + }, + { + value: '420804', + label: '掇刀区' + }, + { + value: '420821', + label: '京山县' + }, + { + value: '420822', + label: '沙洋县' + }, + { + value: '420881', + label: '钟祥市' + } + ] + }, + { + value: '420900', + label: '孝感市', + children: [ + { + value: '420902', + label: '孝南区' + }, + { + value: '420921', + label: '孝昌县' + }, + { + value: '420922', + label: '大悟县' + }, + { + value: '420923', + label: '云梦县' + }, + { + value: '420981', + label: '应城市' + }, + { + value: '420982', + label: '安陆市' + }, + { + value: '420984', + label: '汉川市' + } + ] + }, + { + value: '421000', + label: '荆州市', + children: [ + { + value: '421002', + label: '沙市区' + }, + { + value: '421003', + label: '荆州区' + }, + { + value: '421022', + label: '公安县' + }, + { + value: '421023', + label: '监利县' + }, + { + value: '421024', + label: '江陵县' + }, + { + value: '421081', + label: '石首市' + }, + { + value: '421083', + label: '洪湖市' + }, + { + value: '421087', + label: '松滋市' + } + ] + }, + { + value: '421100', + label: '黄冈市', + children: [ + { + value: '421102', + label: '黄州区' + }, + { + value: '421121', + label: '团风县' + }, + { + value: '421122', + label: '红安县' + }, + { + value: '421123', + label: '罗田县' + }, + { + value: '421124', + label: '英山县' + }, + { + value: '421125', + label: '浠水县' + }, + { + value: '421126', + label: '蕲春县' + }, + { + value: '421127', + label: '黄梅县' + }, + { + value: '421181', + label: '麻城市' + }, + { + value: '421182', + label: '武穴市' + } + ] + }, + { + value: '421200', + label: '咸宁市', + children: [ + { + value: '421202', + label: '咸安区' + }, + { + value: '421221', + label: '嘉鱼县' + }, + { + value: '421222', + label: '通城县' + }, + { + value: '421223', + label: '崇阳县' + }, + { + value: '421224', + label: '通山县' + }, + { + value: '421281', + label: '赤壁市' + }, + { + value: '421282', + label: '温泉城区' + } + ] + }, + { + value: '421300', + label: '随州市', + children: [ + { + value: '421302', + label: '曾都区' + }, + { + value: '421321', + label: '随县' + }, + { + value: '421381', + label: '广水市' + } + ] + }, + { + value: '422800', + label: '恩施土家族苗族自治州', + children: [ + { + value: '422801', + label: '恩施市' + }, + { + value: '422802', + label: '利川市' + }, + { + value: '422822', + label: '建始县' + }, + { + value: '422823', + label: '巴东县' + }, + { + value: '422825', + label: '宣恩县' + }, + { + value: '422826', + label: '咸丰县' + }, + { + value: '422827', + label: '来凤县' + }, + { + value: '422828', + label: '鹤峰县' + } + ] + }, + { + value: '429004', + label: '仙桃市' + }, + { + value: '429005', + label: '潜江市' + }, + { + value: '429006', + label: '天门市' + }, + { + value: '429021', + label: '神农架林区' + } + ] + }, + { + label: '湖南省', + value: '430000', + children: [ + { + value: '430100', + label: '长沙市', + children: [ + { + value: '430102', + label: '芙蓉区' + }, + { + value: '430103', + label: '天心区' + }, + { + value: '430104', + label: '岳麓区' + }, + { + value: '430105', + label: '开福区' + }, + { + value: '430111', + label: '雨花区' + }, + { + value: '430121', + label: '长沙县' + }, + { + value: '430122', + label: '望城县' + }, + { + value: '430124', + label: '宁乡县' + }, + { + value: '430181', + label: '浏阳市' + } + ] + }, + { + value: '430200', + label: '株洲市', + children: [ + { + value: '430202', + label: '荷塘区' + }, + { + value: '430203', + label: '芦淞区' + }, + { + value: '430204', + label: '石峰区' + }, + { + value: '430211', + label: '天元区' + }, + { + value: '430221', + label: '株洲县' + }, + { + value: '430223', + label: '攸县' + }, + { + value: '430224', + label: '茶陵县' + }, + { + value: '430225', + label: '炎陵县' + }, + { + value: '430281', + label: '醴陵市' + } + ] + }, + { + value: '430300', + label: '湘潭市', + children: [ + { + value: '430302', + label: '雨湖区' + }, + { + value: '430304', + label: '岳塘区' + }, + { + value: '430321', + label: '湘潭县' + }, + { + value: '430381', + label: '湘乡市' + }, + { + value: '430382', + label: '韶山市' + } + ] + }, + { + value: '430400', + label: '衡阳市', + children: [ + { + value: '430405', + label: '珠晖区' + }, + { + value: '430406', + label: '雁峰区' + }, + { + value: '430407', + label: '石鼓区' + }, + { + value: '430408', + label: '蒸湘区' + }, + { + value: '430412', + label: '南岳区' + }, + { + value: '430421', + label: '衡阳县' + }, + { + value: '430422', + label: '衡南县' + }, + { + value: '430423', + label: '衡山县' + }, + { + value: '430424', + label: '衡东县' + }, + { + value: '430426', + label: '祁东县' + }, + { + value: '430481', + label: '耒阳市' + }, + { + value: '430482', + label: '常宁市' + } + ] + }, + { + value: '430500', + label: '邵阳市', + children: [ + { + value: '430502', + label: '双清区' + }, + { + value: '430503', + label: '大祥区' + }, + { + value: '430511', + label: '北塔区' + }, + { + value: '430521', + label: '邵东县' + }, + { + value: '430522', + label: '新邵县' + }, + { + value: '430523', + label: '邵阳县' + }, + { + value: '430524', + label: '隆回县' + }, + { + value: '430525', + label: '洞口县' + }, + { + value: '430527', + label: '绥宁县' + }, + { + value: '430528', + label: '新宁县' + }, + { + value: '430529', + label: '城步苗族自治县' + }, + { + value: '430581', + label: '武冈市' + } + ] + }, + { + value: '430600', + label: '岳阳市', + children: [ + { + value: '430602', + label: '岳阳楼区' + }, + { + value: '430603', + label: '云溪区' + }, + { + value: '430611', + label: '君山区' + }, + { + value: '430621', + label: '岳阳县' + }, + { + value: '430623', + label: '华容县' + }, + { + value: '430624', + label: '湘阴县' + }, + { + value: '430626', + label: '平江县' + }, + { + value: '430681', + label: '汨罗市' + }, + { + value: '430682', + label: '临湘市' + } + ] + }, + { + value: '430700', + label: '常德市', + children: [ + { + value: '430702', + label: '武陵区' + }, + { + value: '430703', + label: '鼎城区' + }, + { + value: '430721', + label: '安乡县' + }, + { + value: '430722', + label: '汉寿县' + }, + { + value: '430723', + label: '澧县' + }, + { + value: '430724', + label: '临澧县' + }, + { + value: '430725', + label: '桃源县' + }, + { + value: '430726', + label: '石门县' + }, + { + value: '430781', + label: '津市市' + } + ] + }, + { + value: '430800', + label: '张家界市', + children: [ + { + value: '430802', + label: '永定区' + }, + { + value: '430811', + label: '武陵源区' + }, + { + value: '430821', + label: '慈利县' + }, + { + value: '430822', + label: '桑植县' + } + ] + }, + { + value: '430900', + label: '益阳市', + children: [ + { + value: '430902', + label: '资阳区' + }, + { + value: '430903', + label: '赫山区' + }, + { + value: '430921', + label: '南县' + }, + { + value: '430922', + label: '桃江县' + }, + { + value: '430923', + label: '安化县' + }, + { + value: '430981', + label: '沅江市' + } + ] + }, + { + value: '431000', + label: '郴州市', + children: [ + { + value: '431002', + label: '北湖区' + }, + { + value: '431003', + label: '苏仙区' + }, + { + value: '431021', + label: '桂阳县' + }, + { + value: '431022', + label: '宜章县' + }, + { + value: '431023', + label: '永兴县' + }, + { + value: '431024', + label: '嘉禾县' + }, + { + value: '431025', + label: '临武县' + }, + { + value: '431026', + label: '汝城县' + }, + { + value: '431027', + label: '桂东县' + }, + { + value: '431028', + label: '安仁县' + }, + { + value: '431081', + label: '资兴市' + } + ] + }, + { + value: '431100', + label: '永州市', + children: [ + { + value: '431102', + label: '零陵区' + }, + { + value: '431103', + label: '冷水滩区' + }, + { + value: '431121', + label: '祁阳县' + }, + { + value: '431122', + label: '东安县' + }, + { + value: '431123', + label: '双牌县' + }, + { + value: '431124', + label: '道县' + }, + { + value: '431125', + label: '江永县' + }, + { + value: '431126', + label: '宁远县' + }, + { + value: '431127', + label: '蓝山县' + }, + { + value: '431128', + label: '新田县' + }, + { + value: '431129', + label: '江华瑶族自治县' + } + ] + }, + { + value: '431200', + label: '怀化市', + children: [ + { + value: '431202', + label: '鹤城区' + }, + { + value: '431221', + label: '中方县' + }, + { + value: '431222', + label: '沅陵县' + }, + { + value: '431223', + label: '辰溪县' + }, + { + value: '431224', + label: '溆浦县' + }, + { + value: '431225', + label: '会同县' + }, + { + value: '431226', + label: '麻阳苗族自治县' + }, + { + value: '431227', + label: '新晃侗族自治县' + }, + { + value: '431228', + label: '芷江侗族自治县' + }, + { + value: '431229', + label: '靖州苗族侗族自治县' + }, + { + value: '431230', + label: '通道侗族自治县' + }, + { + value: '431281', + label: '洪江市' + } + ] + }, + { + value: '431300', + label: '娄底市', + children: [ + { + value: '431302', + label: '娄星区' + }, + { + value: '431321', + label: '双峰县' + }, + { + value: '431322', + label: '新化县' + }, + { + value: '431381', + label: '冷水江市' + }, + { + value: '431382', + label: '涟源市' + } + ] + }, + { + value: '433100', + label: '湘西土家族苗族自治州', + children: [ + { + value: '433101', + label: '吉首市' + }, + { + value: '433122', + label: '泸溪县' + }, + { + value: '433123', + label: '凤凰县' + }, + { + value: '433124', + label: '花垣县' + }, + { + value: '433125', + label: '保靖县' + }, + { + value: '433126', + label: '古丈县' + }, + { + value: '433127', + label: '永顺县' + }, + { + value: '433130', + label: '龙山县' + } + ] + } + ] + }, + { + label: '广东省', + value: '440000', + children: [ + { + value: '440100', + label: '广州市', + children: [ + { + value: '440103', + label: '荔湾区' + }, + { + value: '440104', + label: '越秀区' + }, + { + value: '440105', + label: '海珠区' + }, + { + value: '440106', + label: '天河区' + }, + { + value: '440111', + label: '白云区' + }, + { + value: '440112', + label: '黄埔区' + }, + { + value: '440113', + label: '番禺区' + }, + { + value: '440114', + label: '花都区' + }, + { + value: '440115', + label: '南沙区' + }, + { + value: '440116', + label: '萝岗区' + }, + { + value: '440183', + label: '增城市' + }, + { + value: '440184', + label: '从化市' + }, + { + value: '440188', + label: '东山区' + } + ] + }, + { + value: '440200', + label: '韶关市', + children: [ + { + value: '440203', + label: '武江区' + }, + { + value: '440204', + label: '浈江区' + }, + { + value: '440205', + label: '曲江区' + }, + { + value: '440222', + label: '始兴县' + }, + { + value: '440224', + label: '仁化县' + }, + { + value: '440229', + label: '翁源县' + }, + { + value: '440232', + label: '乳源瑶族自治县' + }, + { + value: '440233', + label: '新丰县' + }, + { + value: '440281', + label: '乐昌市' + }, + { + value: '440282', + label: '南雄市' + } + ] + }, + { + value: '440300', + label: '深圳市', + children: [ + { + value: '440303', + label: '罗湖区' + }, + { + value: '440304', + label: '福田区' + }, + { + value: '440305', + label: '南山区' + }, + { + value: '440306', + label: '宝安区' + }, + { + value: '440307', + label: '龙岗区' + }, + { + value: '440308', + label: '盐田区' + }, + { + value: '1032697', + label: '光明新区' + }, + { + value: '1032698', + label: '坪山新区' + }, + { + value: '1032699', + label: '大鹏新区' + }, + { + value: '1032700', + label: '龙华新区' + } + ] + }, + { + value: '440400', + label: '珠海市', + children: [ + { + value: '440402', + label: '香洲区' + }, + { + value: '440403', + label: '斗门区' + }, + { + value: '440404', + label: '金湾区' + }, + { + value: '440486', + label: '金唐区' + }, + { + value: '440487', + label: '南湾区' + } + ] + }, + { + value: '440500', + label: '汕头市', + children: [ + { + value: '440507', + label: '龙湖区' + }, + { + value: '440511', + label: '金平区' + }, + { + value: '440512', + label: '濠江区' + }, + { + value: '440513', + label: '潮阳区' + }, + { + value: '440514', + label: '潮南区' + }, + { + value: '440515', + label: '澄海区' + }, + { + value: '440523', + label: '南澳县' + } + ] + }, + { + value: '440600', + label: '佛山市', + children: [ + { + value: '440604', + label: '禅城区' + }, + { + value: '440605', + label: '南海区' + }, + { + value: '440606', + label: '顺德区' + }, + { + value: '440607', + label: '三水区' + }, + { + value: '440608', + label: '高明区' + } + ] + }, + { + value: '440700', + label: '江门市', + children: [ + { + value: '440703', + label: '蓬江区' + }, + { + value: '440704', + label: '江海区' + }, + { + value: '440705', + label: '新会区' + }, + { + value: '440781', + label: '台山市' + }, + { + value: '440783', + label: '开平市' + }, + { + value: '440784', + label: '鹤山市' + }, + { + value: '440785', + label: '恩平市' + } + ] + }, + { + value: '440800', + label: '湛江市', + children: [ + { + value: '440802', + label: '赤坎区' + }, + { + value: '440803', + label: '霞山区' + }, + { + value: '440804', + label: '坡头区' + }, + { + value: '440811', + label: '麻章区' + }, + { + value: '440823', + label: '遂溪县' + }, + { + value: '440825', + label: '徐闻县' + }, + { + value: '440881', + label: '廉江市' + }, + { + value: '440882', + label: '雷州市' + }, + { + value: '440883', + label: '吴川市' + } + ] + }, + { + value: '440900', + label: '茂名市', + children: [ + { + value: '440902', + label: '茂南区' + }, + { + value: '440903', + label: '茂港区' + }, + { + value: '440923', + label: '电白县' + }, + { + value: '440981', + label: '高州市' + }, + { + value: '440982', + label: '化州市' + }, + { + value: '440983', + label: '信宜市' + } + ] + }, + { + value: '441200', + label: '肇庆市', + children: [ + { + value: '441202', + label: '端州区' + }, + { + value: '441203', + label: '鼎湖区' + }, + { + value: '441223', + label: '广宁县' + }, + { + value: '441224', + label: '怀集县' + }, + { + value: '441225', + label: '封开县' + }, + { + value: '441226', + label: '德庆县' + }, + { + value: '441283', + label: '高要市' + }, + { + value: '441284', + label: '四会市' + } + ] + }, + { + value: '441300', + label: '惠州市', + children: [ + { + value: '441302', + label: '惠城区' + }, + { + value: '441303', + label: '惠阳区' + }, + { + value: '441322', + label: '博罗县' + }, + { + value: '441323', + label: '惠东县' + }, + { + value: '441324', + label: '龙门县' + } + ] + }, + { + value: '441400', + label: '梅州市', + children: [ + { + value: '441402', + label: '梅江区' + }, + { + value: '441421', + label: '梅县' + }, + { + value: '441422', + label: '大埔县' + }, + { + value: '441423', + label: '丰顺县' + }, + { + value: '441424', + label: '五华县' + }, + { + value: '441426', + label: '平远县' + }, + { + value: '441427', + label: '蕉岭县' + }, + { + value: '441481', + label: '兴宁市' + } + ] + }, + { + value: '441500', + label: '汕尾市', + children: [ + { + value: '441502', + label: '城区' + }, + { + value: '441521', + label: '海丰县' + }, + { + value: '441523', + label: '陆河县' + }, + { + value: '441581', + label: '陆丰市' + } + ] + }, + { + value: '441600', + label: '河源市', + children: [ + { + value: '441602', + label: '源城区' + }, + { + value: '441621', + label: '紫金县' + }, + { + value: '441622', + label: '龙川县' + }, + { + value: '441623', + label: '连平县' + }, + { + value: '441624', + label: '和平县' + }, + { + value: '441625', + label: '东源县' + } + ] + }, + { + value: '441700', + label: '阳江市', + children: [ + { + value: '441702', + label: '江城区' + }, + { + value: '441721', + label: '阳西县' + }, + { + value: '441723', + label: '阳东县' + }, + { + value: '441781', + label: '阳春市' + } + ] + }, + { + value: '441800', + label: '清远市', + children: [ + { + value: '441802', + label: '清城区' + }, + { + value: '441821', + label: '佛冈县' + }, + { + value: '441823', + label: '阳山县' + }, + { + value: '441825', + label: '连山壮族瑶族自治县' + }, + { + value: '441826', + label: '连南瑶族自治县' + }, + { + value: '441827', + label: '清新县' + }, + { + value: '441881', + label: '英德市' + }, + { + value: '441882', + label: '连州市' + } + ] + }, + { + value: '441900', + label: '东莞市' + }, + { + value: '442000', + label: '中山市' + }, + { + value: '445100', + label: '潮州市', + children: [ + { + value: '445102', + label: '湘桥区' + }, + { + value: '445121', + label: '潮安县' + }, + { + value: '445122', + label: '饶平县' + }, + { + value: '445185', + label: '枫溪区' + } + ] + }, + { + value: '445200', + label: '揭阳市', + children: [ + { + value: '445202', + label: '榕城区' + }, + { + value: '445221', + label: '揭东县' + }, + { + value: '445222', + label: '揭西县' + }, + { + value: '445224', + label: '惠来县' + }, + { + value: '445281', + label: '普宁市' + }, + { + value: '445284', + label: '东山区' + } + ] + }, + { + value: '445300', + label: '云浮市', + children: [ + { + value: '445302', + label: '云城区' + }, + { + value: '445321', + label: '新兴县' + }, + { + value: '445322', + label: '郁南县' + }, + { + value: '445323', + label: '云安县' + }, + { + value: '445381', + label: '罗定市' + } + ] + } + ] + }, + { + label: '广西壮族自治区', + value: '450000', + children: [ + { + value: '450100', + label: '南宁市', + children: [ + { + value: '450102', + label: '兴宁区' + }, + { + value: '450103', + label: '青秀区' + }, + { + value: '450105', + label: '江南区' + }, + { + value: '450107', + label: '西乡塘区' + }, + { + value: '450108', + label: '良庆区' + }, + { + value: '450109', + label: '邕宁区' + }, + { + value: '450122', + label: '武鸣县' + }, + { + value: '450123', + label: '隆安县' + }, + { + value: '450124', + label: '马山县' + }, + { + value: '450125', + label: '上林县' + }, + { + value: '450126', + label: '宾阳县' + }, + { + value: '450127', + label: '横县' + } + ] + }, + { + value: '450200', + label: '柳州市', + children: [ + { + value: '450202', + label: '城中区' + }, + { + value: '450203', + label: '鱼峰区' + }, + { + value: '450204', + label: '柳南区' + }, + { + value: '450205', + label: '柳北区' + }, + { + value: '450221', + label: '柳江县' + }, + { + value: '450222', + label: '柳城县' + }, + { + value: '450223', + label: '鹿寨县' + }, + { + value: '450224', + label: '融安县' + }, + { + value: '450225', + label: '融水苗族自治县' + }, + { + value: '450226', + label: '三江侗族自治县' + } + ] + }, + { + value: '450300', + label: '桂林市', + children: [ + { + value: '450302', + label: '秀峰区' + }, + { + value: '450303', + label: '叠彩区' + }, + { + value: '450304', + label: '象山区' + }, + { + value: '450305', + label: '七星区' + }, + { + value: '450311', + label: '雁山区' + }, + { + value: '450321', + label: '阳朔县' + }, + { + value: '450322', + label: '临桂县' + }, + { + value: '450323', + label: '灵川县' + }, + { + value: '450324', + label: '全州县' + }, + { + value: '450325', + label: '兴安县' + }, + { + value: '450326', + label: '永福县' + }, + { + value: '450327', + label: '灌阳县' + }, + { + value: '450328', + label: '龙胜各族自治县' + }, + { + value: '450329', + label: '资源县' + }, + { + value: '450330', + label: '平乐县' + }, + { + value: '450331', + label: '荔浦县' + }, + { + value: '450332', + label: '恭城瑶族自治县' + } + ] + }, + { + value: '450400', + label: '梧州市', + children: [ + { + value: '450403', + label: '万秀区' + }, + { + value: '450404', + label: '蝶山区' + }, + { + value: '450405', + label: '长洲区' + }, + { + value: '450421', + label: '苍梧县' + }, + { + value: '450422', + label: '藤县' + }, + { + value: '450423', + label: '蒙山县' + }, + { + value: '450481', + label: '岑溪市' + } + ] + }, + { + value: '450500', + label: '北海市', + children: [ + { + value: '450502', + label: '海城区' + }, + { + value: '450503', + label: '银海区' + }, + { + value: '450512', + label: '铁山港区' + }, + { + value: '450521', + label: '合浦县' + } + ] + }, + { + value: '450600', + label: '防城港市', + children: [ + { + value: '450602', + label: '港口区' + }, + { + value: '450603', + label: '防城区' + }, + { + value: '450621', + label: '上思县' + }, + { + value: '450681', + label: '东兴市' + } + ] + }, + { + value: '450700', + label: '钦州市', + children: [ + { + value: '450702', + label: '钦南区' + }, + { + value: '450703', + label: '钦北区' + }, + { + value: '450721', + label: '灵山县' + }, + { + value: '450722', + label: '浦北县' + } + ] + }, + { + value: '450800', + label: '贵港市', + children: [ + { + value: '450802', + label: '港北区' + }, + { + value: '450803', + label: '港南区' + }, + { + value: '450804', + label: '覃塘区' + }, + { + value: '450821', + label: '平南县' + }, + { + value: '450881', + label: '桂平市' + } + ] + }, + { + value: '450900', + label: '玉林市', + children: [ + { + value: '450902', + label: '玉州区' + }, + { + value: '450921', + label: '容县' + }, + { + value: '450922', + label: '陆川县' + }, + { + value: '450923', + label: '博白县' + }, + { + value: '450924', + label: '兴业县' + }, + { + value: '450981', + label: '北流市' + } + ] + }, + { + value: '451000', + label: '百色市', + children: [ + { + value: '451002', + label: '右江区' + }, + { + value: '451021', + label: '田阳县' + }, + { + value: '451022', + label: '田东县' + }, + { + value: '451023', + label: '平果县' + }, + { + value: '451024', + label: '德保县' + }, + { + value: '451025', + label: '靖西县' + }, + { + value: '451026', + label: '那坡县' + }, + { + value: '451027', + label: '凌云县' + }, + { + value: '451028', + label: '乐业县' + }, + { + value: '451029', + label: '田林县' + }, + { + value: '451030', + label: '西林县' + }, + { + value: '451031', + label: '隆林各族自治县' + } + ] + }, + { + value: '451100', + label: '贺州市', + children: [ + { + value: '451102', + label: '八步区' + }, + { + value: '451121', + label: '昭平县' + }, + { + value: '451122', + label: '钟山县' + }, + { + value: '451123', + label: '富川瑶族自治县' + } + ] + }, + { + value: '451200', + label: '河池市', + children: [ + { + value: '451202', + label: '金城江区' + }, + { + value: '451221', + label: '南丹县' + }, + { + value: '451222', + label: '天峨县' + }, + { + value: '451223', + label: '凤山县' + }, + { + value: '451224', + label: '东兰县' + }, + { + value: '451225', + label: '罗城仫佬族自治县' + }, + { + value: '451226', + label: '环江毛南族自治县' + }, + { + value: '451227', + label: '巴马瑶族自治县' + }, + { + value: '451228', + label: '都安瑶族自治县' + }, + { + value: '451229', + label: '大化瑶族自治县' + }, + { + value: '451281', + label: '宜州市' + } + ] + }, + { + value: '451300', + label: '来宾市', + children: [ + { + value: '451302', + label: '兴宾区' + }, + { + value: '451321', + label: '忻城县' + }, + { + value: '451322', + label: '象州县' + }, + { + value: '451323', + label: '武宣县' + }, + { + value: '451324', + label: '金秀瑶族自治县' + }, + { + value: '451381', + label: '合山市' + } + ] + }, + { + value: '451400', + label: '崇左市', + children: [ + { + value: '451402', + label: '江洲区' + }, + { + value: '451421', + label: '扶绥县' + }, + { + value: '451422', + label: '宁明县' + }, + { + value: '451423', + label: '龙州县' + }, + { + value: '451424', + label: '大新县' + }, + { + value: '451425', + label: '天等县' + }, + { + value: '451481', + label: '凭祥市' + } + ] + } + ] + }, + { + label: '海南省', + value: '460000', + children: [ + { + value: '460100', + label: '海口市', + children: [ + { + value: '460105', + label: '秀英区' + }, + { + value: '460106', + label: '龙华区' + }, + { + value: '460107', + label: '琼山区' + }, + { + value: '460108', + label: '美兰区' + } + ] + }, + { + value: '460200', + label: '三亚市' + }, + { + value: '469001', + label: '五指山市' + }, + { + value: '469002', + label: '琼海市' + }, + { + value: '469003', + label: '儋州市' + }, + { + value: '469005', + label: '文昌市' + }, + { + value: '469006', + label: '万宁市' + }, + { + value: '469007', + label: '东方市' + }, + { + value: '469025', + label: '定安县' + }, + { + value: '469026', + label: '屯昌县' + }, + { + value: '469027', + label: '澄迈县' + }, + { + value: '469028', + label: '临高县' + }, + { + value: '469030', + label: '白沙黎族自治县' + }, + { + value: '469031', + label: '昌江黎族自治县' + }, + { + value: '469033', + label: '乐东黎族自治县' + }, + { + value: '469034', + label: '陵水黎族自治县' + }, + { + value: '469035', + label: '保亭黎族苗族自治县' + }, + { + value: '469036', + label: '琼中黎族苗族自治县' + }, + { + value: '469037', + label: '西沙群岛' + }, + { + value: '469038', + label: '南沙群岛' + }, + { + value: '469039', + label: '中沙群岛的岛礁及其海域' + } + ] + }, + { + label: '重庆', + value: '500000', + children: [ + { + value: '500100', + label: '重庆市', + children: [ + { + value: '500101', + label: '万州区' + }, + { + value: '500102', + label: '涪陵区' + }, + { + value: '500103', + label: '渝中区' + }, + { + value: '500104', + label: '大渡口区' + }, + { + value: '500105', + label: '江北区' + }, + { + value: '500106', + label: '沙坪坝区' + }, + { + value: '500107', + label: '九龙坡区' + }, + { + value: '500108', + label: '南岸区' + }, + { + value: '500109', + label: '北碚区' + }, + { + value: '500110', + label: '万盛区' + }, + { + value: '500111', + label: '双桥区' + }, + { + value: '500112', + label: '渝北区' + }, + { + value: '500113', + label: '巴南区' + }, + { + value: '500114', + label: '黔江区' + }, + { + value: '500115', + label: '长寿区' + }, + { + value: '500222', + label: '綦江县' + }, + { + value: '500223', + label: '潼南县' + }, + { + value: '500224', + label: '铜梁县' + }, + { + value: '500225', + label: '大足县' + }, + { + value: '500226', + label: '荣昌县' + }, + { + value: '500227', + label: '璧山县' + }, + { + value: '500228', + label: '梁平县' + }, + { + value: '500229', + label: '城口县' + }, + { + value: '500230', + label: '丰都县' + }, + { + value: '500231', + label: '垫江县' + }, + { + value: '500232', + label: '武隆县' + }, + { + value: '500233', + label: '忠县' + }, + { + value: '500234', + label: '开县' + }, + { + value: '500235', + label: '云阳县' + }, + { + value: '500236', + label: '奉节县' + }, + { + value: '500237', + label: '巫山县' + }, + { + value: '500238', + label: '巫溪县' + }, + { + value: '500240', + label: '石柱土家族自治县' + }, + { + value: '500241', + label: '秀山土家族苗族自治县' + }, + { + value: '500242', + label: '酉阳土家族苗族自治县' + }, + { + value: '500243', + label: '彭水苗族土家族自治县' + }, + { + value: '500381', + label: '江津区' + }, + { + value: '500382', + label: '合川区' + }, + { + value: '500383', + label: '永川区' + }, + { + value: '500384', + label: '南川区' + } + ] + } + ] + }, + { + label: '四川省', + value: '510000', + children: [ + { + value: '510100', + label: '成都市', + children: [ + { + value: '510104', + label: '锦江区' + }, + { + value: '510105', + label: '青羊区' + }, + { + value: '510106', + label: '金牛区' + }, + { + value: '510107', + label: '武侯区' + }, + { + value: '510108', + label: '成华区' + }, + { + value: '510112', + label: '龙泉驿区' + }, + { + value: '510113', + label: '青白江区' + }, + { + value: '510114', + label: '新都区' + }, + { + value: '510115', + label: '温江区' + }, + { + value: '510121', + label: '金堂县' + }, + { + value: '510122', + label: '双流县' + }, + { + value: '510124', + label: '郫县' + }, + { + value: '510129', + label: '大邑县' + }, + { + value: '510131', + label: '蒲江县' + }, + { + value: '510132', + label: '新津县' + }, + { + value: '510181', + label: '都江堰市' + }, + { + value: '510182', + label: '彭州市' + }, + { + value: '510183', + label: '邛崃市' + }, + { + value: '510184', + label: '崇州市' + } + ] + }, + { + value: '510300', + label: '自贡市', + children: [ + { + value: '510302', + label: '自流井区' + }, + { + value: '510303', + label: '贡井区' + }, + { + value: '510304', + label: '大安区' + }, + { + value: '510311', + label: '沿滩区' + }, + { + value: '510321', + label: '荣县' + }, + { + value: '510322', + label: '富顺县' + } + ] + }, + { + value: '510400', + label: '攀枝花市', + children: [ + { + value: '510402', + label: '东区' + }, + { + value: '510403', + label: '西区' + }, + { + value: '510411', + label: '仁和区' + }, + { + value: '510421', + label: '米易县' + }, + { + value: '510422', + label: '盐边县' + } + ] + }, + { + value: '510500', + label: '泸州市', + children: [ + { + value: '510502', + label: '江阳区' + }, + { + value: '510503', + label: '纳溪区' + }, + { + value: '510504', + label: '龙马潭区' + }, + { + value: '510521', + label: '泸县' + }, + { + value: '510522', + label: '合江县' + }, + { + value: '510524', + label: '叙永县' + }, + { + value: '510525', + label: '古蔺县' + } + ] + }, + { + value: '510600', + label: '德阳市', + children: [ + { + value: '510603', + label: '旌阳区' + }, + { + value: '510623', + label: '中江县' + }, + { + value: '510626', + label: '罗江县' + }, + { + value: '510681', + label: '广汉市' + }, + { + value: '510682', + label: '什邡市' + }, + { + value: '510683', + label: '绵竹市' + } + ] + }, + { + value: '510700', + label: '绵阳市', + children: [ + { + value: '510703', + label: '涪城区' + }, + { + value: '510704', + label: '游仙区' + }, + { + value: '510722', + label: '三台县' + }, + { + value: '510723', + label: '盐亭县' + }, + { + value: '510724', + label: '安县' + }, + { + value: '510725', + label: '梓潼县' + }, + { + value: '510726', + label: '北川羌族自治县' + }, + { + value: '510727', + label: '平武县' + }, + { + value: '510751', + label: '高新区' + }, + { + value: '510781', + label: '江油市' + } + ] + }, + { + value: '510800', + label: '广元市', + children: [ + { + value: '510802', + label: '利州区' + }, + { + value: '510811', + label: '元坝区' + }, + { + value: '510812', + label: '朝天区' + }, + { + value: '510821', + label: '旺苍县' + }, + { + value: '510822', + label: '青川县' + }, + { + value: '510823', + label: '剑阁县' + }, + { + value: '510824', + label: '苍溪县' + } + ] + }, + { + value: '510900', + label: '遂宁市', + children: [ + { + value: '510903', + label: '船山区' + }, + { + value: '510904', + label: '安居区' + }, + { + value: '510921', + label: '蓬溪县' + }, + { + value: '510922', + label: '射洪县' + }, + { + value: '510923', + label: '大英县' + } + ] + }, + { + value: '511000', + label: '内江市', + children: [ + { + value: '511002', + label: '市中区' + }, + { + value: '511011', + label: '东兴区' + }, + { + value: '511024', + label: '威远县' + }, + { + value: '511025', + label: '资中县' + }, + { + value: '511028', + label: '隆昌县' + } + ] + }, + { + value: '511100', + label: '乐山市', + children: [ + { + value: '511102', + label: '市中区' + }, + { + value: '511111', + label: '沙湾区' + }, + { + value: '511112', + label: '五通桥区' + }, + { + value: '511113', + label: '金口河区' + }, + { + value: '511123', + label: '犍为县' + }, + { + value: '511124', + label: '井研县' + }, + { + value: '511126', + label: '夹江县' + }, + { + value: '511129', + label: '沐川县' + }, + { + value: '511132', + label: '峨边彝族自治县' + }, + { + value: '511133', + label: '马边彝族自治县' + }, + { + value: '511181', + label: '峨眉山市' + } + ] + }, + { + value: '511300', + label: '南充市', + children: [ + { + value: '511302', + label: '顺庆区' + }, + { + value: '511303', + label: '高坪区' + }, + { + value: '511304', + label: '嘉陵区' + }, + { + value: '511321', + label: '南部县' + }, + { + value: '511322', + label: '营山县' + }, + { + value: '511323', + label: '蓬安县' + }, + { + value: '511324', + label: '仪陇县' + }, + { + value: '511325', + label: '西充县' + }, + { + value: '511381', + label: '阆中市' + } + ] + }, + { + value: '511400', + label: '眉山市', + children: [ + { + value: '511402', + label: '东坡区' + }, + { + value: '511421', + label: '仁寿县' + }, + { + value: '511422', + label: '彭山县' + }, + { + value: '511423', + label: '洪雅县' + }, + { + value: '511424', + label: '丹棱县' + }, + { + value: '511425', + label: '青神县' + } + ] + }, + { + value: '511500', + label: '宜宾市', + children: [ + { + value: '511502', + label: '翠屏区' + }, + { + value: '511521', + label: '宜宾县' + }, + { + value: '511522', + label: '南溪县' + }, + { + value: '511523', + label: '江安县' + }, + { + value: '511524', + label: '长宁县' + }, + { + value: '511525', + label: '高县' + }, + { + value: '511526', + label: '珙县' + }, + { + value: '511527', + label: '筠连县' + }, + { + value: '511528', + label: '兴文县' + }, + { + value: '511529', + label: '屏山县' + } + ] + }, + { + value: '511600', + label: '广安市', + children: [ + { + value: '511602', + label: '广安区' + }, + { + value: '511621', + label: '岳池县' + }, + { + value: '511622', + label: '武胜县' + }, + { + value: '511623', + label: '邻水县' + }, + { + value: '511681', + label: '华蓥市' + }, + { + value: '511682', + label: '市辖区' + } + ] + }, + { + value: '511700', + label: '达州市', + children: [ + { + value: '511702', + label: '通川区' + }, + { + value: '511721', + label: '达县' + }, + { + value: '511722', + label: '宣汉县' + }, + { + value: '511723', + label: '开江县' + }, + { + value: '511724', + label: '大竹县' + }, + { + value: '511725', + label: '渠县' + }, + { + value: '511781', + label: '万源市' + } + ] + }, + { + value: '511800', + label: '雅安市', + children: [ + { + value: '511802', + label: '雨城区' + }, + { + value: '511821', + label: '名山县' + }, + { + value: '511822', + label: '荥经县' + }, + { + value: '511823', + label: '汉源县' + }, + { + value: '511824', + label: '石棉县' + }, + { + value: '511825', + label: '天全县' + }, + { + value: '511826', + label: '芦山县' + }, + { + value: '511827', + label: '宝兴县' + } + ] + }, + { + value: '511900', + label: '巴中市', + children: [ + { + value: '511902', + label: '巴州区' + }, + { + value: '511921', + label: '通江县' + }, + { + value: '511922', + label: '南江县' + }, + { + value: '511923', + label: '平昌县' + } + ] + }, + { + value: '512000', + label: '资阳市', + children: [ + { + value: '512002', + label: '雁江区' + }, + { + value: '512021', + label: '安岳县' + }, + { + value: '512022', + label: '乐至县' + }, + { + value: '512081', + label: '简阳市' + } + ] + }, + { + value: '513200', + label: '阿坝藏族羌族自治州', + children: [ + { + value: '513221', + label: '汶川县' + }, + { + value: '513222', + label: '理县' + }, + { + value: '513223', + label: '茂县' + }, + { + value: '513224', + label: '松潘县' + }, + { + value: '513225', + label: '九寨沟县' + }, + { + value: '513226', + label: '金川县' + }, + { + value: '513227', + label: '小金县' + }, + { + value: '513228', + label: '黑水县' + }, + { + value: '513229', + label: '马尔康县' + }, + { + value: '513230', + label: '壤塘县' + }, + { + value: '513231', + label: '阿坝县' + }, + { + value: '513232', + label: '若尔盖县' + }, + { + value: '513233', + label: '红原县' + } + ] + }, + { + value: '513300', + label: '甘孜藏族自治州', + children: [ + { + value: '513321', + label: '康定县' + }, + { + value: '513322', + label: '泸定县' + }, + { + value: '513323', + label: '丹巴县' + }, + { + value: '513324', + label: '九龙县' + }, + { + value: '513325', + label: '雅江县' + }, + { + value: '513326', + label: '道孚县' + }, + { + value: '513327', + label: '炉霍县' + }, + { + value: '513328', + label: '甘孜县' + }, + { + value: '513329', + label: '新龙县' + }, + { + value: '513330', + label: '德格县' + }, + { + value: '513331', + label: '白玉县' + }, + { + value: '513332', + label: '石渠县' + }, + { + value: '513333', + label: '色达县' + }, + { + value: '513334', + label: '理塘县' + }, + { + value: '513335', + label: '巴塘县' + }, + { + value: '513336', + label: '乡城县' + }, + { + value: '513337', + label: '稻城县' + }, + { + value: '513338', + label: '得荣县' + } + ] + }, + { + value: '513400', + label: '凉山彝族自治州', + children: [ + { + value: '513401', + label: '西昌市' + }, + { + value: '513422', + label: '木里藏族自治县' + }, + { + value: '513423', + label: '盐源县' + }, + { + value: '513424', + label: '德昌县' + }, + { + value: '513425', + label: '会理县' + }, + { + value: '513426', + label: '会东县' + }, + { + value: '513427', + label: '宁南县' + }, + { + value: '513428', + label: '普格县' + }, + { + value: '513429', + label: '布拖县' + }, + { + value: '513430', + label: '金阳县' + }, + { + value: '513431', + label: '昭觉县' + }, + { + value: '513432', + label: '喜德县' + }, + { + value: '513433', + label: '冕宁县' + }, + { + value: '513434', + label: '越西县' + }, + { + value: '513435', + label: '甘洛县' + }, + { + value: '513436', + label: '美姑县' + }, + { + value: '513437', + label: '雷波县' + } + ] + } + ] + }, + { + label: '贵州省', + value: '520000', + children: [ + { + value: '520100', + label: '贵阳市', + children: [ + { + value: '520102', + label: '南明区' + }, + { + value: '520103', + label: '云岩区' + }, + { + value: '520111', + label: '花溪区' + }, + { + value: '520112', + label: '乌当区' + }, + { + value: '520113', + label: '白云区' + }, + { + value: '520114', + label: '小河区' + }, + { + value: '520121', + label: '开阳县' + }, + { + value: '520122', + label: '息烽县' + }, + { + value: '520123', + label: '修文县' + }, + { + value: '520151', + label: '金阳开发区' + }, + { + value: '520181', + label: '清镇市' + } + ] + }, + { + value: '520200', + label: '六盘水市', + children: [ + { + value: '520201', + label: '钟山区' + }, + { + value: '520203', + label: '六枝特区' + }, + { + value: '520221', + label: '水城县' + }, + { + value: '520222', + label: '盘县' + } + ] + }, + { + value: '520300', + label: '遵义市', + children: [ + { + value: '520302', + label: '红花岗区' + }, + { + value: '520303', + label: '汇川区' + }, + { + value: '520321', + label: '遵义县' + }, + { + value: '520322', + label: '桐梓县' + }, + { + value: '520323', + label: '绥阳县' + }, + { + value: '520324', + label: '正安县' + }, + { + value: '520325', + label: '道真仡佬族苗族自治县' + }, + { + value: '520326', + label: '务川仡佬族苗族自治县' + }, + { + value: '520327', + label: '凤冈县' + }, + { + value: '520328', + label: '湄潭县' + }, + { + value: '520329', + label: '余庆县' + }, + { + value: '520330', + label: '习水县' + }, + { + value: '520381', + label: '赤水市' + }, + { + value: '520382', + label: '仁怀市' + } + ] + }, + { + value: '520400', + label: '安顺市', + children: [ + { + value: '520402', + label: '西秀区' + }, + { + value: '520421', + label: '平坝县' + }, + { + value: '520422', + label: '普定县' + }, + { + value: '520423', + label: '镇宁布依族苗族自治县' + }, + { + value: '520424', + label: '关岭布依族苗族自治县' + }, + { + value: '520425', + label: '紫云苗族布依族自治县' + } + ] + }, + { + value: '522200', + label: '铜仁地区', + children: [ + { + value: '522201', + label: '铜仁市' + }, + { + value: '522222', + label: '江口县' + }, + { + value: '522223', + label: '玉屏侗族自治县' + }, + { + value: '522224', + label: '石阡县' + }, + { + value: '522225', + label: '思南县' + }, + { + value: '522226', + label: '印江土家族苗族自治县' + }, + { + value: '522227', + label: '德江县' + }, + { + value: '522228', + label: '沿河土家族自治县' + }, + { + value: '522229', + label: '松桃苗族自治县' + }, + { + value: '522230', + label: '万山特区' + } + ] + }, + { + value: '522300', + label: '黔西南布依族苗族自治州', + children: [ + { + value: '522301', + label: '兴义市' + }, + { + value: '522322', + label: '兴仁县' + }, + { + value: '522323', + label: '普安县' + }, + { + value: '522324', + label: '晴隆县' + }, + { + value: '522325', + label: '贞丰县' + }, + { + value: '522326', + label: '望谟县' + }, + { + value: '522327', + label: '册亨县' + }, + { + value: '522328', + label: '安龙县' + } + ] + }, + { + value: '522400', + label: '毕节地区', + children: [ + { + value: '522401', + label: '毕节市' + }, + { + value: '522422', + label: '大方县' + }, + { + value: '522423', + label: '黔西县' + }, + { + value: '522424', + label: '金沙县' + }, + { + value: '522425', + label: '织金县' + }, + { + value: '522426', + label: '纳雍县' + }, + { + value: '522427', + label: '威宁彝族回族苗族自治县' + }, + { + value: '522428', + label: '赫章县' + } + ] + }, + { + value: '522600', + label: '黔东南苗族侗族自治州', + children: [ + { + value: '522601', + label: '凯里市' + }, + { + value: '522622', + label: '黄平县' + }, + { + value: '522623', + label: '施秉县' + }, + { + value: '522624', + label: '三穗县' + }, + { + value: '522625', + label: '镇远县' + }, + { + value: '522626', + label: '岑巩县' + }, + { + value: '522627', + label: '天柱县' + }, + { + value: '522628', + label: '锦屏县' + }, + { + value: '522629', + label: '剑河县' + }, + { + value: '522630', + label: '台江县' + }, + { + value: '522631', + label: '黎平县' + }, + { + value: '522632', + label: '榕江县' + }, + { + value: '522633', + label: '从江县' + }, + { + value: '522634', + label: '雷山县' + }, + { + value: '522635', + label: '麻江县' + }, + { + value: '522636', + label: '丹寨县' + } + ] + }, + { + value: '522700', + label: '黔南布依族苗族自治州', + children: [ + { + value: '522701', + label: '都匀市' + }, + { + value: '522702', + label: '福泉市' + }, + { + value: '522722', + label: '荔波县' + }, + { + value: '522723', + label: '贵定县' + }, + { + value: '522725', + label: '瓮安县' + }, + { + value: '522726', + label: '独山县' + }, + { + value: '522727', + label: '平塘县' + }, + { + value: '522728', + label: '罗甸县' + }, + { + value: '522729', + label: '长顺县' + }, + { + value: '522730', + label: '龙里县' + }, + { + value: '522731', + label: '惠水县' + }, + { + value: '522732', + label: '三都水族自治县' + } + ] + } + ] + }, + { + label: '云南省', + value: '530000', + children: [ + { + value: '530100', + label: '昆明市', + children: [ + { + value: '530102', + label: '五华区' + }, + { + value: '530103', + label: '盘龙区' + }, + { + value: '530111', + label: '官渡区' + }, + { + value: '530112', + label: '西山区' + }, + { + value: '530113', + label: '东川区' + }, + { + value: '530121', + label: '呈贡县' + }, + { + value: '530122', + label: '晋宁县' + }, + { + value: '530124', + label: '富民县' + }, + { + value: '530125', + label: '宜良县' + }, + { + value: '530126', + label: '石林彝族自治县' + }, + { + value: '530127', + label: '嵩明县' + }, + { + value: '530128', + label: '禄劝彝族苗族自治县' + }, + { + value: '530129', + label: '寻甸回族彝族自治县' + }, + { + value: '530181', + label: '安宁市' + } + ] + }, + { + value: '530300', + label: '曲靖市', + children: [ + { + value: '530302', + label: '麒麟区' + }, + { + value: '530321', + label: '马龙县' + }, + { + value: '530322', + label: '陆良县' + }, + { + value: '530323', + label: '师宗县' + }, + { + value: '530324', + label: '罗平县' + }, + { + value: '530325', + label: '富源县' + }, + { + value: '530326', + label: '会泽县' + }, + { + value: '530328', + label: '沾益县' + }, + { + value: '530381', + label: '宣威市' + } + ] + }, + { + value: '530400', + label: '玉溪市', + children: [ + { + value: '530402', + label: '红塔区' + }, + { + value: '530421', + label: '江川县' + }, + { + value: '530422', + label: '澄江县' + }, + { + value: '530423', + label: '通海县' + }, + { + value: '530424', + label: '华宁县' + }, + { + value: '530425', + label: '易门县' + }, + { + value: '530426', + label: '峨山彝族自治县' + }, + { + value: '530427', + label: '新平彝族傣族自治县' + }, + { + value: '530428', + label: '元江哈尼族彝族傣族自治县' + } + ] + }, + { + value: '530500', + label: '保山市', + children: [ + { + value: '530502', + label: '隆阳区' + }, + { + value: '530521', + label: '施甸县' + }, + { + value: '530522', + label: '腾冲县' + }, + { + value: '530523', + label: '龙陵县' + }, + { + value: '530524', + label: '昌宁县' + } + ] + }, + { + value: '530600', + label: '昭通市', + children: [ + { + value: '530602', + label: '昭阳区' + }, + { + value: '530621', + label: '鲁甸县' + }, + { + value: '530622', + label: '巧家县' + }, + { + value: '530623', + label: '盐津县' + }, + { + value: '530624', + label: '大关县' + }, + { + value: '530625', + label: '永善县' + }, + { + value: '530626', + label: '绥江县' + }, + { + value: '530627', + label: '镇雄县' + }, + { + value: '530628', + label: '彝良县' + }, + { + value: '530629', + label: '威信县' + }, + { + value: '530630', + label: '水富县' + } + ] + }, + { + value: '530700', + label: '丽江市', + children: [ + { + value: '530702', + label: '古城区' + }, + { + value: '530721', + label: '玉龙纳西族自治县' + }, + { + value: '530722', + label: '永胜县' + }, + { + value: '530723', + label: '华坪县' + }, + { + value: '530724', + label: '宁蒗彝族自治县' + } + ] + }, + { + value: '530800', + label: '普洱市', + children: [ + { + value: '530802', + label: '思茅区' + }, + { + value: '530821', + label: '宁洱哈尼族彝族自治县' + }, + { + value: '530822', + label: '墨江哈尼族自治县' + }, + { + value: '530823', + label: '景东彝族自治县' + }, + { + value: '530824', + label: '景谷傣族彝族自治县' + }, + { + value: '530825', + label: '镇沅彝族哈尼族拉祜族自治县' + }, + { + value: '530826', + label: '江城哈尼族彝族自治县' + }, + { + value: '530827', + label: '孟连傣族拉祜族佤族自治县' + }, + { + value: '530828', + label: '澜沧拉祜族自治县' + }, + { + value: '530829', + label: '西盟佤族自治县' + } + ] + }, + { + value: '530900', + label: '临沧市', + children: [ + { + value: '530902', + label: '临翔区' + }, + { + value: '530921', + label: '凤庆县' + }, + { + value: '530922', + label: '云县' + }, + { + value: '530923', + label: '永德县' + }, + { + value: '530924', + label: '镇康县' + }, + { + value: '530925', + label: '双江拉祜族佤族布朗族傣族自治县' + }, + { + value: '530926', + label: '耿马傣族佤族自治县' + }, + { + value: '530927', + label: '沧源佤族自治县' + } + ] + }, + { + value: '532300', + label: '楚雄彝族自治州', + children: [ + { + value: '532301', + label: '楚雄市' + }, + { + value: '532322', + label: '双柏县' + }, + { + value: '532323', + label: '牟定县' + }, + { + value: '532324', + label: '南华县' + }, + { + value: '532325', + label: '姚安县' + }, + { + value: '532326', + label: '大姚县' + }, + { + value: '532327', + label: '永仁县' + }, + { + value: '532328', + label: '元谋县' + }, + { + value: '532329', + label: '武定县' + }, + { + value: '532331', + label: '禄丰县' + } + ] + }, + { + value: '532500', + label: '红河哈尼族彝族自治州', + children: [ + { + value: '532501', + label: '个旧市' + }, + { + value: '532502', + label: '开远市' + }, + { + value: '532522', + label: '蒙自县' + }, + { + value: '532523', + label: '屏边苗族自治县' + }, + { + value: '532524', + label: '建水县' + }, + { + value: '532525', + label: '石屏县' + }, + { + value: '532526', + label: '弥勒县' + }, + { + value: '532527', + label: '泸西县' + }, + { + value: '532528', + label: '元阳县' + }, + { + value: '532529', + label: '红河县' + }, + { + value: '532530', + label: '金平苗族瑶族傣族自治县' + }, + { + value: '532531', + label: '绿春县' + }, + { + value: '532532', + label: '河口瑶族自治县' + } + ] + }, + { + value: '532600', + label: '文山壮族苗族自治州', + children: [ + { + value: '532621', + label: '文山县' + }, + { + value: '532622', + label: '砚山县' + }, + { + value: '532623', + label: '西畴县' + }, + { + value: '532624', + label: '麻栗坡县' + }, + { + value: '532625', + label: '马关县' + }, + { + value: '532626', + label: '丘北县' + }, + { + value: '532627', + label: '广南县' + }, + { + value: '532628', + label: '富宁县' + } + ] + }, + { + value: '532800', + label: '西双版纳傣族自治州', + children: [ + { + value: '532801', + label: '景洪市' + }, + { + value: '532822', + label: '勐海县' + }, + { + value: '532823', + label: '勐腊县' + } + ] + }, + { + value: '532900', + label: '大理白族自治州', + children: [ + { + value: '532901', + label: '大理市' + }, + { + value: '532922', + label: '漾濞彝族自治县' + }, + { + value: '532923', + label: '祥云县' + }, + { + value: '532924', + label: '宾川县' + }, + { + value: '532925', + label: '弥渡县' + }, + { + value: '532926', + label: '南涧彝族自治县' + }, + { + value: '532927', + label: '巍山彝族回族自治县' + }, + { + value: '532928', + label: '永平县' + }, + { + value: '532929', + label: '云龙县' + }, + { + value: '532930', + label: '洱源县' + }, + { + value: '532931', + label: '剑川县' + }, + { + value: '532932', + label: '鹤庆县' + } + ] + }, + { + value: '533100', + label: '德宏傣族景颇族自治州', + children: [ + { + value: '533102', + label: '瑞丽市' + }, + { + value: '533103', + label: '潞西市' + }, + { + value: '533122', + label: '梁河县' + }, + { + value: '533123', + label: '盈江县' + }, + { + value: '533124', + label: '陇川县' + } + ] + }, + { + value: '533300', + label: '怒江傈僳族自治州', + children: [ + { + value: '533321', + label: '泸水县' + }, + { + value: '533323', + label: '福贡县' + }, + { + value: '533324', + label: '贡山独龙族怒族自治县' + }, + { + value: '533325', + label: '兰坪白族普米族自治县' + } + ] + }, + { + value: '533400', + label: '迪庆藏族自治州', + children: [ + { + value: '533421', + label: '香格里拉县' + }, + { + value: '533422', + label: '德钦县' + }, + { + value: '533423', + label: '维西傈僳族自治县' + } + ] + } + ] + }, + { + label: '西藏自治区', + value: '540000', + children: [ + { + value: '540100', + label: '拉萨市', + children: [ + { + value: '540102', + label: '城关区' + }, + { + value: '540121', + label: '林周县' + }, + { + value: '540122', + label: '当雄县' + }, + { + value: '540123', + label: '尼木县' + }, + { + value: '540124', + label: '曲水县' + }, + { + value: '540125', + label: '堆龙德庆县' + }, + { + value: '540126', + label: '达孜县' + }, + { + value: '540127', + label: '墨竹工卡县' + } + ] + }, + { + value: '542100', + label: '昌都地区', + children: [ + { + value: '542121', + label: '昌都县' + }, + { + value: '542122', + label: '江达县' + }, + { + value: '542123', + label: '贡觉县' + }, + { + value: '542124', + label: '类乌齐县' + }, + { + value: '542125', + label: '丁青县' + }, + { + value: '542126', + label: '察雅县' + }, + { + value: '542127', + label: '八宿县' + }, + { + value: '542128', + label: '左贡县' + }, + { + value: '542129', + label: '芒康县' + }, + { + value: '542132', + label: '洛隆县' + }, + { + value: '542133', + label: '边坝县' + } + ] + }, + { + value: '542200', + label: '山南地区', + children: [ + { + value: '542221', + label: '乃东县' + }, + { + value: '542222', + label: '扎囊县' + }, + { + value: '542223', + label: '贡嘎县' + }, + { + value: '542224', + label: '桑日县' + }, + { + value: '542225', + label: '琼结县' + }, + { + value: '542226', + label: '曲松县' + }, + { + value: '542227', + label: '措美县' + }, + { + value: '542228', + label: '洛扎县' + }, + { + value: '542229', + label: '加查县' + }, + { + value: '542231', + label: '隆子县' + }, + { + value: '542232', + label: '错那县' + }, + { + value: '542233', + label: '浪卡子县' + } + ] + }, + { + value: '542300', + label: '日喀则地区', + children: [ + { + value: '542301', + label: '日喀则市' + }, + { + value: '542322', + label: '南木林县' + }, + { + value: '542323', + label: '江孜县' + }, + { + value: '542324', + label: '定日县' + }, + { + value: '542325', + label: '萨迦县' + }, + { + value: '542326', + label: '拉孜县' + }, + { + value: '542327', + label: '昂仁县' + }, + { + value: '542328', + label: '谢通门县' + }, + { + value: '542329', + label: '白朗县' + }, + { + value: '542330', + label: '仁布县' + }, + { + value: '542331', + label: '康马县' + }, + { + value: '542332', + label: '定结县' + }, + { + value: '542333', + label: '仲巴县' + }, + { + value: '542334', + label: '亚东县' + }, + { + value: '542335', + label: '吉隆县' + }, + { + value: '542336', + label: '聂拉木县' + }, + { + value: '542337', + label: '萨嘎县' + }, + { + value: '542338', + label: '岗巴县' + } + ] + }, + { + value: '542400', + label: '那曲地区', + children: [ + { + value: '542421', + label: '那曲县' + }, + { + value: '542422', + label: '嘉黎县' + }, + { + value: '542423', + label: '比如县' + }, + { + value: '542424', + label: '聂荣县' + }, + { + value: '542425', + label: '安多县' + }, + { + value: '542426', + label: '申扎县' + }, + { + value: '542427', + label: '索县' + }, + { + value: '542428', + label: '班戈县' + }, + { + value: '542429', + label: '巴青县' + }, + { + value: '542430', + label: '尼玛县' + } + ] + }, + { + value: '542500', + label: '阿里地区', + children: [ + { + value: '542521', + label: '普兰县' + }, + { + value: '542522', + label: '札达县' + }, + { + value: '542523', + label: '噶尔县' + }, + { + value: '542524', + label: '日土县' + }, + { + value: '542525', + label: '革吉县' + }, + { + value: '542526', + label: '改则县' + }, + { + value: '542527', + label: '措勤县' + } + ] + }, + { + value: '542600', + label: '林芝地区', + children: [ + { + value: '542621', + label: '林芝县' + }, + { + value: '542622', + label: '工布江达县' + }, + { + value: '542623', + label: '米林县' + }, + { + value: '542624', + label: '墨脱县' + }, + { + value: '542625', + label: '波密县' + }, + { + value: '542626', + label: '察隅县' + }, + { + value: '542627', + label: '朗县' + } + ] + } + ] + }, + { + label: '陕西省', + value: '610000', + children: [ + { + value: '610100', + label: '西安市', + children: [ + { + value: '610102', + label: '新城区' + }, + { + value: '610103', + label: '碑林区' + }, + { + value: '610104', + label: '莲湖区' + }, + { + value: '610111', + label: '灞桥区' + }, + { + value: '610112', + label: '未央区' + }, + { + value: '610113', + label: '雁塔区' + }, + { + value: '610114', + label: '阎良区' + }, + { + value: '610115', + label: '临潼区' + }, + { + value: '610116', + label: '长安区' + }, + { + value: '610122', + label: '蓝田县' + }, + { + value: '610124', + label: '周至县' + }, + { + value: '610125', + label: '户县' + }, + { + value: '610126', + label: '高陵县' + } + ] + }, + { + value: '610200', + label: '铜川市', + children: [ + { + value: '610202', + label: '王益区' + }, + { + value: '610203', + label: '印台区' + }, + { + value: '610204', + label: '耀州区' + }, + { + value: '610222', + label: '宜君县' + } + ] + }, + { + value: '610300', + label: '宝鸡市', + children: [ + { + value: '610302', + label: '渭滨区' + }, + { + value: '610303', + label: '金台区' + }, + { + value: '610304', + label: '陈仓区' + }, + { + value: '610322', + label: '凤翔县' + }, + { + value: '610323', + label: '岐山县' + }, + { + value: '610324', + label: '扶风县' + }, + { + value: '610326', + label: '眉县' + }, + { + value: '610327', + label: '陇县' + }, + { + value: '610328', + label: '千阳县' + }, + { + value: '610329', + label: '麟游县' + }, + { + value: '610330', + label: '凤县' + }, + { + value: '610331', + label: '太白县' + } + ] + }, + { + value: '610400', + label: '咸阳市', + children: [ + { + value: '610402', + label: '秦都区' + }, + { + value: '610403', + label: '杨陵区' + }, + { + value: '610404', + label: '渭城区' + }, + { + value: '610422', + label: '三原县' + }, + { + value: '610423', + label: '泾阳县' + }, + { + value: '610424', + label: '乾县' + }, + { + value: '610425', + label: '礼泉县' + }, + { + value: '610426', + label: '永寿县' + }, + { + value: '610427', + label: '彬县' + }, + { + value: '610428', + label: '长武县' + }, + { + value: '610429', + label: '旬邑县' + }, + { + value: '610430', + label: '淳化县' + }, + { + value: '610431', + label: '武功县' + }, + { + value: '610481', + label: '兴平市' + } + ] + }, + { + value: '610500', + label: '渭南市', + children: [ + { + value: '610502', + label: '临渭区' + }, + { + value: '610521', + label: '华县' + }, + { + value: '610522', + label: '潼关县' + }, + { + value: '610523', + label: '大荔县' + }, + { + value: '610524', + label: '合阳县' + }, + { + value: '610525', + label: '澄城县' + }, + { + value: '610526', + label: '蒲城县' + }, + { + value: '610527', + label: '白水县' + }, + { + value: '610528', + label: '富平县' + }, + { + value: '610581', + label: '韩城市' + }, + { + value: '610582', + label: '华阴市' + } + ] + }, + { + value: '610600', + label: '延安市', + children: [ + { + value: '610602', + label: '宝塔区' + }, + { + value: '610621', + label: '延长县' + }, + { + value: '610622', + label: '延川县' + }, + { + value: '610623', + label: '子长县' + }, + { + value: '610624', + label: '安塞县' + }, + { + value: '610625', + label: '志丹县' + }, + { + value: '610626', + label: '吴起县' + }, + { + value: '610627', + label: '甘泉县' + }, + { + value: '610628', + label: '富县' + }, + { + value: '610629', + label: '洛川县' + }, + { + value: '610630', + label: '宜川县' + }, + { + value: '610631', + label: '黄龙县' + }, + { + value: '610632', + label: '黄陵县' + } + ] + }, + { + value: '610700', + label: '汉中市', + children: [ + { + value: '610702', + label: '汉台区' + }, + { + value: '610721', + label: '南郑县' + }, + { + value: '610722', + label: '城固县' + }, + { + value: '610723', + label: '洋县' + }, + { + value: '610724', + label: '西乡县' + }, + { + value: '610725', + label: '勉县' + }, + { + value: '610726', + label: '宁强县' + }, + { + value: '610727', + label: '略阳县' + }, + { + value: '610728', + label: '镇巴县' + }, + { + value: '610729', + label: '留坝县' + }, + { + value: '610730', + label: '佛坪县' + } + ] + }, + { + value: '610800', + label: '榆林市', + children: [ + { + value: '610802', + label: '榆阳区' + }, + { + value: '610821', + label: '神木县' + }, + { + value: '610822', + label: '府谷县' + }, + { + value: '610823', + label: '横山县' + }, + { + value: '610824', + label: '靖边县' + }, + { + value: '610825', + label: '定边县' + }, + { + value: '610826', + label: '绥德县' + }, + { + value: '610827', + label: '米脂县' + }, + { + value: '610828', + label: '佳县' + }, + { + value: '610829', + label: '吴堡县' + }, + { + value: '610830', + label: '清涧县' + }, + { + value: '610831', + label: '子洲县' + } + ] + }, + { + value: '610900', + label: '安康市', + children: [ + { + value: '610902', + label: '汉滨区' + }, + { + value: '610921', + label: '汉阴县' + }, + { + value: '610922', + label: '石泉县' + }, + { + value: '610923', + label: '宁陕县' + }, + { + value: '610924', + label: '紫阳县' + }, + { + value: '610925', + label: '岚皋县' + }, + { + value: '610926', + label: '平利县' + }, + { + value: '610927', + label: '镇坪县' + }, + { + value: '610928', + label: '旬阳县' + }, + { + value: '610929', + label: '白河县' + } + ] + }, + { + value: '611000', + label: '商洛市', + children: [ + { + value: '611002', + label: '商州区' + }, + { + value: '611021', + label: '洛南县' + }, + { + value: '611022', + label: '丹凤县' + }, + { + value: '611023', + label: '商南县' + }, + { + value: '611024', + label: '山阳县' + }, + { + value: '611025', + label: '镇安县' + }, + { + value: '611026', + label: '柞水县' + } + ] + } + ] + }, + { + label: '甘肃省', + value: '620000', + children: [ + { + value: '620100', + label: '兰州市', + children: [ + { + value: '620102', + label: '城关区' + }, + { + value: '620103', + label: '七里河区' + }, + { + value: '620104', + label: '西固区' + }, + { + value: '620105', + label: '安宁区' + }, + { + value: '620111', + label: '红古区' + }, + { + value: '620121', + label: '永登县' + }, + { + value: '620122', + label: '皋兰县' + }, + { + value: '620123', + label: '榆中县' + } + ] + }, + { + value: '620200', + label: '嘉峪关市' + }, + { + value: '620300', + label: '金昌市', + children: [ + { + value: '620302', + label: '金川区' + }, + { + value: '620321', + label: '永昌县' + } + ] + }, + { + value: '620400', + label: '白银市', + children: [ + { + value: '620402', + label: '白银区' + }, + { + value: '620403', + label: '平川区' + }, + { + value: '620421', + label: '靖远县' + }, + { + value: '620422', + label: '会宁县' + }, + { + value: '620423', + label: '景泰县' + } + ] + }, + { + value: '620500', + label: '天水市', + children: [ + { + value: '620502', + label: '秦州区' + }, + { + value: '620503', + label: '麦积区' + }, + { + value: '620521', + label: '清水县' + }, + { + value: '620522', + label: '秦安县' + }, + { + value: '620523', + label: '甘谷县' + }, + { + value: '620524', + label: '武山县' + }, + { + value: '620525', + label: '张家川回族自治县' + } + ] + }, + { + value: '620600', + label: '武威市', + children: [ + { + value: '620602', + label: '凉州区' + }, + { + value: '620621', + label: '民勤县' + }, + { + value: '620622', + label: '古浪县' + }, + { + value: '620623', + label: '天祝藏族自治县' + } + ] + }, + { + value: '620700', + label: '张掖市', + children: [ + { + value: '620702', + label: '甘州区' + }, + { + value: '620721', + label: '肃南裕固族自治县' + }, + { + value: '620722', + label: '民乐县' + }, + { + value: '620723', + label: '临泽县' + }, + { + value: '620724', + label: '高台县' + }, + { + value: '620725', + label: '山丹县' + } + ] + }, + { + value: '620800', + label: '平凉市', + children: [ + { + value: '620802', + label: '崆峒区' + }, + { + value: '620821', + label: '泾川县' + }, + { + value: '620822', + label: '灵台县' + }, + { + value: '620823', + label: '崇信县' + }, + { + value: '620824', + label: '华亭县' + }, + { + value: '620825', + label: '庄浪县' + }, + { + value: '620826', + label: '静宁县' + } + ] + }, + { + value: '620900', + label: '酒泉市', + children: [ + { + value: '620902', + label: '肃州区' + }, + { + value: '620921', + label: '金塔县' + }, + { + value: '620922', + label: '安西县' + }, + { + value: '620923', + label: '肃北蒙古族自治县' + }, + { + value: '620924', + label: '阿克塞哈萨克族自治县' + }, + { + value: '620981', + label: '玉门市' + }, + { + value: '620982', + label: '敦煌市' + } + ] + }, + { + value: '621000', + label: '庆阳市', + children: [ + { + value: '621002', + label: '西峰区' + }, + { + value: '621021', + label: '庆城县' + }, + { + value: '621022', + label: '环县' + }, + { + value: '621023', + label: '华池县' + }, + { + value: '621024', + label: '合水县' + }, + { + value: '621025', + label: '正宁县' + }, + { + value: '621026', + label: '宁县' + }, + { + value: '621027', + label: '镇原县' + } + ] + }, + { + value: '621100', + label: '定西市', + children: [ + { + value: '621102', + label: '安定区' + }, + { + value: '621121', + label: '通渭县' + }, + { + value: '621122', + label: '陇西县' + }, + { + value: '621123', + label: '渭源县' + }, + { + value: '621124', + label: '临洮县' + }, + { + value: '621125', + label: '漳县' + }, + { + value: '621126', + label: '岷县' + } + ] + }, + { + value: '621200', + label: '陇南市', + children: [ + { + value: '621202', + label: '武都区' + }, + { + value: '621221', + label: '成县' + }, + { + value: '621222', + label: '文县' + }, + { + value: '621223', + label: '宕昌县' + }, + { + value: '621224', + label: '康县' + }, + { + value: '621225', + label: '西和县' + }, + { + value: '621226', + label: '礼县' + }, + { + value: '621227', + label: '徽县' + }, + { + value: '621228', + label: '两当县' + } + ] + }, + { + value: '622900', + label: '临夏回族自治州', + children: [ + { + value: '622901', + label: '临夏市' + }, + { + value: '622921', + label: '临夏县' + }, + { + value: '622922', + label: '康乐县' + }, + { + value: '622923', + label: '永靖县' + }, + { + value: '622924', + label: '广河县' + }, + { + value: '622925', + label: '和政县' + }, + { + value: '622926', + label: '东乡族自治县' + }, + { + value: '622927', + label: '积石山保安族东乡族撒拉族自治县' + } + ] + }, + { + value: '623000', + label: '甘南藏族自治州', + children: [ + { + value: '623001', + label: '合作市' + }, + { + value: '623021', + label: '临潭县' + }, + { + value: '623022', + label: '卓尼县' + }, + { + value: '623023', + label: '舟曲县' + }, + { + value: '623024', + label: '迭部县' + }, + { + value: '623025', + label: '玛曲县' + }, + { + value: '623026', + label: '碌曲县' + }, + { + value: '623027', + label: '夏河县' + } + ] + } + ] + }, + { + label: '青海省', + value: '630000', + children: [ + { + value: '630100', + label: '西宁市', + children: [ + { + value: '630102', + label: '城东区' + }, + { + value: '630103', + label: '城中区' + }, + { + value: '630104', + label: '城西区' + }, + { + value: '630105', + label: '城北区' + }, + { + value: '630121', + label: '大通回族土族自治县' + }, + { + value: '630122', + label: '湟中县' + }, + { + value: '630123', + label: '湟源县' + } + ] + }, + { + value: '632100', + label: '海东地区', + children: [ + { + value: '632121', + label: '平安县' + }, + { + value: '632122', + label: '民和回族土族自治县' + }, + { + value: '632123', + label: '乐都县' + }, + { + value: '632126', + label: '互助土族自治县' + }, + { + value: '632127', + label: '化隆回族自治县' + }, + { + value: '632128', + label: '循化撒拉族自治县' + } + ] + }, + { + value: '632200', + label: '海北藏族自治州', + children: [ + { + value: '632221', + label: '门源回族自治县' + }, + { + value: '632222', + label: '祁连县' + }, + { + value: '632223', + label: '海晏县' + }, + { + value: '632224', + label: '刚察县' + } + ] + }, + { + value: '632300', + label: '黄南藏族自治州', + children: [ + { + value: '632321', + label: '同仁县' + }, + { + value: '632322', + label: '尖扎县' + }, + { + value: '632323', + label: '泽库县' + }, + { + value: '632324', + label: '河南蒙古族自治县' + } + ] + }, + { + value: '632500', + label: '海南藏族自治州', + children: [ + { + value: '632521', + label: '共和县' + }, + { + value: '632522', + label: '同德县' + }, + { + value: '632523', + label: '贵德县' + }, + { + value: '632524', + label: '兴海县' + }, + { + value: '632525', + label: '贵南县' + } + ] + }, + { + value: '632600', + label: '果洛藏族自治州', + children: [ + { + value: '632621', + label: '玛沁县' + }, + { + value: '632622', + label: '班玛县' + }, + { + value: '632623', + label: '甘德县' + }, + { + value: '632624', + label: '达日县' + }, + { + value: '632625', + label: '久治县' + }, + { + value: '632626', + label: '玛多县' + } + ] + }, + { + value: '632700', + label: '玉树藏族自治州', + children: [ + { + value: '632721', + label: '玉树县' + }, + { + value: '632722', + label: '杂多县' + }, + { + value: '632723', + label: '称多县' + }, + { + value: '632724', + label: '治多县' + }, + { + value: '632725', + label: '囊谦县' + }, + { + value: '632726', + label: '曲麻莱县' + } + ] + }, + { + value: '632800', + label: '海西蒙古族藏族自治州', + children: [ + { + value: '632801', + label: '格尔木市' + }, + { + value: '632802', + label: '德令哈市' + }, + { + value: '632821', + label: '乌兰县' + }, + { + value: '632822', + label: '都兰县' + }, + { + value: '632823', + label: '天峻县' + } + ] + } + ] + }, + { + label: '宁夏回族自治区', + value: '640000', + children: [ + { + value: '640100', + label: '银川市', + children: [ + { + value: '640104', + label: '兴庆区' + }, + { + value: '640105', + label: '西夏区' + }, + { + value: '640106', + label: '金凤区' + }, + { + value: '640121', + label: '永宁县' + }, + { + value: '640122', + label: '贺兰县' + }, + { + value: '640181', + label: '灵武市' + } + ] + }, + { + value: '640200', + label: '石嘴山市', + children: [ + { + value: '640202', + label: '大武口区' + }, + { + value: '640205', + label: '惠农区' + }, + { + value: '640221', + label: '平罗县' + } + ] + }, + { + value: '640300', + label: '吴忠市', + children: [ + { + value: '640302', + label: '利通区' + }, + { + value: '640303', + label: '红寺堡区' + }, + { + value: '640323', + label: '盐池县' + }, + { + value: '640324', + label: '同心县' + }, + { + value: '640381', + label: '青铜峡市' + } + ] + }, + { + value: '640400', + label: '固原市', + children: [ + { + value: '640402', + label: '原州区' + }, + { + value: '640422', + label: '西吉县' + }, + { + value: '640423', + label: '隆德县' + }, + { + value: '640424', + label: '泾源县' + }, + { + value: '640425', + label: '彭阳县' + } + ] + }, + { + value: '640500', + label: '中卫市', + children: [ + { + value: '640502', + label: '沙坡头区' + }, + { + value: '640521', + label: '中宁县' + }, + { + value: '640522', + label: '海原县' + } + ] + } + ] + }, + { + label: '新疆维吾尔自治区', + value: '650000', + children: [ + { + value: '650100', + label: '乌鲁木齐市', + children: [ + { + value: '650102', + label: '天山区' + }, + { + value: '650103', + label: '沙依巴克区' + }, + { + value: '650104', + label: '新市区' + }, + { + value: '650105', + label: '水磨沟区' + }, + { + value: '650106', + label: '头屯河区' + }, + { + value: '650107', + label: '达坂城区' + }, + { + value: '650108', + label: '东山区' + }, + { + value: '650109', + label: '米东区' + }, + { + value: '650121', + label: '乌鲁木齐县' + } + ] + }, + { + value: '650200', + label: '克拉玛依市', + children: [ + { + value: '650202', + label: '独山子区' + }, + { + value: '650203', + label: '克拉玛依区' + }, + { + value: '650204', + label: '白碱滩区' + }, + { + value: '650205', + label: '乌尔禾区' + } + ] + }, + { + value: '652100', + label: '吐鲁番地区', + children: [ + { + value: '652101', + label: '吐鲁番市' + }, + { + value: '652122', + label: '鄯善县' + }, + { + value: '652123', + label: '托克逊县' + } + ] + }, + { + value: '652200', + label: '哈密地区', + children: [ + { + value: '652201', + label: '哈密市' + }, + { + value: '652222', + label: '巴里坤哈萨克自治县' + }, + { + value: '652223', + label: '伊吾县' + } + ] + }, + { + value: '652300', + label: '昌吉回族自治州', + children: [ + { + value: '652301', + label: '昌吉市' + }, + { + value: '652302', + label: '阜康市' + }, + { + value: '652303', + label: '米泉市' + }, + { + value: '652323', + label: '呼图壁县' + }, + { + value: '652324', + label: '玛纳斯县' + }, + { + value: '652325', + label: '奇台县' + }, + { + value: '652327', + label: '吉木萨尔县' + }, + { + value: '652328', + label: '木垒哈萨克自治县' + } + ] + }, + { + value: '652700', + label: '博尔塔拉蒙古自治州', + children: [ + { + value: '652701', + label: '博乐市' + }, + { + value: '652722', + label: '精河县' + }, + { + value: '652723', + label: '温泉县' + } + ] + }, + { + value: '652800', + label: '巴音郭楞蒙古自治州', + children: [ + { + value: '652801', + label: '库尔勒市' + }, + { + value: '652822', + label: '轮台县' + }, + { + value: '652823', + label: '尉犁县' + }, + { + value: '652824', + label: '若羌县' + }, + { + value: '652825', + label: '且末县' + }, + { + value: '652826', + label: '焉耆回族自治县' + }, + { + value: '652827', + label: '和静县' + }, + { + value: '652828', + label: '和硕县' + }, + { + value: '652829', + label: '博湖县' + } + ] + }, + { + value: '652900', + label: '阿克苏地区', + children: [ + { + value: '652901', + label: '阿克苏市' + }, + { + value: '652922', + label: '温宿县' + }, + { + value: '652923', + label: '库车县' + }, + { + value: '652924', + label: '沙雅县' + }, + { + value: '652925', + label: '新和县' + }, + { + value: '652926', + label: '拜城县' + }, + { + value: '652927', + label: '乌什县' + }, + { + value: '652928', + label: '阿瓦提县' + }, + { + value: '652929', + label: '柯坪县' + } + ] + }, + { + value: '653000', + label: '克孜勒苏柯尔克孜自治州', + children: [ + { + value: '653001', + label: '阿图什市' + }, + { + value: '653022', + label: '阿克陶县' + }, + { + value: '653023', + label: '阿合奇县' + }, + { + value: '653024', + label: '乌恰县' + } + ] + }, + { + value: '653100', + label: '喀什地区', + children: [ + { + value: '653101', + label: '喀什市' + }, + { + value: '653121', + label: '疏附县' + }, + { + value: '653122', + label: '疏勒县' + }, + { + value: '653123', + label: '英吉沙县' + }, + { + value: '653124', + label: '泽普县' + }, + { + value: '653125', + label: '莎车县' + }, + { + value: '653126', + label: '叶城县' + }, + { + value: '653127', + label: '麦盖提县' + }, + { + value: '653128', + label: '岳普湖县' + }, + { + value: '653129', + label: '伽师县' + }, + { + value: '653130', + label: '巴楚县' + }, + { + value: '653131', + label: '塔什库尔干塔吉克自治县' + } + ] + }, + { + value: '653200', + label: '和田地区', + children: [ + { + value: '653201', + label: '和田市' + }, + { + value: '653221', + label: '和田县' + }, + { + value: '653222', + label: '墨玉县' + }, + { + value: '653223', + label: '皮山县' + }, + { + value: '653224', + label: '洛浦县' + }, + { + value: '653225', + label: '策勒县' + }, + { + value: '653226', + label: '于田县' + }, + { + value: '653227', + label: '民丰县' + } + ] + }, + { + value: '654000', + label: '伊犁哈萨克自治州', + children: [ + { + value: '654002', + label: '伊宁市' + }, + { + value: '654003', + label: '奎屯市' + }, + { + value: '654021', + label: '伊宁县' + }, + { + value: '654022', + label: '察布查尔锡伯自治县' + }, + { + value: '654023', + label: '霍城县' + }, + { + value: '654024', + label: '巩留县' + }, + { + value: '654025', + label: '新源县' + }, + { + value: '654026', + label: '昭苏县' + }, + { + value: '654027', + label: '特克斯县' + }, + { + value: '654028', + label: '尼勒克县' + } + ] + }, + { + value: '654200', + label: '塔城地区', + children: [ + { + value: '654201', + label: '塔城市' + }, + { + value: '654202', + label: '乌苏市' + }, + { + value: '654221', + label: '额敏县' + }, + { + value: '654223', + label: '沙湾县' + }, + { + value: '654224', + label: '托里县' + }, + { + value: '654225', + label: '裕民县' + }, + { + value: '654226', + label: '和布克赛尔蒙古自治县' + } + ] + }, + { + value: '654300', + label: '阿勒泰地区', + children: [ + { + value: '654301', + label: '阿勒泰市' + }, + { + value: '654321', + label: '布尔津县' + }, + { + value: '654322', + label: '富蕴县' + }, + { + value: '654323', + label: '福海县' + }, + { + value: '654324', + label: '哈巴河县' + }, + { + value: '654325', + label: '青河县' + }, + { + value: '654326', + label: '吉木乃县' + } + ] + }, + { + value: '659001', + label: '石河子市' + }, + { + value: '659002', + label: '阿拉尔市' + }, + { + value: '659003', + label: '图木舒克市' + }, + { + value: '659004', + label: '五家渠市' + } + ] + }, + { + label: '台湾省', + value: '710000', + children: [ + { + value: '710100', + label: '台北市', + children: [ + { + value: '710101', + label: '中正区' + }, + { + value: '710102', + label: '大同区' + }, + { + value: '710103', + label: '中山区' + }, + { + value: '710104', + label: '松山区' + }, + { + value: '710105', + label: '大安区' + }, + { + value: '710106', + label: '万华区' + }, + { + value: '710107', + label: '信义区' + }, + { + value: '710108', + label: '士林区' + }, + { + value: '710109', + label: '北投区' + }, + { + value: '710110', + label: '内湖区' + }, + { + value: '710111', + label: '南港区' + }, + { + value: '710112', + label: '文山区' + } + ] + }, + { + value: '710200', + label: '高雄市', + children: [ + { + value: '710201', + label: '新兴区' + }, + { + value: '710202', + label: '前金区' + }, + { + value: '710203', + label: '芩雅区' + }, + { + value: '710204', + label: '盐埕区' + }, + { + value: '710205', + label: '鼓山区' + }, + { + value: '710206', + label: '旗津区' + }, + { + value: '710207', + label: '前镇区' + }, + { + value: '710208', + label: '三民区' + }, + { + value: '710209', + label: '左营区' + }, + { + value: '710210', + label: '楠梓区' + }, + { + value: '710211', + label: '小港区' + } + ] + }, + { + value: '710300', + label: '台南市', + children: [ + { + value: '710301', + label: '中西区' + }, + { + value: '710302', + label: '东区' + }, + { + value: '710303', + label: '南区' + }, + { + value: '710304', + label: '北区' + }, + { + value: '710305', + label: '安平区' + }, + { + value: '710306', + label: '安南区' + } + ] + }, + { + value: '710400', + label: '台中市', + children: [ + { + value: '710401', + label: '中区' + }, + { + value: '710402', + label: '东区' + }, + { + value: '710403', + label: '南区' + }, + { + value: '710404', + label: '西区' + }, + { + value: '710405', + label: '北区' + }, + { + value: '710406', + label: '北屯区' + }, + { + value: '710407', + label: '西屯区' + }, + { + value: '710408', + label: '南屯区' + } + ] + }, + { + value: '710500', + label: '金门县' + }, + { + value: '710600', + label: '南投县' + }, + { + value: '710700', + label: '基隆市', + children: [ + { + value: '710701', + label: '仁爱区' + }, + { + value: '710702', + label: '信义区' + }, + { + value: '710703', + label: '中正区' + }, + { + value: '710704', + label: '中山区' + }, + { + value: '710705', + label: '安乐区' + }, + { + value: '710706', + label: '暖暖区' + }, + { + value: '710707', + label: '七堵区' + } + ] + }, + { + value: '710800', + label: '新竹市', + children: [ + { + value: '710801', + label: '东区' + }, + { + value: '710802', + label: '北区' + }, + { + value: '710803', + label: '香山区' + } + ] + }, + { + value: '710900', + label: '嘉义市', + children: [ + { + value: '710901', + label: '东区' + }, + { + value: '710902', + label: '西区' + } + ] + }, + { + value: '711100', + label: '新北市' + }, + { + value: '711200', + label: '宜兰县' + }, + { + value: '711300', + label: '新竹县' + }, + { + value: '711400', + label: '桃园县' + }, + { + value: '711500', + label: '苗栗县' + }, + { + value: '711700', + label: '彰化县' + }, + { + value: '711900', + label: '嘉义县' + }, + { + value: '712100', + label: '云林县' + }, + { + value: '712400', + label: '屏东县' + }, + { + value: '712500', + label: '台东县' + }, + { + value: '712600', + label: '花莲县' + }, + { + value: '712700', + label: '澎湖县' + } + ] + }, + { + label: '香港特别行政区', + value: '810000', + children: [ + { + value: '810100', + label: '香港岛', + children: [ + { + value: '810101', + label: '中西区' + }, + { + value: '810102', + label: '湾仔' + }, + { + value: '810103', + label: '东区' + }, + { + value: '810104', + label: '南区' + } + ] + }, + { + value: '810200', + label: '九龙', + children: [ + { + value: '810201', + label: '九龙城区' + }, + { + value: '810202', + label: '油尖旺区' + }, + { + value: '810203', + label: '深水埗区' + }, + { + value: '810204', + label: '黄大仙区' + }, + { + value: '810205', + label: '观塘区' + } + ] + }, + { + value: '810300', + label: '新界', + children: [ + { + value: '810301', + label: '北区' + }, + { + value: '810302', + label: '大埔区' + }, + { + value: '810303', + label: '沙田区' + }, + { + value: '810304', + label: '西贡区' + }, + { + value: '810305', + label: '元朗区' + }, + { + value: '810306', + label: '屯门区' + }, + { + value: '810307', + label: '荃湾区' + }, + { + value: '810308', + label: '葵青区' + }, + { + value: '810309', + label: '离岛区' + } + ] + } + ] + }, + { + label: '澳门特别行政区', + value: '820000', + children: [ + { + value: '820100', + label: '澳门半岛' + }, + { + value: '820200', + label: '离岛' + } + ] + }, + { + label: '海外', + value: '990000', + children: [ + { + value: '990100', + label: '海外' + } + ] + } +]; + +const cityDataLabel = regions.map(d => { + let item = { + label: d.label, + value: d.label + }; + if (d.children) { + item.children = d.children.map(c => { + let cItem = { + label: c.label, + value: c.label + }; + if (c.children) { + cItem.children = c.children.map(cc => { + return { + label: cc.label, + value: cc.label + }; + }); + } + return cItem; + }); + } + return item; + }), + provinceData = regions.map(d => { + return { + label: d.label, + value: d.value + }; + }), + provinceDataLabel = regions.map(d => { + return { + label: d.label, + value: d.label + }; + }), + provinceCityData = regions.map(d => { + let item = { + label: d.label, + value: d.value + }; + if (d.children) { + item.children = d.children.map(c => { + return { + label: c.label, + value: c.value + }; + }); + } + return item; + }), + provinceCityDataLabel = regions.map(d => { + let item = { + label: d.label, + value: d.label + }; + if (d.children) { + item.children = d.children.map(c => { + return { + label: c.label, + value: c.label + }; + }); + } + return item; + }); + +export default { + // 省市区数据 + cityData: regions, + // 省市区数据全中文 + cityDataLabel: cityDataLabel, + // 省份数据 + provinceData: provinceData, + // 省份数据全中文 + provinceDataLabel: provinceDataLabel, + // 省市数据 + provinceCityData: provinceCityData, + // 省市数据全中文 + provinceCityDataLabel: provinceCityDataLabel, + /** + * 根据区号获取名称 + * @param val + * @returns {[]|*} + */ + getLabel(val) { + let label = [], + value = Array.isArray(val) ? val : [val]; + value.forEach(v => { + for (let d = 0; d < regions.length; d++) { + if (regions[d].value === String(v)) { + label.push(regions[d].label); + break; + } + if (regions[d].children) { + for (let c = 0; c < regions[d].children.length; c++) { + if (regions[d].children[c].value === String(v)) { + label.push(regions[d].children[c].label); + break; + } + if (regions[d].children[c].children) { + for (let cc = 0; cc < regions[d].children[c].children.length; cc++) { + if (regions[d].children[c].children[cc].value === String(v)) { + label.push(regions[d].children[c].children[cc].label); + break; + } + } + } + } + } + } + }); + return Array.isArray(val) ? label : label[0]; + } +} diff --git a/src/components/ele-admin-pro/packages/style/common.less b/src/components/ele-admin-pro/packages/style/common.less new file mode 100644 index 0000000..b830488 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/common.less @@ -0,0 +1,590 @@ +/** ele admin pro 公共样式 license by http://eleadmin.com */ +@import './var.less'; + +body { + background: @layout-body-background; +} + +/* 辅助类 */ +// 页面主体 +.ele-body { + padding: @padding-md; + + &.ele-body-card { + padding-bottom: 0; + + .ant-card { + margin-bottom: @padding-md; + } + } +} + +// 标题 +h1, h2, h3, h4, h5, h6 { + margin: 0; + font-weight: normal; + font-size: @font-size-lg; +} + +h5 { + font-size: (@font-size-lg + 2px); +} + +h4 { + font-size: (@font-size-lg + 4px); +} + +h3 { + font-size: (@font-size-lg + 6px); +} + +h2 { + font-size: (@font-size-lg + 8px); +} + +h1 { + font-size: (@font-size-lg + 10px); +} + +// 文字 +.ele-text { + color: @text-color; +} + +.ele-text-heading { + color: @heading-color; +} + +.ele-text-secondary { + color: @text-color-secondary; +} + +.ele-text-placeholder { + color: @input-placeholder-color +} + +.ele-text-primary { + color: @primary-color; +} + +.ele-text-success, +.ele-text-success:hover { + color: @success-color; +} + +a.ele-text-success:hover { + color: ~`colorPalette('@{success-color}', 5) `; +} + +a.ele-text-success:active { + color: ~`colorPalette('@{success-color}', 7) `; +} + +.ele-text-warning, +.ele-text-warning:hover { + color: @warning-color; +} + +a.ele-text-warning:hover { + color: ~`colorPalette('@{warning-color}', 5) `; +} + +a.ele-text-warning:active { + color: ~`colorPalette('@{warning-color}', 7) `; +} + +.ele-text-danger, +.ele-text-danger:hover { + color: @error-color; +} + +a.ele-text-danger:hover { + color: ~`colorPalette('@{error-color}', 5) `; +} + +a.ele-text-danger:active { + color: ~`colorPalette('@{error-color}', 7) `; +} + +.ele-text-info, +a.ele-text-info:hover, +a.ele-text-info:active { + color: @normal-color; +} + +.ele-text-delete { + text-decoration: line-through; +} + +.ele-text-small { + font-size: @font-size-sm !important; +} + +// 背景和边框 +.ele-bg-base { + background-color: @layout-body-background !important; +} + +.ele-bg-primary { + background-color: @primary-color !important; +} + +.ele-bg-success { + background-color: @success-color !important; +} + +.ele-bg-warning { + background-color: @warning-color !important; +} + +.ele-bg-danger { + background-color: @error-color !important; +} + +.ele-bg-info { + background-color: @normal-color !important; +} + +.ele-bg-white { + background-color: @component-background !important; +} + +.ele-border-primary { + border-color: @primary-color !important; +} + +.ele-border-success { + border-color: @success-color !important; +} + +.ele-border-warning { + border-color: @warning-color !important; +} + +.ele-border-danger { + border-color: @error-color !important; +} + +.ele-border-info { + border-color: @normal-color !important; +} + +.ele-border-base { + border-color: @border-color-base !important; +} + +.ele-border-split { + border-color: @border-color-split !important; +} + +// 元素浮动、对齐 +.ele-pull-left { + float: left; +} + +.ele-pull-right { + float: right; +} + +.ele-clear { + clear: both; +} + +.ele-clear-after:after { + content: ""; + clear: both; + display: block; +} + +.ele-text-center { + text-align: center; +} + +.ele-text-left { + text-align: left; +} + +.ele-text-right { + text-align: right; +} + +.ele-fluid { + width: 100% !important; +} + +.ele-block { + display: block; +} + +.ele-inline-block { + display: inline-block; +} + +.ele-inline { + display: inline; +} + +// 占位元素 +em:not([class]) { + padding: 0 0.5em; + font-style: normal; +} + +s:not([class]) { + padding: 0 0.125em; + font-style: normal; +} + +// 按钮加图标减少间距 +.ele-btn-icon:not(.ant-btn-sm) { + padding-left: @padding-sm; + padding-right: @padding-sm; +} + +// 文字省略 +.ele-elip { + overflow: hidden; + white-space: nowrap; + word-break: break-all; + text-overflow: ellipsis; +} + +/* 单元格 */ +.ele-cell { + display: flex; + + &:not(.ele-cell-align-top) { + align-items: center; + } + + &.ele-cell-align-bottom { + align-items: flex-end; + } + + & > .ele-cell-content { + flex: 1; + box-sizing: border-box; + } + + & > * + .ele-cell-content { + padding-left: @padding-sm; + } + + .ele-cell-title { + color: @heading-color; + font-size: @font-size-base + 1px; + } + + .ele-cell-desc { + color: @text-color-secondary; + font-size: @font-size-base - 1px; + margin-top: (@padding-xs / 2); + } +} + +/* 底部工具栏 */ +.ele-bottom-tool { + position: fixed; + bottom: 0; + right: 0; + width: 100%; + display: flex; + align-items: center; + box-shadow: @shadow-1-up; + padding: @padding-xs @padding-md; + background: @component-background; + transition: padding-left @sidebar-transition-anim; + z-index: (@layout-z-index - 1); + + .ele-bottom-tool-actions { + flex: 1; + text-align: right; + } +} + +@media screen and (min-width: 768px) { + .ele-admin-sidebar + .ele-admin-body .ele-bottom-tool { + padding-left: (@sidebar-width + @padding-md); + } + + .ele-layout-collapse .ele-admin-sidebar + .ele-admin-body .ele-bottom-tool { + padding-left: (@sidebar-collapse-width + @padding-md); + } +} + +/* 数据表格头部工具栏 */ +.ele-table-tool { + display: flex; + flex-wrap: wrap; + align-items: center; + margin-bottom: @padding-md - 6px; + + .ele-table-tool-title { + flex: auto; + margin-top: 6px; + margin-bottom: 6px; + } + + .ele-tool { + margin: 6px 0 6px auto; + overflow-y: hidden; + + .ele-tool-item { + font-size: 16px; + cursor: pointer; + } + } + + // 带表单的样式处理 + &.ele-toolbar-form .ele-table-tool-title { + margin-top: 0; + margin-bottom: 0; + + .ant-col { + margin-top: 6px; + margin-bottom: 6px; + } + } +} + +// 带背景色 +.ele-table-tool-default { + margin-bottom: 0; + background: @table-header-bg; + padding: (@padding-xs - 6px) @padding-md; + border-top: @border-width-base @border-style-base @border-color-split; + border-left: @border-width-base @border-style-base @border-color-split; + border-right: @border-width-base @border-style-base @border-color-split; + + .ele-tool .ele-tool-item { + font-size: 14px; + padding: 6px 7px; + box-sizing: border-box; + border: @border-width-base @border-style-base @border-color-base; + border-radius: 2px; + line-height: 1; + } +} + +.ele-table-tool-default + .ant-table-wrapper .ant-table table { + border-radius: 0 0 0 0; +} + +.ele-table-tool-default + .ant-table-wrapper .ant-table-thead > tr:first-child > th:last-child { + border-top-right-radius: 0; +} + +.ele-table-tool-default + .ant-table-wrapper .ant-table-thead > tr:first-child > th:first-child { + border-top-left-radius: 0; +} + +/* 组件样式调整 */ +// 表单详情 +.ele-form-detail .ant-form-item { + margin-bottom: 0; +} + +@media (max-width: 575px) { + .ele-form-detail .ant-form-item-label { + line-height: @input-height-lg - 0.0001px; + padding-bottom: 0; + + & > label:after { + display: inherit; + } + } +} + +// 级联选择器增加高度 +.ele-pop-wrap-higher .ant-cascader-menu { + height: 280px; +} + +// 分割线 +.ant-divider { + margin: 0; +} + +// Modal标题高度 +.ant-modal-header { + padding: @modal-header-padding; + + & > .ant-modal-title > div { + padding-right: calc(@modal-close-x-width - 20px); + } +} + +.ant-modal-close-x { + width: @modal-close-x-width; + height: @modal-close-x-height; + line-height: @modal-close-x-height; +} + +// Modal支持拖拽 +.ele-modal-movable > .ant-modal, +.ele-modal-move-out > .ant-modal { + padding-bottom: 0; + + & > .ant-modal-content > .ant-modal-header { + cursor: move; + user-select: none; + } +} + +// Modal支持拉伸 +.ele-modal-resizable > .ant-modal { + padding-bottom: 0; + + & > .ant-modal-content { + height: 100%; + display: flex; + flex-direction: column; + + & > .ant-modal-body { + flex: auto; + overflow: auto; + } + + &:after { + content: ""; + position: absolute; + right: 0; + bottom: 0; + width: 10px; + height: 10px; + cursor: se-resize; + } + } +} + +// Modal支持打开多个 +.ele-modal-multiple { + pointer-events: none; + overflow: hidden; +} + +// Modal全屏 +.ele-modal-wrap-fullscreen { + overflow: hidden; + + & > .ant-modal { + top: 0 !important; + left: 0 !important; + width: 100% !important; + height: 100% !important; + max-width: inherit !important; + min-width: inherit !important; + margin: 0 !important; + + & > .ant-modal-content { + border-radius: 0; + + & > .ant-modal-header { + cursor: default !important; + } + + &:after { + display: none; + } + } + + .ele-modal-icon-expand { + display: none; + } + } +} + +:not(.ele-modal-wrap-fullscreen) > .ant-modal .ele-modal-icon-compress { + display: none; +} + +.ant-modal .ele-modal-icon-expand, +.ant-modal .ele-modal-icon-compress { + cursor: pointer; + font-size: @font-size-base; + color: @text-color-secondary; + + &:hover { + color: @icon-color-hover; + } +} + +// Message Loading +.ele-message-loading .ant-message, +.ele-message-loading-mask .ant-message { + top: 0; + bottom: 0; + padding-top: 16px; + pointer-events: auto; +} + +.ele-message-loading-mask .ant-message { + background: @modal-mask-bg; +} + +.ant-message { + transition: background-color .3s; +} + +/* 图表提示框圆点 */ +.ele-chart-dot { + width: 10px; + height: 10px; + margin-right: 5px; + border-radius: 50%; + display: inline-block; + background: #3aa1ff; +} + +/* 滚动条 */ +.ele-scrollbar-hover, +.ele-scrollbar-hide { + overflow: auto; +} + +@media screen and (min-width: 768px) { + ::-webkit-scrollbar { + width: 12px; + height: 12px; + } + + ::-webkit-scrollbar-track { + background: transparent; + border-radius: 5px; + } + + ::-webkit-scrollbar-thumb { + border-radius: 6px; + border: 2px solid transparent; + background-color: @border-color-base; + background-clip: padding-box; + } + + ::-webkit-scrollbar-thumb:hover { + background-color: @input-placeholder-color; + } + + ::-webkit-scrollbar-corner { + background: transparent; + } + + .ele-scrollbar-mini::-webkit-scrollbar { + width: 6px; + height: 6px; + } + + .ele-scrollbar-mini::-webkit-scrollbar-track { + background: none; + } + + .ele-scrollbar-mini::-webkit-scrollbar-thumb { + border-radius: 3px; + border: none; + } +} + +.ele-scrollbar-hide::-webkit-scrollbar, +.ele-scrollbar-hover:not(:hover)::-webkit-scrollbar { + width: 0; + height: 0; +} diff --git a/src/components/ele-admin-pro/packages/style/dark.less b/src/components/ele-admin-pro/packages/style/dark.less new file mode 100644 index 0000000..3bfc4d8 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/dark.less @@ -0,0 +1,3 @@ +/** ele admin pro dark theme license by http://eleadmin.com */ +@import './index.less'; +@import '~ant-design-vue/lib/style/themes/dark.less'; diff --git a/src/components/ele-admin-pro/packages/style/display.less b/src/components/ele-admin-pro/packages/style/display.less new file mode 100644 index 0000000..7e5f6b9 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/display.less @@ -0,0 +1,86 @@ +/** ele admin pro display license by http://eleadmin.com */ +@import './var.less'; + +@media only screen and (max-width: @screen-xs-max) { + .hidden-xs-only { + display: none !important + } +} + +@media only screen and (min-width: @screen-sm-min) { + .hidden-sm-and-up { + display: none !important + } +} + +@media only screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + .hidden-sm-only { + display: none !important + } +} + +@media only screen and (max-width: @screen-sm-max) { + .hidden-sm-and-down { + display: none !important + } +} + +@media only screen and (min-width: @screen-md-min) { + .hidden-md-and-up { + display: none !important + } +} + +@media only screen and (min-width: @screen-md-min) and (max-width: @screen-md-max) { + .hidden-md-only { + display: none !important + } +} + +@media only screen and (max-width: @screen-md-max) { + .hidden-md-and-down { + display: none !important + } +} + +@media only screen and (min-width: @screen-lg-min) { + .hidden-lg-and-up { + display: none !important + } +} + +@media only screen and (min-width: @screen-lg-min) and (max-width: @screen-lg-max) { + .hidden-lg-only { + display: none !important + } +} + +@media only screen and (max-width: @screen-lg-max) { + .hidden-lg-and-down { + display: none !important + } +} + +@media only screen and (min-width: @screen-xl-min) { + .hidden-xl-and-up { + display: none !important + } +} + +@media only screen and (min-width: @screen-xl-min) and (max-width: @screen-xl-max) { + .hidden-xl-only { + display: none !important + } +} + +@media only screen and (max-width: @screen-xl-max) { + .hidden-xl-and-down { + display: none !important + } +} + +@media only screen and (min-width: @screen-xxl-min) { + .hidden-xxl-only { + display: none !important + } +} diff --git a/src/components/ele-admin-pro/packages/style/dynamic.less b/src/components/ele-admin-pro/packages/style/dynamic.less new file mode 100644 index 0000000..0a7b696 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/dynamic.less @@ -0,0 +1,746 @@ +/** ele admin pro dynamic theme license by http://eleadmin.com */ +@import './index.less'; + +// 侧边栏 +@sidebar-light-shadow: var(--sidebar-light-shadow); +@sidebar-dark-shadow: var(--sidebar-dark-shadow); + +// 顶栏 +@header-light-shadow: var(--header-light-shadow); +@header-dark-shadow: var(--header-dark-shadow); +@header-tool-hover-bg: var(--header-tool-hover-bg); +@header-dark-tool-hover-bg: var(--header-dark-tool-hover-bg); + +// logo +@logo-light-shadow: var(--logo-light-shadow); +@logo-dark-shadow: var(--logo-dark-shadow); + +/** 重写colorPalette函数, 增加对var()的支持 */ +.colorPaletteMixin2() { + @functions: ~`(function() { + var hueStep = 2; + var saturationStep = 0.16; + var saturationStep2 = 0.05; + var brightnessStep1 = 0.05; + var brightnessStep2 = 0.15; + var lightColorCount = 5; + var darkColorCount = 4; + + var getHue = function(hsv, i, isLight) { + var hue; + if (hsv.h >= 60 && hsv.h <= 240) { + hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i; + } else { + hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i; + } + if (hue < 0) { + hue += 360; + } else if (hue >= 360) { + hue -= 360; + } + return Math.round(hue); + }; + var getSaturation = function(hsv, i, isLight) { + var saturation; + if (isLight) { + saturation = hsv.s - saturationStep * i; + } else if (i === darkColorCount) { + saturation = hsv.s + saturationStep; + } else { + saturation = hsv.s + saturationStep2 * i; + } + if (saturation > 1) { + saturation = 1; + } + if (isLight && i === lightColorCount && saturation > 0.1) { + saturation = 0.1; + } + if (saturation < 0.06) { + saturation = 0.06; + } + return Number(saturation.toFixed(2)); + }; + var getValue = function(hsv, i, isLight) { + var value; + if (isLight) { + value = hsv.v + brightnessStep1 * i; + }else{ + value = hsv.v - brightnessStep2 * i + } + if (value > 1) { + value = 1; + } + return Number(value.toFixed(2)) + }; + + this.colorPalette = function(color, index) { + if(color.indexOf('var(--') === 0) { + if(color === 'var(--primary-color)' || color === 'var(--info-color)') { + return 'var(--primary-' + index + ')'; + } + if(color === 'var(--error-color)' || color === 'var(--highlight-color)') { + return 'var(--red-' + index + ')'; + } + if(color === 'var(--warning-color)') { + return 'var(--gold-' + index + ')'; + } + if(color === 'var(--success-color)') { + return 'var(--green-' + index + ')'; + } + return color.replace(')', '-unknown)'); + } + var isLight = index <= 6; + var hsv = tinycolor(color).toHsv(); + var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1; + return tinycolor({ + h: getHue(hsv, i, isLight), + s: getSaturation(hsv, i, isLight), + v: getValue(hsv, i, isLight), + }).toHexString(); + }; +})()`; +} + +.colorPaletteMixin2(); + +/** css变量 */ +:root { + --blue-1: #e6f7ff; + --blue-2: #bae7ff; + --blue-3: #91d5ff; + --blue-4: #69c0ff; + --blue-5: #40a9ff; + --blue-6: #1890ff; + --blue-7: #096dd9; + --blue-8: #0050b3; + --blue-9: #003a8c; + --blue-10: #002766; + + --green-1: #f6ffed; + --green-2: #d9f7be; + --green-3: #b7eb8f; + --green-4: #95de64; + --green-5: #73d13d; + --green-6: #52c41a; + --green-7: #389e0d; + --green-8: #237804; + --green-9: #135200; + --green-10: #092b00; + + --red-1: #fff1f0; + --red-2: #ffccc7; + --red-3: #ffa39e; + --red-4: #ff7875; + --red-5: #ff4d4f; + --red-6: #f5222d; + --red-7: #cf1322; + --red-8: #a8071a; + --red-9: #820014; + --red-10: #5c0011; + + --gold-1: #fffbe6; + --gold-2: #fff1b8; + --gold-3: #ffe58f; + --gold-4: #ffd666; + --gold-5: #ffc53d; + --gold-6: #faad14; + --gold-7: #d48806; + --gold-8: #ad6800; + --gold-9: #874d00; + --gold-10: #613400; + + --purple-1: #f9f0ff; + --purple-2: #efdbff; + --purple-3: #d3adf7; + --purple-4: #b37feb; + --purple-5: #9254de; + --purple-6: #722ed1; + --purple-7: #531dab; + --purple-8: #391085; + --purple-9: #22075e; + --purple-10: #120338; + + --cyan-1: #e6fffb; + --cyan-2: #b5f5ec; + --cyan-3: #87e8de; + --cyan-4: #5cdbd3; + --cyan-5: #36cfc9; + --cyan-6: #13c2c2; + --cyan-7: #08979c; + --cyan-8: #006d75; + --cyan-9: #00474f; + --cyan-10: #002329; + + --pink-1: #fff0f6; + --pink-2: #ffd6e7; + --pink-3: #ffadd2; + --pink-4: #ff85c0; + --pink-5: #f759ab; + --pink-6: #eb2f96; + --pink-7: #c41d7f; + --pink-8: #9e1068; + --pink-9: #780650; + --pink-10: #520339; + + --orange-1: #fff7e6; + --orange-2: #ffe7ba; + --orange-3: #ffd591; + --orange-4: #ffc069; + --orange-5: #ffa940; + --orange-6: #fa8c16; + --orange-7: #d46b08; + --orange-8: #ad4e00; + --orange-9: #873800; + --orange-10: #612500; + + --primary-color: var(--blue-6); + --success-color: var(--green-6); + --error-color: var(--red-5); + --warning-color: var(--gold-6); + --info-color: var(--primary-color); + --processing-color: var(--blue-6); + --highlight-color: var(--red-5); + + --primary-1: var(--blue-1); + --primary-2: var(--blue-2); + --primary-3: var(--blue-3); + --primary-4: var(--blue-4); + --primary-5: var(--blue-5); + --primary-6: var(--blue-6); + --primary-7: var(--blue-7); + --primary-8: var(--blue-8); + --primary-9: var(--blue-9); + --primary-10: var(--blue-10); + + --primary-fade-8: fade(#1890ff, 8%); + --primary-fade-20: fade(#1890ff, 20%); + + --success-fade-20: fade(#52c41a, 20%); + --error-fade-20: fade(#ff4d4f, 20%); + --warning-fade-20: fade(#faad14, 20%); + + --body-background: #fff; + --component-background: #fff; + + --popover-background: @component-background; + --popover-customize-border-color: @border-color-split; + + --text-color: fade(@black, 85%); + --text-color-secondary: fade(@black, 45%); + --text-color-inverse: @white; + --icon-color-hover: fade(@black, 75%); + --heading-color: fade(@black, 85%); + + --item-hover-bg: #f5f5f5; + + // Border color + --border-color-base: hsv(0, 0, 85%); + --border-color-split: hsv(0, 0, 94%); + --border-color-inverse: @white; + + // Outline + --background-color-light: hsv(0, 0, 98%); + --background-color-base: hsv(0, 0, 96%); + + // Disabled states + --disabled-color: fade(#000, 25%); + --disabled-bg: @background-color-base; + --disabled-color-dark: fade(#fff, 35%); + + // Shadow + --shadow-color: rgba(0, 0, 0, 0.15); + --box-shadow-base: @shadow-1-down; + --shadow-1-up: 0 -2px 8px @shadow-color; + --shadow-1-down: 0 2px 8px @shadow-color; + --shadow-1-left: -2px 0 8px @shadow-color; + --shadow-1-right: 2px 0 8px @shadow-color; + --shadow-2: 0 4px 12px @shadow-color; + + // Buttons + --btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + --btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); + --btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + + --btn-default-bg: @component-background; + + --btn-default-ghost-color: @component-background; + --btn-default-ghost-border: @component-background; + + --btn-text-hover-bg: rgba(0, 0, 0, 0.018); + --btn-text-active-bg: rgba(0, 0, 0, 0.028); + + // Checkbox + --checkbox-check-bg: @checkbox-check-color; + + // Descriptions + --descriptions-bg: #fafafa; + + // Divider + --divider-color: rgba(0, 0, 0, 6%); + + // Dropdown + --dropdown-menu-submenu-disabled-bg: @component-background; + + // Radio + --radio-dot-disabled-color: fade(@black, 20%); + --radio-solid-checked-color: @component-background; + + // Radio buttons + --radio-disabled-button-checked-bg: tint(@black, 90%); + + // Layout + --layout-body-background: #f0f2f5; + --layout-header-background: #001529; + --layout-trigger-background: #002140; + //--layout-sider-background-1: tint(#001529, 10%); + + // Dropdown + --dropdown-menu-bg: @component-background; + + // Input + --input-placeholder-color: hsv(0, 0, 75%); + --input-icon-color: @input-color; + --input-bg: @component-background; + --input-number-handler-active-bg: #f4f4f4; + --input-icon-hover-color: fade(@black, 85%); + + // Mentions + --mentions-dropdown-bg: @component-background; + + // Select + --select-dropdown-bg: @component-background; + --select-background: @component-background; + --select-clear-background: @select-background; + --select-selection-item-bg: @background-color-base; + --select-selection-item-border-color: @border-color-split; + --select-multiple-disabled-background: @input-disabled-bg; + --select-multiple-item-disabled-color: #bfbfbf; + --select-multiple-item-disabled-border-color: @select-border-color; + + // Cascader + --cascader-bg: @component-background; + --cascader-menu-bg: @component-background; + --cascader-menu-border-color-split: @border-color-split; + + // Tooltip + --tooltip-bg: rgba(0, 0, 0, 0.75); + + // Popover + --popover-bg: @component-background; + + // Modal + --modal-header-bg: @component-background; + --modal-header-border-color-split: @border-color-split; + --modal-content-bg: @component-background; + --modal-footer-border-color-split: @border-color-split; + + // Menu + --menu-popup-bg: @component-background; + --menu-dark-bg: @layout-header-background; + --menu-dark-submenu-bg: #000c17; + + // Table + --table-header-bg: @background-color-light; + --table-header-sort-bg: @background-color-base; + --table-body-sort-bg: rgba(0, 0, 0, 0.01); + --table-row-hover-bg: @primary-1; + --table-expanded-row-bg: #fbfbfb; + --table-header-sort-active-bg: darken(hsv(0, 0, 98%), 3%); + --table-header-filter-active-bg: darken(darken(hsv(0, 0, 98%), 3%), 5%); + + // Rate + --rate-star-bg: @border-color-split; + + // Card + --card-actions-background: @background-color-light; + --card-skeleton-bg: #cfd8dc; + --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); + --gradient-min: fade(#cfd8dc, 20%); + --gradient-max: fade(#cfd8dc, 40%); + + // Comment + --comment-bg: inherit; + --comment-author-time-color: #ccc; + --comment-action-hover-color: #595959; + + // BackTop + --back-top-bg: fade(@black, 45%); + --back-top-hover-bg: fade(@black, 65%); + + // Avatar + --avatar-bg: #ccc; + + // Pagination + --pagination-item-bg: @component-background; + --pagination-item-bg-active: @component-background; + --pagination-item-link-bg: @component-background; + --pagination-item-disabled-color-active: @white; + --pagination-item-disabled-bg-active: darken(hsv(0, 0, 96%), 10%); + --pagination-item-input-bg: @component-background; + + // PageHeader + --page-header-back-color: #000; + + // Slider + --slider-rail-background-color: @background-color-base; + --slider-rail-background-color-hover: #e1e1e1; + --slider-dot-border-color: @border-color-split; + --slider-dot-border-color-active: @primary-4; + + // Skeleton + --skeleton-to-color: shade(@skeleton-color, 5%); + + // Transfer + --transfer-item-hover-bg: @item-hover-bg; + + // Message + --message-notice-content-bg: @component-background; + + // Drawer + --drawer-bg: @component-background; + + // Timeline + --timeline-color: @border-color-split; + --timeline-dot-color: @primary-color; + + // Image + --image-preview-operation-disabled-color: rgba(255, 255, 255, 0.45); + + // Steps + --steps-nav-arrow-color: fade(@black, 25%); + --steps-background: @component-background; + + // Notification + --notification-bg: @component-background; + + // 侧边栏 + --sidebar-light-shadow: 1px 3px 3px rgba(0, 21, 41, .08); + --sidebar-dark-shadow: 0 4px 4px rgba(0, 0, 0, .35); + + // 顶栏 + --header-light-shadow: 0 1px 4px rgba(0, 21, 41, .08); + --header-dark-shadow: 0 1px 4px rgba(0, 0, 0, .1); + --header-tool-hover-bg: rgba(0, 0, 0, .025); + --header-dark-tool-hover-bg: rgba(255, 255, 255, .05); + + // logo + --logo-light-shadow: 1px 2px 3px rgba(0, 21, 41, .08); + --logo-dark-shadow: 0 3px 4px rgba(0, 0, 0, .35); +} + +.ele-admin-theme-dark { + --blue-1: #111d2c; + --blue-2: #112a45; + --blue-3: #15395b; + --blue-4: #164c7e; + --blue-5: #1765ad; + --blue-6: #177ddc; + --blue-7: #3c9ae8; + --blue-8: #65b7f3; + --blue-9: #8dcff8; + --blue-10: #b7e3fa; + + --green-1: #162312; + --green-2: #1d3712; + --green-3: #274916; + --green-4: #306317; + --green-5: #3c8618; + --green-6: #49aa19; + --green-7: #6abe39; + --green-8: #8fd460; + --green-9: #b2e58b; + --green-10: #d5f2bb; + + --red-1: #2a1215; + --red-2: #431418; + --red-3: #58181c; + --red-4: #791a1f; + --red-5: #a61d24; + --red-6: #f5222d; + --red-7: #e84749; + --red-8: #f37370; + --red-9: #f89f9a; + --red-10: #fac8c3; + + --gold-1: #2b2111; + --gold-2: #443111; + --gold-3: #594214; + --gold-4: #7c5914; + --gold-5: #aa7714; + --gold-6: #d89614; + --gold-7: #e8b339; + --gold-8: #f3cc62; + --gold-9: #f8df8b; + --gold-10: #faedb5; + + --purple-1: #1a1325; + --purple-2: #24163a; + --purple-3: #301c4d; + --purple-4: #3e2069; + --purple-5: #51258f; + --purple-6: #642ab5; + --purple-7: #854eca; + --purple-8: #ab7ae0; + --purple-9: #cda8f0; + --purple-10: #ebd7fa; + + --cyan-1: #112123; + --cyan-2: #113536; + --cyan-3: #144848; + --cyan-4: #146262; + --cyan-5: #138585; + --cyan-6: #13a8a8; + --cyan-7: #33bcb7; + --cyan-8: #58d1c9; + --cyan-9: #84e2d8; + --cyan-10: #b2f1e8; + + --pink-1: #291321; + --pink-2: #40162f; + --pink-3: #551c3b; + --pink-4: #75204f; + --pink-5: #a02669; + --pink-6: #cb2b83; + --pink-7: #e0529c; + --pink-8: #f37fb7; + --pink-9: #f8a8cc; + --pink-10: #fad2e3; + + --orange-1: #2b1d11; + --orange-2: #442a11; + --orange-3: #593815; + --orange-4: #7c4a15; + --orange-5: #aa6215; + --orange-6: #d87a16; + --orange-7: #e89a3c; + --orange-8: #f3b765; + --orange-9: #f8cf8d; + --orange-10: #fae3b7; + + --primary-color: var(--blue-6); + --success-color: var(--green-6); + --error-color: var(--red-5); + --warning-color: var(--gold-6); + --info-color: var(--primary-color); + --processing-color: var(--blue-6); + --highlight-color: var(--red-5); + + --primary-1: var(--blue-1); + --primary-2: var(--blue-2); + --primary-3: var(--blue-3); + --primary-4: var(--blue-4); + --primary-5: var(--blue-5); + --primary-6: var(--blue-6); + --primary-7: var(--blue-7); + --primary-8: var(--blue-8); + --primary-9: var(--blue-9); + --primary-10: var(--blue-10); + + --body-background: @black; + --component-background: #141414; + + --popover-background: #1f1f1f; + --popover-customize-border-color: #3a3a3a; + + --text-color: fade(@white, 85%); + --text-color-secondary: fade(@white, 45%); + --text-color-inverse: @white; + --icon-color-hover: fade(@white, 75%); + --heading-color: fade(@white, 85%); + + --item-hover-bg: fade(@white, 8%); + + // Border color + --border-color-base: #434343; + --border-color-split: #303030; + --border-color-inverse: @black; + + // Outline + --background-color-light: fade(@white, 4%); + --background-color-base: fade(@white, 8%); + + // Disabled states + --disabled-color: fade(@white, 30%); + --disabled-bg: @background-color-base; + --disabled-color-dark: fade(@white, 30%); + + // Shadow + --shadow-color: rgba(0, 0, 0, 0.45); + --box-shadow-base: @shadow-2; + --shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.32), 0 -9px 28px 0 rgba(0, 0, 0, 0.2), + 0 -12px 48px 16px rgba(0, 0, 0, 0.12); + --shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.32), 0 9px 28px 0 rgba(0, 0, 0, 0.2), + 0 12px 48px 16px rgba(0, 0, 0, 0.12); + --shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.32), 9px 0 28px 0 rgba(0, 0, 0, 0.2), + 12px 0 48px 16px rgba(0, 0, 0, 0.12); + --shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), + 0 9px 28px 8px rgba(0, 0, 0, 0.2); + + // Buttons + --btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + --btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); + --btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + + --btn-default-bg: transparent; + + --btn-default-ghost-color: @text-color; + --btn-default-ghost-border: fade(@white, 25%); + + --btn-text-hover-bg: rgba(255, 255, 255, 0.03); + --btn-text-active-bg: rgba(255, 255, 255, 0.04); + + // Checkbox + --checkbox-check-bg: transparent; + + // Descriptions + --descriptions-bg: @background-color-light; + + // Divider + --divider-color: rgba(255, 255, 255, 12%); + + // Dropdown + --dropdown-menu-submenu-disabled-bg: transparent; + + // Radio + --radio-dot-disabled-color: fade(@white, 20%); + --radio-solid-checked-color: @white; + + // Radio buttons + --radio-disabled-button-checked-bg: fade(@white, 20%); + + // Layout + --layout-body-background: @body-background; + --layout-header-background: @popover-background; + --layout-trigger-background: #262626; + //--layout-sider-background-1: tint(#1f1f1f, 10%); + + // Dropdown + --dropdown-menu-bg: @popover-background; + + // Input + --input-placeholder-color: fade(@white, 30%); + --input-icon-color: fade(@white, 30%); + --input-bg: transparent; + --input-number-handler-active-bg: @item-hover-bg; + --input-icon-hover-color: fade(@white, 85%); + + // Mentions + --mentions-dropdown-bg: @popover-background; + + // Select + --select-dropdown-bg: @popover-background; + --select-background: transparent; + --select-clear-background: @component-background; + --select-selection-item-bg: fade(@white, 8); + --select-selection-item-border-color: @border-color-split; + --select-multiple-disabled-background: @component-background; + --select-multiple-item-disabled-color: #595959; + --select-multiple-item-disabled-border-color: @popover-background; + + // Cascader + --cascader-bg: transparent; + --cascader-menu-bg: @popover-background; + --cascader-menu-border-color-split: @border-color-split; + + // Tooltip + --tooltip-bg: #434343; + + // Popover + --popover-bg: @popover-background; + + // Modal + --modal-header-bg: @popover-background; + --modal-header-border-color-split: @border-color-split; + --modal-content-bg: @popover-background; + --modal-footer-border-color-split: @border-color-split; + + // Menu + --menu-popup-bg: @popover-background; + --menu-dark-bg: @popover-background; + --menu-dark-submenu-bg: @component-background; + + // Table + --table-header-bg: #1d1d1d; + --table-header-sort-bg: #262626; + --table-body-sort-bg: fade(@white, 1%); + --table-row-hover-bg: #262626; + --table-expanded-row-bg: @table-header-bg; + --table-header-sort-active-bg: #303030; + --table-header-filter-active-bg: #434343; + + // Rate + --rate-star-bg: fade(@white, 12%); + + // Card + --card-actions-background: @component-background; + --card-skeleton-bg: #303030; + --card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.64), 0 3px 6px 0 rgba(0, 0, 0, 0.48), 0 5px 12px 4px rgba(0, 0, 0, 0.36); + --gradient-min: fade(#303030, 20%); + --gradient-max: fade(#303030, 40%); + + // Comment + --comment-bg: transparent; + --comment-author-time-color: fade(@white, 30%); + --comment-action-hover-color: fade(@white, 65%); + + // BackTop + --back-top-bg: var(--tooltip-bg); + --back-top-hover-bg: var(--border-color-split); + + // Avatar + --avatar-bg: fade(@white, 30%); + + // Pagination + --pagination-item-bg: transparent; + --pagination-item-bg-active: transparent; + --pagination-item-link-bg: transparent; + --pagination-item-disabled-color-active: @black; + --pagination-item-disabled-bg-active: fade(@white, 25%); + --pagination-item-input-bg: @pagination-item-bg; + + // PageHeader + --page-header-back-color: @icon-color; + + // Slider + --slider-rail-background-color: #262626; + --slider-rail-background-color-hover: @border-color-base; + --slider-dot-border-color: @border-color-split; + --slider-dot-border-color-active: @primary-4; + + // Skeleton + --skeleton-to-color: fade(@white, 16%); + + // Transfer + --transfer-item-hover-bg: #262626; + + // Message + --message-notice-content-bg: @popover-background; + + // Drawer + --drawer-bg: @popover-background; + + // Timeline + --timeline-color: @border-color-split; + --timeline-dot-color: @primary-color; + + // Steps + --steps-nav-arrow-color: fade(@white, 20%); + --steps-background: transparent; + + // Notification + --notification-bg: @popover-background; + + // 侧边栏 + --sidebar-light-shadow: 0 4px 4px rgba(0, 0, 0, .6); + --sidebar-dark-shadow: 0 4px 4px rgba(0, 0, 0, .6); + + // 顶栏 + --header-light-shadow: 0 1px 4px rgba(0, 0, 0, .6); + --header-dark-shadow: 0 1px 4px rgba(0, 0, 0, .6); + --header-tool-hover-bg: rgba(255, 255, 255, .05); + --header-dark-tool-hover-bg: rgba(255, 255, 255, .05); + + // logo + --logo-light-shadow: 0 3px 4px rgba(0, 0, 0, .6); + --logo-dark-shadow: 0 3px 4px rgba(0, 0, 0, .6); +} diff --git a/src/components/ele-admin-pro/packages/style/dynamicTheme.js b/src/components/ele-admin-pro/packages/style/dynamicTheme.js new file mode 100644 index 0000000..70a9a27 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/dynamicTheme.js @@ -0,0 +1,377 @@ +/** ele admin pro dynamic theme plugin license by http://eleadmin.com */ +/** + * 需要修改的less变量 + */ +const variables = { + // Blue + '@blue-1': 'var(--blue-1)', + '@blue-2': 'var(--blue-2)', + '@blue-3': 'var(--blue-3)', + '@blue-4': 'var(--blue-4)', + '@blue-5': 'var(--blue-5)', + '@blue-6': 'var(--blue-6)', + '@blue-7': 'var(--blue-7)', + '@blue-8': 'var(--blue-8)', + '@blue-9': 'var(--blue-9)', + '@blue-10': 'var(--blue-10)', + // Green + '@green-1': 'var(--green-1)', + '@green-2': 'var(--green-2)', + '@green-3': 'var(--green-3)', + '@green-4': 'var(--green-4)', + '@green-5': 'var(--green-5)', + '@green-6': 'var(--green-6)', + '@green-7': 'var(--green-7)', + '@green-8': 'var(--green-8)', + '@green-9': 'var(--green-9)', + '@green-10': 'var(--green-10)', + // Red + '@red-1': 'var(--red-1)', + '@red-2': 'var(--red-2)', + '@red-3': 'var(--red-3)', + '@red-4': 'var(--red-4)', + '@red-5': 'var(--red-5)', + '@red-6': 'var(--red-6)', + '@red-7': 'var(--red-7)', + '@red-8': 'var(--red-8)', + '@red-9': 'var(--red-9)', + '@red-10': 'var(--red-10)', + // Gold + '@gold-1': 'var(--gold-1)', + '@gold-2': 'var(--gold-2)', + '@gold-3': 'var(--gold-3)', + '@gold-4': 'var(--gold-4)', + '@gold-5': 'var(--gold-5)', + '@gold-6': 'var(--gold-6)', + '@gold-7': 'var(--gold-7)', + '@gold-8': 'var(--gold-8)', + '@gold-9': 'var(--gold-9)', + '@gold-10': 'var(--gold-10)', + // Purple + '@purple-1': 'var(--purple-1)', + '@purple-2': 'var(--purple-2)', + '@purple-3': 'var(--purple-3)', + '@purple-4': 'var(--purple-4)', + '@purple-5': 'var(--purple-5)', + '@purple-6': 'var(--purple-6)', + '@purple-7': 'var(--purple-7)', + '@purple-8': 'var(--purple-8)', + '@purple-9': 'var(--purple-9)', + '@purple-10': 'var(--purple-10)', + // Cyan + '@cyan-1': 'var(--cyan-1)', + '@cyan-2': 'var(--cyan-2)', + '@cyan-3': 'var(--cyan-3)', + '@cyan-4': 'var(--cyan-4)', + '@cyan-5': 'var(--cyan-5)', + '@cyan-6': 'var(--cyan-6)', + '@cyan-7': 'var(--cyan-7)', + '@cyan-8': 'var(--cyan-8)', + '@cyan-9': 'var(--cyan-9)', + '@cyan-10': 'var(--cyan-10)', + // Pink + '@pink-1': 'var(--pink-1)', + '@pink-2': 'var(--pink-2)', + '@pink-3': 'var(--pink-3)', + '@pink-4': 'var(--pink-4)', + '@pink-5': 'var(--pink-5)', + '@pink-6': 'var(--pink-6)', + '@pink-7': 'var(--pink-7)', + '@pink-8': 'var(--pink-8)', + '@pink-9': 'var(--pink-9)', + '@pink-10': 'var(--pink-10)', + // Orange + '@orange-1': 'var(--orange-1)', + '@orange-2': 'var(--orange-2)', + '@orange-3': 'var(--orange-3)', + '@orange-4': 'var(--orange-4)', + '@orange-5': 'var(--orange-5)', + '@orange-6': 'var(--orange-6)', + '@orange-7': 'var(--orange-7)', + '@orange-8': 'var(--orange-8)', + '@orange-9': 'var(--orange-9)', + '@orange-10': 'var(--orange-10)', + // Colors + '@primary-color': 'var(--primary-color)', + '@info-color': 'var(--info-color)', + '@success-color': 'var(--success-color)', + '@processing-color': 'var(--processing-color)', + '@error-color': 'var(--error-color)', + '@highlight-color': 'var(--highlight-color)', + '@warning-color': 'var(--warning-color)', + // Color used by default to control hover and active backgrounds + '@primary-1': 'var(--primary-1)', + '@primary-2': 'var(--primary-2)', + '@primary-3': 'var(--primary-3)', + '@primary-4': 'var(--primary-4)', + '@primary-5': 'var(--primary-5)', + '@primary-6': 'var(--primary-6)', + '@primary-7': 'var(--primary-7)', + '@primary-8': 'var(--primary-8)', + '@primary-9': 'var(--primary-9)', + '@primary-10': 'var(--primary-10)', + // Background color + '@body-background': 'var(--body-background)', + '@component-background': 'var(--component-background)', + // Popover + '@popover-background': 'var(--popover-background)', + '@popover-customize-border-color': 'var(--popover-customize-border-color)', + // Text Color + '@text-color': 'var(--text-color)', + '@text-color-secondary': 'var(--text-color-secondary)', + '@text-color-inverse': 'var(--text-color-inverse)', + '@icon-color-hover': 'var(--icon-color-hover)', + '@heading-color': 'var(--heading-color)', + // The background colors for active and hover states for things like + '@item-hover-bg': 'var(--item-hover-bg)', + // LINK + '@link-hover-color': '@primary-5', + '@link-active-color': '@primary-7', + // Border color + '@border-color-base': 'var(--border-color-base)', + '@border-color-split': 'var(--border-color-split)', + '@border-color-inverse': 'var(--border-color-inverse)', + // Outline + '@background-color-light': 'var(--background-color-light)', + '@background-color-base': 'var(--background-color-base)', + // Disabled states + '@disabled-color': 'var(--disabled-color)', + '@disabled-bg': 'var(--disabled-bg)', + '@disabled-color-dark': 'var(--disabled-color-dark)', + // Shadow + '@shadow-color': 'var(--shadow-color)', + '@box-shadow-base': 'var(--box-shadow-base)', + '@shadow-1-up': 'var(--shadow-1-up)', + '@shadow-1-down': 'var(--shadow-1-down)', + '@shadow-1-left': 'var(--shadow-1-left)', + '@shadow-1-right': 'var(--shadow-1-right)', + '@shadow-2': 'var(--shadow-2)', + // Buttons + '@btn-shadow': 'var(--btn-shadow)', + '@btn-primary-shadow': 'var(--btn-primary-shadow)', + '@btn-text-shadow': 'var(--btn-text-shadow)', + '@btn-default-bg': 'var(--btn-default-bg)', + '@btn-danger-bg': '@error-color', + '@btn-danger-border': '@error-color', + '@btn-default-ghost-color': 'var(--btn-default-ghost-color)', + '@btn-default-ghost-border': 'var(--btn-default-ghost-border)', + '@btn-text-hover-bg': 'var(--btn-text-hover-bg)', + // Checkbox + '@checkbox-check-bg': 'var(--checkbox-check-bg)', + // Descriptions + '@descriptions-bg': 'var(--descriptions-bg)', + // Divider + '@divider-color': 'var(--divider-color)', + // Dropdown + '@dropdown-menu-submenu-disabled-bg': 'var(--dropdown-menu-submenu-disabled-bg)', + // Radio + '@radio-dot-disabled-color': 'var(--radio-dot-disabled-color)', + '@radio-solid-checked-color': 'var(--radio-solid-checked-color)', + '@radio-focused-outline': '3px solid @primary-1', // var(--primary-fade-6) + // Radio buttons + '@radio-disabled-button-checked-bg': 'var(--radio-disabled-button-checked-bg)', + // Layout + '@layout-body-background': 'var(--layout-body-background)', + '@layout-header-background': 'var(--layout-header-background)', + '@layout-trigger-background': 'var(--layout-trigger-background)', + // Dropdown + '@dropdown-menu-bg': 'var(--dropdown-menu-bg)', + // Input + '@input-placeholder-color': 'var(--input-placeholder-color)', + '@input-icon-color': 'var(--input-icon-color)', + '@input-bg': 'var(--input-bg)', + '@input-number-handler-active-bg': 'var(--input-number-handler-active-bg)', + '@input-icon-hover-color': 'var(--input-icon-hover-color)', + // Mentions + '@mentions-dropdown-bg': 'var(--mentions-dropdown-bg)', + // Select + '@select-dropdown-bg': 'var(--select-dropdown-bg)', + '@select-background': 'var(--select-background)', + '@select-clear-background': 'var(--select-clear-background)', + '@select-selection-item-bg': 'var(--select-selection-item-bg)', + '@select-selection-item-border-color': 'var(--select-selection-item-border-color)', + '@select-multiple-disabled-background': 'var(--select-multiple-disabled-background)', + '@select-multiple-item-disabled-color': 'var(--select-multiple-item-disabled-color)', + '@select-multiple-item-disabled-border-color': 'var(--select-multiple-item-disabled-border-color)', + // Cascader + '@cascader-bg': 'var(--cascader-bg)', + '@cascader-menu-bg': 'var(--cascader-menu-bg)', + '@cascader-menu-border-color-split': 'var(--cascader-menu-border-color-split)', + // Tooltip + '@tooltip-bg': 'var(--tooltip-bg)', + // Popover + '@popover-bg': 'var(--popover-bg)', + // Modal + '@modal-header-bg': 'var(--modal-header-bg)', + '@modal-header-border-color-split': 'var(--modal-header-border-color-split)', + '@modal-content-bg': 'var(--modal-content-bg)', + '@modal-footer-border-color-split': 'var(--modal-footer-border-color-split)', + // Menu + '@menu-popup-bg': 'var(--menu-popup-bg)', + '@menu-dark-bg': 'var(--menu-dark-bg)', + '@menu-dark-submenu-bg': 'var(--menu-dark-submenu-bg)', + // Table + '@table-header-bg': 'var(--table-header-bg)', + '@table-header-sort-bg': 'var(--table-header-sort-bg)', + '@table-body-sort-bg': 'var(--table-body-sort-bg)', + '@table-row-hover-bg': 'var(--table-row-hover-bg)', + '@table-selected-row-hover-bg': '@primary-1', + '@table-expanded-row-bg': 'var(--table-expanded-row-bg)', + '@table-header-sort-active-bg': 'var(--table-header-sort-active-bg)', + '@table-header-filter-active-bg': 'var(--table-header-filter-active-bg)', + // Badge + '@badge-text-color': '@white', + // Rate + '@rate-star-bg': 'var(--rate-star-bg)', + // Card + '@card-actions-background': 'var(--card-actions-background)', + '@card-skeleton-bg': 'var(--card-skeleton-bg)', + '@card-shadow': 'var(--card-shadow)', + '@gradient-min': 'var(--gradient-min)', + '@gradient-max': 'var(--gradient-max)', + // Comment + '@comment-bg': 'var(--comment-bg)', + '@comment-author-time-color': 'var(--comment-author-time-color)', + '@comment-action-hover-color': 'var(--comment-action-hover-color)', + // BackTop + '@back-top-bg': 'var(--back-top-bg)', + '@back-top-hover-bg': 'var(--back-top-hover-bg)', + // Avatar + '@avatar-bg': 'var(--avatar-bg)', + // Switch + '@switch-bg': '@white', + // Pagination + '@pagination-item-bg': 'var(--pagination-item-bg)', + '@pagination-item-bg-active': 'var(--pagination-item-bg-active)', + '@pagination-item-link-bg': 'var(--pagination-item-link-bg)', + '@pagination-item-disabled-color-active': 'var(--pagination-item-disabled-color-active)', + '@pagination-item-disabled-bg-active': 'var(--pagination-item-disabled-bg-active)', + '@pagination-item-input-bg': 'var(--pagination-item-input-bg)', + // PageHeader + '@page-header-back-color': 'var(--page-header-back-color)', + // Slider + '@slider-rail-background-color': 'var(--slider-rail-background-color)', + '@slider-rail-background-color-hover': 'var(--slider-rail-background-color-hover)', + '@slider-handle-color-focus': '@primary-5', + '@slider-handle-color-focus-shadow': 'var(--primary-fade-20)', + '@slider-dot-border-color': 'var(--slider-dot-border-color)', + '@slider-dot-border-color-active': 'var(--slider-dot-border-color)', + // Skeleton + '@skeleton-to-color': 'var(--skeleton-to-color)', + // Transfer + '@transfer-item-hover-bg': 'var(--transfer-item-hover-bg)', + // Message + '@message-notice-content-bg': 'var(--message-notice-content-bg)', + // Alert + '@alert-success-border-color': '@green-3', + '@alert-success-bg-color': '@green-1', + '@alert-success-icon-color': '@success-color', + '@alert-info-border-color': '@primary-3', + '@alert-info-bg-color': '@primary-1', + '@alert-info-icon-color': '@primary-color', + '@alert-warning-border-color': '@gold-3', + '@alert-warning-bg-color': '@gold-1', + '@alert-warning-icon-color': '@warning-color', + '@alert-error-border-color': '@red-3', + '@alert-error-bg-color': '@red-1', + '@alert-error-icon-color': '@error-color', + // Drawer + '@drawer-bg': 'var(--drawer-bg)', + // Timeline + '@timeline-color': 'var(--timeline-color)', + '@timeline-dot-color': 'var(--timeline-dot-color)', + // Image + '@image-preview-operation-disabled-color': 'var(--image-preview-operation-disabled-color)', + // Steps + '@steps-nav-arrow-color': 'var(--steps-nav-arrow-color)', + '@steps-background': 'var(--steps-background)', + // Notification + '@notification-bg': 'var(--notification-bg)', +}; + +/** + * 需要替换的内容 + */ +const replaces = { + // input/style/mixin.less + 'fade(@color, 20%)': 'ele-fade(@color, 20%)', + // layout/style/index.less + //'tint(@layout-sider-background, 10%)': 'var(--layout-sider-background-1)', + // notification/style/index.less + 'shade(@text-color-secondary, 40%)': '@text-color', + // popover/style/index.less + 'box-shadow: ~\'0 0 8px @{shadow-color} \\9\';': '', + // radio/style/index.less + 'fade(@radio-dot-color, 8%)': 'var(--primary-fade-8)', + // switch/style/index.less + 'fade(@switch-color, 20%)': 'var(--primary-fade-20)', + // menu/style/index.less + 'fade(@primary-color, 20%)': 'var(--primary-fade-20)', + // button/style/mixin.less + 'fadein(@btn-text-hover-bg, 1%)': 'var(--btn-text-active-bg)' +}; + +/** + * 修改less变量的预处理器 + */ +class AntdLessPreProcessor { + constructor(variables, replaces) { + this.variables = variables || {}; + this.replaces = replaces || {}; + } + + process(src) { + let result = src; + Object.keys(this.variables).forEach((key) => { + result = result.replace(new RegExp(key + ':[^;]*;', 'g'), key + ': ' + this.variables[key] + ';'); + }); + Object.keys(this.replaces).forEach((key) => { + //result = result.replaceAll(key, this.replaces[key]); + // replaceAll以及正则如果含有符号容易报错, 使用如下实现全部替换 + result = result.split(key).join(this.replaces[key]); + }); + return result; + } +} + +/** + * 转换antd变量的less插件 + */ +class DynamicAntdLess { + constructor(opt) { + this.option = { + variables: Object.assign({}, variables, opt ? opt.variables : null), + replaces: Object.assign({}, replaces, opt ? opt.replaces : null), + }; + } + + install(less, manager, functions) { + // 添加预处理器 + manager.addPreProcessor(new AntdLessPreProcessor(this.option.variables, this.option.replaces), 2000); + + // 添加自定义函数, 替代fade函数以支持var() + const call = (name, ...args) => new less.tree.Call(name, [new less.tree.Expression(args)]); + functions.add('ele-fade', (node, amount) => { + if (node.name === 'var') { + const color = node.args[0].value; + if (color === '--primary-color' || color === '--info-color') { + return call('var', new less.tree.Anonymous('--primary-fade-' + amount.value)); + } + if (color === '--error-color' || color === '--highlight-color') { + return call('var', new less.tree.Anonymous('--error-fade-' + amount.value)); + } + if (color === '--warning-color') { + return call('var', new less.tree.Anonymous('--warning-fade-' + amount.value)); + } + if (color === '--success-color') { + return call('var', new less.tree.Anonymous('--success-fade-' + amount.value)); + } + return call('var', new less.tree.Anonymous(color + '-fade-unknown')); + } + const f = functions.get('fade'); + return f ? f(node, amount) : node; + }); + } +} + +module.exports = DynamicAntdLess; diff --git a/src/components/ele-admin-pro/packages/style/index.less b/src/components/ele-admin-pro/packages/style/index.less new file mode 100644 index 0000000..6445611 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/index.less @@ -0,0 +1,7 @@ +/** ele admin pro license by http://eleadmin.com */ +@import '~ant-design-vue/dist/antd.less'; + +@import './nprogress.less'; +@import './display.less'; +@import './common.less'; +@import './layout.less'; diff --git a/src/components/ele-admin-pro/packages/style/layout.less b/src/components/ele-admin-pro/packages/style/layout.less new file mode 100644 index 0000000..9edb56f --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/layout.less @@ -0,0 +1,1172 @@ +/** ele admin pro 布局样式 license by http://eleadmin.com */ +@import './var.less'; + +/* header */ +.ele-admin-header { + display: flex; + align-items: center; + height: @header-height; + line-height: @header-height; + box-shadow: @header-light-shadow; + background: @component-background; + z-index: calc(@layout-z-index + 2); + position: relative; + + // logo + .ele-admin-logo { + width: @sidebar-width; + height: @header-height; + line-height: @header-height; + box-shadow: @logo-light-shadow; + background: @component-background; + transition: @sidebar-transition; + font-size: @logo-font-size; + color: @logo-light-color; + white-space: nowrap; + position: relative; + overflow: hidden; + flex-shrink: 0; + display: flex; + font-weight: 600; + align-items: center; + justify-content: center; + cursor: pointer; + + img { + width: @logo-size; + height: @logo-size; + + & + span { + margin-left: @padding-sm; + } + } + } + + // 面包屑 + .ele-admin-breadcrumb { + flex-shrink: 0; + } + + // nav + .ele-admin-header-nav { + flex: 1; + border: none; + background: none; + line-height: @header-height; + overflow: hidden; + + .ant-menu-item, + .ant-menu-submenu { + top: auto; + margin-top: 0; + } + } + + // 操作按钮 + .ele-admin-header-tool { + display: flex; + flex-shrink: 0; + padding: 0 @padding-sm; + + .ele-admin-header-tool-item { + padding: 0 @padding-sm; + font-size: @font-size-base; + transition: color .2s, background-color .2s; + cursor: pointer; + + &:hover { + background: @header-tool-hover-bg; + } + + .anticon-menu-fold, + .anticon-menu-unfold, + .anticon-more, + .anticon-bell, + .anticon-fullscreen, + .anticon-fullscreen-exit { + transform: scale(1.15); + } + } + } + + // 用户信息 + .ele-admin-header-avatar { + display: flex; + align-items: center; + position: relative; + height: 100%; + + .ant-avatar { + width: @header-avatar-size; + height: @header-avatar-size; + + & + span { + padding-left: @padding-xs; + } + } + } +} + +/* main */ +.ele-admin-main { + display: flex; + position: relative; +} + +/* 侧边栏 */ +.ele-admin-sidebar { + flex-shrink: 0; + overflow-x: hidden; + width: @sidebar-width; + min-height: calc(100vh - @header-height); + background: @component-background; + box-shadow: @sidebar-light-shadow; + transition: @sidebar-transition; + z-index: calc(@layout-z-index + 3); + box-sizing: border-box; + position: relative; + + .ele-admin-sidebar-menus > .ant-menu { + border: none; + background: none; + + .ant-menu-item, + .ant-menu-submenu-title { + width: 100%; + } + + .ant-menu-submenu .ant-menu-sub { + transition: none; + } + } +} + +/* 侧边栏一级菜单 */ +.ele-admin-sidebar-nav { + flex-shrink: 0; + overflow-x: hidden; + width: @sidebar-nav-width; + min-height: calc(100vh - @header-height); + box-shadow: -1px 0 0 @border-color-split inset; + transition: width @sidebar-transition-anim, left @sidebar-transition-anim, padding @sidebar-transition-anim, box-shadow @sidebar-transition-anim; + z-index: calc(@layout-z-index + 3); + background: @component-background; + box-sizing: border-box; + position: relative; + display: flex; + flex-direction: column; + + & > .ele-admin-sidebar-nav-menu { + flex: auto; + position: relative; + box-sizing: border-box; + padding: @sidebar-nav-padding; + transition: padding @sidebar-transition-anim; + overflow-x: hidden; + + & > .ant-menu { + border: none; + background: none; + width: auto; + + & > .ant-menu-item, + & > .ant-menu-submenu { + margin: @sidebar-nav-item-margin; + border-radius: @border-radius-base; + } + + & > .ant-menu-item { + transition: color .3s @ease-in-out, background .3s @ease-in-out, margin .3s @ease-in-out; + } + + & > .ant-menu-submenu { + transition: margin .3s @ease-in-out; + } + + & > .ant-menu-submenu > .ant-menu-submenu-title { + margin: 0; + } + + & > .ant-menu-item, + & > .ant-menu-submenu > .ant-menu-submenu-title { + width: 100%; + height: auto; + line-height: 0; + display: block; + text-align: center; + border-radius: @border-radius-base; + padding: @sidebar-nav-item-padding !important; + transition: color .3s @ease-in-out, background .3s @ease-in-out, padding .3s @ease-in-out; + + & > .ant-menu-item-icon { + margin: 0; + line-height: 0; + font-size: @sidebar-nav-icon-font-size; + transition: font-size .3s @ease-in-out; + } + + & > .ant-menu-title-content { + margin: 0; + opacity: 1; + display: block; + transition: none; + } + + & > .ant-menu-title-content > span { + width: auto; + height: auto; + display: block; + line-height: 1; + font-size: @sidebar-nav-font-size; + max-height: @sidebar-nav-font-size; + margin: @sidebar-nav-item-title-margin; + transition: transform .3s @ease-in-out, max-height .3s @ease-in-out, margin .3s @ease-in-out, visibility .3s @ease-in-out; + overflow: hidden; + white-space: nowrap; + word-break: break-all; + text-overflow: ellipsis; + visibility: visible; + transform: scale(1); + max-width: none; + opacity: 1; + } + + &:after { + display: none; + } + } + + & > .ant-menu-item:not(.ant-menu-item-selected):not(:active):hover, + & > .ant-menu-submenu:not(.ant-menu-submenu-selected) > .ant-menu-submenu-title:not(:active):hover { + background: @header-tool-hover-bg; + } + + & > .ant-menu-submenu.ant-menu-submenu-selected > .ant-menu-submenu-title { + background: @item-active-bg; + } + } + } + + .ele-admin-sidebar-nav-tool-item { + height: 40px; + line-height: 40px; + text-align: center; + color: @text-color; + font-size: @font-size-lg; + transition: color .3s @ease-in-out, background .3s @ease-in-out, padding .3s @ease-in-out; + cursor: pointer; + + &:hover { + color: @primary-color; + } + } +} + +.ele-admin-sidebar-nav-menu-pop > .ant-menu { + margin-left: @sidebar-nav-pop-menu-margin; +} + +/* 主体部分 */ +.ele-admin-body { + flex: 1; + display: flex; + flex-direction: column; + min-height: calc(100vh - @header-height); + box-sizing: border-box; + overflow: auto; + + .ele-admin-content { + flex: auto; + display: flex; + flex-direction: column; + box-sizing: border-box; + + .ele-admin-content-view { + flex: auto; + box-sizing: border-box; + } + } +} + +/* 主体的iframe组件 */ +.ele-admin-iframe { + width: 100%; + height: calc(100vh - @header-height); + box-sizing: border-box; + display: block; +} + +.ele-admin-show-tabs .ele-admin-iframe { + height: calc(100vh - @header-height - @tabs-height); +} + +/* 多页签 */ +.ele-admin-tabs.ant-tabs { + background: @component-background; + box-shadow: @header-light-shadow; + z-index: @layout-z-index; + position: relative; + + .ant-tabs-bar { + margin: 0; + border-bottom: none; + + .ant-tabs-nav-container { + padding: 0 @tabs-height; + height: auto; + + .ant-tabs-tab { + padding: 0; + background: none; + height: @tabs-height; + line-height: @tabs-height; + transition: background .3s @ease-in-out, color .3s @ease-in-out; + border-radius: 0; + border: none; + margin: 0; + + & > div { + padding: 0 28px 0 @padding-md; + + &.ant-tabs-tab-unclosable { + padding-right: @padding-md; + } + } + + .ant-tabs-close-x { + width: auto; + height: auto; + margin: -6px 0 0 0; + position: absolute; + right: 10px; + top: 50%; + } + + &:before { + display: none; + } + } + + .ant-tabs-tab-active { + background: @item-active-bg; + } + + .ant-tabs-tab-prev, + .ant-tabs-tab-next { + transition: color .3s @ease-in-out, opacity .3s @ease-in-out; + width: @tabs-height; + pointer-events: auto; + line-height: 1; + opacity: 1; + + .anticon { + font-size: @font-size-base; + } + } + + .ant-tabs-ink-bar { + display: none !important; + } + } + } + + .ant-tabs-content, + .ant-tabs-content + div, + .ant-tabs-bar + div, + &:before, + &:after { + display: none; + } + + .ant-tabs-nav-container, + .ant-tabs-nav-wrap { + margin-bottom: 0; + } + + .ele-admin-tabs-drop { + width: @tabs-height; + height: @tabs-height; + line-height: @tabs-height; + text-align: center; + cursor: pointer; + + .anticon { + font-size: @font-size-base; + } + } +} + +/* 开启多页签顶栏阴影处理 */ +.ele-admin-show-tabs:not(.ele-admin-tab-card):not(.ele-admin-head-dark) { + .ele-admin-header { + box-shadow: @sidebar-width -1px 0 @border-color-split inset; + transition: padding-left @sidebar-transition-anim, box-shadow @sidebar-transition-anim; + } + + &.ele-admin-collapse .ele-admin-header { + box-shadow: @sidebar-collapse-width -1px 0 @border-color-split inset; + } + + &.ele-admin-side-mix { + .ele-admin-header { + box-shadow: @sidebar-nav-width -1px 0 @border-color-split inset; + } + + &.ele-admin-nav-collapse:not(.ele-admin-logo-auto) .ele-admin-header { + box-shadow: @sidebar-collapse-width -1px 0 @border-color-split inset; + } + } + + &.ele-admin-logo-auto .ele-admin-header { + box-shadow: 0 -1px 0 @border-color-split inset; + } +} + +/* 折叠侧边栏 */ +.ele-admin-collapse { + .ele-admin-logo > span { + display: none; + } + + .ele-admin-logo, + .ele-admin-sidebar, + .ele-admin-sidebar .ant-menu-inline-collapsed { + width: @sidebar-collapse-width; + } + + .ele-admin-sidebar .ant-menu > .ant-menu-item, + .ele-admin-sidebar .ant-menu > .ant-menu-submenu > .ant-menu-submenu-title { + padding: 0 calc(calc(@sidebar-collapse-width - @menu-icon-size-lg) / 2) !important; + } + + &.ele-admin-side-mix .ele-admin-sidebar-nav { + box-shadow: @sidebar-light-shadow; + + & + .ele-admin-sidebar { + width: 0; + } + } +} + +/* 侧栏双菜单一级折叠状态 */ +.ele-admin-nav-collapse.ele-admin-side-mix { + .ele-admin-logo { + width: @sidebar-collapse-width; + } + + .ele-admin-sidebar-nav { + width: @sidebar-collapse-width; + + & > .ele-admin-sidebar-nav-menu { + padding: @sidebar-collapse-nav-padding; + + & > .ant-menu { + & > .ant-menu-item, + & > .ant-menu-submenu { + margin: @sidebar-collapse-nav-item-margin; + } + + & > .ant-menu-item, + & > .ant-menu-submenu > .ant-menu-submenu-title { + padding: @sidebar-collapse-nav-item-padding !important; + + & > .ant-menu-item-icon { + font-size: @menu-icon-size-lg; + } + + & > .ant-menu-title-content > span { + margin: 0; + max-height: 0; + transform: scale(0); + visibility: hidden; + } + } + } + } + } +} + +// 侧边栏双排菜单 +.ele-admin-side-mix { + .ele-admin-logo { + width: @sidebar-nav-width; + + & > span { + display: none; + } + } + + &:not(.ele-admin-collapse) .ele-admin-logo { + box-shadow: -1px 0 0 @border-color-split inset; + } + + .ele-admin-sidebar-nav + .ele-admin-sidebar { + background: @component-background; + box-shadow: @sidebar-light-shadow; + width: calc(@sidebar-width - @sidebar-collapse-width); + z-index: calc(@layout-z-index + 1); + } +} + +/* 主题风格 */ +// 固定顶栏 +.ele-admin-fixed-header:not(.ele-admin-fixed-body) { + padding-top: @header-height; + + .ele-admin-header { + position: fixed; + top: 0; + left: 0; + right: 0; + } + + &.ele-admin-show-tabs .ele-admin-body { + padding-top: @tabs-height; + } + + .ele-admin-tabs { + position: fixed; + left: 0; + right: 0; + top: @header-height; + transition: left @sidebar-transition-anim; + } + + .ele-admin-sidebar + .ele-admin-body .ele-admin-tabs { + left: @sidebar-width; + } + + &.ele-admin-collapse .ele-admin-sidebar + .ele-admin-body .ele-admin-tabs { + left: @sidebar-collapse-width; + } + + &:not(.ele-admin-fixed-sidebar) .ele-admin-sidebar, + &:not(.ele-admin-fixed-sidebar) .ele-admin-sidebar-nav { + z-index: calc(@layout-z-index + 1); + } + + &:not(.ele-admin-fixed-sidebar):not(.ele-admin-logo-auto):not(.ele-admin-side-dark) .ele-admin-logo { + box-shadow: 0 -1px 0 @border-color-split inset; + } + + &:not(.ele-admin-fixed-sidebar):not(.ele-admin-logo-auto):not(.ele-admin-side-dark).ele-admin-head-dark .ele-admin-logo, + &:not(.ele-admin-fixed-sidebar):not(.ele-admin-logo-auto):not(.ele-admin-side-dark).ele-admin-tab-card .ele-admin-logo, + &:not(.ele-admin-fixed-sidebar):not(.ele-admin-logo-auto):not(.ele-admin-side-dark):not(.ele-admin-show-tabs) .ele-admin-logo { + box-shadow: none; + } + + &.ele-admin-side-mix { + .ele-admin-sidebar + .ele-admin-body .ele-admin-tabs { + left: calc(@sidebar-width - @sidebar-collapse-width + @sidebar-nav-width); + } + + .ele-admin-sidebar-nav + .ele-admin-body .ele-admin-tabs { + left: @sidebar-nav-width; + } + + &.ele-admin-nav-collapse { + .ele-admin-sidebar + .ele-admin-body .ele-admin-tabs { + left: @sidebar-width; + } + + .ele-admin-sidebar-nav + .ele-admin-body .ele-admin-tabs { + left: @sidebar-collapse-width; + } + } + + &.ele-admin-collapse { + .ele-admin-sidebar + .ele-admin-body .ele-admin-tabs { + left: @sidebar-nav-width; + } + + &.ele-admin-nav-collapse .ele-admin-sidebar + .ele-admin-body .ele-admin-tabs { + left: @sidebar-collapse-width; + } + } + } +} + +// 固定侧边栏 +.ele-admin-fixed-sidebar:not(.ele-admin-fixed-body) { + .ele-admin-sidebar, + .ele-admin-sidebar-nav { + position: fixed; + left: 0; + bottom: 0; + top: @header-height; + } + + &:not(.ele-admin-fixed-header):not(.ele-admin-logo-auto) .ele-admin-logo { + position: fixed; + top: 0; + left: 0; + } + + &.ele-admin-logo-auto:not(.ele-admin-fixed-header) .ele-admin-sidebar-nav, + &.ele-admin-logo-auto:not(.ele-admin-fixed-header):not(.ele-admin-side-mix) .ele-admin-sidebar { + top: 0; + z-index: calc(@layout-z-index + 3); + } + + .ele-admin-header, + .ele-admin-sidebar + .ele-admin-body, + .ele-admin-sidebar-nav + .ele-admin-body { + padding-left: @sidebar-width; + transition: padding-left @sidebar-transition-anim, box-shadow @sidebar-transition-anim; + } + + &.ele-admin-collapse { + .ele-admin-sidebar + .ele-admin-body, + &:not(.ele-admin-fixed-header):not(.ele-admin-side-mix) .ele-admin-header { + padding-left: @sidebar-collapse-width; + } + } + + &.ele-admin-side-mix { + .ele-admin-sidebar { + left: @sidebar-nav-width; + } + + .ele-admin-header, + .ele-admin-sidebar + .ele-admin-body, + .ele-admin-sidebar-nav + .ele-admin-body { + padding-left: @sidebar-nav-width; + } + + &:not(.ele-admin-fixed-header) { + .ele-admin-sidebar { + position: relative; + top: auto; + } + } + + &.ele-admin-nav-collapse { + .ele-admin-header, + .ele-admin-sidebar + .ele-admin-body, + .ele-admin-sidebar-nav + .ele-admin-body { + padding-left: @sidebar-collapse-width; + } + + .ele-admin-sidebar { + left: @sidebar-collapse-width; + } + } + } + + &.ele-admin-fixed-header { + .ele-admin-header { + padding-left: 0; + } + + &.ele-admin-side-mix { + .ele-admin-sidebar + .ele-admin-body { + padding-left: calc(@sidebar-width - @sidebar-collapse-width + @sidebar-nav-width); + } + + &.ele-admin-collapse { + .ele-admin-sidebar + .ele-admin-body { + padding-left: @sidebar-nav-width; + } + } + + &.ele-admin-nav-collapse { + .ele-admin-header { + padding-left: 0; + } + + .ele-admin-sidebar { + left: @sidebar-collapse-width; + } + + .ele-admin-sidebar + .ele-admin-body { + padding-left: @sidebar-width; + } + + &.ele-admin-collapse .ele-admin-sidebar + .ele-admin-body { + padding-left: @sidebar-collapse-width; + } + } + } + } +} + +// 固定主体 +.ele-admin-fixed-body { + .ele-admin-content { + height: calc(100vh - @header-height); + overflow: auto; + } + + .ele-admin-sidebar, + .ele-admin-sidebar-nav { + height: calc(100vh - @header-height); + } + + &.ele-admin-show-tabs { + .ele-admin-content { + height: calc(100vh - @header-height - @tabs-height); + } + + &.ele-admin-tab-card .ele-admin-content { + height: calc(100vh - @header-height - @tabs-height - @tabs-card-padding); + } + } +} + +// 全屏内容区域 +.ele-admin-body-fullscreen { + padding-top: 0 !important; + + .ele-admin-header, + .ele-admin-sidebar, + .ele-admin-sidebar-nav { + display: none; + } + + .ele-admin-body { + min-height: 100vh; + padding-left: 0 !important; + } + + .ele-admin-tabs { + left: 0 !important; + top: 0 !important; + } + + &.ele-admin-fixed-body { + .ele-admin-content { + height: 100vh !important; + } + + &.ele-admin-show-tabs:not(.ele-admin-content-fullscreen) { + .ele-admin-content { + height: calc(100vh - @tabs-height) !important; + } + + &.ele-admin-tab-card .ele-admin-content { + height: calc(100vh - @tabs-height - @tabs-card-padding) !important; + } + } + } + + &.ele-admin-content-fullscreen { + .ele-admin-body { + padding-top: 0 !important; + } + + .ele-admin-tabs { + display: none; + } + } +} + +// 主体内容定宽 +.ele-admin-body-limit .ele-body { + max-width: @body-limit-width; + margin: 0 auto; +} + +// logo宽度自适应 +.ele-admin-logo-auto.ele-admin-layout { + .ele-admin-logo { + width: auto; + color: @logo-light-color; + padding: 0 @padding-sm 0 @padding-lg; + background: none; + box-shadow: none; + + & > span { + display: inline; + } + + & + .ele-admin-header-nav { + margin-left: @padding-sm; + } + } + + .ele-admin-sidebar, + .ele-admin-sidebar-nav { + z-index: calc(@layout-z-index + 1); + } + + &.ele-admin-head-dark .ele-admin-logo { + color: @logo-dark-color; + } +} + +// 暗色顶栏 +.ele-admin-head-dark .ele-admin-header { + color: @menu-dark-color; + box-shadow: @header-dark-shadow; + background: @layout-sider-background; + + .ele-admin-header-tool .ele-admin-header-tool-item:hover { + color: @menu-dark-selected-item-text-color; + background: @header-dark-tool-hover-bg; + } + + .ant-breadcrumb, + .ant-breadcrumb-separator, + .ant-breadcrumb a { + color: @menu-dark-color; + } + + .ant-breadcrumb a:hover { + color: @menu-dark-selected-item-text-color; + } + + .ant-breadcrumb > span:last-child { + color: @menu-dark-color; + } + + // 主色顶栏menu + .ant-menu-light { + color: @menu-dark-color; + + & > .ant-menu-item:hover, + & > .ant-menu-item-active, + & > .ant-menu-item-selected, + & > .ant-menu-submenu-active, + & > .ant-menu-submenu-open, + & > .ant-menu-submenu-selected, + & > .ant-menu-submenu > .ant-menu-submenu-title:hover { + color: @menu-dark-selected-item-text-color; + } + + & > .ant-menu-item:hover:after, + & > .ant-menu-submenu:hover:after, + & > .ant-menu-item-active:after, + & > .ant-menu-submenu-active:after, + & > .ant-menu-item-open:after, + & > .ant-menu-submenu-open:after, + & > .ant-menu-item-selected:after, + & > .ant-menu-submenu-selected:after { + border-bottom-color: @menu-dark-selected-item-text-color; + } + } +} + +// 暗色侧边栏 +.ele-admin-side-dark { + .ele-admin-logo { + color: @logo-dark-color; + box-shadow: @logo-dark-shadow; + background: @layout-sider-background; + } + + .ele-admin-sidebar { + box-shadow: @sidebar-dark-shadow; + background: @layout-sider-background; + } + + &.ele-admin-side-mix { + &:not(.ele-admin-collapse) { + .ele-admin-logo, + .ele-admin-sidebar-nav { + box-shadow: none; + } + } + + .ele-admin-sidebar-nav { + background: @layout-sider-background; + + & > .ele-admin-sidebar-nav-menu > .ant-menu { + & > .ant-menu-item:not(.ant-menu-item-selected):hover, + & > .ant-menu-submenu:not(.ant-menu-submenu-selected) > .ant-menu-submenu-title:hover { + background: @header-dark-tool-hover-bg; + } + + & > .ant-menu-submenu.ant-menu-submenu-selected > .ant-menu-submenu-title { + background: @primary-color; + color: @menu-dark-selected-item-text-color; + } + } + + .ele-admin-sidebar-nav-tool-item { + color: @menu-dark-color; + + &:hover { + color: @menu-dark-selected-item-text-color; + } + } + } + } +} + +// 选项卡圆点风格 +.ele-admin-tab-dot .ele-admin-tabs.ant-tabs { + .ant-tabs-bar .ant-tabs-nav-container { + .ant-tabs-tab { + border-right: 1px solid @border-color-split; + + & > div { + padding-left: 28px; + } + + &:before { + width: 8px; + height: 8px; + margin-top: -4px; + background: @border-color-base; + transition: background .3s; + border-radius: 50%; + display: block; + border: none; + left: 12px; + top: 50%; + } + } + + .ant-tabs-tab-active:before { + background: @primary-color; + } + + .ant-tabs-tab-next { + border-left: 1px solid @border-color-split; + right: 0; + } + + .ant-tabs-tab-prev { + border-right: 1px solid @border-color-split; + } + } + + .ele-admin-tabs-drop { + border-left: 1px solid @border-color-split; + } +} + +// 选项卡卡片风格 +.ele-admin-tab-card .ele-admin-tabs.ant-tabs { + background: @layout-body-background; + padding-top: @tabs-card-padding; + box-shadow: 0 @tabs-card-padding 0 @layout-body-background; + + .ant-tabs-bar .ant-tabs-nav-container { + .ant-tabs-tab { + border-radius: (@border-radius-sm * 2); + height: calc(@tabs-height - @tabs-card-padding); + line-height: calc(@tabs-height - @tabs-card-padding); + background: @component-background; + + & + .ant-tabs-tab { + margin-left: @tabs-card-padding; + } + } + + .ant-tabs-tab-prev, + .ant-tabs-tab-next { + height: calc(@tabs-height - @tabs-card-padding); + line-height: calc(@tabs-height - @tabs-card-padding); + } + } + + .ele-admin-tabs-drop { + border-radius: 4px; + background: @component-background; + margin-right: @tabs-card-padding; + width: calc(@tabs-height - @tabs-card-padding); + height: calc(@tabs-height - @tabs-card-padding); + line-height: calc(@tabs-height - @tabs-card-padding); + } + + & + .ele-admin-content { + margin-top: @tabs-card-padding; + + & > .ele-admin-content-view > .ele-body:first-child { + padding-top: 0; + } + } +} + +// 侧边栏彩色图标 +.ele-admin-side-colorful { + .ele-admin-sidebar .ele-admin-sidebar-menus > .ant-menu > li { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + color: @menu-dark-selected-item-text-color; + background: #61b2fc; + width: @sidebar-colorful-icon-width; + height: @sidebar-colorful-icon-width; + line-height: calc(@sidebar-colorful-icon-width + 4px); + font-size: @sidebar-colorful-icon-size; + vertical-align: -0.05em; + border-radius: 50%; + text-align: center; + } + + &:nth-child(even) { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + background: #7dd733; + } + } + + &:nth-child(3) { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + background: #32a2d4; + } + } + + &:nth-child(4) { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + background: #7383cf; + } + } + + &:nth-child(5) { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + background: #F5686F; + } + } + + &:nth-child(6) { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + background: #2bccce; + } + } + + &:nth-child(7) { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + background: #7dd733; + } + } + + &:nth-child(8) { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + background: #FAAD14; + } + } + } + + .ele-admin-sidebar .ant-menu-submenu > .ant-menu > li { + & > .ant-menu-item-icon, + & > .ant-menu-submenu-title > .ant-menu-item-icon { + display: none; + + & + .ant-menu-title-content { + margin-left: 0; + } + } + + &:not(.ant-menu-submenu):before, + & > .ant-menu-submenu-title:before { + content: ""; + width: 8px; + height: 8px; + margin: 0 @padding-xs; + position: static; + border-radius: 50%; + display: inline-block; + vertical-align: 0.05em; + background: @normal-color; + transition: background .3s @ease-in-out; + } + + &:not(.ant-menu-submenu):hover:before, + &:not(.ant-menu-submenu).ant-menu-item-selected:before, + &.ant-menu-submenu:hover > .ant-menu-submenu-title:before { + background: @primary-color; + } + } + + &.ele-admin-side-dark:not(.ele-admin-side-mix) .ele-admin-sidebar .ant-menu-submenu > .ant-menu > li { + &:not(.ant-menu-submenu):before, + & > .ant-menu-submenu-title:before { + background: @menu-dark-color; + } + + &:not(.ant-menu-submenu):hover:before, + &:not(.ant-menu-submenu).ant-menu-item-selected:before, + &.ant-menu-submenu:hover > .ant-menu-submenu-title:before { + background: @menu-dark-selected-item-text-color; + } + } + + &.ele-admin-collapse { + .ele-admin-sidebar .ant-menu > .ant-menu-item, + .ele-admin-sidebar .ant-menu > .ant-menu-submenu > .ant-menu-submenu-title { + padding: 0 calc(calc(@sidebar-collapse-width - @sidebar-colorful-icon-width) / 2) !important; + } + } +} + +// 色弱模式 +.ele-admin-weak { + filter: invert(.8); + background: @heading-color; + overflow-x: hidden; +} + +/* 返回顶部 */ +.ele-admin-layout > .ant-back-top { + right: @layout-back-top-right; + bottom: @layout-back-top-bottom; +} + +/* 小屏幕遮罩层 */ +.ele-admin-shade { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: calc(@layout-z-index + 2); + transition: background-color @sidebar-transition-anim, left @sidebar-transition-anim; + visibility: hidden; +} + +/* 小屏幕样式 */ +@media screen and (max-width: 768px) { + .ele-admin-logo, + .ele-admin-sidebar { + position: fixed !important; + left: 0 !important; + width: @sidebar-width !important; + z-index: calc(@layout-z-index + 3) !important; + } + + .ele-admin-sidebar { + top: @header-height !important;; + } + + .ele-admin-logo > span { + display: inline !important; + } + + .ele-admin-body, + .ele-admin-header { + padding-left: 0 !important; + } + + .ele-admin-tabs { + left: 0 !important; + } + + .ele-admin-breadcrumb, + .ele-admin-sidebar-nav { + display: none; + } + + .ele-admin-layout:not(.ele-admin-collapse) .ele-admin-shade { + left: @sidebar-width; + background: @modal-mask-bg; + visibility: visible; + } + + .ele-admin-collapse .ele-admin-sidebar, + .ele-admin-collapse .ele-admin-logo { + left: calc(0px - @sidebar-width) !important; + box-shadow: none !important; + } + + .ele-admin-show-tabs:not(.ele-admin-tab-card):not(.ele-admin-head-dark) .ele-admin-header { + box-shadow: 0 -1px 0 @border-color-split inset !important; + } +} diff --git a/src/components/ele-admin-pro/packages/style/nprogress.less b/src/components/ele-admin-pro/packages/style/nprogress.less new file mode 100644 index 0000000..2435f8e --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/nprogress.less @@ -0,0 +1,84 @@ +/* Make clicks pass-through */ +@import './var.less'; + +#nprogress { + pointer-events: none; +} + +#nprogress .bar { + background: @primary-color; + + position: fixed; + z-index: 1031; + top: 0; + left: 0; + + width: 100%; + height: 2px; +} + +/* Fancy blur effect */ +#nprogress .peg { + display: block; + position: absolute; + right: 0; + width: 100px; + height: 100%; + box-shadow: 0 0 10px @primary-color, 0 0 5px @primary-color; + opacity: 1.0; + + -webkit-transform: rotate(3deg) translate(0px, -4px); + -ms-transform: rotate(3deg) translate(0px, -4px); + transform: rotate(3deg) translate(0px, -4px); +} + +/* Remove these to get rid of the spinner */ +#nprogress .spinner { + display: block; + position: fixed; + z-index: 1031; + top: 15px; + right: 15px; +} + +#nprogress .spinner-icon { + width: 18px; + height: 18px; + box-sizing: border-box; + + border: solid 2px transparent; + border-top-color: @primary-color; + border-left-color: @primary-color; + border-radius: 50%; + + -webkit-animation: nprogress-spinner 400ms linear infinite; + animation: nprogress-spinner 400ms linear infinite; +} + +.nprogress-custom-parent { + overflow: hidden; + position: relative; +} + +.nprogress-custom-parent #nprogress .spinner, +.nprogress-custom-parent #nprogress .bar { + position: absolute; +} + +@-webkit-keyframes nprogress-spinner { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + } +} + +@keyframes nprogress-spinner { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/src/components/ele-admin-pro/packages/style/util.js b/src/components/ele-admin-pro/packages/style/util.js new file mode 100644 index 0000000..e1e3b87 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/util.js @@ -0,0 +1,36 @@ +/** ele admin pro theme util license by http://eleadmin.com */ +import {generate} from '@ant-design/colors'; +import {TinyColor} from '@ctrl/tinycolor'; + +/** + * 切换主题色 + * @param color 颜色值 + * @param dark 是否暗黑模式 + */ +export function changeColor(color, dark) { + const id = `ele-admin-theme-var`, elem = document.getElementById(id); + if (elem && elem.parentNode) { + elem.parentNode.removeChild(elem); + } + if (color) { + const colors = generate(color, dark ? {theme: 'dark'} : {}), + rgb = new TinyColor(color).toRgb(), + clazz = dark ? '.ele-admin-theme-dark' : ':root', + elem = document.createElement('style'); + elem.id = id; + elem.setAttribute('type', 'text/css'); + elem.innerHTML = `${clazz}{` + colors.map((c, i) => { + return `--primary-${i + 1}:${c};`; + }).concat([ + `--primary-color:${color};`, + `--primary-fade-8:rgba(${rgb.r},${rgb.g},${rgb.b},.08);`, + `--primary-fade-20:rgba(${rgb.r},${rgb.g},${rgb.b},.2);` + ]).join('') + '}'; + document.head.appendChild(elem); + } + if (dark) { + document.body.classList.add('ele-admin-theme-dark'); + } else { + document.body.classList.remove('ele-admin-theme-dark'); + } +} diff --git a/src/components/ele-admin-pro/packages/style/var.less b/src/components/ele-admin-pro/packages/style/var.less new file mode 100644 index 0000000..8cbc459 --- /dev/null +++ b/src/components/ele-admin-pro/packages/style/var.less @@ -0,0 +1,58 @@ +/** ele admin pro variables license by http://eleadmin.com */ +@import '~ant-design-vue/lib/style/themes/default.less'; + +// 框架布局最小z-index(多页签[最小]->「顶栏|侧栏」[+2|+3|+1]->移动端遮罩层[+3]) +@layout-z-index: 99; + +// 侧边栏 +@sidebar-width: 210px; // 侧边栏宽度 +@sidebar-collapse-width: 48px; // 侧边栏折叠后宽度 +@sidebar-light-shadow: 1px 3px 3px rgba(0, 21, 41, .08); // 侧栏亮色阴影 +@sidebar-dark-shadow: 0 4px 4px rgba(0, 0, 0, .35); // 侧栏暗色阴影 +@sidebar-colorful-icon-width: 26px; // 侧边栏彩色图标宽度 +@sidebar-colorful-icon-size: @font-size-base; // 侧边栏彩色图标字体大小 +@sidebar-transition-anim: .3s cubic-bezier(0.2, 0, 0, 1) 0s; // 侧边栏过渡动画 +@sidebar-transition: width @sidebar-transition-anim, left @sidebar-transition-anim, box-shadow @sidebar-transition-anim; // 侧边栏过渡动效 +@sidebar-nav-width: 80px; // 侧边栏一级菜单宽度 +@sidebar-nav-padding: 0 @padding-xs; // 侧边栏一级菜单内间距 +@sidebar-collapse-nav-padding: 0 @padding-xss; // 侧边栏折叠后一级菜单内间距 +@sidebar-nav-pop-menu-margin: @padding-xs; // 侧边栏一级菜单pop菜单的左右margin +@sidebar-nav-font-size: @font-size-sm; // 侧边栏一级菜单item字体大小 +@sidebar-nav-icon-font-size: @font-size-lg; // 侧边栏一级菜单item图标字体大小 +@sidebar-nav-item-padding: @padding-sm 0; // 侧边栏一级菜单item内间距 +@sidebar-collapse-nav-item-padding: @padding-sm 0; // 侧边栏一级菜单折叠后item内间距 +@sidebar-nav-item-title-margin: (@padding-sm / 2) 0 0 0; // 侧边栏一级菜单item标题外间距 +@sidebar-nav-item-margin: @padding-xss 0 @padding-xs 0; // 侧边栏一级菜单item外间距 +@sidebar-collapse-nav-item-margin: @padding-xss 0 @padding-xs 0; // 侧边栏折叠后一级菜单item外间距 + +// 顶栏 +@header-height: 48px; // 顶栏高度 +@header-light-shadow: 0 1px 4px rgba(0, 21, 41, .08); // 顶栏亮色阴影 +@header-dark-shadow: 0 1px 4px rgba(0, 0, 0, .1); // 顶栏暗色阴影 +@header-avatar-size: 28px; // 顶栏头像大小 +@header-tool-hover-bg: rgba(0, 0, 0, .025); // 顶栏工具按钮hover背景 +@header-dark-tool-hover-bg: rgba(255, 255, 255, .05); // 顶栏暗色工具按钮hover背景 + +// logo +@logo-size: 30px; // logo大小 +@logo-font-size: @font-size-lg + 2px; // logo文字大小 +@logo-light-color: @heading-color; // logo亮色文字颜色 +@logo-dark-color: @menu-dark-selected-item-text-color; // logo暗色文字颜色 +@logo-light-shadow: 1px 2px 3px rgba(0, 21, 41, .08); // logo亮色阴影 +@logo-dark-shadow: 0 3px 4px rgba(0, 0, 0, .35); // logo暗色阴影 + +// 标签页 +@tabs-height: 40px; // 标签页高度 +@tabs-card-padding: @padding-xs; // 标签页卡片式间距 + +// 主体内容定宽 +@body-limit-width: 1200px; + +// 返回顶部 +@layout-back-top-right: 30px; +@layout-back-top-bottom: 60px; + +// Modal +@modal-header-padding: 14px 24px; +@modal-close-x-height: 50px; +@modal-close-x-width: 56px; diff --git a/src/components/ele-admin-pro/packages/util.js b/src/components/ele-admin-pro/packages/util.js new file mode 100644 index 0000000..6bffada --- /dev/null +++ b/src/components/ele-admin-pro/packages/util.js @@ -0,0 +1,523 @@ +/** 常用工具方法 license by http://eleadmin.com */ + +/** + * 倒计时 + * @param endTime 结束时间 + * @param serverTime 服务端当前时间 + * @param callback 回调 + * @returns {number} 定时器实例 + */ +export function countdown(endTime, serverTime, callback) { + let type = typeof serverTime === 'function', + end = new Date(endTime).getTime(), + now = new Date((!serverTime || type) ? new Date().getTime() : serverTime).getTime(), + count = end - now, + time = [ + Math.floor(count / (1000 * 60 * 60 * 24)), // 天 + Math.floor(count / (1000 * 60 * 60)) % 24, // 时 + Math.floor(count / (1000 * 60)) % 60, // 分 + Math.floor(count / 1000) % 60 // 秒 + ]; + if (type) { + callback = serverTime; + } + let timer = setTimeout(() => { + this.countdown(endTime, now + 1000, callback); + }, 1000); + callback && callback(count > 0 ? time : [0, 0, 0, 0], serverTime, timer); + if (count <= 0) { + clearTimeout(timer); + } + return timer; +} + +/** + * 时间语义化 + * @param time 时间 + * @param onlyDate 超过30天是否仅返回日期 + * @returns {string} + */ +export function timeAgo(time, onlyDate) { + if (!time) { + return ''; + } + if (typeof time === 'string') { + time = time.replace(/-/g, '/'); + } + let arr = [[], []], + stamp = new Date().getTime() - new Date(time).getTime(); + // 30天以上返回具体日期 + if (stamp > 1000 * 60 * 60 * 24 * 31) { + stamp = new Date(time); + arr[0][0] = this.digit(stamp.getFullYear(), 4); + arr[0][1] = this.digit(stamp.getMonth() + 1); + arr[0][2] = this.digit(stamp.getDate()); + // 是否输出时间 + if (!onlyDate) { + arr[1][0] = this.digit(stamp.getHours()); + arr[1][1] = this.digit(stamp.getMinutes()); + arr[1][2] = this.digit(stamp.getSeconds()); + } + return arr[0].join('-') + ' ' + arr[1].join(':'); + } + if (stamp >= 1000 * 60 * 60 * 24) { + return ((stamp / 1000 / 60 / 60 / 24) | 0) + '天前'; + } else if (stamp >= 1000 * 60 * 60) { + return ((stamp / 1000 / 60 / 60) | 0) + '小时前'; + } else if (stamp >= 1000 * 60 * 3) { + return ((stamp / 1000 / 60) | 0) + '分钟前'; + } else if (stamp < 0) { + return '未来'; + } else { + return '刚刚'; + } +} + +/** + * 数字前置补零 + * @param num 数字 + * @param length 位数 + * @returns {string} + */ +export function digit(num, length) { + let str = ''; + num = String(num); + length = length || 2; + for (let i = num.length; i < length; i++) { + str += '0'; + } + return num < Math.pow(10, length) ? str + (num | 0) : num; +} + +/** + * 时间格式化 + * @param time 时间 + * @param format 格式 + * @returns {string} + */ +export function toDateString(time, format) { + if (!time) { + return ''; + } + if (typeof time === 'string') { + time = time.replace(/-/g, '/'); + } else if (typeof time === 'number' && String(time).length === 10) { + time = time * 1000; // 10位时间戳处理 + } + const date = new Date(time), + ymd = [ + digit(date.getFullYear(), 4), + digit(date.getMonth() + 1), + digit(date.getDate()) + ], + hms = [ + digit(date.getHours()), + digit(date.getMinutes()), + digit(date.getSeconds()) + ]; + return (format || 'yyyy-MM-dd HH:mm:ss') + .replace(/yyyy/g, ymd[0]) + .replace(/MM/g, ymd[1]) + .replace(/dd/g, ymd[2]) + .replace(/HH/g, hms[0]) + .replace(/mm/g, hms[1]) + .replace(/ss/g, hms[2]); +} + +/** + * html转义 + * @param html + * @returns {string} + */ +export function escape(html) { + return String(html || '') + .replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&') + .replace(//g, '>') + .replace(/'/g, ''') + .replace(/"/g, '"'); +} + +/** + * pid形式数据转children形式 + * @param data 需要转换的数组 + * @param idKey id字段名 + * @param pidKey pid字段名 + * @param childKey 生成的children字段名 + * @param pid 顶级的pid + * @param addPIds 是否添加所有父级id的字段 + * @param parentsKey 所有父级id的字段名称,默认parentIds + * @param parentIds 所有父级id + * @returns {[]} + */ +export function toTreeData(data, idKey, pidKey, childKey, pid, addPIds, parentsKey, parentIds) { + if (typeof data === 'object' && !Array.isArray(data)) { + idKey = data.idKey; + pidKey = data.pidKey; + childKey = data.childKey; + pid = data.pid; + addPIds = data.addPIds; + parentsKey = data.parentsKey; + parentIds = data.parentIds; + data = data.data; + } + if (!childKey) { + childKey = 'children'; + } + if (typeof pid === 'undefined') { + pid = []; + data.forEach((d) => { + let flag = true; + for (let i = 0; i < data.length; i++) { + if (d[pidKey] == data[i][idKey]) { + flag = false; + break; + } + } + if (flag) { + pid.push(d[pidKey]); + } + }); + } + let result = []; + data.forEach((d) => { + if (d[idKey] == d[pidKey]) { + console.error('data error: ', d) + return; + } + if (Array.isArray(pid) ? (pid.indexOf(d[pidKey]) !== -1) : (d[pidKey] == pid)) { + let children = toTreeData({ + data: data, + idKey: idKey, + pidKey: pidKey, + childKey: childKey, + pid: d[idKey], + addPIds: addPIds, + parentsKey: parentsKey, + parentIds: (parentIds || []).concat([d[idKey]]) + }); + if (children.length > 0) { + d[childKey] = children; + } + if (addPIds) { + d[parentsKey || 'parentIds'] = parentIds || []; + } + result.push(d); + } + }); + return result; +} + +/** + * 遍历children形式数据 + * @param data 需要遍历的数组 + * @param callback 回调 + * @param childKey children字段名 + */ +export function eachTreeData(data, callback, childKey = 'children', pname = '') { + if (!data || !data.length) { + return; + } + data.forEach((d) => { + d.pname = pname + if (callback(d) !== false && d[childKey]) { + eachTreeData(d[childKey], callback, childKey,d.title); + } + }); +} + +/** + * 处理树形数据 + * @param data 需要处理的数据 + * @param formatter 处理器 + * @param childKey children字段名 + * @returns {[]} 处理后的数据 + */ +export function formatTreeData(data, formatter, childKey = 'children') { + let result = []; + if (data && data.length) { + data.forEach((d) => { + let item = formatter(d); + if (item !== false) { + if (item[childKey]) { + item[childKey] = formatTreeData(item[childKey], formatter, childKey); + } + result.push(item); + } + }); + } + return result; +} + +/** + * 让浏览器全屏切换 + * @param el dom + * @param fullscreen 是否全屏 + * @returns {boolean} 全屏状态 + */ +export function toggleFullscreen(el, fullscreen) { + if (!el) { + el = document.documentElement; + } + if (typeof fullscreen === 'undefined' || fullscreen === null) { + fullscreen = !isFullscreen(); + } + if (fullscreen) { + const rfs = ( + el.requestFullScreen || + el.webkitRequestFullScreen || + el.mozRequestFullScreen || + el.msRequestFullScreen + ); + if (rfs) { + rfs.call(el); + } else { + throw new Error('您的浏览器不支持全屏模式'); + } + } else { + const cfs = ( + document.exitFullScreen || + document.webkitCancelFullScreen || + document.mozCancelFullScreen || + document.msExitFullscreen + ); + if (cfs) { + cfs.call(document); + } + } + return fullscreen; +} + +/** + * 获取当前是否是全屏状态 + * @returns {boolean} + */ +export function isFullscreen() { + return !!( + document.fullscreenElement || + document.webkitFullscreenElement || + document.mozFullScreenElement || + document.msFullscreenElement + ); +} + +/** + * 获取屏幕宽度 + * @returns {number} + */ +export function screenWidth() { + return document.documentElement.clientWidth || document.body.clientWidth; +} + +/** + * 获取屏幕高度 + * @returns {number} + */ +export function screenHeight() { + return document.documentElement.clientHeight || document.body.clientHeight; +} + +/** + * 获取html的纯文本 + * @param html + * @returns {string} + */ +export function htmlToText(html) { + return html.replace(/<[^>]+>/g, ''); +} + +/** + * 获取设备信息 + * @param key 自定义的agent + * @returns + */ +export function device(key) { + const agent = navigator.userAgent.toLowerCase(), + result = {os: null, ie: false}; + + // 获取版本号 + function getVersion(label) { + const exp = new RegExp(label + '/([^\\s\\_\\-]+)'); + return (agent.match(exp) || [])[1] || false; + } + + // 获取操作系统 + if (/windows/.test(agent)) { + result.os = 'windows'; + } else if (/linux/.test(agent)) { + result.os = 'linux'; + } else if (/iphone|ipod|ipad|ios/.test(agent)) { + result.os = 'ios'; + } else if (/mac/.test(agent)) { + result.os = 'mac'; + } else if (/android/.test(agent)) { + result.os = 'android'; + } + + // 获取ie版本 + if (!!window.ActiveXObject || 'ActiveXObject' in window) { + result.ie = (agent.match(/msie\s(\d+)/) || [])[1] || '11'; + } + + // 获取微信版本 + result.weixin = getVersion('micromessenger'); + + // 获取自定义的agent + if (key && !result[key]) { + result[key] = getVersion(key); + } + + // 是否移动设备 + result.android = /android/.test(agent); + result.ios = result.os === 'ios'; + result.mobile = result.android || result.ios; + return result; +} + +/** + * 生成随机字符串 + * @param length 长度 + * @param radix 基数 + * @returns {string} + */ +export function uuid(length = 32, radix) { + const num = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; + let result = ''; + for (let i = 0; i < length; i++) { + result += num.charAt(Math.floor(Math.random() * (radix || num.length))); + } + return result; +} + +/** + * 生成m到n的随机数 + * @param m 最小值, 包含 + * @param n 最大值, 不包含 + * @returns {number} + */ +export function random(m, n) { + return Math.floor(Math.random() * (m - n) + n); +} + +/** + * 百度地图坐标转高德地图坐标 + * @param point 坐标 + * @returns {{lng: number, lat: number}} + */ +export function bd09ToGcj02(point) { + const x_pi = (3.14159265358979324 * 3000.0) / 180.0; + const x = point.lng - 0.0065, y = point.lat - 0.006; + const z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi); + const theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi); + return { + lng: z * Math.cos(theta), + lat: z * Math.sin(theta) + }; +} + +/** + * 高德地图坐标转百度地图坐标 + * @param point 坐标 + * @returns {{lng: number, lat: number}} + */ +export function gcj02ToBd09(point) { + const x_pi = (3.14159265358979324 * 3000.0) / 180.0; + const x = point.lng, y = point.lat; + const z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi); + const theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi); + return { + lng: z * Math.cos(theta) + 0.0065, + lat: z * Math.sin(theta) + 0.006 + }; +} + +/** + * 深度克隆 + * @param obj + * @return + */ +export function deepClone(obj) { + let result; + const type = typeOf(obj); + if (type === 'Object') { + result = {}; + } else if (type === 'Array') { + result = []; + } else { + return obj; + } + Object.keys(obj).forEach(key => { + const copy = obj[key], + cType = this.typeOf(copy); + if (cType === 'Object' || cType === 'Array') { + result[key] = deepClone(copy); + } else { + result[key] = obj[key]; + } + }); + return result; +} + +/** + * 获取变量类型 + * @param obj + * @returns {string} + */ +export function typeOf(obj) { + if (obj === null) { + return 'Null'; + } + if (typeof obj === 'undefined') { + return 'Undefined'; + } + return Object.prototype.toString.call(obj).slice(8, -1); +} + +/** + * 播放音频 + * @param url 音频地址 + */ +export function play(url) { + return new Audio(url).play(); +} + +/** + * 导出excel + * @param XLSX XLSX对象 + * @param sheet 数组或sheet对象 + * @param sheetname 文件名称 + * @param type 文件格式 + */ +export function exportSheet(XLSX, sheet, sheetname = 'sheet1', type = 'xlsx') { + if (Array.isArray(sheet)) { + sheet = XLSX.utils.aoa_to_sheet(sheet); + } + let workbook = { + SheetNames: [sheetname], + Sheets: {} + }; + workbook.Sheets[sheetname] = sheet; + XLSX.writeFile(workbook, sheetname + '.' + type); +} + +/** + * 数字千分位 + * @param num + * @returns {string} + */ +export function formatNumber(num) { + return String(num).replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, '$1,'); +} + +/** + * 判断是否是外链 + * @param url + * @returns {boolean} + */ +export function isUrl(url) { + return !!(url && ( + url.startsWith('http://') || + url.startsWith('https://') || + url.startsWith('//') + )); +} diff --git a/src/components/ele-admin-pro/packages/validate.js b/src/components/ele-admin-pro/packages/validate.js new file mode 100644 index 0000000..131c507 --- /dev/null +++ b/src/components/ele-admin-pro/packages/validate.js @@ -0,0 +1,256 @@ +/** 格式校验工具方法 license by http://eleadmin.com */ +export default { + // 手机号正则表达式 + phone: /^1\d{10}$/, + /** + * 是否是手机号 + * @param value + * @returns {boolean} + */ + isPhone(value) { + return this.phone.test(value); + }, + // 手机号正则表达式(强校验) + phoneStrong: /^(13[0-9]{9})|(15[0-9]{9})|(17[0-9]{9})|(18[0-9]{9})|(19[0-9]{9})$/, + // 固话正则表达式 + tel: /^(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})(-| )?)?([0-9]{7,8})((-| |转)*([0-9]{1,4}))?$/, + /** + * 是否为固话 + * @param value + * @returns {boolean} + */ + isTel(value) { + return this.tel.test(value); + }, + // 邮箱正则表达式 + email: /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/, + /** + * 是否是邮箱 + * @param value + * @returns {*} + */ + isEmail(value) { + return this.email.test(value); + }, + // 网址正则表达式 + url: /(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/, + /** + * 是否是网址 + * @param value + * @returns {boolean} + */ + isUrl(value) { + return this.url.test(value); + }, + // 数字正则表达式 + number: /^[0-9]+\.?[0-9]*$/, + /** + * 是否是数字 + * @param value + * @returns {boolean} + */ + isNumber(value) { + //return this.number.test(value); + return !isNaN(value); + }, + // 日期正则表达式 + date: /^(\d{4})[-/](\d{1}|0\d{1}|1[0-2])([-/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, + /** + * 是否是日期 + * @param value + * @returns {boolean} + */ + isDate(value) { + return this.date.test(value); + }, + // 身份证正则表达式 + identity: /(^\d{15}$)|(^\d{17}(x|X|\d)$)/, + /** + * 是否是身份证 + * @param value + * @returns {boolean} + */ + isIdentity(value) { + return this.identity.test(value); + }, + // 整数正则表达式 + digits: /^-?\d+$/, + /** + * 是否是整数 + * @param value + * @returns {boolean} + */ + isDigits(value) { + return this.digits.test(value); + }, + // 正整数正则表达式 + digitsP: /^[1-9]\d*$/, + /** + * 是否是正整数 + * @param value + * @returns {boolean} + */ + isDigitsP(value) { + return this.digitsP.test(value); + }, + // 负整数正则表达式 + digitsN: /^-[1-9]\d*$/, + /** + * 是否是负整数 + * @param value + * @returns {*} + */ + isDigitsN(value) { + return this.digitsN.test(value); + }, + // 非负整数(正整数或0)正则表达式 + digitsPZ: /^\d+$/, + /** + * 是否是非负整数(正整数或0) + * @param value + * @returns {boolean} + */ + isDigitsPZ(value) { + return this.digitsPZ.test(value); + }, + // 非正整数(负整数或0)正则表达式 + digitsNZ: /^-[1-9]\d*|0/, + /** + * 是否是非正整数(负整数或0) + * @param value + * @returns {boolean} + */ + isDigitsNZ(value) { + return this.digitsNZ.test(value); + }, + /** + * 验证最小长度、最大长度 + * @param value + * @param minLength + * @param maxLength + * @returns {boolean} + */ + maxMinLength(value, minLength, maxLength) { + if (typeof value === 'undefined' || value === null) { + return !minLength; + } + if (minLength && value.toString().length < minLength) { + return false; + } + return !(maxLength !== undefined && maxLength !== null && value.toString().length > maxLength); + }, + /** + * 验证最小值、最大值 + * @param value + * @param min + * @param max + * @returns {boolean} + */ + maxMin(value, min, max) { + if (typeof value === 'undefined' || value === null) { + return typeof min === 'undefined' || min === null; + } + if (typeof min !== 'undefined' && min !== null && value < min) { + return false; + } + return !(typeof max !== 'undefined' && max !== null && value > max); + }, + // 中文正则表达式 + chinese: /^[\u4E00-\u9FA5]{2,4}$/, + /** + * 是否是中文 + * @param value + * @returns {boolean} + */ + isChinese(value) { + return this.chinese.test(value); + }, + // 端口号正则表达式 + port: /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/, + /** + * 是否是端口号 + * @param value + * @returns {boolean} + */ + isPort(value) { + return this.port.test(value); + }, + // IP正则表达式 + ip: /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/, + /** + * 是否是IP + * @param value + * @returns {boolean} + */ + isIP(value) { + return this.ip.test(value); + }, + // 经度正则表达式 + longitude: /^[-|+]?(0?\d{1,2}\.\d{1,5}|1[0-7]?\d{1}\.\d{1,5}|180\.0{1,5})$/, + /** + * 是否是经度 -180.0~+180.0(整数部分为0~180,必须输入1到5位小数) + * @param value + * @returns {boolean} + */ + isLongitude(value) { + return this.longitude.test(value); + }, + // 纬度正则表达式 + latitude: /^[-|+]?([0-8]?\d{1}\.\d{1,5}|90\.0{1,5})$/, + /** + * 是否是纬度 -90.0~+90.0(整数部分为0~90,必须输入1到5位小数) + * @param value + * @returns {boolean} + */ + isLatitude(value) { + return this.latitude.test(value); + }, + /** + * 是否是身份证(强校验) + * @param value + * @returns {string} + */ + isIdentityStrong(value) { + if (!this.isIdentity(value)) { + return '身份证号码格式错误'; + } + const ai = value.length === 18 ? value.substring(0, 17) : (value.substring(0, 6) + '19' + value.substring(6, 15)); + // 验证出生年月 + const year = ai.substring(6, 10); // 年 + const birthday = year + '/' + ai.substring(10, 12) + '/' + ai.substring(12, 14); + if (!this.isDate(birthday)) { + return '身份证号码出生日期无效'; + } + const now = new Date(); + if ((now.getFullYear() - parseInt(year)) > 150 || (now.getTime() - new Date(birthday).getTime()) < 0) { + return '身份证号码出生日期不在有效范围'; + } + // 验证地区码 + const areaCodes = [ + '11', '12', '13', '14', '15', + '21', '22', '23', + '31', '32', '33', '34', '35', '36', '37', + '41', '42', '43', '44', '45', '46', + '50', '51', '52', '53', '54', + '61', '62', '63', '64', '65', + '71', + '81', '82', + '91' + ]; + if (areaCodes.indexOf(ai.substring(0, 2)) === -1) { + return '身份证号码地区编码错误'; + } + // 验证最后一位 + if (value.length === 18) { + const valCode = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; + const wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; + let totalMulAiWi = 0; + for (let i = 0; i < 17; i++) { + totalMulAiWi += parseInt(ai.charAt(i)) * wi[i]; + } + if (value !== (ai + valCode[totalMulAiWi % 11])) { + return '身份证号码最后一位错误'; + } + } + } +} diff --git a/src/layout/header-right.vue b/src/layout/header-right.vue index 51e05c1..cb56597 100644 --- a/src/layout/header-right.vue +++ b/src/layout/header-right.vue @@ -75,7 +75,7 @@ import { FullscreenExitOutlined, // GlobalOutlined } from '@ant-design/icons-vue'; -import {toggleFullscreen, isFullscreen} from 'ele-admin-pro/packages/util.js'; +import {toggleFullscreen, isFullscreen} from '@/components/ele-admin-pro/packages/util.js'; // import EleNotice from './notice'; export default { diff --git a/src/main.js b/src/main.js index baaf4a0..4d4fd11 100644 --- a/src/main.js +++ b/src/main.js @@ -8,8 +8,8 @@ import VueAxios from 'vue-axios'; import './config/axios-config'; import permission from './utils/permission'; import './styles/index.less'; -import EleAdminPro from 'ele-admin-pro'; -import ModalUtil from 'ele-admin-pro/packages/modal-util'; +import EleAdminPro from './components/ele-admin-pro/packages'; +import ModalUtil from '@/components/ele-admin-pro/packages/modal-util'; import i18n from './lang'; import diyDirective from './directive'; diff --git a/src/router/index.js b/src/router/index.js index 3e2f5c3..2680c41 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,7 +5,7 @@ import {createRouter, createWebHistory} from 'vue-router'; import store from '@/store'; import setting from '@/config/setting'; import EleLayout from '@/layout'; -import {menuToRoutes} from 'ele-admin-pro'; +import {menuToRoutes} from '../components/ele-admin-pro/packages'; import NProgress from 'nprogress'; // 静态路由 diff --git a/src/store/modules/theme.js b/src/store/modules/theme.js index 9b10528..15a7709 100644 --- a/src/store/modules/theme.js +++ b/src/store/modules/theme.js @@ -1,7 +1,7 @@ /** * 主题状态管理 */ -import {changeColor} from 'ele-admin-pro/packages/style/util.js'; +import {changeColor} from '@/components/ele-admin-pro/packages/style/util.js'; import setting from '@/config/setting'; // 不需要本地缓存的state const NO_CACHE_STATE = [ diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 93e3a4f..3d86e3f 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -3,7 +3,7 @@ */ import axios from 'axios'; import setting from '@/config/setting'; -import {formatMenus} from 'ele-admin-pro'; +import {formatMenus} from '../../components/ele-admin-pro/packages'; export default { namespaced: true, diff --git a/src/styles/index.less b/src/styles/index.less index 9914a5c..760aeac 100644 --- a/src/styles/index.less +++ b/src/styles/index.less @@ -5,6 +5,6 @@ // 如果不需要切换主题固定为夜间主题使用这个 //@import "~ele-admin-pro/packages/style/dark.less"; // 需要在线切换主题使用这个 -@import "~ele-admin-pro/packages/style/dynamic.less"; +@import "../components/ele-admin-pro/packages/style/dynamic.less"; /* 需要覆盖框架样式变量写最下面, 具体请到文档查看 */ diff --git a/src/views/dashboard/analysis.vue b/src/views/dashboard/analysis.vue index db100a5..a4164e9 100644 --- a/src/views/dashboard/analysis.vue +++ b/src/views/dashboard/analysis.vue @@ -170,8 +170,8 @@