web-component-gallery 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form.umd.js +24 -2
- package/dist/index.umd.js +25 -14
- package/lib/form/Model.js +18 -13
- package/lib/form/RenderComp.vue +5 -6
- package/lib/form/style/Model.less +1 -1
- package/lib/index.js +1 -1
- package/lib/lazy_use.js +27 -12
- package/package.json +1 -1
- package/plugins/lib/form/Model.js +18 -13
- package/plugins/lib/form/RenderComp.vue +5 -6
- package/plugins/lib/form/style/Model.less +1 -1
- package/plugins/lib/index.js +1 -1
- package/plugins/lib/lazy_use.js +27 -12
- package/plugins/method/AMap.js +9 -4
- package/plugins/utils/PostMessage.js +1 -2
package/dist/form.umd.js
CHANGED
|
@@ -6934,7 +6934,7 @@ eval("//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareC
|
|
|
6934
6934
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
6935
6935
|
|
|
6936
6936
|
"use strict";
|
|
6937
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/cascader/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'RenderComp',\n model: {\n prop: \"value\",\n event: \"Update:FormModel\"\n },\n components: {\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n Textarea: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].TextArea,\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Cascader: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ARadio: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ARadio.vue */ \"./plugins/lib/form/components/ARadio.vue\")),\n AUpload: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/AUpload.vue */ \"./plugins/lib/form/components/AUpload.vue\")),\n ATagsInput: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ATagsInput.vue */ \"./plugins/lib/form/components/ATagsInput.vue\")),\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n ACascaderMultiple: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ACascaderMultiple.vue */ \"./plugins/lib/form/components/ACascaderMultiple.vue\"))\n },\n props: {\n value: [Number,
|
|
6937
|
+
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/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/cascader/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'RenderComp',\n model: {\n prop: \"value\",\n event: \"Update:FormModel\"\n },\n components: {\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n Textarea: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].TextArea,\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Cascader: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ARadio: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ARadio.vue */ \"./plugins/lib/form/components/ARadio.vue\")),\n AUpload: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/AUpload.vue */ \"./plugins/lib/form/components/AUpload.vue\")),\n ATagsInput: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ATagsInput.vue */ \"./plugins/lib/form/components/ATagsInput.vue\")),\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n ACascaderMultiple: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ACascaderMultiple.vue */ \"./plugins/lib/form/components/ACascaderMultiple.vue\"))\n },\n props: {\n value: [String, Number, Boolean, Object, Array, Symbol],\n component: {\n type: String,\n default: 'Input'\n }\n },\n computed: {\n nodeValue: {\n get() {\n return this.value;\n },\n set(value) {\n console.log(value, '--value');\n this.$emit('Update:FormModel', value);\n }\n }\n },\n mounted() {},\n methods: {\n getPlaceholder() {\n const RegExp = this.component.toLowerCase();\n if (/range/.test(RegExp)) return ['开始时间', '结束时间'];\n return this.$attrs.placeholder ?? /(select|picker|radio|upload)/.test(RegExp) ? \"请选择\" : \"请输入\";\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/RenderComp.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
6938
6938
|
|
|
6939
6939
|
/***/ }),
|
|
6940
6940
|
|
|
@@ -7165,7 +7165,7 @@ eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source cod
|
|
|
7165
7165
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
7166
7166
|
|
|
7167
7167
|
"use strict";
|
|
7168
|
-
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_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _RenderComp_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RenderComp.vue */ \"./plugins/lib/form/RenderComp.vue\");\n\n\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Item;\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 labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\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 for (const k in this.value) {\n
|
|
7168
|
+
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_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _RenderComp_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RenderComp.vue */ \"./plugins/lib/form/RenderComp.vue\");\n/* harmony import */ var _style_Model_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style/Model.less */ \"./plugins/lib/form/style/Model.less\");\n\n\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Item;\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 labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\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 console.log(value, '--value');\n this.$emit('Change:Model', value);\n }\n },\n formAttrs() {\n let attr = {};\n this.layout === 'vertical' ? attr = {\n ...this.$attrs\n } : attr = {\n labelCol: this.labelCol,\n wrapperCol: this.wrapperCol,\n ...this.$attrs\n };\n return attr;\n }\n },\n watch: {\n formSetting() {\n this.setFormRules();\n }\n },\n mounted() {\n this.setFormRules();\n this.$emit('update:refForm', this.$refs.FormModel);\n },\n methods: {\n /** 根据layoutSize来进行距离及大小切分 */\n getFormWidth(child, layoutSize) {\n if (!layoutSize) return `margin-right:24px;`;\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 setModelRender(props) {\n const h = this.$createElement;\n const {\n setFormModelItem,\n getFormWidth,\n layoutSize\n } = this;\n const dynamicModel = this.form[props.model];\n return h(\"div\", {\n \"class\": props.mutiConfig && ['MultipleForm'],\n \"attrs\": {\n ...{\n style: getFormWidth(props, layoutSize)\n }\n }\n }, [/** 处理动态增减表单 */\n dynamicModel instanceof Array && props.multiple ? dynamicModel.map((modelItem, index) => setFormModelItem(props, {\n model: props.model,\n modelItem,\n index\n })) : setFormModelItem(props), this.$scopedSlots[`${props.model}Operate`] && this.$scopedSlots[`${props.model}Operate`](props)]);\n },\n /** 动态渲染表单项 */\n setFormModelItem(props, dynamicModel) {\n const h = this.$createElement;\n const {\n getFormWidth,\n layout,\n layoutSize,\n form,\n $scopedSlots\n } = this;\n const modelComponent = child => {\n const childLayoutSize = child.layoutSize ?? layoutSize;\n let childDefaultAttrs = {\n key: child.model,\n prop: child.model,\n label: child.label,\n colon: !(layout == 'inline')\n };\n child.layoutSize && (childDefaultAttrs = {\n ...childLayoutSize,\n style: getFormWidth(child, childLayoutSize)\n });\n let propsAttr = {};\n let propsCompModel = dynamicModel ? dynamicModel.modelItem : form;\n // [child.model]\n\n dynamicModel && (propsAttr = {\n key: dynamicModel.index,\n prop: `${dynamicModel.model}.${dynamicModel.index}.${child.model}`,\n label: `${child.label}${dynamicModel.index + 1}`\n });\n console.log(propsAttr, propsCompModel);\n return h(FormModelItem, {\n \"class\": [{\n FormLineVertical: child.size === childLayoutSize && layout === 'vertical'\n }, {\n FormLine: child.size === childLayoutSize\n }],\n \"attrs\": {\n ...{\n ...childDefaultAttrs,\n ...propsAttr\n }\n }\n }, [$scopedSlots[child.model] ? $scopedSlots[child.model](child) : h(_RenderComp_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"attrs\": {\n \"component\": child.is,\n ...child.attrs\n },\n \"on\": {\n ...child.event\n },\n \"model\": {\n value: propsCompModel[child.model],\n callback: $$v => {\n this.$set(propsCompModel, child.model, $$v);\n }\n }\n }), $scopedSlots[`${child.model}Handle`] && $scopedSlots[`${child.model}Handle`](child)]);\n };\n return props.mutiConfig ? props.mutiConfig.map(child => modelComponent(child)) : modelComponent(props);\n // {/* 先不支持便捷显示和隐藏 */}\n // {/* !props.hidden && */} \n },\n /** 配置表单项规则 */\n setFormRules() {\n const rules = {};\n this.formSetting.forEach(node => {\n node.filed ? node.filed.forEach(child => this.$set(rules, child.model, this.setAttrs({\n ...node,\n ...child\n }))) : this.$set(rules, node.model, this.setAttrs(node));\n });\n this.formRules = rules;\n },\n /** 动态设置表单属性 */\n setAttrs(node) {\n const required = node.hasOwnProperty('required') ? node.required : node.hasOwnProperty('hidden') ? !node.hidden : true;\n const message = node.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 => i.pattern && (i.pattern = new RegExp(i.pattern))));\n return rules;\n },\n /** 提交测验 */\n formSubmit() {\n return this.$refs.FormModel.validate();\n }\n },\n render() {\n const h = arguments[0];\n const {\n setModelRender,\n layout,\n formSetting,\n formRules,\n formAttrs,\n form\n } = this;\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{\n \"ref\": \"FormModel\",\n \"class\": \"FormModel\"\n }, {\n \"props\": {\n model: form,\n rules: formRules,\n layout,\n ...formAttrs\n }\n }]), [formSetting.map(props => setModelRender(props))]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Model.js?");
|
|
7169
7169
|
|
|
7170
7170
|
/***/ }),
|
|
7171
7171
|
|
|
@@ -7180,6 +7180,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7180
7180
|
|
|
7181
7181
|
/***/ }),
|
|
7182
7182
|
|
|
7183
|
+
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less":
|
|
7184
|
+
/*!************************************************************************************************************************************************!*\
|
|
7185
|
+
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less ***!
|
|
7186
|
+
\************************************************************************************************************************************************/
|
|
7187
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7188
|
+
|
|
7189
|
+
"use strict";
|
|
7190
|
+
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, \".FormModel {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.FormModel .ant-select,\\n.FormModel .ant-input-number,\\n.FormModel .ant-calendar-picker {\\n width: 100% !important;\\n}\\n.FormModel .FormLine {\\n display: flex;\\n}\\n.FormModel .FormLine :deep(.ant-form-item-label) {\\n width: 85px;\\n text-align: right;\\n}\\n.FormModel .FormLine :deep(.ant-form-item-control-wrapper) {\\n width: calc(100% - 85px);\\n}\\n.FormModel .FormLineVertical {\\n display: flex;\\n flex-direction: column;\\n}\\n.FormModel .FormLineVertical :deep(.ant-form-item-label) {\\n text-align: left;\\n width: 100%;\\n}\\n.FormModel .FormLineVertical :deep(.ant-form-item-control-wrapper) {\\n width: 100%;\\n}\\n.FormModel .MultipleForm {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.FormModel .MultipleForm .NoWrapper {\\n width: 100%;\\n margin: unset;\\n padding: unset;\\n}\\n.FormModel :deep(.ant-form-item-children) {\\n display: flex;\\n align-items: center;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/style/Model.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
7191
|
+
|
|
7192
|
+
/***/ }),
|
|
7193
|
+
|
|
7183
7194
|
/***/ "./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[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/form/Search.vue?vue&type=style&index=0&id=97ec3748&lang=less&scoped=true&":
|
|
7184
7195
|
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
7185
7196
|
!*** ./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[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/form/Search.vue?vue&type=style&index=0&id=97ec3748&lang=less&scoped=true& ***!
|
|
@@ -7267,6 +7278,17 @@ eval("var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af
|
|
|
7267
7278
|
|
|
7268
7279
|
/***/ }),
|
|
7269
7280
|
|
|
7281
|
+
/***/ "./plugins/lib/form/style/Model.less":
|
|
7282
|
+
/*!*******************************************!*\
|
|
7283
|
+
!*** ./plugins/lib/form/style/Model.less ***!
|
|
7284
|
+
\*******************************************/
|
|
7285
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
7286
|
+
|
|
7287
|
+
"use strict";
|
|
7288
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/getTarget.js */ \"./node_modules/style-loader/dist/runtime/getTarget.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./Model.less */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less\");\n\n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function(style){\n var target = _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default()(\"head\");\n\n if (!target) {\n throw new Error(\n \"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\"\n );\n }\n\n target.appendChild(style);\n };\noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"], options);\n\n\n\n\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/style/Model.less?");
|
|
7289
|
+
|
|
7290
|
+
/***/ }),
|
|
7291
|
+
|
|
7270
7292
|
/***/ "./node_modules/style-loader/dist/cjs.js!./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[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/form/Search.vue?vue&type=style&index=0&id=97ec3748&lang=less&scoped=true&":
|
|
7271
7293
|
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
7272
7294
|
!*** ./node_modules/style-loader/dist/cjs.js!./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[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/form/Search.vue?vue&type=style&index=0&id=97ec3748&lang=less&scoped=true& ***!
|
package/dist/index.umd.js
CHANGED
|
@@ -7889,7 +7889,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
|
|
|
7889
7889
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
7890
7890
|
|
|
7891
7891
|
"use strict";
|
|
7892
|
-
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/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/cascader/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'RenderComp',\n model: {\n prop: \"value\",\n event: \"Update:FormModel\"\n },\n components: {\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n Textarea: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].TextArea,\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Cascader: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ARadio: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ARadio.vue */ \"./plugins/lib/form/components/ARadio.vue\")),\n AUpload: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/AUpload.vue */ \"./plugins/lib/form/components/AUpload.vue\")),\n ATagsInput: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ATagsInput.vue */ \"./plugins/lib/form/components/ATagsInput.vue\")),\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n ACascaderMultiple: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ACascaderMultiple.vue */ \"./plugins/lib/form/components/ACascaderMultiple.vue\"))\n },\n props: {\n value: [Number,
|
|
7892
|
+
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/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/cascader/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'RenderComp',\n model: {\n prop: \"value\",\n event: \"Update:FormModel\"\n },\n components: {\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n Textarea: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].TextArea,\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Cascader: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ARadio: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ARadio.vue */ \"./plugins/lib/form/components/ARadio.vue\")),\n AUpload: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/AUpload.vue */ \"./plugins/lib/form/components/AUpload.vue\")),\n ATagsInput: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ATagsInput.vue */ \"./plugins/lib/form/components/ATagsInput.vue\")),\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n ACascaderMultiple: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ACascaderMultiple.vue */ \"./plugins/lib/form/components/ACascaderMultiple.vue\"))\n },\n props: {\n value: [String, Number, Boolean, Object, Array, Symbol],\n component: {\n type: String,\n default: 'Input'\n }\n },\n computed: {\n nodeValue: {\n get() {\n return this.value;\n },\n set(value) {\n console.log(value, '--value');\n this.$emit('Update:FormModel', value);\n }\n }\n },\n mounted() {},\n methods: {\n getPlaceholder() {\n const RegExp = this.component.toLowerCase();\n if (/range/.test(RegExp)) return ['开始时间', '结束时间'];\n return this.$attrs.placeholder ?? /(select|picker|radio|upload)/.test(RegExp) ? \"请选择\" : \"请输入\";\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/RenderComp.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
7893
7893
|
|
|
7894
7894
|
/***/ }),
|
|
7895
7895
|
|
|
@@ -8230,7 +8230,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _But
|
|
|
8230
8230
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8231
8231
|
|
|
8232
8232
|
"use strict";
|
|
8233
|
-
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_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _RenderComp_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RenderComp.vue */ \"./plugins/lib/form/RenderComp.vue\");\n\n\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Item;\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 labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\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 for (const k in this.value) {\n
|
|
8233
|
+
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_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var _RenderComp_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RenderComp.vue */ \"./plugins/lib/form/RenderComp.vue\");\n/* harmony import */ var _style_Model_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style/Model.less */ \"./plugins/lib/form/style/Model.less\");\n\n\n\n\nconst FormModelItem = ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Item;\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 labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\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 console.log(value, '--value');\n this.$emit('Change:Model', value);\n }\n },\n formAttrs() {\n let attr = {};\n this.layout === 'vertical' ? attr = {\n ...this.$attrs\n } : attr = {\n labelCol: this.labelCol,\n wrapperCol: this.wrapperCol,\n ...this.$attrs\n };\n return attr;\n }\n },\n watch: {\n formSetting() {\n this.setFormRules();\n }\n },\n mounted() {\n this.setFormRules();\n this.$emit('update:refForm', this.$refs.FormModel);\n },\n methods: {\n /** 根据layoutSize来进行距离及大小切分 */\n getFormWidth(child, layoutSize) {\n if (!layoutSize) return `margin-right:24px;`;\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 setModelRender(props) {\n const h = this.$createElement;\n const {\n setFormModelItem,\n getFormWidth,\n layoutSize\n } = this;\n const dynamicModel = this.form[props.model];\n return h(\"div\", {\n \"class\": props.mutiConfig && ['MultipleForm'],\n \"attrs\": {\n ...{\n style: getFormWidth(props, layoutSize)\n }\n }\n }, [/** 处理动态增减表单 */\n dynamicModel instanceof Array && props.multiple ? dynamicModel.map((modelItem, index) => setFormModelItem(props, {\n model: props.model,\n modelItem,\n index\n })) : setFormModelItem(props), this.$scopedSlots[`${props.model}Operate`] && this.$scopedSlots[`${props.model}Operate`](props)]);\n },\n /** 动态渲染表单项 */\n setFormModelItem(props, dynamicModel) {\n const h = this.$createElement;\n const {\n getFormWidth,\n layout,\n layoutSize,\n form,\n $scopedSlots\n } = this;\n const modelComponent = child => {\n const childLayoutSize = child.layoutSize ?? layoutSize;\n let childDefaultAttrs = {\n key: child.model,\n prop: child.model,\n label: child.label,\n colon: !(layout == 'inline')\n };\n child.layoutSize && (childDefaultAttrs = {\n ...childLayoutSize,\n style: getFormWidth(child, childLayoutSize)\n });\n let propsAttr = {};\n let propsCompModel = dynamicModel ? dynamicModel.modelItem : form;\n // [child.model]\n\n dynamicModel && (propsAttr = {\n key: dynamicModel.index,\n prop: `${dynamicModel.model}.${dynamicModel.index}.${child.model}`,\n label: `${child.label}${dynamicModel.index + 1}`\n });\n console.log(propsAttr, propsCompModel);\n return h(FormModelItem, {\n \"class\": [{\n FormLineVertical: child.size === childLayoutSize && layout === 'vertical'\n }, {\n FormLine: child.size === childLayoutSize\n }],\n \"attrs\": {\n ...{\n ...childDefaultAttrs,\n ...propsAttr\n }\n }\n }, [$scopedSlots[child.model] ? $scopedSlots[child.model](child) : h(_RenderComp_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"attrs\": {\n \"component\": child.is,\n ...child.attrs\n },\n \"on\": {\n ...child.event\n },\n \"model\": {\n value: propsCompModel[child.model],\n callback: $$v => {\n this.$set(propsCompModel, child.model, $$v);\n }\n }\n }), $scopedSlots[`${child.model}Handle`] && $scopedSlots[`${child.model}Handle`](child)]);\n };\n return props.mutiConfig ? props.mutiConfig.map(child => modelComponent(child)) : modelComponent(props);\n // {/* 先不支持便捷显示和隐藏 */}\n // {/* !props.hidden && */} \n },\n /** 配置表单项规则 */\n setFormRules() {\n const rules = {};\n this.formSetting.forEach(node => {\n node.filed ? node.filed.forEach(child => this.$set(rules, child.model, this.setAttrs({\n ...node,\n ...child\n }))) : this.$set(rules, node.model, this.setAttrs(node));\n });\n this.formRules = rules;\n },\n /** 动态设置表单属性 */\n setAttrs(node) {\n const required = node.hasOwnProperty('required') ? node.required : node.hasOwnProperty('hidden') ? !node.hidden : true;\n const message = node.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 => i.pattern && (i.pattern = new RegExp(i.pattern))));\n return rules;\n },\n /** 提交测验 */\n formSubmit() {\n return this.$refs.FormModel.validate();\n }\n },\n render() {\n const h = arguments[0];\n const {\n setModelRender,\n layout,\n formSetting,\n formRules,\n formAttrs,\n form\n } = this;\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _vue_babel_helper_vue_jsx_merge_props__WEBPACK_IMPORTED_MODULE_0___default()([{\n \"ref\": \"FormModel\",\n \"class\": \"FormModel\"\n }, {\n \"props\": {\n model: form,\n rules: formRules,\n layout,\n ...formAttrs\n }\n }]), [formSetting.map(props => setModelRender(props))]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Model.js?");
|
|
8234
8234
|
|
|
8235
8235
|
/***/ }),
|
|
8236
8236
|
|
|
@@ -8252,18 +8252,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8252
8252
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8253
8253
|
|
|
8254
8254
|
"use strict";
|
|
8255
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Avatar: function() { return /* reexport safe */
|
|
8256
|
-
|
|
8257
|
-
/***/ }),
|
|
8258
|
-
|
|
8259
|
-
/***/ "./plugins/lib/lazy_use.js":
|
|
8260
|
-
/*!*********************************!*\
|
|
8261
|
-
!*** ./plugins/lib/lazy_use.js ***!
|
|
8262
|
-
\*********************************/
|
|
8263
|
-
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8264
|
-
|
|
8265
|
-
"use strict";
|
|
8266
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/select/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/cascader/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/modal/index.js\");\n\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(ant_design_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\n\n//# sourceURL=webpack://mui/./plugins/lib/lazy_use.js?");
|
|
8255
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Avatar: function() { return /* reexport safe */ _avatar__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; },\n/* harmony export */ Button: function() { return /* reexport safe */ _button__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; },\n/* harmony export */ Directory: function() { return /* reexport safe */ _tree__WEBPACK_IMPORTED_MODULE_5__.Directory; },\n/* harmony export */ FormComp: function() { return /* reexport safe */ _form__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; },\n/* harmony export */ Model: function() { return /* reexport safe */ _form__WEBPACK_IMPORTED_MODULE_1__.Model; },\n/* harmony export */ Search: function() { return /* reexport safe */ _form__WEBPACK_IMPORTED_MODULE_1__.Search; },\n/* harmony export */ SvgIcon: function() { return /* reexport safe */ _svgIcon__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; },\n/* harmony export */ Table: function() { return /* reexport safe */ _table__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; },\n/* harmony export */ Tree: function() { return /* reexport safe */ _tree__WEBPACK_IMPORTED_MODULE_5__.Tree; }\n/* harmony export */ });\n/* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./table */ \"./plugins/lib/table/index.js\");\n/* harmony import */ var _form__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form */ \"./plugins/lib/form/index.js\");\n/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./button */ \"./plugins/lib/button/index.js\");\n/* harmony import */ var _avatar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./avatar */ \"./plugins/lib/avatar/index.js\");\n/* harmony import */ var _svgIcon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./svgIcon */ \"./plugins/lib/svgIcon/index.js\");\n/* harmony import */ var _tree__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./tree */ \"./plugins/lib/tree/index.js\");\n// 按需引入ant-design-vue必要指令组件\n// import './lazy_use'\n\n// 将组件库中定义的所有组件引入并导出\n\n\n\n\n\n\nconst components = {\n Table: _table__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n Model: _form__WEBPACK_IMPORTED_MODULE_1__.Model,\n Search: _form__WEBPACK_IMPORTED_MODULE_1__.Search,\n FormComp: _form__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Button: _button__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Avatar: _avatar__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n SvgIcon: _svgIcon__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Tree: _tree__WEBPACK_IMPORTED_MODULE_5__.Tree,\n Directory: _tree__WEBPACK_IMPORTED_MODULE_5__.Directory\n};\nconst install = function (Vue) {\n if (install.installed) return;\n Object.keys(components).forEach(component => {\n Vue.component(components[component].name, components[component]);\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n install,\n ...components\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/index.js?");
|
|
8267
8256
|
|
|
8268
8257
|
/***/ }),
|
|
8269
8258
|
|
|
@@ -8322,6 +8311,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8322
8311
|
|
|
8323
8312
|
/***/ }),
|
|
8324
8313
|
|
|
8314
|
+
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less":
|
|
8315
|
+
/*!************************************************************************************************************************************************!*\
|
|
8316
|
+
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less ***!
|
|
8317
|
+
\************************************************************************************************************************************************/
|
|
8318
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
8319
|
+
|
|
8320
|
+
"use strict";
|
|
8321
|
+
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, \".FormModel {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.FormModel .ant-select,\\n.FormModel .ant-input-number,\\n.FormModel .ant-calendar-picker {\\n width: 100% !important;\\n}\\n.FormModel .FormLine {\\n display: flex;\\n}\\n.FormModel .FormLine :deep(.ant-form-item-label) {\\n width: 85px;\\n text-align: right;\\n}\\n.FormModel .FormLine :deep(.ant-form-item-control-wrapper) {\\n width: calc(100% - 85px);\\n}\\n.FormModel .FormLineVertical {\\n display: flex;\\n flex-direction: column;\\n}\\n.FormModel .FormLineVertical :deep(.ant-form-item-label) {\\n text-align: left;\\n width: 100%;\\n}\\n.FormModel .FormLineVertical :deep(.ant-form-item-control-wrapper) {\\n width: 100%;\\n}\\n.FormModel .MultipleForm {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.FormModel .MultipleForm .NoWrapper {\\n width: 100%;\\n margin: unset;\\n padding: unset;\\n}\\n.FormModel :deep(.ant-form-item-children) {\\n display: flex;\\n align-items: center;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/style/Model.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
8322
|
+
|
|
8323
|
+
/***/ }),
|
|
8324
|
+
|
|
8325
8325
|
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/tree/style/Directory.less":
|
|
8326
8326
|
/*!****************************************************************************************************************************************************!*\
|
|
8327
8327
|
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/tree/style/Directory.less ***!
|
|
@@ -8453,6 +8453,17 @@ eval("var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af
|
|
|
8453
8453
|
|
|
8454
8454
|
/***/ }),
|
|
8455
8455
|
|
|
8456
|
+
/***/ "./plugins/lib/form/style/Model.less":
|
|
8457
|
+
/*!*******************************************!*\
|
|
8458
|
+
!*** ./plugins/lib/form/style/Model.less ***!
|
|
8459
|
+
\*******************************************/
|
|
8460
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8461
|
+
|
|
8462
|
+
"use strict";
|
|
8463
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/getTarget.js */ \"./node_modules/style-loader/dist/runtime/getTarget.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./Model.less */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less\");\n\n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function(style){\n var target = _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default()(\"head\");\n\n if (!target) {\n throw new Error(\n \"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\"\n );\n }\n\n target.appendChild(style);\n };\noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"], options);\n\n\n\n\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_less_loader_dist_cjs_js_clonedRuleSet_2_use_2_Model_less__WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/form/style/Model.less?");
|
|
8464
|
+
|
|
8465
|
+
/***/ }),
|
|
8466
|
+
|
|
8456
8467
|
/***/ "./plugins/lib/tree/style/Directory.less":
|
|
8457
8468
|
/*!***********************************************!*\
|
|
8458
8469
|
!*** ./plugins/lib/tree/style/Directory.less ***!
|
package/lib/form/Model.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { h } from 'vue'
|
|
2
2
|
import { FormModel } from 'ant-design-vue'
|
|
3
|
-
|
|
4
3
|
import RenderComp from './RenderComp.vue'
|
|
5
4
|
|
|
6
5
|
const FormModelItem = FormModel.Item
|
|
7
6
|
|
|
7
|
+
import './style/Model.less'
|
|
8
|
+
|
|
8
9
|
export default {
|
|
9
10
|
name: 'Model',
|
|
10
11
|
model: {
|
|
@@ -42,9 +43,10 @@ export default {
|
|
|
42
43
|
computed: {
|
|
43
44
|
form: {
|
|
44
45
|
get() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
/** 忘记是什么场景下需要校验了,后续需发现补上 */
|
|
47
|
+
// for (const k in this.value) {
|
|
48
|
+
// Object.hasOwnProperty.call(this.formRules, k) && this.$refs.FormModel.validateField(k)
|
|
49
|
+
// }
|
|
48
50
|
return this.value
|
|
49
51
|
},
|
|
50
52
|
set(value) {
|
|
@@ -85,14 +87,13 @@ export default {
|
|
|
85
87
|
},
|
|
86
88
|
/** 包含单表单项,多表单项,动态增减表单项合并处理 */
|
|
87
89
|
setModelRender(props) {
|
|
88
|
-
const { setFormModelItem } = this
|
|
90
|
+
const { setFormModelItem, getFormWidth, layoutSize } = this
|
|
89
91
|
const dynamicModel = this.form[props.model]
|
|
90
|
-
|
|
91
92
|
return (
|
|
92
|
-
<div>
|
|
93
|
+
<div class={props.mutiConfig && ['MultipleForm']} {...{ attrs: { style: getFormWidth(props, layoutSize) } }}>
|
|
93
94
|
{
|
|
94
95
|
/** 处理动态增减表单 */
|
|
95
|
-
dynamicModel instanceof Array ?
|
|
96
|
+
dynamicModel instanceof Array && props.multiple ?
|
|
96
97
|
dynamicModel.map( (modelItem, index) => setFormModelItem(props, { model: props.model, modelItem, index } ) ) :
|
|
97
98
|
setFormModelItem(props)
|
|
98
99
|
}
|
|
@@ -111,13 +112,16 @@ export default {
|
|
|
111
112
|
|
|
112
113
|
const childLayoutSize = child.layoutSize ?? layoutSize
|
|
113
114
|
|
|
114
|
-
|
|
115
|
+
let childDefaultAttrs = {
|
|
115
116
|
key: child.model,
|
|
116
117
|
prop: child.model,
|
|
117
118
|
label: child.label,
|
|
118
|
-
colon: !(layout == 'inline')
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
colon: !(layout == 'inline')
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
child.layoutSize && ( childDefaultAttrs = {
|
|
123
|
+
...childLayoutSize,
|
|
124
|
+
style: getFormWidth(child, childLayoutSize) } )
|
|
121
125
|
|
|
122
126
|
let propsAttr = {}
|
|
123
127
|
|
|
@@ -162,7 +166,7 @@ export default {
|
|
|
162
166
|
props.mutiConfig.map(child => modelComponent(child)) :
|
|
163
167
|
modelComponent(props)
|
|
164
168
|
// {/* 先不支持便捷显示和隐藏 */}
|
|
165
|
-
// {/* !props.hidden && */}
|
|
169
|
+
// {/* !props.hidden && */}
|
|
166
170
|
},
|
|
167
171
|
/** 配置表单项规则 */
|
|
168
172
|
setFormRules() {
|
|
@@ -207,6 +211,7 @@ export default {
|
|
|
207
211
|
return (
|
|
208
212
|
<FormModel
|
|
209
213
|
ref="FormModel"
|
|
214
|
+
class="FormModel"
|
|
210
215
|
props={{
|
|
211
216
|
model: form,
|
|
212
217
|
rules: formRules,
|
package/lib/form/RenderComp.vue
CHANGED
|
@@ -24,24 +24,23 @@ export default {
|
|
|
24
24
|
ATagsInput: () => import('./components/ATagsInput.vue'),
|
|
25
25
|
ASelectCustom: () => import('./components/ASelectCustom.vue'),
|
|
26
26
|
ACascaderMultiple: () => import('./components/ACascaderMultiple.vue')
|
|
27
|
-
},
|
|
27
|
+
},
|
|
28
28
|
props: {
|
|
29
|
-
value: [Number,
|
|
29
|
+
value: [String, Number, Boolean, Object, Array, Symbol],
|
|
30
30
|
component: {
|
|
31
31
|
type: String,
|
|
32
32
|
default: 'Input'
|
|
33
33
|
}
|
|
34
|
-
},
|
|
34
|
+
},
|
|
35
35
|
computed: {
|
|
36
36
|
nodeValue: {
|
|
37
|
-
get () {
|
|
38
|
-
console.log( this.value, 'value' )
|
|
37
|
+
get () {
|
|
39
38
|
return this.value
|
|
40
39
|
},
|
|
41
40
|
set ( value ) {
|
|
42
41
|
console.log( value, '--value' )
|
|
43
42
|
this.$emit('Update:FormModel', value)
|
|
44
|
-
}
|
|
43
|
+
}
|
|
45
44
|
}
|
|
46
45
|
},
|
|
47
46
|
mounted() {
|
package/lib/index.js
CHANGED
package/lib/lazy_use.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Vue from 'vue'
|
|
2
1
|
|
|
3
2
|
import {
|
|
4
3
|
Input,
|
|
@@ -10,16 +9,32 @@ import {
|
|
|
10
9
|
Radio,
|
|
11
10
|
Select,
|
|
12
11
|
Upload,
|
|
13
|
-
Modal
|
|
12
|
+
Modal,
|
|
13
|
+
message,
|
|
14
|
+
notification
|
|
14
15
|
} from 'ant-design-vue'
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Vue
|
|
19
|
-
|
|
20
|
-
Vue.use(
|
|
21
|
-
Vue.use(
|
|
22
|
-
Vue.use(
|
|
23
|
-
Vue.use(
|
|
24
|
-
Vue.use(
|
|
25
|
-
Vue.use(
|
|
17
|
+
/** 按需加载antDesignVue */
|
|
18
|
+
export default {
|
|
19
|
+
install(Vue) {
|
|
20
|
+
|
|
21
|
+
Vue.use(Input)
|
|
22
|
+
Vue.use(InputNumber)
|
|
23
|
+
Vue.use(Radio)
|
|
24
|
+
Vue.use(Checkbox)
|
|
25
|
+
Vue.use(Select)
|
|
26
|
+
Vue.use(DatePicker)
|
|
27
|
+
Vue.use(TimePicker)
|
|
28
|
+
Vue.use(Upload)
|
|
29
|
+
Vue.use(Cascader)
|
|
30
|
+
Vue.use(Modal)
|
|
31
|
+
|
|
32
|
+
Vue.prototype.$confirm = Modal.confirm
|
|
33
|
+
Vue.prototype.$message = message
|
|
34
|
+
Vue.prototype.$notification = notification
|
|
35
|
+
Vue.prototype.$info = Modal.info
|
|
36
|
+
Vue.prototype.$success = Modal.success
|
|
37
|
+
Vue.prototype.$error = Modal.error
|
|
38
|
+
Vue.prototype.$warning = Modal.warning
|
|
39
|
+
}
|
|
40
|
+
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { h } from 'vue'
|
|
2
2
|
import { FormModel } from 'ant-design-vue'
|
|
3
|
-
|
|
4
3
|
import RenderComp from './RenderComp.vue'
|
|
5
4
|
|
|
6
5
|
const FormModelItem = FormModel.Item
|
|
7
6
|
|
|
7
|
+
import './style/Model.less'
|
|
8
|
+
|
|
8
9
|
export default {
|
|
9
10
|
name: 'Model',
|
|
10
11
|
model: {
|
|
@@ -42,9 +43,10 @@ export default {
|
|
|
42
43
|
computed: {
|
|
43
44
|
form: {
|
|
44
45
|
get() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
/** 忘记是什么场景下需要校验了,后续需发现补上 */
|
|
47
|
+
// for (const k in this.value) {
|
|
48
|
+
// Object.hasOwnProperty.call(this.formRules, k) && this.$refs.FormModel.validateField(k)
|
|
49
|
+
// }
|
|
48
50
|
return this.value
|
|
49
51
|
},
|
|
50
52
|
set(value) {
|
|
@@ -85,14 +87,13 @@ export default {
|
|
|
85
87
|
},
|
|
86
88
|
/** 包含单表单项,多表单项,动态增减表单项合并处理 */
|
|
87
89
|
setModelRender(props) {
|
|
88
|
-
const { setFormModelItem } = this
|
|
90
|
+
const { setFormModelItem, getFormWidth, layoutSize } = this
|
|
89
91
|
const dynamicModel = this.form[props.model]
|
|
90
|
-
|
|
91
92
|
return (
|
|
92
|
-
<div>
|
|
93
|
+
<div class={props.mutiConfig && ['MultipleForm']} {...{ attrs: { style: getFormWidth(props, layoutSize) } }}>
|
|
93
94
|
{
|
|
94
95
|
/** 处理动态增减表单 */
|
|
95
|
-
dynamicModel instanceof Array ?
|
|
96
|
+
dynamicModel instanceof Array && props.multiple ?
|
|
96
97
|
dynamicModel.map( (modelItem, index) => setFormModelItem(props, { model: props.model, modelItem, index } ) ) :
|
|
97
98
|
setFormModelItem(props)
|
|
98
99
|
}
|
|
@@ -111,13 +112,16 @@ export default {
|
|
|
111
112
|
|
|
112
113
|
const childLayoutSize = child.layoutSize ?? layoutSize
|
|
113
114
|
|
|
114
|
-
|
|
115
|
+
let childDefaultAttrs = {
|
|
115
116
|
key: child.model,
|
|
116
117
|
prop: child.model,
|
|
117
118
|
label: child.label,
|
|
118
|
-
colon: !(layout == 'inline')
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
colon: !(layout == 'inline')
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
child.layoutSize && ( childDefaultAttrs = {
|
|
123
|
+
...childLayoutSize,
|
|
124
|
+
style: getFormWidth(child, childLayoutSize) } )
|
|
121
125
|
|
|
122
126
|
let propsAttr = {}
|
|
123
127
|
|
|
@@ -162,7 +166,7 @@ export default {
|
|
|
162
166
|
props.mutiConfig.map(child => modelComponent(child)) :
|
|
163
167
|
modelComponent(props)
|
|
164
168
|
// {/* 先不支持便捷显示和隐藏 */}
|
|
165
|
-
// {/* !props.hidden && */}
|
|
169
|
+
// {/* !props.hidden && */}
|
|
166
170
|
},
|
|
167
171
|
/** 配置表单项规则 */
|
|
168
172
|
setFormRules() {
|
|
@@ -207,6 +211,7 @@ export default {
|
|
|
207
211
|
return (
|
|
208
212
|
<FormModel
|
|
209
213
|
ref="FormModel"
|
|
214
|
+
class="FormModel"
|
|
210
215
|
props={{
|
|
211
216
|
model: form,
|
|
212
217
|
rules: formRules,
|
|
@@ -24,24 +24,23 @@ export default {
|
|
|
24
24
|
ATagsInput: () => import('./components/ATagsInput.vue'),
|
|
25
25
|
ASelectCustom: () => import('./components/ASelectCustom.vue'),
|
|
26
26
|
ACascaderMultiple: () => import('./components/ACascaderMultiple.vue')
|
|
27
|
-
},
|
|
27
|
+
},
|
|
28
28
|
props: {
|
|
29
|
-
value: [Number,
|
|
29
|
+
value: [String, Number, Boolean, Object, Array, Symbol],
|
|
30
30
|
component: {
|
|
31
31
|
type: String,
|
|
32
32
|
default: 'Input'
|
|
33
33
|
}
|
|
34
|
-
},
|
|
34
|
+
},
|
|
35
35
|
computed: {
|
|
36
36
|
nodeValue: {
|
|
37
|
-
get () {
|
|
38
|
-
console.log( this.value, 'value' )
|
|
37
|
+
get () {
|
|
39
38
|
return this.value
|
|
40
39
|
},
|
|
41
40
|
set ( value ) {
|
|
42
41
|
console.log( value, '--value' )
|
|
43
42
|
this.$emit('Update:FormModel', value)
|
|
44
|
-
}
|
|
43
|
+
}
|
|
45
44
|
}
|
|
46
45
|
},
|
|
47
46
|
mounted() {
|
package/plugins/lib/index.js
CHANGED
package/plugins/lib/lazy_use.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Vue from 'vue'
|
|
2
1
|
|
|
3
2
|
import {
|
|
4
3
|
Input,
|
|
@@ -10,16 +9,32 @@ import {
|
|
|
10
9
|
Radio,
|
|
11
10
|
Select,
|
|
12
11
|
Upload,
|
|
13
|
-
Modal
|
|
12
|
+
Modal,
|
|
13
|
+
message,
|
|
14
|
+
notification
|
|
14
15
|
} from 'ant-design-vue'
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Vue
|
|
19
|
-
|
|
20
|
-
Vue.use(
|
|
21
|
-
Vue.use(
|
|
22
|
-
Vue.use(
|
|
23
|
-
Vue.use(
|
|
24
|
-
Vue.use(
|
|
25
|
-
Vue.use(
|
|
17
|
+
/** 按需加载antDesignVue */
|
|
18
|
+
export default {
|
|
19
|
+
install(Vue) {
|
|
20
|
+
|
|
21
|
+
Vue.use(Input)
|
|
22
|
+
Vue.use(InputNumber)
|
|
23
|
+
Vue.use(Radio)
|
|
24
|
+
Vue.use(Checkbox)
|
|
25
|
+
Vue.use(Select)
|
|
26
|
+
Vue.use(DatePicker)
|
|
27
|
+
Vue.use(TimePicker)
|
|
28
|
+
Vue.use(Upload)
|
|
29
|
+
Vue.use(Cascader)
|
|
30
|
+
Vue.use(Modal)
|
|
31
|
+
|
|
32
|
+
Vue.prototype.$confirm = Modal.confirm
|
|
33
|
+
Vue.prototype.$message = message
|
|
34
|
+
Vue.prototype.$notification = notification
|
|
35
|
+
Vue.prototype.$info = Modal.info
|
|
36
|
+
Vue.prototype.$success = Modal.success
|
|
37
|
+
Vue.prototype.$error = Modal.error
|
|
38
|
+
Vue.prototype.$warning = Modal.warning
|
|
39
|
+
}
|
|
40
|
+
}
|
package/plugins/method/AMap.js
CHANGED
|
@@ -42,6 +42,7 @@ export default {
|
|
|
42
42
|
|
|
43
43
|
/** 常用覆盖物 */
|
|
44
44
|
Vue.prototype.$amapLayers = {
|
|
45
|
+
setIcon,
|
|
45
46
|
setMarker,
|
|
46
47
|
setInfoWindow,
|
|
47
48
|
// setPolygon
|
|
@@ -64,19 +65,23 @@ export default {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
// 常用覆盖物形式方法
|
|
67
|
-
/**
|
|
68
|
-
function
|
|
68
|
+
/** 生成ICON */
|
|
69
|
+
function setIcon(IconUrl) {
|
|
69
70
|
let image = new Image()
|
|
70
71
|
image.src = IconUrl
|
|
71
72
|
const size = new AMap.Size( image.width, image.height )
|
|
72
|
-
|
|
73
|
+
return new AMap.Icon({
|
|
73
74
|
size,
|
|
74
75
|
image: IconUrl,
|
|
75
76
|
imageSize: size,
|
|
76
77
|
imageOffset: new AMap.Pixel( 0,0 )
|
|
77
78
|
})
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** 地图标点 */
|
|
82
|
+
function setMarker(IconUrl, MarkerOptions) {
|
|
78
83
|
return new AMap.Marker({
|
|
79
|
-
icon,
|
|
84
|
+
icon: setIcon(IconUrl),
|
|
80
85
|
offset: new AMap.Pixel(0, 0),
|
|
81
86
|
anchor: 'bottom-center',
|
|
82
87
|
...MarkerOptions
|