web-component-gallery 1.1.41 → 1.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/amap.umd.js CHANGED
@@ -8613,7 +8613,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var mome
8613
8613
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8614
8614
 
8615
8615
  "use strict";
8616
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/select/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/pagination/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'TAntdSelect',\n components: {\n VNodes: {\n functional: true,\n render: (h, ctx) => ctx.props.vnodes\n },\n Select: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n SelectOption: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Option,\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Pagination: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Number, Array, Boolean, Object],\n default: undefined\n },\n // 多选 'multiple'\n mode: {\n type: String\n },\n // 是否支持输入\n isInput: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: '请选择'\n },\n // 选择框宽度\n width: {\n type: String\n },\n // 是否自定义设置下拉label\n customLabel: {\n type: String\n },\n // 传入的option数组中,要作为最终选择项的键值key\n valueKey: {\n type: String,\n default: 'value'\n },\n // 传入的option数组中,要作为显示项的键值名称\n labelKey: {\n type: String,\n default: 'label'\n },\n // 下拉框组件数据源\n options: {\n type: Array\n },\n // 是否显示分页\n isShowPagination: {\n type: Boolean,\n default: false\n },\n // 分页配置项\n paginationOption: {\n type: Object,\n default: () => {\n return {\n pageSize: 6,\n // 每页显示条数\n current: 1,\n // 当前页\n total: 0 // 总条数\n };\n }\n }\n },\n data() {\n return {\n selectOpen: false\n };\n },\n computed: {\n childSelectedValue: {\n get() {\n return this.value;\n },\n set(val) {\n this.$emit('input', val);\n }\n },\n attrs() {\n return {\n allowClear: true,\n showSearch: true,\n ...this.$attrs\n };\n },\n selectChecked: {\n get() {\n return this.childSelectedValue?.length === this.options?.length;\n },\n set(val) {\n this.$emit('input', val);\n }\n }\n },\n mounted() {\n document.addEventListener('click', this.bodyCloseMenus);\n },\n beforeDestroy() {\n document.removeEventListener('click', this.bodyCloseMenus);\n },\n methods: {\n filterOption(input, option) {\n this.isInput && (this.childSelectedValue = input);\n return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n },\n // 点击空白区域\n bodyCloseMenus(e) {\n if (this.$refs.main && !this.$refs.main.contains(e.target)) {\n if (this.selectOpen == true) {\n this.selectOpen = false;\n }\n }\n },\n // 点击全选\n selectAll(val) {\n const options = JSON.parse(JSON.stringify(this.options));\n if (val.target.checked) {\n const childSelectedValue = options?.map(item => {\n return item[this.valueKey];\n });\n setTimeout(() => {\n this.$emit('input', childSelectedValue);\n }, 0);\n } else {\n this.$emit('input', null);\n }\n this.selectOpen = false;\n },\n handleSelect(value, option) {\n if (value) {\n this.selectOpen = false;\n }\n const options = this.options.find(e => e[this.valueKey] == value);\n this.$emit('select', value, options);\n },\n // 切换分页\n currentChange(val) {\n // console.log('切换分页', val)\n if (!this.mode) {\n this.childSelectedValue = null;\n }\n setTimeout(() => {\n this.selectOpen = true;\n }, 0);\n this.$emit('current-change', val);\n },\n // 自定义label显示\n customLabelHandler(item) {\n // eslint-disable-next-line no-eval\n return eval(this.customLabel);\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/ASelectCustom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8616
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/select/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/pagination/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'TAntdSelect',\n components: {\n VNodes: {\n functional: true,\n render: (h, ctx) => ctx.props.vnodes\n },\n Select: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n SelectOption: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Option,\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Pagination: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Number, Array, Boolean, Object],\n default: undefined\n },\n // 多选 'multiple'\n mode: {\n type: String\n },\n // 是否支持输入\n isInput: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: '请选择'\n },\n // 选择框宽度\n width: {\n type: String\n },\n // 是否自定义设置下拉label\n customLabel: {\n type: String\n },\n // 传入的option数组中,要作为最终选择项的键值key\n valueKey: {\n type: String,\n default: 'value'\n },\n // 传入的option数组中,要作为显示项的键值名称\n labelKey: {\n type: String,\n default: 'label'\n },\n // 下拉框组件数据源\n options: {\n type: Array\n },\n // 是否显示分页\n isShowPagination: {\n type: Boolean,\n default: false\n },\n // 分页配置项\n paginationOption: {\n type: Object,\n default: () => {\n return {\n pageSize: 6,\n // 每页显示条数\n current: 1,\n // 当前页\n total: 0 // 总条数\n };\n }\n }\n },\n data() {\n return {\n selectOpen: false\n };\n },\n computed: {\n childSelectedValue: {\n get() {\n return this.value;\n },\n set(val) {\n this.$emit('input', val);\n }\n },\n attrs() {\n return {\n allowClear: true,\n showSearch: true,\n ...this.$attrs\n };\n },\n selectChecked: {\n get() {\n return this.childSelectedValue?.length === this.options?.length;\n },\n set(val) {\n this.$emit('input', val);\n }\n }\n },\n mounted() {\n document.addEventListener('click', this.bodyCloseMenus);\n },\n beforeDestroy() {\n document.removeEventListener('click', this.bodyCloseMenus);\n },\n methods: {\n filterOption(input, option) {\n this.isInput && (this.childSelectedValue = input);\n return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n },\n // 点击空白区域\n bodyCloseMenus(e) {\n if (this.$refs.main && !this.$refs.main.contains(e.target)) {\n if (this.selectOpen == true) {\n this.selectOpen = false;\n }\n }\n },\n // 点击全选\n selectAll(val) {\n const options = JSON.parse(JSON.stringify(this.options));\n if (val.target.checked) {\n const childSelectedValue = options?.map(item => {\n return item[this.valueKey];\n });\n setTimeout(() => {\n this.$emit('input', childSelectedValue);\n }, 0);\n } else {\n this.$emit('input', null);\n }\n this.selectOpen = false;\n },\n handleSelect(value, option) {\n if (value) {\n this.selectOpen = false;\n }\n const options = this.options.find(e => e[this.valueKey] == value);\n options[this.valueKey] && this.$emit('select', value, options);\n },\n // 切换分页\n currentChange(val) {\n // console.log('切换分页', val)\n if (!this.mode) {\n this.childSelectedValue = null;\n }\n setTimeout(() => {\n this.selectOpen = true;\n }, 0);\n this.$emit('current-change', val);\n },\n // 自定义label显示\n customLabelHandler(item) {\n // eslint-disable-next-line no-eval\n return eval(this.customLabel);\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/ASelectCustom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8617
8617
 
8618
8618
  /***/ }),
8619
8619
 
@@ -8646,7 +8646,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
8646
8646
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8647
8647
 
8648
8648
  "use strict";
8649
- eval("__webpack_require__.r(__webpack_exports__);\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/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders,\n ...this.$attrs\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('Brower', {\n data: url\n }, {\n title: '预览文件',\n width: 1104,\n height: 848,\n centered: true,\n maskClosable: false,\n footer: false,\n bodyStyle: {\n height: 'calc( 100% - 54px )'\n }\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8649
+ eval("__webpack_require__.r(__webpack_exports__);\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/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/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/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n listType: 'picture-card',\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders,\n ...this.$attrs\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('Brower', {\n data: url\n }, {\n title: '预览文件',\n width: 1104,\n height: 848,\n centered: true,\n maskClosable: false,\n footer: false,\n bodyStyle: {\n height: 'calc( 100% - 54px )'\n }\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8650
8650
 
8651
8651
  /***/ }),
8652
8652
 
@@ -8877,7 +8877,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8877
8877
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8878
8878
 
8879
8879
  "use strict";
