web-component-gallery 0.1.42 → 0.1.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form.umd.js +1 -1
- package/dist/index.umd.js +27 -5
- package/dist/layout.umd.js +1 -1
- package/dist/tree.umd.js +1 -1
- package/lib/form/Search.vue +5 -3
- package/lib/iframe/index.css +1 -0
- package/lib/iframe/index.jsx +3 -1
- package/lib/iframe/index.less +1 -3
- package/lib/layout/Header.jsx +5 -4
- package/lib/layout/components/TopMenu/TopMenu.jsx +10 -6
- package/package.json +1 -1
- package/plugins/lib/form/Search.vue +5 -3
- package/plugins/lib/iframe/index.jsx +3 -1
- package/plugins/lib/iframe/index.less +1 -3
- package/plugins/lib/layout/Header.jsx +5 -4
- package/plugins/lib/layout/components/TopMenu/TopMenu.jsx +10 -6
- package/plugins/utils/Tree.js +9 -8
package/dist/form.umd.js
CHANGED
|
@@ -6934,7 +6934,7 @@ eval("//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareC
|
|
|
6934
6934
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
6935
6935
|
|
|
6936
6936
|
"use strict";
|
|
6937
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_resetFields__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/resetFields */ \"./plugins/lib/form/utils/resetFields.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n Icon:
|
|
6937
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_resetFields__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/resetFields */ \"./plugins/lib/form/utils/resetFields.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/cascader/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n Cascader: ant_design_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n ACascaderMultiple: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ACascaderMultiple.vue */ \"./plugins/lib/form/components/ACascaderMultiple.vue\")),\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n data() {\n return {\n // 是否收起\n advanced: false,\n matchMediaSize: 0\n };\n },\n model: {\n prop: 'value',\n event: 'change'\n },\n props: {\n /* 双向数据绑定Form */\n value: {\n type: Object,\n default: () => ({})\n },\n /* 配置表单项 */\n formSetting: {\n type: Array,\n default: () => []\n },\n /* 一行显示多少项 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n // 紧凑型和宽松型\n // default 宽松型\n // middle 紧凑型\n searchStyle: {\n type: String,\n default: 'default'\n },\n /* 操作显示文字 */\n actionsText: {\n type: Object,\n default: () => ({\n primary: '搜索',\n cancel: '重置'\n })\n },\n /* 是否自动查询(默认为true) */\n autoCall: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n form: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit('change', newValue);\n }\n },\n matchMedia() {\n return {\n '(max-width: 576px)': 1,\n '(min-width: 576px) and (max-width: 992px)': this.layoutSize - 2,\n '(min-width: 992px)': this.layoutSize\n };\n },\n copyFormSetting() {\n return this.formSetting.filter(node => !node.hidden);\n },\n count() {\n return this.advanced ? this.copyFormSetting.length : this.matchMediaSize - 1;\n }\n },\n filters: {\n defaultPlaceholder(is, {\n placeholder\n }) {\n if (placeholder) return placeholder;\n if (is && is.includes('range')) return ['开始时间', '结束时间'];\n return /(select|picker|radio|upload)/.test(is) ? '请选择' : '请输入';\n }\n },\n mounted() {\n this.autoCall && this.handleSearch();\n this.matchMediaSize = this.layoutSize;\n Object.keys(this.matchMedia).forEach(media => window.matchMedia(media).addEventListener('change', this.handleResize));\n },\n methods: {\n handleResize(x) {\n x.matches && (this.matchMediaSize = this.matchMedia[x.media]);\n },\n getFormWidth(e) {\n const gap = {\n middle: '16px',\n default: '24px'\n };\n return `flex: 0 1 calc((${100 / this.matchMediaSize * (e.size ?? 1)}% - ${gap[this.searchStyle]})); margin-right: ${gap[this.searchStyle]};`;\n },\n handleSearch(e) {\n e && e.preventDefault();\n const searchForm = {};\n // 排除掉form当中hidden的隐藏项\n this.copyFormSetting.forEach(node => this.$set(searchForm, node.model, this.form[node.model]));\n this.form = {\n ...searchForm\n };\n this.$emit('handleSearch', searchForm);\n },\n handleReset() {\n // 初步猜测是因这里的清空导致数据双向绑定得不到最新\n this.form = (0,_utils_resetFields__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.form);\n this.$refs.searchForm.clearValidate();\n this.$emit('handleReset');\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Search.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
6938
6938
|
|
|
6939
6939
|
/***/ }),
|
|
6940
6940
|
|
package/dist/index.umd.js
CHANGED
|
@@ -8164,7 +8164,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uti
|
|
|
8164
8164
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8165
8165
|
|
|
8166
8166
|
"use strict";
|
|
8167
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_resetFields__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/resetFields */ \"./plugins/lib/form/utils/resetFields.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n Icon:
|
|
8167
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_resetFields__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/resetFields */ \"./plugins/lib/form/utils/resetFields.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/cascader/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n Cascader: ant_design_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n ACascaderMultiple: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ACascaderMultiple.vue */ \"./plugins/lib/form/components/ACascaderMultiple.vue\")),\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n data() {\n return {\n // 是否收起\n advanced: false,\n matchMediaSize: 0\n };\n },\n model: {\n prop: 'value',\n event: 'change'\n },\n props: {\n /* 双向数据绑定Form */\n value: {\n type: Object,\n default: () => ({})\n },\n /* 配置表单项 */\n formSetting: {\n type: Array,\n default: () => []\n },\n /* 一行显示多少项 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n // 紧凑型和宽松型\n // default 宽松型\n // middle 紧凑型\n searchStyle: {\n type: String,\n default: 'default'\n },\n /* 操作显示文字 */\n actionsText: {\n type: Object,\n default: () => ({\n primary: '搜索',\n cancel: '重置'\n })\n },\n /* 是否自动查询(默认为true) */\n autoCall: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n form: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit('change', newValue);\n }\n },\n matchMedia() {\n return {\n '(max-width: 576px)': 1,\n '(min-width: 576px) and (max-width: 992px)': this.layoutSize - 2,\n '(min-width: 992px)': this.layoutSize\n };\n },\n copyFormSetting() {\n return this.formSetting.filter(node => !node.hidden);\n },\n count() {\n return this.advanced ? this.copyFormSetting.length : this.matchMediaSize - 1;\n }\n },\n filters: {\n defaultPlaceholder(is, {\n placeholder\n }) {\n if (placeholder) return placeholder;\n if (is && is.includes('range')) return ['开始时间', '结束时间'];\n return /(select|picker|radio|upload)/.test(is) ? '请选择' : '请输入';\n }\n },\n mounted() {\n this.autoCall && this.handleSearch();\n this.matchMediaSize = this.layoutSize;\n Object.keys(this.matchMedia).forEach(media => window.matchMedia(media).addEventListener('change', this.handleResize));\n },\n methods: {\n handleResize(x) {\n x.matches && (this.matchMediaSize = this.matchMedia[x.media]);\n },\n getFormWidth(e) {\n const gap = {\n middle: '16px',\n default: '24px'\n };\n return `flex: 0 1 calc((${100 / this.matchMediaSize * (e.size ?? 1)}% - ${gap[this.searchStyle]})); margin-right: ${gap[this.searchStyle]};`;\n },\n handleSearch(e) {\n e && e.preventDefault();\n const searchForm = {};\n // 排除掉form当中hidden的隐藏项\n this.copyFormSetting.forEach(node => this.$set(searchForm, node.model, this.form[node.model]));\n this.form = {\n ...searchForm\n };\n this.$emit('handleSearch', searchForm);\n },\n handleReset() {\n // 初步猜测是因这里的清空导致数据双向绑定得不到最新\n this.form = (0,_utils_resetFields__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.form);\n this.$refs.searchForm.clearValidate();\n this.$emit('handleReset');\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Search.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
8168
8168
|
|
|
8169
8169
|
/***/ }),
|
|
8170
8170
|
|
|
@@ -8582,7 +8582,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8582
8582
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8583
8583
|
|
|
8584
8584
|
"use strict";
|
|
8585
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var
|
|
8585
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modal/index.jsx */ \"./plugins/lib/modal/index.jsx\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/iframe/index.less\");\n\n\n\nconst IframeContainerProps = {\n activeKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].string,\n checkedKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].string.def('name'),\n linkurlKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].string.def('linkUrl'),\n componentsArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].array,\n postMessage: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].object\n};\nconst IframeContainer = {\n name: 'IframeComp',\n props: IframeContainerProps,\n data() {\n return {\n visible: true\n };\n },\n render(h, content) {\n const {\n $props\n } = this;\n const {\n activeKey,\n checkedKey,\n linkurlKey,\n componentsArr\n } = $props;\n let activeIframe;\n const IframeComponents = componentsArr.map(componentItem => {\n const isActive = activeKey === componentItem[checkedKey] && (activeIframe = componentItem);\n return h(\"iframe\", {\n \"attrs\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"src\": componentItem[linkurlKey]\n },\n \"ref\": componentItem[linkurlKey],\n \"key\": componentItem[checkedKey],\n \"style\": {\n border: 'none',\n display: isActive ? 'block' : 'none'\n }\n });\n });\n return activeIframe && activeIframe[linkurlKey].includes('?type=modal') ? h(_modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"attrs\": {\n \"visible\": true,\n \"title\": activeIframe.meta?.title\n }\n }, [IframeComponents]) : h(\"div\", {\n \"class\": \"ant-pro-grid-content-page\"\n }, [IframeComponents]);\n },\n watch: {\n activeKeyAndParams: {\n handler(newVal, oldVal) {\n this.postIframeMessage();\n },\n deep: true\n }\n },\n computed: {\n activeKeyAndParams() {\n const {\n activeKey,\n postMessage\n } = this;\n return {\n activeKey,\n postMessage\n };\n }\n },\n mounted() {\n this.postIframeMessage();\n },\n methods: {\n postIframeMessage() {\n this.$nextTick(() => {\n const {\n componentsArr,\n activeKey,\n checkedKey,\n linkurlKey,\n postMessage\n } = this;\n const refKey = componentsArr.find(componentItem => activeKey === componentItem[checkedKey])[linkurlKey];\n const timer = setTimeout(() => {\n this.iframeWin = this.$refs[refKey].contentWindow;\n this.iframeWin.postMessage({\n type: 'refreshPage',\n params: {\n ...postMessage,\n name: activeKey\n }\n }, '*');\n clearTimeout(timer);\n }, 600);\n });\n }\n }\n};\nIframeContainer.install = function (Vue) {\n Vue.component('IframeComponent', IframeContainer);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (IframeContainer);\n\n//# sourceURL=webpack://mui/./plugins/lib/iframe/index.jsx?");
|
|
8586
8586
|
|
|
8587
8587
|
/***/ }),
|
|
8588
8588
|
|
|
@@ -8604,7 +8604,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8604
8604
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8605
8605
|
|
|
8606
8606
|
"use strict";
|
|
8607
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeaderViewProps: function() { return /* binding */ HeaderViewProps; }\n/* harmony export */ });\n/* harmony import */ var _Header_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Header.less */ \"./plugins/lib/layout/Header.less\");\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/util */ \"./plugins/lib/layout/utils/util.js\");\n/* harmony import */ var _components_RightContent_index_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/RightContent/index.jsx */ \"./plugins/lib/layout/components/RightContent/index.jsx\");\n/* harmony import */ var _dateTime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dateTime */ \"./plugins/lib/dateTime/index.js\");\n/* harmony import */ var _components_TopMenu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/TopMenu */ \"./plugins/lib/layout/components/TopMenu/index.js\");\n/* harmony import */ var _components_TopMenu_TopMenu_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/TopMenu/TopMenu.jsx */ \"./plugins/lib/layout/components/TopMenu/TopMenu.jsx\");\n\n\n\n\n\n\n\nconst HeaderViewProps = {\n ..._components_TopMenu_TopMenu_jsx__WEBPACK_IMPORTED_MODULE_5__.TopMenuProps,\n layout: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].string.def('sidermenu'),\n headerHeight: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].number.def(64),\n headerTitle: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].string.def('项目名称'),\n headerLogoRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].any,\n headerLeftRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].any,\n headerRightRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].any\n};\nconst rightContentRenderFun = (h, props) => {\n const {\n headerRightRender\n } = props;\n if (headerRightRender === false) {\n return null;\n }\n return (0,_utils_util__WEBPACK_IMPORTED_MODULE_1__.isFun)(headerRightRender) && headerRightRender(h) || headerRightRender;\n};\nconst renderContent = (h, props, baseCls, cdProps) => {\n const {\n menus\n } = props;\n const splitIndex = Math.ceil(menus.length / 2);\n if (baseCls.includes('left')) {\n return h(\"div\", {\n \"class\": baseCls\n }, [h(_dateTime__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), h(_components_TopMenu__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n \"props\": {\n ...{\n ...props,\n menus: menus.slice(0, splitIndex)\n }\n }\n })]);\n }\n return h(\"div\", {\n \"class\": baseCls\n }, [h(_components_TopMenu__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n \"props\": {\n ...{\n ...props,\n menus: menus.slice(splitIndex)\n }\n }\n }), rightContentRenderFun(h, cdProps)]);\n};\nconst HeaderView = {\n name: 'HeaderView',\n props: HeaderViewProps,\n render(h) {\n const {\n layout,\n headerTitle,\n headerHeight\n } = this.$props;\n const isTop = layout === 'topmenu';\n const baseCls = `ant-layout-head${isTop ? '-top' : ''}`;\n const {\n headerLogoRender = this.$props.headerLogoRender,\n headerLeftRender = this.$props.headerLeftRender,\n headerRightRender = this.$props.headerRightRender\n } = this.$slots;\n const titleDom = h(\"div\", {\n \"class\": `${baseCls}-title`\n }, [headerLogoRender, h(\"span\", [headerTitle])]);\n const cdProps = {\n headerLeftRender,\n headerRightRender\n };\n return h(\"div\", {\n \"class\": baseCls
|
|
8607
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeaderViewProps: function() { return /* binding */ HeaderViewProps; }\n/* harmony export */ });\n/* harmony import */ var _Header_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Header.less */ \"./plugins/lib/layout/Header.less\");\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/util */ \"./plugins/lib/layout/utils/util.js\");\n/* harmony import */ var _components_RightContent_index_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/RightContent/index.jsx */ \"./plugins/lib/layout/components/RightContent/index.jsx\");\n/* harmony import */ var _dateTime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dateTime */ \"./plugins/lib/dateTime/index.js\");\n/* harmony import */ var _components_TopMenu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/TopMenu */ \"./plugins/lib/layout/components/TopMenu/index.js\");\n/* harmony import */ var _components_TopMenu_TopMenu_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/TopMenu/TopMenu.jsx */ \"./plugins/lib/layout/components/TopMenu/TopMenu.jsx\");\n\n\n\n\n\n\n\nconst HeaderViewProps = {\n ..._components_TopMenu_TopMenu_jsx__WEBPACK_IMPORTED_MODULE_5__.TopMenuProps,\n layout: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].string.def('sidermenu'),\n headerHeight: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].number.def(64),\n headerTitle: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].string.def('项目名称'),\n headerLogoRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].any,\n headerLeftRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].any,\n headerRightRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_6__[\"default\"].any\n};\nconst rightContentRenderFun = (h, props) => {\n const {\n headerRightRender\n } = props;\n if (headerRightRender === false) {\n return null;\n }\n return (0,_utils_util__WEBPACK_IMPORTED_MODULE_1__.isFun)(headerRightRender) && headerRightRender(h) || headerRightRender;\n};\nconst renderContent = (h, props, baseCls, cdProps) => {\n const {\n menus\n } = props;\n const splitIndex = Math.ceil(menus.length / 2);\n if (baseCls.includes('left')) {\n return h(\"div\", {\n \"class\": baseCls\n }, [h(_dateTime__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), h(_components_TopMenu__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n \"props\": {\n ...{\n ...props,\n menus: menus.slice(0, splitIndex)\n }\n }\n })]);\n }\n return h(\"div\", {\n \"class\": baseCls\n }, [h(_components_TopMenu__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n \"props\": {\n ...{\n ...props,\n menus: menus.slice(splitIndex)\n }\n }\n }), rightContentRenderFun(h, cdProps)]);\n};\nconst HeaderView = {\n name: 'HeaderView',\n props: HeaderViewProps,\n render(h) {\n const {\n layout,\n headerTitle,\n headerHeight\n } = this.$props;\n const isTop = layout === 'topmenu';\n const baseCls = `ant-layout-head${isTop ? '-top' : ''}`;\n const {\n headerLogoRender = this.$props.headerLogoRender,\n headerLeftRender = this.$props.headerLeftRender,\n headerRightRender = this.$props.headerRightRender\n } = this.$slots;\n const titleDom = h(\"div\", {\n \"class\": `${baseCls}-title`\n }, [headerLogoRender, h(\"span\", [headerTitle])]);\n const cdProps = {\n headerLeftRender,\n headerRightRender\n };\n\n // style={{\n // height: headerHeight + 'px'\n // }}\n\n return h(\"div\", {\n \"class\": baseCls\n }, [isTop ? h(\"div\", [renderContent(h, this.$props, `${baseCls}-left`), titleDom, renderContent(h, this.$props, `${baseCls}-right`, cdProps)]) : h(\"div\", [titleDom, rightContentRenderFun(h, cdProps)])]);\n }\n};\nHeaderView.install = function (Vue) {\n Vue.component('HeaderLayout', HeaderView);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (HeaderView);\n\n//# sourceURL=webpack://mui/./plugins/lib/layout/Header.jsx?");
|
|
8608
8608
|
|
|
8609
8609
|
/***/ }),
|
|
8610
8610
|
|
|
@@ -8692,7 +8692,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8692
8692
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8693
8693
|
|
|
8694
8694
|
"use strict";
|
|
8695
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopMenuProps: function() { return /* binding */ TopMenuProps; }\n/* harmony export */ });\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/babel-helper-vue-jsx-merge-props */ \"./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js\");\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue/es/menu */ \"./node_modules/ant-design-vue/es/menu/index.js\");\n\n\n\nconst {\n Item: MenuItem,\n SubMenu\n} = ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nconst TopMenuProps = {\n menus: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].array,\n theme: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].string.def('dark'),\n i18nRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].func, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].bool]).def(false)\n};\nconst httpReg = /(http|https|ftp):\\/\\/([\\w.]+\\/?)\\S*/;\nconst renderMenu = (h, item, i18nRender, selectedKeys) => {\n if (item && !item.hidden) {\n const bool = item.children && !item.hideChildrenInMenu;\n return bool ? renderSubMenu(h, item, i18nRender, selectedKeys) : renderMenuItem(h, item, i18nRender);\n }\n return null;\n};\nconst renderSubMenu = (h, item, i18nRender, selectedKeys) => {\n const menuActive = item.children.find(children => selectedKeys.includes(children.path)) ?? item;\n
|
|
8695
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopMenuProps: function() { return /* binding */ TopMenuProps; }\n/* harmony export */ });\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/babel-helper-vue-jsx-merge-props */ \"./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js\");\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue/es/menu */ \"./node_modules/ant-design-vue/es/menu/index.js\");\n\n\n\nconst {\n Item: MenuItem,\n SubMenu\n} = ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nconst TopMenuProps = {\n menus: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].array,\n theme: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].string.def('dark'),\n i18nRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].func, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].bool]).def(false)\n};\nconst httpReg = /(http|https|ftp):\\/\\/([\\w.]+\\/?)\\S*/;\nconst renderMenu = (h, item, i18nRender, selectedKeys) => {\n if (item && !item.hidden) {\n const bool = item.children && !item.hideChildrenInMenu;\n return bool ? renderSubMenu(h, item, i18nRender, selectedKeys) : renderMenuItem(h, item, i18nRender);\n }\n return null;\n};\nconst renderSubMenu = (h, item, i18nRender, selectedKeys) => {\n const menuActive = item.children.find(children => selectedKeys.includes(children.path)) ?? item;\n return h(SubMenu, {\n \"key\": item.path,\n \"attrs\": {\n \"title\": h(\"span\", [renderTitle(h, menuActive.meta.title, i18nRender)])\n }\n }, [!item.hideChildrenInMenu && item.children.map(cd => renderMenu(h, cd, i18nRender, selectedKeys))]);\n};\nconst renderMenuItem = (h, item, i18nRender) => {\n const meta = Object.assign({}, item.meta);\n const target = meta.target || null;\n const hasRemoteUrl = httpReg.test(item.path);\n const CustomTag = target && 'a' || 'router-link';\n const props = {\n to: {\n name: item.name\n }\n };\n const attrs = hasRemoteUrl || target ? {\n href: item.path,\n target: target\n } : {};\n if (item.children && item.hideChildrenInMenu) {\n // 把有子菜单的 并且 父菜单是要隐藏子菜单的\n // 都给子菜单增加一个 hidden 属性\n // 用来给刷新页面时, selectedKeys 做控制用\n item.children.forEach(cd => {\n cd.meta = Object.assign(cd.meta || {}, {\n hidden: true\n });\n });\n }\n return h(MenuItem, {\n \"key\": item.path\n }, [h(CustomTag, {\n \"props\": {\n ...props\n },\n \"attrs\": {\n ...attrs\n }\n }, [renderTitle(h, meta.title, i18nRender)])]);\n};\nconst renderTitle = (h, title, i18nRender) => {\n return h(\"span\", [i18nRender && i18nRender(title) || title]);\n};\nconst TopMenu = {\n name: 'TopMenu',\n props: TopMenuProps,\n data() {\n return {\n openKeys: [],\n selectedKeys: [],\n cachedOpenKeys: [],\n cachedSelectedKeys: []\n };\n },\n render(h) {\n const {\n theme,\n menus,\n i18nRender\n } = this;\n const handleOpenChange = openKeys => {\n this.openKeys = openKeys;\n };\n const dynamicProps = {\n props: {\n mode: 'horizontal',\n theme,\n openKeys: this.openKeys,\n selectedKeys: this.selectedKeys\n },\n on: {\n select: menu => {\n this.$emit('select', menu);\n if (!httpReg.test(menu.key)) {\n this.selectedKeys = menu.selectedKeys;\n }\n },\n openChange: handleOpenChange\n }\n };\n const menuItems = menus.map(item => {\n if (item.hidden) {\n return null;\n }\n return renderMenu(h, item, i18nRender, this.selectedKeys);\n });\n return h(ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{}, dynamicProps]), [menuItems]);\n },\n methods: {\n updateMenu() {\n const routes = this.$route.matched.concat();\n const {\n hidden,\n isTopChild\n } = this.$route.meta;\n if (routes.length >= 3 && !isTopChild) {\n /** 不确定是否能正确适用 */\n this.selectedKeys = [routes[1].path];\n return;\n }\n if (routes.length >= 3 && hidden) {\n routes.pop();\n this.selectedKeys = [routes[routes.length - 1].path];\n } else {\n this.selectedKeys = [routes.pop().path];\n }\n }\n },\n created() {\n this.$watch('$route', () => {\n this.updateMenu();\n });\n },\n mounted() {\n this.updateMenu();\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (TopMenu);\n\n//# sourceURL=webpack://mui/./plugins/lib/layout/components/TopMenu/TopMenu.jsx?");
|
|
8696
8696
|
|
|
8697
8697
|
/***/ }),
|
|
8698
8698
|
|
|
@@ -8901,7 +8901,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8901
8901
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8902
8902
|
|
|
8903
8903
|
"use strict";
|
|
8904
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n
|
|
8904
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Tree.js?");
|
|
8905
8905
|
|
|
8906
8906
|
/***/ }),
|
|
8907
8907
|
|
|
@@ -8938,6 +8938,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
8938
8938
|
|
|
8939
8939
|
/***/ }),
|
|
8940
8940
|
|
|
8941
|
+
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/iframe/index.less":
|
|
8942
|
+
/*!********************************************************************************************************************************************!*\
|
|
8943
|
+
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/iframe/index.less ***!
|
|
8944
|
+
\********************************************************************************************************************************************/
|
|
8945
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
8946
|
+
|
|
8947
|
+
"use strict";
|
|
8948
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ant-pro-grid-content-page {\\n width: 100%;\\n height: 100%;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/iframe/index.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
8949
|
+
|
|
8950
|
+
/***/ }),
|
|
8951
|
+
|
|
8941
8952
|
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/layout/Header.less":
|
|
8942
8953
|
/*!*********************************************************************************************************************************************!*\
|
|
8943
8954
|
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/layout/Header.less ***!
|
|
@@ -9179,6 +9190,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
9179
9190
|
|
|
9180
9191
|
/***/ }),
|
|
9181
9192
|
|
|
9193
|
+
/***/ "./plugins/lib/iframe/index.less":
|
|
9194
|
+
/*!***************************************!*\
|
|
9195
|
+
!*** ./plugins/lib/iframe/index.less ***!
|
|
9196
|
+
\***************************************/
|
|
9197
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9198
|
+
|
|
9199
|
+
"use strict";
|
|
9200
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/getTarget.js */ \"./node_modules/style-loader/dist/runtime/getTarget.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_index_less__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./index.less */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/iframe/index.less\");\n\n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function(style){\n var target = _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default()(\"head\");\n\n if (!target) {\n throw new Error(\n \"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\"\n );\n }\n\n target.appendChild(style);\n };\noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_index_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"], options);\n\n\n\n\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_index_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_index_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_index_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/iframe/index.less?");
|
|
9201
|
+
|
|
9202
|
+
/***/ }),
|
|
9203
|
+
|
|
9182
9204
|
/***/ "./plugins/lib/layout/Header.less":
|
|
9183
9205
|
/*!****************************************!*\
|
|
9184
9206
|
!*** ./plugins/lib/layout/Header.less ***!
|
package/dist/layout.umd.js
CHANGED
|
@@ -3053,7 +3053,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3053
3053
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3054
3054
|
|
|
3055
3055
|
"use strict";
|
|
3056
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopMenuProps: function() { return /* binding */ TopMenuProps; }\n/* harmony export */ });\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/babel-helper-vue-jsx-merge-props */ \"./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js\");\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue/es/menu */ \"./node_modules/ant-design-vue/es/menu/index.js\");\n\n\n\nconst {\n Item: MenuItem,\n SubMenu\n} = ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nconst TopMenuProps = {\n menus: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].array,\n theme: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].string.def('dark'),\n i18nRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].func, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].bool]).def(false)\n};\nconst httpReg = /(http|https|ftp):\\/\\/([\\w.]+\\/?)\\S*/;\nconst renderMenu = (h, item, i18nRender, selectedKeys) => {\n if (item && !item.hidden) {\n const bool = item.children && !item.hideChildrenInMenu;\n return bool ? renderSubMenu(h, item, i18nRender, selectedKeys) : renderMenuItem(h, item, i18nRender);\n }\n return null;\n};\nconst renderSubMenu = (h, item, i18nRender, selectedKeys) => {\n const menuActive = item.children.find(children => selectedKeys.includes(children.path)) ?? item;\n
|
|
3056
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopMenuProps: function() { return /* binding */ TopMenuProps; }\n/* harmony export */ });\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/babel-helper-vue-jsx-merge-props */ \"./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js\");\n/* harmony import */ var _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue/es/menu */ \"./node_modules/ant-design-vue/es/menu/index.js\");\n\n\n\nconst {\n Item: MenuItem,\n SubMenu\n} = ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nconst TopMenuProps = {\n menus: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].array,\n theme: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].string.def('dark'),\n i18nRender: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].func, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_2__[\"default\"].bool]).def(false)\n};\nconst httpReg = /(http|https|ftp):\\/\\/([\\w.]+\\/?)\\S*/;\nconst renderMenu = (h, item, i18nRender, selectedKeys) => {\n if (item && !item.hidden) {\n const bool = item.children && !item.hideChildrenInMenu;\n return bool ? renderSubMenu(h, item, i18nRender, selectedKeys) : renderMenuItem(h, item, i18nRender);\n }\n return null;\n};\nconst renderSubMenu = (h, item, i18nRender, selectedKeys) => {\n const menuActive = item.children.find(children => selectedKeys.includes(children.path)) ?? item;\n return h(SubMenu, {\n \"key\": item.path,\n \"attrs\": {\n \"title\": h(\"span\", [renderTitle(h, menuActive.meta.title, i18nRender)])\n }\n }, [!item.hideChildrenInMenu && item.children.map(cd => renderMenu(h, cd, i18nRender, selectedKeys))]);\n};\nconst renderMenuItem = (h, item, i18nRender) => {\n const meta = Object.assign({}, item.meta);\n const target = meta.target || null;\n const hasRemoteUrl = httpReg.test(item.path);\n const CustomTag = target && 'a' || 'router-link';\n const props = {\n to: {\n name: item.name\n }\n };\n const attrs = hasRemoteUrl || target ? {\n href: item.path,\n target: target\n } : {};\n if (item.children && item.hideChildrenInMenu) {\n // 把有子菜单的 并且 父菜单是要隐藏子菜单的\n // 都给子菜单增加一个 hidden 属性\n // 用来给刷新页面时, selectedKeys 做控制用\n item.children.forEach(cd => {\n cd.meta = Object.assign(cd.meta || {}, {\n hidden: true\n });\n });\n }\n return h(MenuItem, {\n \"key\": item.path\n }, [h(CustomTag, {\n \"props\": {\n ...props\n },\n \"attrs\": {\n ...attrs\n }\n }, [renderTitle(h, meta.title, i18nRender)])]);\n};\nconst renderTitle = (h, title, i18nRender) => {\n return h(\"span\", [i18nRender && i18nRender(title) || title]);\n};\nconst TopMenu = {\n name: 'TopMenu',\n props: TopMenuProps,\n data() {\n return {\n openKeys: [],\n selectedKeys: [],\n cachedOpenKeys: [],\n cachedSelectedKeys: []\n };\n },\n render(h) {\n const {\n theme,\n menus,\n i18nRender\n } = this;\n const handleOpenChange = openKeys => {\n this.openKeys = openKeys;\n };\n const dynamicProps = {\n props: {\n mode: 'horizontal',\n theme,\n openKeys: this.openKeys,\n selectedKeys: this.selectedKeys\n },\n on: {\n select: menu => {\n this.$emit('select', menu);\n if (!httpReg.test(menu.key)) {\n this.selectedKeys = menu.selectedKeys;\n }\n },\n openChange: handleOpenChange\n }\n };\n const menuItems = menus.map(item => {\n if (item.hidden) {\n return null;\n }\n return renderMenu(h, item, i18nRender, this.selectedKeys);\n });\n return h(ant_design_vue_es_menu__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{}, dynamicProps]), [menuItems]);\n },\n methods: {\n updateMenu() {\n const routes = this.$route.matched.concat();\n const {\n hidden,\n isTopChild\n } = this.$route.meta;\n if (routes.length >= 3 && !isTopChild) {\n /** 不确定是否能正确适用 */\n this.selectedKeys = [routes[1].path];\n return;\n }\n if (routes.length >= 3 && hidden) {\n routes.pop();\n this.selectedKeys = [routes[routes.length - 1].path];\n } else {\n this.selectedKeys = [routes.pop().path];\n }\n }\n },\n created() {\n this.$watch('$route', () => {\n this.updateMenu();\n });\n },\n mounted() {\n this.updateMenu();\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (TopMenu);\n\n//# sourceURL=webpack://mui/./plugins/lib/layout/components/TopMenu/TopMenu.jsx?");
|
|
3057
3057
|
|
|
3058
3058
|
/***/ }),
|
|
3059
3059
|
|
package/dist/tree.umd.js
CHANGED
|
@@ -3368,7 +3368,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3368
3368
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3369
3369
|
|
|
3370
3370
|
"use strict";
|
|
3371
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n
|
|
3371
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Tree.js?");
|
|
3372
3372
|
|
|
3373
3373
|
/***/ }),
|
|
3374
3374
|
|
package/lib/form/Search.vue
CHANGED
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
<script>
|
|
38
38
|
|
|
39
39
|
import resetFields from './utils/resetFields'
|
|
40
|
-
import { FormModel, Button, Radio, Input, InputNumber, Checkbox, DatePicker, TimePicker, Icon } from 'ant-design-vue'
|
|
40
|
+
import { FormModel, Button, Radio, Input, InputNumber, Checkbox, DatePicker, TimePicker, Cascader, Icon } from 'ant-design-vue'
|
|
41
41
|
|
|
42
42
|
export default {
|
|
43
43
|
name: 'Search',
|
|
44
44
|
components: {
|
|
45
|
-
FormModel,
|
|
45
|
+
FormModel,
|
|
46
46
|
FormModelItem: FormModel.Item,
|
|
47
47
|
Button,
|
|
48
48
|
Radio,
|
|
@@ -50,8 +50,10 @@ export default {
|
|
|
50
50
|
InputNumber,
|
|
51
51
|
Checkbox,
|
|
52
52
|
DatePicker,
|
|
53
|
-
TimePicker,
|
|
53
|
+
TimePicker,
|
|
54
|
+
Cascader,
|
|
54
55
|
ASelectCustom: () => import('./components/ASelectCustom.vue'),
|
|
56
|
+
ACascaderMultiple: () => import('./components/ACascaderMultiple.vue'),
|
|
55
57
|
Icon
|
|
56
58
|
},
|
|
57
59
|
data() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ant-pro-grid-content-page{width:100%;height:100%}
|
package/lib/iframe/index.jsx
CHANGED
|
@@ -2,6 +2,8 @@ import PropTypes from 'ant-design-vue/es/_util/vue-types'
|
|
|
2
2
|
|
|
3
3
|
import Modal from '../modal/index.jsx'
|
|
4
4
|
|
|
5
|
+
import './index.less'
|
|
6
|
+
|
|
5
7
|
const IframeContainerProps = {
|
|
6
8
|
activeKey: PropTypes.string,
|
|
7
9
|
checkedKey: PropTypes.string.def('name'),
|
|
@@ -43,7 +45,7 @@ const IframeContainer = {
|
|
|
43
45
|
})
|
|
44
46
|
|
|
45
47
|
return (
|
|
46
|
-
activeIframe[linkurlKey].includes('?type=modal') ?
|
|
48
|
+
activeIframe && activeIframe[linkurlKey].includes('?type=modal') ?
|
|
47
49
|
<Modal visible={true} title={activeIframe.meta?.title}>
|
|
48
50
|
{IframeComponents}
|
|
49
51
|
</Modal> :
|
package/lib/iframe/index.less
CHANGED
package/lib/layout/Header.jsx
CHANGED
|
@@ -78,11 +78,12 @@ const HeaderView = {
|
|
|
78
78
|
headerLeftRender,
|
|
79
79
|
headerRightRender
|
|
80
80
|
}
|
|
81
|
+
|
|
82
|
+
// style={{
|
|
83
|
+
// height: headerHeight + 'px'
|
|
84
|
+
// }}
|
|
81
85
|
|
|
82
|
-
return <div class={baseCls}
|
|
83
|
-
style={{
|
|
84
|
-
height: headerHeight + 'px'
|
|
85
|
-
}}>
|
|
86
|
+
return <div class={baseCls}>
|
|
86
87
|
{
|
|
87
88
|
isTop ? (
|
|
88
89
|
<div>
|
|
@@ -21,11 +21,10 @@ const renderMenu = (h, item, i18nRender, selectedKeys) => {
|
|
|
21
21
|
return bool ? renderSubMenu(h, item, i18nRender, selectedKeys) : renderMenuItem(h, item, i18nRender)
|
|
22
22
|
}
|
|
23
23
|
return null
|
|
24
|
-
}
|
|
24
|
+
}
|
|
25
25
|
|
|
26
26
|
const renderSubMenu = (h, item, i18nRender, selectedKeys) => {
|
|
27
27
|
const menuActive = item.children.find(children => selectedKeys.includes(children.path) ) ?? item
|
|
28
|
-
console.log(selectedKeys)
|
|
29
28
|
return (
|
|
30
29
|
<SubMenu key={item.path} title={(
|
|
31
30
|
<span>{renderTitle(h, menuActive.meta.title, i18nRender)}</span>
|
|
@@ -38,7 +37,7 @@ const renderSubMenu = (h, item, i18nRender, selectedKeys) => {
|
|
|
38
37
|
const renderMenuItem = (h, item, i18nRender) => {
|
|
39
38
|
const meta = Object.assign({}, item.meta)
|
|
40
39
|
const target = meta.target || null
|
|
41
|
-
const hasRemoteUrl = httpReg.test(item.path)
|
|
40
|
+
const hasRemoteUrl = httpReg.test(item.path)
|
|
42
41
|
const CustomTag = target && 'a' || 'router-link'
|
|
43
42
|
const props = { to: { name: item.name } }
|
|
44
43
|
const attrs = (hasRemoteUrl || target) ? { href: item.path, target: target } : {}
|
|
@@ -107,12 +106,17 @@ const TopMenu = {
|
|
|
107
106
|
})
|
|
108
107
|
return <Menu {...dynamicProps}>{menuItems}</Menu>
|
|
109
108
|
},
|
|
110
|
-
methods: {
|
|
109
|
+
methods: {
|
|
111
110
|
updateMenu () {
|
|
112
111
|
const routes = this.$route.matched.concat()
|
|
113
|
-
const { hidden } = this.$route.meta
|
|
112
|
+
const { hidden, isTopChild } = this.$route.meta
|
|
113
|
+
if (routes.length >= 3 && !isTopChild) {
|
|
114
|
+
/** 不确定是否能正确适用 */
|
|
115
|
+
this.selectedKeys = [routes[1].path]
|
|
116
|
+
return
|
|
117
|
+
}
|
|
114
118
|
if (routes.length >= 3 && hidden) {
|
|
115
|
-
routes.pop()
|
|
119
|
+
routes.pop()
|
|
116
120
|
this.selectedKeys = [routes[routes.length - 1].path]
|
|
117
121
|
} else {
|
|
118
122
|
this.selectedKeys = [routes.pop().path]
|
package/package.json
CHANGED
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
<script>
|
|
38
38
|
|
|
39
39
|
import resetFields from './utils/resetFields'
|
|
40
|
-
import { FormModel, Button, Radio, Input, InputNumber, Checkbox, DatePicker, TimePicker, Icon } from 'ant-design-vue'
|
|
40
|
+
import { FormModel, Button, Radio, Input, InputNumber, Checkbox, DatePicker, TimePicker, Cascader, Icon } from 'ant-design-vue'
|
|
41
41
|
|
|
42
42
|
export default {
|
|
43
43
|
name: 'Search',
|
|
44
44
|
components: {
|
|
45
|
-
FormModel,
|
|
45
|
+
FormModel,
|
|
46
46
|
FormModelItem: FormModel.Item,
|
|
47
47
|
Button,
|
|
48
48
|
Radio,
|
|
@@ -50,8 +50,10 @@ export default {
|
|
|
50
50
|
InputNumber,
|
|
51
51
|
Checkbox,
|
|
52
52
|
DatePicker,
|
|
53
|
-
TimePicker,
|
|
53
|
+
TimePicker,
|
|
54
|
+
Cascader,
|
|
54
55
|
ASelectCustom: () => import('./components/ASelectCustom.vue'),
|
|
56
|
+
ACascaderMultiple: () => import('./components/ACascaderMultiple.vue'),
|
|
55
57
|
Icon
|
|
56
58
|
},
|
|
57
59
|
data() {
|
|
@@ -2,6 +2,8 @@ import PropTypes from 'ant-design-vue/es/_util/vue-types'
|
|
|
2
2
|
|
|
3
3
|
import Modal from '../modal/index.jsx'
|
|
4
4
|
|
|
5
|
+
import './index.less'
|
|
6
|
+
|
|
5
7
|
const IframeContainerProps = {
|
|
6
8
|
activeKey: PropTypes.string,
|
|
7
9
|
checkedKey: PropTypes.string.def('name'),
|
|
@@ -43,7 +45,7 @@ const IframeContainer = {
|
|
|
43
45
|
})
|
|
44
46
|
|
|
45
47
|
return (
|
|
46
|
-
activeIframe[linkurlKey].includes('?type=modal') ?
|
|
48
|
+
activeIframe && activeIframe[linkurlKey].includes('?type=modal') ?
|
|
47
49
|
<Modal visible={true} title={activeIframe.meta?.title}>
|
|
48
50
|
{IframeComponents}
|
|
49
51
|
</Modal> :
|
|
@@ -78,11 +78,12 @@ const HeaderView = {
|
|
|
78
78
|
headerLeftRender,
|
|
79
79
|
headerRightRender
|
|
80
80
|
}
|
|
81
|
+
|
|
82
|
+
// style={{
|
|
83
|
+
// height: headerHeight + 'px'
|
|
84
|
+
// }}
|
|
81
85
|
|
|
82
|
-
return <div class={baseCls}
|
|
83
|
-
style={{
|
|
84
|
-
height: headerHeight + 'px'
|
|
85
|
-
}}>
|
|
86
|
+
return <div class={baseCls}>
|
|
86
87
|
{
|
|
87
88
|
isTop ? (
|
|
88
89
|
<div>
|
|
@@ -21,11 +21,10 @@ const renderMenu = (h, item, i18nRender, selectedKeys) => {
|
|
|
21
21
|
return bool ? renderSubMenu(h, item, i18nRender, selectedKeys) : renderMenuItem(h, item, i18nRender)
|
|
22
22
|
}
|
|
23
23
|
return null
|
|
24
|
-
}
|
|
24
|
+
}
|
|
25
25
|
|
|
26
26
|
const renderSubMenu = (h, item, i18nRender, selectedKeys) => {
|
|
27
27
|
const menuActive = item.children.find(children => selectedKeys.includes(children.path) ) ?? item
|
|
28
|
-
console.log(selectedKeys)
|
|
29
28
|
return (
|
|
30
29
|
<SubMenu key={item.path} title={(
|
|
31
30
|
<span>{renderTitle(h, menuActive.meta.title, i18nRender)}</span>
|
|
@@ -38,7 +37,7 @@ const renderSubMenu = (h, item, i18nRender, selectedKeys) => {
|
|
|
38
37
|
const renderMenuItem = (h, item, i18nRender) => {
|
|
39
38
|
const meta = Object.assign({}, item.meta)
|
|
40
39
|
const target = meta.target || null
|
|
41
|
-
const hasRemoteUrl = httpReg.test(item.path)
|
|
40
|
+
const hasRemoteUrl = httpReg.test(item.path)
|
|
42
41
|
const CustomTag = target && 'a' || 'router-link'
|
|
43
42
|
const props = { to: { name: item.name } }
|
|
44
43
|
const attrs = (hasRemoteUrl || target) ? { href: item.path, target: target } : {}
|
|
@@ -107,12 +106,17 @@ const TopMenu = {
|
|
|
107
106
|
})
|
|
108
107
|
return <Menu {...dynamicProps}>{menuItems}</Menu>
|
|
109
108
|
},
|
|
110
|
-
methods: {
|
|
109
|
+
methods: {
|
|
111
110
|
updateMenu () {
|
|
112
111
|
const routes = this.$route.matched.concat()
|
|
113
|
-
const { hidden } = this.$route.meta
|
|
112
|
+
const { hidden, isTopChild } = this.$route.meta
|
|
113
|
+
if (routes.length >= 3 && !isTopChild) {
|
|
114
|
+
/** 不确定是否能正确适用 */
|
|
115
|
+
this.selectedKeys = [routes[1].path]
|
|
116
|
+
return
|
|
117
|
+
}
|
|
114
118
|
if (routes.length >= 3 && hidden) {
|
|
115
|
-
routes.pop()
|
|
119
|
+
routes.pop()
|
|
116
120
|
this.selectedKeys = [routes[routes.length - 1].path]
|
|
117
121
|
} else {
|
|
118
122
|
this.selectedKeys = [routes.pop().path]
|
package/plugins/utils/Tree.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
+
* 获取树形结构所有key
|
|
4
5
|
* @param nodes 数组对象
|
|
5
6
|
* @param parent 是否只获取父一层的属性
|
|
6
7
|
* @param replaceFields 自定义属性进行查询
|
|
7
|
-
* @description 递归获取需要的数据
|
|
8
8
|
*/
|
|
9
9
|
export function getTreeKey(nodes, parent = false, replaceFields = { children: 'children', key: 'id', title: 'title' }) {
|
|
10
10
|
|
|
@@ -27,7 +27,7 @@ export function getTreeKey(nodes, parent = false, replaceFields = { children: 'c
|
|
|
27
27
|
|
|
28
28
|
return filterNodes
|
|
29
29
|
|
|
30
|
-
}
|
|
30
|
+
}
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
@@ -66,11 +66,11 @@ export function findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
+
* 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone
|
|
69
70
|
* @param nodes 数组对象
|
|
70
71
|
* @param fileds 哪些字段需要拼接
|
|
71
72
|
* @param replaceField 拼接后赋值字段
|
|
72
73
|
* @param childNode 子级结点
|
|
73
|
-
* @description 递归获取需要的数据
|
|
74
74
|
*/
|
|
75
75
|
export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
76
76
|
|
|
@@ -98,20 +98,21 @@ export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
/**
|
|
101
|
+
* 根据某个属性查找出整个树结构中匹配相同的数据
|
|
101
102
|
* @param tree 数组对象
|
|
102
|
-
* @param
|
|
103
|
-
* @param replaceFields
|
|
103
|
+
* @param key 需要查找的属性
|
|
104
|
+
* @param replaceFields 树结构对应子级及查找key的属性
|
|
104
105
|
* {
|
|
105
106
|
children: 'children', // 查找子级字段
|
|
106
107
|
key: 'id' // key的字段
|
|
107
108
|
}
|
|
108
109
|
*/
|
|
109
|
-
export function filterTreeById(tree,
|
|
110
|
+
export function filterTreeById(tree, key, replaceFields = { children: 'children', key: 'id' }) {
|
|
110
111
|
return tree.reduce((acc, node) => {
|
|
111
|
-
if (node[replaceFields.key] ===
|
|
112
|
+
if (node[replaceFields.key] === key) {
|
|
112
113
|
return [...acc, node]
|
|
113
114
|
} else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {
|
|
114
|
-
const filteredChildren = filterTreeById(node[replaceFields.children],
|
|
115
|
+
const filteredChildren = filterTreeById(node[replaceFields.children], key)
|
|
115
116
|
if (filteredChildren.length > 0) return filteredChildren
|
|
116
117
|
}
|
|
117
118
|
return acc
|