8880
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"TAntdUpload\"\n }, [_c(\"Upload\", _vm._b({\n attrs: {\n name: \"file\",\n \"file-list\": _vm.fileList,\n \"list-type\": \"picture-card\",\n accept: _vm.fileAccept\n },\n on: {\n change: _vm.handleFileChange,\n preview: _vm.handleFilePreview,\n reject: function ($event) {\n return _vm.$message.error(`上传文件类型只能为${_vm.fileAccept}`);\n }\n }\n }, \"Upload\", _vm.uploadAttrs, false), [!_vm.fileList || _vm.fileList.length < _vm.uploadLen ? _c(\"div\", [_c(\"Icon\", {\n staticStyle: {\n fontsize: \"36px\"\n },\n attrs: {\n type: \"plus\"\n }\n })], 1) : _vm._e()]), _vm._v(\" \"), _vm.tips ? _c(\"span\", {\n staticClass: \"tips\"\n }, [_vm._v(_vm._s(_vm.tips))]) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8880
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"TAntdUpload\"\n }, [_c(\"Upload\", _vm._b({\n attrs: {\n name: \"file\",\n \"file-list\": _vm.fileList,\n accept: _vm.fileAccept\n },\n on: {\n change: _vm.handleFileChange,\n preview: _vm.handleFilePreview,\n reject: function ($event) {\n return _vm.$message.error(`上传文件类型只能为${_vm.fileAccept}`);\n }\n }\n }, \"Upload\", _vm.uploadAttrs, false), [_vm.uploadAttrs.listType === \"text\" ? _c(\"Button\", {\n attrs: {\n type: \"primary\"\n }\n }, [_c(\"Icon\", {\n attrs: {\n type: \"upload\"\n }\n }), _vm._v(\"上传\\n \")], 1) : [!_vm.fileList || _vm.fileList.length < _vm.uploadLen ? _c(\"Icon\", {\n staticStyle: {\n fontsize: \"36px\"\n },\n attrs: {\n type: \"plus\"\n }\n }) : _vm._e()]], 2), _vm._v(\" \"), _vm.tips ? _c(\"span\", {\n staticClass: \"tips\"\n }, [_vm._v(_vm._s(_vm.tips))]) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8881
8881
 
8882
8882
  /***/ }),
8883
8883
 
@@ -9108,7 +9108,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
9108
9108
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9109
9109
 
9110
9110
  "use strict";
9111
- eval("__webpack_require__.r(__webpack_exports__);\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__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _utils_render__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/render */ \"./plugins/lib/form/utils/render.js\");\n/* harmony import */ var _style_Model_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Model.less */ \"./plugins/lib/form/style/Model.less\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Model',\n model: {\n prop: 'value',\n event: 'Change:Model'\n },\n data() {\n return {\n formRules: {}\n };\n },\n props: {\n value: {\n type: Object,\n default: () => ({})\n },\n /* Form布局方式 */\n layout: {\n type: String,\n default: 'vertical'\n },\n /* 一行显示几个 PS:最多5个 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n /* 表单项配置 */\n formSetting: Array\n },\n computed: {\n form: {\n get() {\n /** 校验单独赋值延迟的字段 */\n for (const k in this.value) {\n Object.hasOwnProperty.call(this.formRules, k) && this.$refs.FormModel?.validateField(k);\n }\n return this.value;\n },\n set(value) {\n this.$emit('Change:Model', value);\n }\n },\n formAttrs() {\n let attr = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n },\n ...this.$attrs\n };\n this.layout === 'vertical' && (delete attr.labelCol, delete attr.wrapperCol);\n return attr;\n },\n filterSetting() {\n return this.formSetting.filter(settingItem => !settingItem.hidden);\n }\n },\n watch: {\n filterSetting: {\n handler(newVal, oldVal) {\n newVal.forEach(node => this.$set(this.formRules, node.model, _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, node)));\n },\n immediate: true\n }\n },\n mounted() {\n this.$emit('update:refForm', this.$refs.FormModel);\n },\n methods: {\n /** 包含单表单项,多表单项,动态增减表单项合并处理 */\n setModelRender(props) {\n const h = this.$createElement;\n const dynamicModel = this.form[props.model];\n return (\n /** \r\n * multiple为动态多项\r\n * multipleConfig为配置的动态项数据 */\n h(\"div\", {\n \"class\": props.multiple && ['MultipleForm'],\n \"attrs\": {\n ...{\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, props, this.layoutSize)\n }\n }\n }, [this.$scopedSlots[`${props.model}Tips`] && this.$scopedSlots[`${props.model}Tips`](props), /** 处理动态增减表单 */\n dynamicModel instanceof Array && props.multiple ? dynamicModel.map((modelItem, index) => props.multipleConfig.map((configItem, key) => {\n /** 为动态项时重新定义绑定key、prop等来进行检验 */\n /** 目前还有一个动态项layoutSize排版问题 */\n const childAttrs = {\n key: index,\n prop: `${props.model}.${index}.${configItem.model}`,\n label: configItem.label,\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, configItem, this.layoutSize ?? props.layoutSize),\n rules: _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, configItem, modelItem),\n parentModel: props.model\n };\n return _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, modelItem, configItem, childAttrs);\n })) : _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, this.form, props), this.$scopedSlots[`${props.model}Operate`] && this.$scopedSlots[`${props.model}Operate`](props)])\n );\n },\n /** 提交测验 */\n formSubmit() {\n return new Promise((resolve, reject) => {\n this.$refs.FormModel.validate().then(resolve).catch(err => this.$nextTick(() => {\n const errorDiv = document.getElementsByClassName('has-error');\n errorDiv[0].scrollIntoView({\n behavior: \"smooth\",\n block: \"center\"\n });\n }));\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n layout,\n formAttrs,\n setModelRender\n } = this;\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{\n \"ref\": \"FormModel\",\n \"class\": \"FormModel\"\n }, {\n \"props\": {\n model: this.form,\n rules: this.formRules,\n layout,\n ...formAttrs\n }\n }]), [this.$slots.default ?? this.filterSetting.map(props => setModelRender(props))]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Model.js?");
9111
+ eval("__webpack_require__.r(__webpack_exports__);\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__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _utils_render__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/render */ \"./plugins/lib/form/utils/render.js\");\n/* harmony import */ var _style_Model_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Model.less */ \"./plugins/lib/form/style/Model.less\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Model',\n model: {\n prop: 'value',\n event: 'Change:Model'\n },\n data() {\n return {\n formRules: {}\n };\n },\n props: {\n value: {\n type: Object,\n default: () => ({})\n },\n /* Form布局方式 */\n layout: {\n type: String,\n default: 'vertical'\n },\n /* 一行显示几个 PS:最多5个 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n /* 表单项配置 */\n formSetting: Array\n },\n computed: {\n form: {\n get() {\n /** 校验单独赋值延迟的字段 */\n for (const k in this.value) {\n Object.hasOwnProperty.call(this.formRules, k) && this.$refs.FormModel?.validateField(k);\n }\n return this.value;\n },\n set(value) {\n this.$emit('Change:Model', value);\n }\n },\n formAttrs() {\n let attr = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n },\n ...this.$attrs\n };\n this.layout === 'vertical' && (delete attr.labelCol, delete attr.wrapperCol);\n return attr;\n },\n filterSetting() {\n return this.formSetting.filter(settingItem => !settingItem.hidden);\n }\n },\n watch: {\n filterSetting: {\n handler(newVal, oldVal) {\n newVal.forEach(node => this.$set(this.formRules, node.model, _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, node)));\n },\n immediate: true\n }\n },\n mounted() {\n this.$emit('update:refForm', this.$refs.FormModel);\n },\n methods: {\n /** 包含单表单项,多表单项,动态增减表单项合并处理 */\n setModelRender(props) {\n const h = this.$createElement;\n const dynamicModel = this.form[props.model];\n return (\n /** \r\n * multiple为动态多项\r\n * multipleConfig为配置的动态项数据 */\n h(\"div\", {\n \"class\": props.multiple && ['MultipleForm'],\n \"attrs\": {\n ...{\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, props, this.layoutSize)\n }\n }\n }, [this.$scopedSlots[`${props.model}Tips`] && this.$scopedSlots[`${props.model}Tips`](props), /** 处理动态增减表单 */\n dynamicModel instanceof Array && props.multiple ? dynamicModel.map((modelItem, index) => props.multipleConfig.map((configItem, key) => {\n /** 为动态项时重新定义绑定key、prop等来进行检验 */\n /** 目前还有一个动态项layoutSize排版问题 */\n const childAttrs = {\n key: index,\n prop: `${props.model}.${index}.${configItem.model}`,\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, configItem, this.layoutSize ?? props.layoutSize),\n rules: _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, configItem, props),\n parentModel: props.model\n };\n return _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, modelItem, configItem, childAttrs);\n })) : _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, this.form, props), this.$scopedSlots[`${props.model}Operate`] && this.$scopedSlots[`${props.model}Operate`](props)])\n );\n },\n /** 提交测验 */\n formSubmit() {\n return new Promise((resolve, reject) => {\n this.$refs.FormModel.validate().then(resolve).catch(err => this.$nextTick(() => {\n const errorDiv = document.getElementsByClassName('has-error');\n errorDiv[0].scrollIntoView({\n behavior: \"smooth\",\n block: \"center\"\n });\n }));\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n layout,\n formAttrs,\n setModelRender\n } = this;\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{\n \"ref\": \"FormModel\",\n \"class\": \"FormModel\"\n }, {\n \"props\": {\n model: this.form,\n rules: this.formRules,\n layout,\n ...formAttrs\n }\n }]), [this.$slots.default ?? this.filterSetting.map(props => setModelRender(props))]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Model.js?");
9112
9112
 
9113
9113
  /***/ }),
9114
9114
 
@@ -9130,7 +9130,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
9130
9130
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9131
9131
 
9132
9132
  "use strict";
9133
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFormWidth: function() { return /* binding */ getFormWidth; },\n/* harmony export */ setFormItem: function() { return /* binding */ setFormItem; },\n/* harmony export */ setFormItemRule: function() { return /* binding */ setFormItemRule; }\n/* harmony export */ });\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 _components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/RenderComp.vue */ \"./plugins/lib/form/components/RenderComp.vue\");\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item;\n\n/** 根据layoutSize来进行距离及大小切分 */\nfunction getFormWidth(child, layoutSize) {\n if (this.layout === 'vertical') return `flex: 0 1 calc((${100 / layoutSize * (child.size ?? 1)}% - 24px));margin-right:24px;`;\n return `flex: 0 1 ${100 / layoutSize * (child.size ?? 1)}%;`;\n}\n\n/** 动态设置单个表单项规则 (同时解决处理动态增减表单项操作 */\nfunction setFormItemRule(node, nodeParent = {}) {\n const required = node.required ?? nodeParent.required ?? this.formAttrs.required ?? true;\n\n /** node.placeholder与组件内的提示文字位置不对等 */\n const message = node.attrs?.placeholder || (/(select|picker|radio|upload)/.test((node.is ?? 'Input').toLowerCase()) ? '请选择' : '请输入') + (node.label || '');\n const rules = [{\n required,\n message,\n trigger: ['change', 'blur']\n }].concat((node.rules || []).filter(i => {\n i.pattern && (i.pattern = new RegExp(i.pattern));\n return i;\n }));\n return rules;\n}\n\n/** 动态渲染表单项 */\nfunction setFormItem(h, vModel, child, childAttrs) {\n const {\n layout,\n layoutSize,\n $scopedSlots\n } = this;\n let formItemAttrs = childAttrs ?? {\n key: child.model,\n prop: child.model,\n label: child.label,\n colon: !(layout == 'inline')\n };\n const slotsName = (childAttrs?.parentModel ?? '') + child.model;\n return h(FormModelItem, {\n \"class\": [{\n FormLineVertical: child.size === layoutSize && layout === 'vertical'\n }, {\n FormLine: child.size === layoutSize\n }],\n \"attrs\": {\n ...formItemAttrs\n }\n }, [$scopedSlots[child.model] ? $scopedSlots[child.model](child) : h(_components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"attrs\": {\n \"component\": child.is,\n ...child.attrs\n },\n \"on\": {\n ...child.event\n },\n \"model\": {\n value: vModel[child.model],\n callback: $$v => {\n this.$set(vModel, child.model, $$v);\n }\n }\n }), $scopedSlots[`${slotsName}Handle`] && $scopedSlots[`${slotsName}Handle`](formItemAttrs)]);\n}\n\n//# sourceURL=webpack://mui/./plugins/lib/form/utils/render.js?");
9133
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFormWidth: function() { return /* binding */ getFormWidth; },\n/* harmony export */ setFormItem: function() { return /* binding */ setFormItem; },\n/* harmony export */ setFormItemRule: function() { return /* binding */ setFormItemRule; }\n/* harmony export */ });\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 _components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/RenderComp.vue */ \"./plugins/lib/form/components/RenderComp.vue\");\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item;\n\n/** 根据layoutSize来进行距离及大小切分 */\nfunction getFormWidth(child, layoutSize) {\n if (this.layout === 'vertical') return `flex: 0 1 calc((${100 / layoutSize * (child.size ?? 1)}% - 24px));margin-right:24px;`;\n return `flex: 0 1 ${100 / layoutSize * (child.size ?? 1)}%;`;\n}\n\n/** 动态设置单个表单项规则 (同时解决处理动态增减表单项操作 */\nfunction setFormItemRule(node, nodeParent = {}) {\n const required = node.required ?? nodeParent.required ?? this.formAttrs.required ?? true;\n\n /** node.placeholder与组件内的提示文字位置不对等 */\n const message = node.attrs?.placeholder || (/(select|picker|radio|upload)/.test((node.is ?? 'Input').toLowerCase()) ? '请选择' : '请输入') + (node.label || '');\n const rules = [{\n required,\n message,\n trigger: ['change', 'blur']\n }].concat((node.rules || []).filter(i => {\n i.pattern && (i.pattern = new RegExp(i.pattern));\n return i;\n }));\n return rules;\n}\n\n/** 动态渲染表单项 */\nfunction setFormItem(h, vModel, child, childAttrs) {\n const {\n layout,\n layoutSize,\n $scopedSlots\n } = this;\n let formItemAttrs = childAttrs ?? {\n key: child.model,\n prop: child.model,\n colon: !(layout == 'inline')\n };\n const slotsName = (childAttrs?.parentModel ?? '') + child.model;\n const {\n label,\n customLabel\n } = child;\n return h(FormModelItem, {\n \"class\": [{\n FormLineVertical: child.size === layoutSize && layout === 'vertical'\n }, {\n FormLine: child.size === layoutSize\n }],\n \"attrs\": {\n ...formItemAttrs\n }\n }, [h(\"template\", {\n \"slot\": \"label\"\n }, [customLabel ? customLabel(vModel) : h(\"span\", [label])]), $scopedSlots[child.model] ? $scopedSlots[child.model](child) : h(_components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"attrs\": {\n \"component\": child.is,\n ...child.attrs\n },\n \"on\": {\n ...child.event\n },\n \"model\": {\n value: vModel[child.model],\n callback: $$v => {\n this.$set(vModel, child.model, $$v);\n }\n }\n }), $scopedSlots[`${slotsName}Handle`] && $scopedSlots[`${slotsName}Handle`](formItemAttrs)]);\n}\n\n//# sourceURL=webpack://mui/./plugins/lib/form/utils/render.js?");
9134
9134
 
9135
9135
  /***/ }),
9136
9136
 
@@ -9163,7 +9163,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_
9163
9163
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9164
9164
 
9165
9165
  "use strict";
9166
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__ = __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 ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/spin/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events.js */ \"./plugins/lib/iframe/events.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/iframe/index.less\");\n\n\n\n\n// const IconFont = Icon.createFromIconfontCN({\n// scriptUrl: '//at.alicdn.com/t/c/font_4641025_trbtf28ob8g.js'\n// })\n\n// Spin.setDefaultIndicator({\n// indicator: {\n// render() {\n// return <IconFont type=\"icon-loading\" />\n// }\n// }\n// })\n\nant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setDefaultIndicator({\n indicator: {\n render() {\n const h = arguments[0];\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n \"attrs\": {\n \"type\": \"loading\"\n }\n });\n }\n }\n});\n\n\nconst IframeContainerProps = {\n activeKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n checkedKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string.def('name'),\n linkurlKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string.def('linkUrl'),\n operatesArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].array,\n componentsArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].array,\n postMessage: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].object\n};\nconst IframeContainer = {\n name: 'IframeComp',\n props: IframeContainerProps,\n data() {\n return {\n /** 页面加载状态 */\n compSpinning: true,\n componentAdd: true,\n /** 弹窗加载状态 */\n modalSpinning: true,\n modalComponents: {}\n };\n },\n render(h, content) {\n const {\n $props,\n modalComponents\n } = this;\n const {\n activeKey,\n checkedKey,\n componentsArr\n } = $props;\n const IframeComponents = componentsArr.map(componentItem => {\n const isActive = activeKey === componentItem[checkedKey];\n return this.getIframeComponent(componentItem, isActive);\n });\n const modalKeys = Object.keys(modalComponents);\n const ModalOperates = modalKeys.map(modalKey => {\n return h(_modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"props\": {\n ...{\n ...modalComponents[modalKey],\n cancelHandle: () => this.closeModalHandle(modalKey)\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"attrs\": {\n \"spinning\": this.modalSpinning,\n \"tip\": \"加载中...\"\n }\n }, [this.getIframeComponent(modalComponents[modalKey], true)])]);\n });\n return h(\"div\", {\n \"class\": \"ant-pro-grid-content-page\"\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"attrs\": {\n \"spinning\": this.compSpinning,\n \"tip\": \"加载中...\"\n }\n }, [IframeComponents]), ModalOperates]);\n },\n watch: {\n activeKey(newVal) {\n this.modalComponents = {};\n },\n componentsArr: {\n handler(newVal, oldVal) {\n this.componentAdd = newVal.length > oldVal.length;\n this.postCompMessage();\n },\n deep: true\n }\n },\n computed: {\n activeKeyAndParams() {\n const {\n activeKey,\n postMessage,\n componentsArr\n } = this;\n return {\n activeKey,\n postMessage,\n componentsArr\n };\n }\n },\n created() {\n _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].$on('modalOpen', ({\n name,\n params\n }) => {\n const activeModal = this.switchModalHandle(name, params);\n activeModal && (this.componentAdd = true, this.$set(this.modalComponents, name, {\n mode: params.mode,\n visible: true,\n ...activeModal\n }));\n });\n _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].$on('modalClose', ({\n name,\n params\n }) => {\n this.closeModalHandle(name);\n params && (this.componentAdd = false, this.postCompMessage(params));\n });\n _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].$on('modalGoBack', ({\n name,\n params\n }, closeModal) => {\n this.componentAdd = false;\n this.closeModalHandle(closeModal);\n this.switchModalHandle(name, params);\n });\n },\n mounted() {\n // this.postCompMessage()\n },\n methods: {\n postCompMessage(data = {}) {\n const {\n componentsArr,\n activeKey,\n postMessage\n } = this;\n componentsArr.length && this.postIframeMessage(componentsArr, {\n type: 'refreshPage',\n activeKey,\n data\n });\n },\n closeModalHandle(name) {\n this.modalComponents[name].visible = false;\n delete this.modalComponents[name];\n },\n switchModalHandle(name, data) {\n const {\n operatesArr,\n checkedKey\n } = this;\n const activeModal = operatesArr.find(operatesItem => operatesItem[checkedKey] === name);\n activeModal && this.postIframeMessage(operatesArr, {\n type: 'refreshModal',\n activeKey: name,\n data: {\n ...data,\n modalTitle: activeModal.title\n }\n });\n return {\n ...activeModal,\n ...(data.attrs ?? {})\n };\n },\n postIframeMessage(components, iframeConfig) {\n const {\n type,\n activeKey,\n data = {}\n } = iframeConfig;\n this.$nextTick(() => {\n const {\n checkedKey,\n linkurlKey,\n postMessage\n } = this;\n const refKey = components.find(componentsItem => activeKey === componentsItem[checkedKey])[linkurlKey];\n const isModal = refKey.includes('?type=modal');\n const spinningKey = isModal ? 'modalSpinning' : 'compSpinning';\n const iframeRef = () => {\n const _self = this;\n const iframe = this.$refs[refKey];\n const iframeWin = this.$refs[refKey]?.contentWindow;\n this.componentAdd ? (this[spinningKey] = true, iframe.onload = function () {\n _self[spinningKey] = false;\n iframeWin.postMessage({\n type,\n params: {\n routeQuery: postMessage,\n data,\n name: activeKey\n }\n }, '*');\n }) : iframeWin.postMessage({\n type,\n params: {\n routeQuery: postMessage,\n data,\n name: activeKey\n }\n }, '*');\n };\n if (isModal) {\n const timer = setTimeout(() => {\n iframeRef();\n clearTimeout(timer);\n }, 0);\n return;\n }\n iframeRef();\n });\n },\n getIframeComponent(componentItem, isActive) {\n const h = this.$createElement;\n const {\n linkurlKey,\n checkedKey\n } = this;\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 }\n};\nIframeContainer.install = function (Vue) {\n Vue.prototype.$IframeBus = _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n Vue.component('IframePage', IframeContainer);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (IframeContainer);\n\n//# sourceURL=webpack://mui/./plugins/lib/iframe/index.jsx?");
9166
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__ = __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 ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/spin/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events.js */ \"./plugins/lib/iframe/events.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/iframe/index.less\");\n\n\n\n\n// const IconFont = Icon.createFromIconfontCN({\n// scriptUrl: '//at.alicdn.com/t/c/font_4641025_trbtf28ob8g.js'\n// })\n\n// Spin.setDefaultIndicator({\n// indicator: {\n// render() {\n// return <IconFont type=\"icon-loading\" />\n// }\n// }\n// })\n\nant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setDefaultIndicator({\n indicator: {\n render() {\n const h = arguments[0];\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n \"attrs\": {\n \"type\": \"loading\"\n }\n });\n }\n }\n});\n\n\nconst IframeContainerProps = {\n activeKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n checkedKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string.def('name'),\n linkurlKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string.def('linkUrl'),\n operatesArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].array,\n componentsArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].array,\n postMessage: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_5__[\"default\"].object\n};\nconst IframeContainer = {\n name: 'IframeComp',\n props: IframeContainerProps,\n data() {\n return {\n /** 页面加载状态 */\n compSpinning: true,\n componentAdd: true,\n /** 弹窗加载状态 */\n modalSpinning: true,\n modalComponents: {}\n };\n },\n render(h, content) {\n const {\n $props,\n modalComponents\n } = this;\n const {\n activeKey,\n checkedKey,\n componentsArr\n } = $props;\n const IframeComponents = componentsArr.map(componentItem => {\n const isActive = activeKey === componentItem[checkedKey];\n return this.getIframeComponent(componentItem, isActive);\n });\n const modalKeys = Object.keys(modalComponents);\n const ModalOperates = modalKeys.map(modalKey => {\n return h(_modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"props\": {\n ...{\n ...modalComponents[modalKey],\n cancelHandle: () => this.closeModalHandle(modalKey)\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"attrs\": {\n \"spinning\": this.modalSpinning,\n \"tip\": \"加载中...\"\n }\n }, [this.getIframeComponent(modalComponents[modalKey], true)])]);\n });\n return h(\"div\", {\n \"class\": \"ant-pro-grid-content-page\"\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"attrs\": {\n \"spinning\": this.compSpinning,\n \"tip\": \"加载中...\"\n }\n }, [IframeComponents]), ModalOperates]);\n },\n watch: {\n activeKey(newVal) {\n this.modalComponents = {};\n },\n componentsArr: {\n handler(newVal, oldVal) {\n this.componentAdd = newVal.length > oldVal.length;\n this.postCompMessage();\n },\n deep: true\n }\n },\n computed: {\n activeKeyAndParams() {\n const {\n activeKey,\n postMessage,\n componentsArr\n } = this;\n return {\n activeKey,\n postMessage,\n componentsArr\n };\n }\n },\n created() {\n _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].$on('modalOpen', ({\n name,\n params\n }) => {\n const activeModal = this.switchModalHandle(name, params);\n activeModal && (this.componentAdd = true, this.$set(this.modalComponents, name, {\n mode: params.mode,\n visible: true,\n ...activeModal\n }));\n });\n _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].$on('modalClose', ({\n name,\n params\n }) => {\n this.closeModalHandle(name);\n params && (this.componentAdd = false, this.postCompMessage(params));\n });\n _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].$on('modalGoBack', ({\n name,\n params\n }, closeModal) => {\n this.componentAdd = false;\n this.closeModalHandle(closeModal);\n this.switchModalHandle(name, params);\n });\n },\n mounted() {\n // this.postCompMessage()\n },\n methods: {\n postCompMessage(data = {}) {\n const {\n componentsArr,\n activeKey,\n postMessage\n } = this;\n componentsArr.length && this.postIframeMessage(componentsArr, {\n type: 'refreshPage',\n activeKey,\n data\n });\n },\n closeModalHandle(name) {\n this.modalComponents[name].visible = false;\n delete this.modalComponents[name];\n },\n switchModalHandle(name, data) {\n const {\n operatesArr,\n checkedKey\n } = this;\n const activeModal = operatesArr.find(operatesItem => operatesItem[checkedKey] === name);\n activeModal && this.postIframeMessage(operatesArr, {\n type: 'refreshModal',\n activeKey: name,\n data\n });\n return {\n ...activeModal,\n ...(data.attrs ?? {})\n };\n },\n postIframeMessage(components, iframeConfig) {\n const {\n type,\n activeKey,\n data = {}\n } = iframeConfig;\n this.$nextTick(() => {\n const {\n checkedKey,\n linkurlKey,\n postMessage\n } = this;\n const activeComp = components.find(componentsItem => activeKey === componentsItem[checkedKey]);\n const refKey = activeComp[linkurlKey];\n const isModal = refKey.includes('?type=modal');\n const spinningKey = isModal ? 'modalSpinning' : 'compSpinning';\n const iframeRef = () => {\n const _self = this;\n const iframe = this.$refs[refKey];\n const iframeWin = this.$refs[refKey]?.contentWindow;\n const iframeOptions = {\n type,\n params: {\n data,\n name: activeKey,\n title: isModal ? activeComp.title : activeComp.meta.title,\n routeQuery: postMessage\n }\n };\n this.componentAdd ? (this[spinningKey] = true, iframe.onload = function () {\n _self[spinningKey] = false;\n iframeWin.postMessage(iframeOptions, '*');\n }) : iframeWin.postMessage(iframeOptions, '*');\n };\n if (isModal) {\n const timer = setTimeout(() => {\n iframeRef();\n clearTimeout(timer);\n }, 0);\n return;\n }\n iframeRef();\n });\n },\n getIframeComponent(componentItem, isActive) {\n const h = this.$createElement;\n const {\n linkurlKey,\n checkedKey\n } = this;\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 }\n};\nIframeContainer.install = function (Vue) {\n Vue.prototype.$IframeBus = _events_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n Vue.component('IframePage', IframeContainer);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (IframeContainer);\n\n//# sourceURL=webpack://mui/./plugins/lib/iframe/index.jsx?");
9167
9167
 
9168
9168
  /***/ }),
9169
9169
 
@@ -9470,7 +9470,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
9470
9470
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9471
9471
 
9472
9472
  "use strict";
9473
- 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, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n flex-direction: row;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons.ActionsIcons {\\n cursor: pointer;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons.ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n color: #fff;\\n text-align: left;\\n font-size: 16px;\\n font-weight: 700;\\n padding-left: 12px;\\n box-sizing: border-box;\\n position: relative;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1890ff;\\n border-radius: 2px;\\n width: 4px;\\n height: 12px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n line-height: 16px;\\n margin-right: 12px;\\n border-color: #fff;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 12px;\\n color: #fff;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n padding: 8px 0;\\n box-sizing: border-box;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n align-items: center;\\n margin-bottom: 2px;\\n font-size: 14px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n cursor: pointer;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0 8px;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
9473
+ 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, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n flex-direction: row;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons.ActionsIcons {\\n cursor: pointer;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons.ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n color: #fff;\\n text-align: left;\\n font-size: 16px;\\n font-weight: 700;\\n padding-left: 12px;\\n box-sizing: border-box;\\n position: relative;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1890ff;\\n border-radius: 2px;\\n width: 4px;\\n height: 12px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n line-height: 16px;\\n margin-right: 12px;\\n border-color: #fff;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 12px;\\n color: #fff;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 6px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n padding: 8px 0;\\n box-sizing: border-box;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n align-items: center;\\n margin-bottom: 2px;\\n font-size: 14px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n cursor: pointer;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0 8px;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
9474
9474
 
9475
9475
  /***/ }),
9476
9476
 
@@ -9646,7 +9646,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
9646
9646
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9647
9647
 
9648
9648
  "use strict";
9649
- 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, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.WebComponentTable[data-v-19255b3a] {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 16px 0;\\n flex-direction: column;\\n}\\n.WebComponentTable__List__Title[data-v-19255b3a] {\\n display: flex;\\n align-items: center;\\n}\\n.WebComponentTable__List__Empty[data-v-19255b3a] {\\n gap: 16px 0;\\n height: 120px;\\n display: flex;\\n gap: 0;\\n flex-direction: column;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.WebComponentTable__List__Empty i[data-v-19255b3a] {\\n font-size: 80px;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-title {\\n padding: 0;\\n margin-bottom: 12px;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.WebComponentTable__Pagination[data-v-19255b3a] {\\n display: flex;\\n justify-content: flex-end;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/table/index.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
9649
+ 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, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.WebComponentTable[data-v-19255b3a] {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 16px 0;\\n flex-direction: column;\\n}\\n.WebComponentTable__List__Title[data-v-19255b3a] {\\n display: flex;\\n align-items: center;\\n}\\n.WebComponentTable__List__Empty[data-v-19255b3a] {\\n gap: 16px 0;\\n height: 120px;\\n display: flex;\\n gap: 0;\\n flex-direction: column;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.WebComponentTable__List__Empty i[data-v-19255b3a] {\\n font-size: 80px;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-title {\\n padding: 0;\\n margin-bottom: 12px;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.WebComponentTable__List[data-v-19255b3a] .ant-table-body::-webkit-scrollbar {\\n width: 6px;\\n height: 6px;\\n}\\n.WebComponentTable__Pagination[data-v-19255b3a] {\\n display: flex;\\n justify-content: flex-end;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/table/index.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
9650
9650
 
9651
9651
  /***/ }),
9652
9652
 
@@ -9657,7 +9657,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
9657
9657
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9658
9658
 
9659
9659
  "use strict";
9660
- 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, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.publicTreeCheck[data-v-45ca0cb8] {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n}\\n.publicTreeCheck > div[data-v-45ca0cb8] {\\n flex: 1;\\n padding: 16px 24px;\\n box-sizing: border-box;\\n display: flex;\\n gap: 0;\\n flex-direction: column;\\n}\\n.publicTreeCheck .TreeSelect[data-v-45ca0cb8] {\\n border-right: 1px solid #e8e8e8;\\n}\\n.publicTreeCheck .TreeReveal .TreeSelectCount[data-v-45ca0cb8] {\\n display: flex;\\n color: #1890ff;\\n margin-bottom: 16px;\\n}\\n.publicTreeCheck .TreeReveal .TreeSelectCount .clear[data-v-45ca0cb8] {\\n flex: 1;\\n text-align: right;\\n color: #1890ff;\\n cursor: pointer;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8] .ant-checkbox-group {\\n width: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: column;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8] .ant-checkbox-group-item {\\n height: 40px;\\n display: flex;\\n align-items: center;\\n margin-right: 0;\\n padding: 0 12px;\\n box-sizing: border-box;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Tree.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
9660
+ 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, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.publicTreeCheck[data-v-45ca0cb8] {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n}\\n.publicTreeCheck > div[data-v-45ca0cb8] {\\n flex: 1;\\n padding: 16px 24px;\\n box-sizing: border-box;\\n display: flex;\\n gap: 0;\\n flex-direction: column;\\n}\\n.publicTreeCheck .TreeSelect[data-v-45ca0cb8] {\\n border-right: 1px solid #e8e8e8;\\n}\\n.publicTreeCheck .TreeReveal .TreeSelectCount[data-v-45ca0cb8] {\\n display: flex;\\n color: #1890ff;\\n margin-bottom: 16px;\\n}\\n.publicTreeCheck .TreeReveal .TreeSelectCount .clear[data-v-45ca0cb8] {\\n flex: 1;\\n text-align: right;\\n color: #1890ff;\\n cursor: pointer;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8]::-webkit-scrollbar {\\n width: 6px;\\n height: 6px;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8] .ant-checkbox-group {\\n width: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: column;\\n}\\n.publicTreeCheck .TreeReveal .TreeListPage[data-v-45ca0cb8] .ant-checkbox-group-item {\\n height: 40px;\\n display: flex;\\n align-items: center;\\n margin-right: 0;\\n padding: 0 12px;\\n box-sizing: border-box;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Tree.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
9661
9661
 
9662
9662
  /***/ }),
9663
9663
 
package/dist/form.umd.js CHANGED
@@ -7253,7 +7253,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var mome
7253
7253
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7254
7254
 
7255
7255
  "use strict";
7256
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/select/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/pagination/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'TAntdSelect',\n components: {\n VNodes: {\n functional: true,\n render: (h, ctx) => ctx.props.vnodes\n },\n Select: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n SelectOption: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Option,\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Pagination: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Number, Array, Boolean, Object],\n default: undefined\n },\n // 多选 'multiple'\n mode: {\n type: String\n },\n // 是否支持输入\n isInput: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: '请选择'\n },\n // 选择框宽度\n width: {\n type: String\n },\n // 是否自定义设置下拉label\n customLabel: {\n type: String\n },\n // 传入的option数组中,要作为最终选择项的键值key\n valueKey: {\n type: String,\n default: 'value'\n },\n // 传入的option数组中,要作为显示项的键值名称\n labelKey: {\n type: String,\n default: 'label'\n },\n // 下拉框组件数据源\n options: {\n type: Array\n },\n // 是否显示分页\n isShowPagination: {\n type: Boolean,\n default: false\n },\n // 分页配置项\n paginationOption: {\n type: Object,\n default: () => {\n return {\n pageSize: 6,\n // 每页显示条数\n current: 1,\n // 当前页\n total: 0 // 总条数\n };\n }\n }\n },\n data() {\n return {\n selectOpen: false\n };\n },\n computed: {\n childSelectedValue: {\n get() {\n return this.value;\n },\n set(val) {\n this.$emit('input', val);\n }\n },\n attrs() {\n return {\n allowClear: true,\n showSearch: true,\n ...this.$attrs\n };\n },\n selectChecked: {\n get() {\n return this.childSelectedValue?.length === this.options?.length;\n },\n set(val) {\n this.$emit('input', val);\n }\n }\n },\n mounted() {\n document.addEventListener('click', this.bodyCloseMenus);\n },\n beforeDestroy() {\n document.removeEventListener('click', this.bodyCloseMenus);\n },\n methods: {\n filterOption(input, option) {\n this.isInput && (this.childSelectedValue = input);\n return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n },\n // 点击空白区域\n bodyCloseMenus(e) {\n if (this.$refs.main && !this.$refs.main.contains(e.target)) {\n if (this.selectOpen == true) {\n this.selectOpen = false;\n }\n }\n },\n // 点击全选\n selectAll(val) {\n const options = JSON.parse(JSON.stringify(this.options));\n if (val.target.checked) {\n const childSelectedValue = options?.map(item => {\n return item[this.valueKey];\n });\n setTimeout(() => {\n this.$emit('input', childSelectedValue);\n }, 0);\n } else {\n this.$emit('input', null);\n }\n this.selectOpen = false;\n },\n handleSelect(value, option) {\n if (value) {\n this.selectOpen = false;\n }\n const options = this.options.find(e => e[this.valueKey] == value);\n this.$emit('select', value, options);\n },\n // 切换分页\n currentChange(val) {\n // console.log('切换分页', val)\n if (!this.mode) {\n this.childSelectedValue = null;\n }\n setTimeout(() => {\n this.selectOpen = true;\n }, 0);\n this.$emit('current-change', val);\n },\n // 自定义label显示\n customLabelHandler(item) {\n // eslint-disable-next-line no-eval\n return eval(this.customLabel);\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/ASelectCustom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7256
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/select/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/pagination/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'TAntdSelect',\n components: {\n VNodes: {\n functional: true,\n render: (h, ctx) => ctx.props.vnodes\n },\n Select: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n SelectOption: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Option,\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Pagination: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Number, Array, Boolean, Object],\n default: undefined\n },\n // 多选 'multiple'\n mode: {\n type: String\n },\n // 是否支持输入\n isInput: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: '请选择'\n },\n // 选择框宽度\n width: {\n type: String\n },\n // 是否自定义设置下拉label\n customLabel: {\n type: String\n },\n // 传入的option数组中,要作为最终选择项的键值key\n valueKey: {\n type: String,\n default: 'value'\n },\n // 传入的option数组中,要作为显示项的键值名称\n labelKey: {\n type: String,\n default: 'label'\n },\n // 下拉框组件数据源\n options: {\n type: Array\n },\n // 是否显示分页\n isShowPagination: {\n type: Boolean,\n default: false\n },\n // 分页配置项\n paginationOption: {\n type: Object,\n default: () => {\n return {\n pageSize: 6,\n // 每页显示条数\n current: 1,\n // 当前页\n total: 0 // 总条数\n };\n }\n }\n },\n data() {\n return {\n selectOpen: false\n };\n },\n computed: {\n childSelectedValue: {\n get() {\n return this.value;\n },\n set(val) {\n this.$emit('input', val);\n }\n },\n attrs() {\n return {\n allowClear: true,\n showSearch: true,\n ...this.$attrs\n };\n },\n selectChecked: {\n get() {\n return this.childSelectedValue?.length === this.options?.length;\n },\n set(val) {\n this.$emit('input', val);\n }\n }\n },\n mounted() {\n document.addEventListener('click', this.bodyCloseMenus);\n },\n beforeDestroy() {\n document.removeEventListener('click', this.bodyCloseMenus);\n },\n methods: {\n filterOption(input, option) {\n this.isInput && (this.childSelectedValue = input);\n return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n },\n // 点击空白区域\n bodyCloseMenus(e) {\n if (this.$refs.main && !this.$refs.main.contains(e.target)) {\n if (this.selectOpen == true) {\n this.selectOpen = false;\n }\n }\n },\n // 点击全选\n selectAll(val) {\n const options = JSON.parse(JSON.stringify(this.options));\n if (val.target.checked) {\n const childSelectedValue = options?.map(item => {\n return item[this.valueKey];\n });\n setTimeout(() => {\n this.$emit('input', childSelectedValue);\n }, 0);\n } else {\n this.$emit('input', null);\n }\n this.selectOpen = false;\n },\n handleSelect(value, option) {\n if (value) {\n this.selectOpen = false;\n }\n const options = this.options.find(e => e[this.valueKey] == value);\n options[this.valueKey] && this.$emit('select', value, options);\n },\n // 切换分页\n currentChange(val) {\n // console.log('切换分页', val)\n if (!this.mode) {\n this.childSelectedValue = null;\n }\n setTimeout(() => {\n this.selectOpen = true;\n }, 0);\n this.$emit('current-change', val);\n },\n // 自定义label显示\n customLabelHandler(item) {\n // eslint-disable-next-line no-eval\n return eval(this.customLabel);\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/ASelectCustom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7257
7257
 
7258
7258
  /***/ }),
7259
7259
 
@@ -7286,7 +7286,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
7286
7286
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7287
7287
 
7288
7288
  "use strict";
7289
- eval("__webpack_require__.r(__webpack_exports__);\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/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders,\n ...this.$attrs\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('Brower', {\n data: url\n }, {\n title: '预览文件',\n width: 1104,\n height: 848,\n centered: true,\n maskClosable: false,\n footer: false,\n bodyStyle: {\n height: 'calc( 100% - 54px )'\n }\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7289
+ eval("__webpack_require__.r(__webpack_exports__);\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/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/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/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n listType: 'picture-card',\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders,\n ...this.$attrs\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('Brower', {\n data: url\n }, {\n title: '预览文件',\n width: 1104,\n height: 848,\n centered: true,\n maskClosable: false,\n footer: false,\n bodyStyle: {\n height: 'calc( 100% - 54px )'\n }\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7290
7290
 
7291
7291
  /***/ }),
7292
7292
 
@@ -7385,7 +7385,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7385
7385
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7386
7386
 
7387
7387
  "use strict";
7388
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"TAntdUpload\"\n }, [_c(\"Upload\", _vm._b({\n attrs: {\n name: \"file\",\n \"file-list\": _vm.fileList,\n \"list-type\": \"picture-card\",\n accept: _vm.fileAccept\n },\n on: {\n change: _vm.handleFileChange,\n preview: _vm.handleFilePreview,\n reject: function ($event) {\n return _vm.$message.error(`上传文件类型只能为${_vm.fileAccept}`);\n }\n }\n }, \"Upload\", _vm.uploadAttrs, false), [!_vm.fileList || _vm.fileList.length < _vm.uploadLen ? _c(\"div\", [_c(\"Icon\", {\n staticStyle: {\n fontsize: \"36px\"\n },\n attrs: {\n type: \"plus\"\n }\n })], 1) : _vm._e()]), _vm._v(\" \"), _vm.tips ? _c(\"span\", {\n staticClass: \"tips\"\n }, [_vm._v(_vm._s(_vm.tips))]) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7388
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"TAntdUpload\"\n }, [_c(\"Upload\", _vm._b({\n attrs: {\n name: \"file\",\n \"file-list\": _vm.fileList,\n accept: _vm.fileAccept\n },\n on: {\n change: _vm.handleFileChange,\n preview: _vm.handleFilePreview,\n reject: function ($event) {\n return _vm.$message.error(`上传文件类型只能为${_vm.fileAccept}`);\n }\n }\n }, \"Upload\", _vm.uploadAttrs, false), [_vm.uploadAttrs.listType === \"text\" ? _c(\"Button\", {\n attrs: {\n type: \"primary\"\n }\n }, [_c(\"Icon\", {\n attrs: {\n type: \"upload\"\n }\n }), _vm._v(\"上传\\n \")], 1) : [!_vm.fileList || _vm.fileList.length < _vm.uploadLen ? _c(\"Icon\", {\n staticStyle: {\n fontsize: \"36px\"\n },\n attrs: {\n type: \"plus\"\n }\n }) : _vm._e()]], 2), _vm._v(\" \"), _vm.tips ? _c(\"span\", {\n staticClass: \"tips\"\n }, [_vm._v(_vm._s(_vm.tips))]) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7389
7389
 
7390
7390
  /***/ }),
7391
7391
 
@@ -7440,7 +7440,7 @@ eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source cod
7440
7440
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7441
7441
 
7442
7442
  "use strict";
7443
- eval("__webpack_require__.r(__webpack_exports__);\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__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _utils_render__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/render */ \"./plugins/lib/form/utils/render.js\");\n/* harmony import */ var _style_Model_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Model.less */ \"./plugins/lib/form/style/Model.less\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Model',\n model: {\n prop: 'value',\n event: 'Change:Model'\n },\n data() {\n return {\n formRules: {}\n };\n },\n props: {\n value: {\n type: Object,\n default: () => ({})\n },\n /* Form布局方式 */\n layout: {\n type: String,\n default: 'vertical'\n },\n /* 一行显示几个 PS:最多5个 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n /* 表单项配置 */\n formSetting: Array\n },\n computed: {\n form: {\n get() {\n /** 校验单独赋值延迟的字段 */\n for (const k in this.value) {\n Object.hasOwnProperty.call(this.formRules, k) && this.$refs.FormModel?.validateField(k);\n }\n return this.value;\n },\n set(value) {\n this.$emit('Change:Model', value);\n }\n },\n formAttrs() {\n let attr = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n },\n ...this.$attrs\n };\n this.layout === 'vertical' && (delete attr.labelCol, delete attr.wrapperCol);\n return attr;\n },\n filterSetting() {\n return this.formSetting.filter(settingItem => !settingItem.hidden);\n }\n },\n watch: {\n filterSetting: {\n handler(newVal, oldVal) {\n newVal.forEach(node => this.$set(this.formRules, node.model, _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, node)));\n },\n immediate: true\n }\n },\n mounted() {\n this.$emit('update:refForm', this.$refs.FormModel);\n },\n methods: {\n /** 包含单表单项,多表单项,动态增减表单项合并处理 */\n setModelRender(props) {\n const h = this.$createElement;\n const dynamicModel = this.form[props.model];\n return (\n /** \r\n * multiple为动态多项\r\n * multipleConfig为配置的动态项数据 */\n h(\"div\", {\n \"class\": props.multiple && ['MultipleForm'],\n \"attrs\": {\n ...{\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, props, this.layoutSize)\n }\n }\n }, [this.$scopedSlots[`${props.model}Tips`] && this.$scopedSlots[`${props.model}Tips`](props), /** 处理动态增减表单 */\n dynamicModel instanceof Array && props.multiple ? dynamicModel.map((modelItem, index) => props.multipleConfig.map((configItem, key) => {\n /** 为动态项时重新定义绑定key、prop等来进行检验 */\n /** 目前还有一个动态项layoutSize排版问题 */\n const childAttrs = {\n key: index,\n prop: `${props.model}.${index}.${configItem.model}`,\n label: configItem.label,\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, configItem, this.layoutSize ?? props.layoutSize),\n rules: _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, configItem, modelItem),\n parentModel: props.model\n };\n return _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, modelItem, configItem, childAttrs);\n })) : _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, this.form, props), this.$scopedSlots[`${props.model}Operate`] && this.$scopedSlots[`${props.model}Operate`](props)])\n );\n },\n /** 提交测验 */\n formSubmit() {\n return new Promise((resolve, reject) => {\n this.$refs.FormModel.validate().then(resolve).catch(err => this.$nextTick(() => {\n const errorDiv = document.getElementsByClassName('has-error');\n errorDiv[0].scrollIntoView({\n behavior: \"smooth\",\n block: \"center\"\n });\n }));\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n layout,\n formAttrs,\n setModelRender\n } = this;\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{\n \"ref\": \"FormModel\",\n \"class\": \"FormModel\"\n }, {\n \"props\": {\n model: this.form,\n rules: this.formRules,\n layout,\n ...formAttrs\n }\n }]), [this.$slots.default ?? this.filterSetting.map(props => setModelRender(props))]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Model.js?");
7443
+ eval("__webpack_require__.r(__webpack_exports__);\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__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _utils_render__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/render */ \"./plugins/lib/form/utils/render.js\");\n/* harmony import */ var _style_Model_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Model.less */ \"./plugins/lib/form/style/Model.less\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Model',\n model: {\n prop: 'value',\n event: 'Change:Model'\n },\n data() {\n return {\n formRules: {}\n };\n },\n props: {\n value: {\n type: Object,\n default: () => ({})\n },\n /* Form布局方式 */\n layout: {\n type: String,\n default: 'vertical'\n },\n /* 一行显示几个 PS:最多5个 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n /* 表单项配置 */\n formSetting: Array\n },\n computed: {\n form: {\n get() {\n /** 校验单独赋值延迟的字段 */\n for (const k in this.value) {\n Object.hasOwnProperty.call(this.formRules, k) && this.$refs.FormModel?.validateField(k);\n }\n return this.value;\n },\n set(value) {\n this.$emit('Change:Model', value);\n }\n },\n formAttrs() {\n let attr = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n },\n ...this.$attrs\n };\n this.layout === 'vertical' && (delete attr.labelCol, delete attr.wrapperCol);\n return attr;\n },\n filterSetting() {\n return this.formSetting.filter(settingItem => !settingItem.hidden);\n }\n },\n watch: {\n filterSetting: {\n handler(newVal, oldVal) {\n newVal.forEach(node => this.$set(this.formRules, node.model, _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, node)));\n },\n immediate: true\n }\n },\n mounted() {\n this.$emit('update:refForm', this.$refs.FormModel);\n },\n methods: {\n /** 包含单表单项,多表单项,动态增减表单项合并处理 */\n setModelRender(props) {\n const h = this.$createElement;\n const dynamicModel = this.form[props.model];\n return (\n /** \r\n * multiple为动态多项\r\n * multipleConfig为配置的动态项数据 */\n h(\"div\", {\n \"class\": props.multiple && ['MultipleForm'],\n \"attrs\": {\n ...{\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, props, this.layoutSize)\n }\n }\n }, [this.$scopedSlots[`${props.model}Tips`] && this.$scopedSlots[`${props.model}Tips`](props), /** 处理动态增减表单 */\n dynamicModel instanceof Array && props.multiple ? dynamicModel.map((modelItem, index) => props.multipleConfig.map((configItem, key) => {\n /** 为动态项时重新定义绑定key、prop等来进行检验 */\n /** 目前还有一个动态项layoutSize排版问题 */\n const childAttrs = {\n key: index,\n prop: `${props.model}.${index}.${configItem.model}`,\n style: _utils_render__WEBPACK_IMPORTED_MODULE_1__.getFormWidth.call(this, configItem, this.layoutSize ?? props.layoutSize),\n rules: _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItemRule.call(this, configItem, props),\n parentModel: props.model\n };\n return _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, modelItem, configItem, childAttrs);\n })) : _utils_render__WEBPACK_IMPORTED_MODULE_1__.setFormItem.call(this, h, this.form, props), this.$scopedSlots[`${props.model}Operate`] && this.$scopedSlots[`${props.model}Operate`](props)])\n );\n },\n /** 提交测验 */\n formSubmit() {\n return new Promise((resolve, reject) => {\n this.$refs.FormModel.validate().then(resolve).catch(err => this.$nextTick(() => {\n const errorDiv = document.getElementsByClassName('has-error');\n errorDiv[0].scrollIntoView({\n behavior: \"smooth\",\n block: \"center\"\n });\n }));\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n layout,\n formAttrs,\n setModelRender\n } = this;\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{\n \"ref\": \"FormModel\",\n \"class\": \"FormModel\"\n }, {\n \"props\": {\n model: this.form,\n rules: this.formRules,\n layout,\n ...formAttrs\n }\n }]), [this.$slots.default ?? this.filterSetting.map(props => setModelRender(props))]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Model.js?");
7444
7444
 
7445
7445
  /***/ }),
7446
7446
 
@@ -7462,7 +7462,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7462
7462
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7463
7463
 
7464
7464
  "use strict";
7465
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFormWidth: function() { return /* binding */ getFormWidth; },\n/* harmony export */ setFormItem: function() { return /* binding */ setFormItem; },\n/* harmony export */ setFormItemRule: function() { return /* binding */ setFormItemRule; }\n/* harmony export */ });\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 _components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/RenderComp.vue */ \"./plugins/lib/form/components/RenderComp.vue\");\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item;\n\n/** 根据layoutSize来进行距离及大小切分 */\nfunction getFormWidth(child, layoutSize) {\n if (this.layout === 'vertical') return `flex: 0 1 calc((${100 / layoutSize * (child.size ?? 1)}% - 24px));margin-right:24px;`;\n return `flex: 0 1 ${100 / layoutSize * (child.size ?? 1)}%;`;\n}\n\n/** 动态设置单个表单项规则 (同时解决处理动态增减表单项操作 */\nfunction setFormItemRule(node, nodeParent = {}) {\n const required = node.required ?? nodeParent.required ?? this.formAttrs.required ?? true;\n\n /** node.placeholder与组件内的提示文字位置不对等 */\n const message = node.attrs?.placeholder || (/(select|picker|radio|upload)/.test((node.is ?? 'Input').toLowerCase()) ? '请选择' : '请输入') + (node.label || '');\n const rules = [{\n required,\n message,\n trigger: ['change', 'blur']\n }].concat((node.rules || []).filter(i => {\n i.pattern && (i.pattern = new RegExp(i.pattern));\n return i;\n }));\n return rules;\n}\n\n/** 动态渲染表单项 */\nfunction setFormItem(h, vModel, child, childAttrs) {\n const {\n layout,\n layoutSize,\n $scopedSlots\n } = this;\n let formItemAttrs = childAttrs ?? {\n key: child.model,\n prop: child.model,\n label: child.label,\n colon: !(layout == 'inline')\n };\n const slotsName = (childAttrs?.parentModel ?? '') + child.model;\n return h(FormModelItem, {\n \"class\": [{\n FormLineVertical: child.size === layoutSize && layout === 'vertical'\n }, {\n FormLine: child.size === layoutSize\n }],\n \"attrs\": {\n ...formItemAttrs\n }\n }, [$scopedSlots[child.model] ? $scopedSlots[child.model](child) : h(_components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"attrs\": {\n \"component\": child.is,\n ...child.attrs\n },\n \"on\": {\n ...child.event\n },\n \"model\": {\n value: vModel[child.model],\n callback: $$v => {\n this.$set(vModel, child.model, $$v);\n }\n }\n }), $scopedSlots[`${slotsName}Handle`] && $scopedSlots[`${slotsName}Handle`](formItemAttrs)]);\n}\n\n//# sourceURL=webpack://mui/./plugins/lib/form/utils/render.js?");
7465
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFormWidth: function() { return /* binding */ getFormWidth; },\n/* harmony export */ setFormItem: function() { return /* binding */ setFormItem; },\n/* harmony export */ setFormItemRule: function() { return /* binding */ setFormItemRule; }\n/* harmony export */ });\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 _components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/RenderComp.vue */ \"./plugins/lib/form/components/RenderComp.vue\");\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item;\n\n/** 根据layoutSize来进行距离及大小切分 */\nfunction getFormWidth(child, layoutSize) {\n if (this.layout === 'vertical') return `flex: 0 1 calc((${100 / layoutSize * (child.size ?? 1)}% - 24px));margin-right:24px;`;\n return `flex: 0 1 ${100 / layoutSize * (child.size ?? 1)}%;`;\n}\n\n/** 动态设置单个表单项规则 (同时解决处理动态增减表单项操作 */\nfunction setFormItemRule(node, nodeParent = {}) {\n const required = node.required ?? nodeParent.required ?? this.formAttrs.required ?? true;\n\n /** node.placeholder与组件内的提示文字位置不对等 */\n const message = node.attrs?.placeholder || (/(select|picker|radio|upload)/.test((node.is ?? 'Input').toLowerCase()) ? '请选择' : '请输入') + (node.label || '');\n const rules = [{\n required,\n message,\n trigger: ['change', 'blur']\n }].concat((node.rules || []).filter(i => {\n i.pattern && (i.pattern = new RegExp(i.pattern));\n return i;\n }));\n return rules;\n}\n\n/** 动态渲染表单项 */\nfunction setFormItem(h, vModel, child, childAttrs) {\n const {\n layout,\n layoutSize,\n $scopedSlots\n } = this;\n let formItemAttrs = childAttrs ?? {\n key: child.model,\n prop: child.model,\n colon: !(layout == 'inline')\n };\n const slotsName = (childAttrs?.parentModel ?? '') + child.model;\n const {\n label,\n customLabel\n } = child;\n return h(FormModelItem, {\n \"class\": [{\n FormLineVertical: child.size === layoutSize && layout === 'vertical'\n }, {\n FormLine: child.size === layoutSize\n }],\n \"attrs\": {\n ...formItemAttrs\n }\n }, [h(\"template\", {\n \"slot\": \"label\"\n }, [customLabel ? customLabel(vModel) : h(\"span\", [label])]), $scopedSlots[child.model] ? $scopedSlots[child.model](child) : h(_components_RenderComp_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"attrs\": {\n \"component\": child.is,\n ...child.attrs\n },\n \"on\": {\n ...child.event\n },\n \"model\": {\n value: vModel[child.model],\n callback: $$v => {\n this.$set(vModel, child.model, $$v);\n }\n }\n }), $scopedSlots[`${slotsName}Handle`] && $scopedSlots[`${slotsName}Handle`](formItemAttrs)]);\n}\n\n//# sourceURL=webpack://mui/./plugins/lib/form/utils/render.js?");
7466
7466
 
7467
7467
  /***/ }),
7468
7468