element-ui-pro-components-test 1.5.0
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/CHANGELOG.md +0 -0
- package/LICENSE +21 -0
- package/README.md +0 -0
- package/lib/dialog-form.js +1175 -0
- package/lib/editable-pro-table.js +2080 -0
- package/lib/element-ui-pro-components.common.js +193 -0
- package/lib/index.js +1 -0
- package/lib/locale/index.js +44 -0
- package/lib/locale/lang/en.js +46 -0
- package/lib/locale/lang/zh-CN.js +46 -0
- package/lib/pro-form.js +1036 -0
- package/lib/pro-table.js +2779 -0
- package/lib/theme-chalk/editable-pro-table.css +1 -0
- package/lib/theme-chalk/index.css +1 -0
- package/lib/theme-chalk/pro-table.css +1 -0
- package/lib/umd/locale/en.js +67 -0
- package/lib/umd/locale/zh-CN.js +67 -0
- package/lib/utils/breakpoints.js +68 -0
- package/lib/utils/debounce.js +20 -0
- package/lib/utils/form.js +108 -0
- package/package.json +78 -0
- package/packages/dialog-form/index.js +9 -0
- package/packages/dialog-form/src/components/Submitter.vue +47 -0
- package/packages/dialog-form/src/index.vue +404 -0
- package/packages/editable-pro-table/index.js +9 -0
- package/packages/editable-pro-table/src/components/Editable.vue +203 -0
- package/packages/editable-pro-table/src/components/FormItem.vue +193 -0
- package/packages/editable-pro-table/src/components/RecordCreator.vue +43 -0
- package/packages/editable-pro-table/src/components/RenderCell.vue +181 -0
- package/packages/editable-pro-table/src/index.vue +805 -0
- package/packages/pro-form/index.js +9 -0
- package/packages/pro-form/src/components/Submitter.vue +47 -0
- package/packages/pro-form/src/index.vue +309 -0
- package/packages/pro-table/index.js +9 -0
- package/packages/pro-table/src/components/ColumnAlignSettings.vue +77 -0
- package/packages/pro-table/src/components/ColumnSettings.vue +172 -0
- package/packages/pro-table/src/components/ColumnSettingsItem.vue +401 -0
- package/packages/pro-table/src/components/svg/ArrowIcon.vue +16 -0
- package/packages/pro-table/src/components/svg/HolderIcon.vue +17 -0
- package/packages/pro-table/src/components/svg/SettingIcon.vue +20 -0
- package/packages/pro-table/src/components/svg/VerticalAlginBottomIcon.vue +17 -0
- package/packages/pro-table/src/components/svg/VerticalAlginMiddleIcon.vue +17 -0
- package/packages/pro-table/src/components/svg/VerticalAlignTopIcon.vue +17 -0
- package/packages/pro-table/src/index.vue +934 -0
- package/src/components/custom-render/index.vue +16 -0
- package/src/components/pro-form-item/index.vue +129 -0
- package/src/index.js +57 -0
- package/src/locale/index.js +47 -0
- package/src/locale/lang/en.js +46 -0
- package/src/locale/lang/zh-CN.js +46 -0
- package/src/utils/breakpoints.js +61 -0
- package/src/utils/debounce.js +22 -0
- package/src/utils/form.js +94 -0
|
@@ -0,0 +1,1175 @@
|
|
|
1
|
+
module.exports =
|
|
2
|
+
/******/ (function(modules) { // webpackBootstrap
|
|
3
|
+
/******/ // The module cache
|
|
4
|
+
/******/ var installedModules = {};
|
|
5
|
+
/******/
|
|
6
|
+
/******/ // The require function
|
|
7
|
+
/******/ function __webpack_require__(moduleId) {
|
|
8
|
+
/******/
|
|
9
|
+
/******/ // Check if module is in cache
|
|
10
|
+
/******/ if(installedModules[moduleId]) {
|
|
11
|
+
/******/ return installedModules[moduleId].exports;
|
|
12
|
+
/******/ }
|
|
13
|
+
/******/ // Create a new module (and put it into the cache)
|
|
14
|
+
/******/ var module = installedModules[moduleId] = {
|
|
15
|
+
/******/ i: moduleId,
|
|
16
|
+
/******/ l: false,
|
|
17
|
+
/******/ exports: {}
|
|
18
|
+
/******/ };
|
|
19
|
+
/******/
|
|
20
|
+
/******/ // Execute the module function
|
|
21
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
22
|
+
/******/
|
|
23
|
+
/******/ // Flag the module as loaded
|
|
24
|
+
/******/ module.l = true;
|
|
25
|
+
/******/
|
|
26
|
+
/******/ // Return the exports of the module
|
|
27
|
+
/******/ return module.exports;
|
|
28
|
+
/******/ }
|
|
29
|
+
/******/
|
|
30
|
+
/******/
|
|
31
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
32
|
+
/******/ __webpack_require__.m = modules;
|
|
33
|
+
/******/
|
|
34
|
+
/******/ // expose the module cache
|
|
35
|
+
/******/ __webpack_require__.c = installedModules;
|
|
36
|
+
/******/
|
|
37
|
+
/******/ // define getter function for harmony exports
|
|
38
|
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
39
|
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
40
|
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
41
|
+
/******/ }
|
|
42
|
+
/******/ };
|
|
43
|
+
/******/
|
|
44
|
+
/******/ // define __esModule on exports
|
|
45
|
+
/******/ __webpack_require__.r = function(exports) {
|
|
46
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
47
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
48
|
+
/******/ }
|
|
49
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
50
|
+
/******/ };
|
|
51
|
+
/******/
|
|
52
|
+
/******/ // create a fake namespace object
|
|
53
|
+
/******/ // mode & 1: value is a module id, require it
|
|
54
|
+
/******/ // mode & 2: merge all properties of value into the ns
|
|
55
|
+
/******/ // mode & 4: return value when already ns object
|
|
56
|
+
/******/ // mode & 8|1: behave like require
|
|
57
|
+
/******/ __webpack_require__.t = function(value, mode) {
|
|
58
|
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
59
|
+
/******/ if(mode & 8) return value;
|
|
60
|
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
61
|
+
/******/ var ns = Object.create(null);
|
|
62
|
+
/******/ __webpack_require__.r(ns);
|
|
63
|
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
64
|
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
65
|
+
/******/ return ns;
|
|
66
|
+
/******/ };
|
|
67
|
+
/******/
|
|
68
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
69
|
+
/******/ __webpack_require__.n = function(module) {
|
|
70
|
+
/******/ var getter = module && module.__esModule ?
|
|
71
|
+
/******/ function getDefault() { return module['default']; } :
|
|
72
|
+
/******/ function getModuleExports() { return module; };
|
|
73
|
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
74
|
+
/******/ return getter;
|
|
75
|
+
/******/ };
|
|
76
|
+
/******/
|
|
77
|
+
/******/ // Object.prototype.hasOwnProperty.call
|
|
78
|
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
79
|
+
/******/
|
|
80
|
+
/******/ // __webpack_public_path__
|
|
81
|
+
/******/ __webpack_require__.p = "";
|
|
82
|
+
/******/
|
|
83
|
+
/******/
|
|
84
|
+
/******/ // Load entry module and return exports
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 12);
|
|
86
|
+
/******/ })
|
|
87
|
+
/************************************************************************/
|
|
88
|
+
/******/ ([
|
|
89
|
+
/* 0 */
|
|
90
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
91
|
+
|
|
92
|
+
"use strict";
|
|
93
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
|
|
94
|
+
/* globals __VUE_SSR_CONTEXT__ */
|
|
95
|
+
|
|
96
|
+
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
97
|
+
// This module is a runtime utility for cleaner component module output and will
|
|
98
|
+
// be included in the final webpack user bundle.
|
|
99
|
+
|
|
100
|
+
function normalizeComponent(
|
|
101
|
+
scriptExports,
|
|
102
|
+
render,
|
|
103
|
+
staticRenderFns,
|
|
104
|
+
functionalTemplate,
|
|
105
|
+
injectStyles,
|
|
106
|
+
scopeId,
|
|
107
|
+
moduleIdentifier /* server only */,
|
|
108
|
+
shadowMode /* vue-cli only */
|
|
109
|
+
) {
|
|
110
|
+
// Vue.extend constructor export interop
|
|
111
|
+
var options =
|
|
112
|
+
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
113
|
+
|
|
114
|
+
// render functions
|
|
115
|
+
if (render) {
|
|
116
|
+
options.render = render
|
|
117
|
+
options.staticRenderFns = staticRenderFns
|
|
118
|
+
options._compiled = true
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// functional template
|
|
122
|
+
if (functionalTemplate) {
|
|
123
|
+
options.functional = true
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// scopedId
|
|
127
|
+
if (scopeId) {
|
|
128
|
+
options._scopeId = 'data-v-' + scopeId
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
var hook
|
|
132
|
+
if (moduleIdentifier) {
|
|
133
|
+
// server build
|
|
134
|
+
hook = function (context) {
|
|
135
|
+
// 2.3 injection
|
|
136
|
+
context =
|
|
137
|
+
context || // cached call
|
|
138
|
+
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
139
|
+
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
140
|
+
// 2.2 with runInNewContext: true
|
|
141
|
+
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
142
|
+
context = __VUE_SSR_CONTEXT__
|
|
143
|
+
}
|
|
144
|
+
// inject component styles
|
|
145
|
+
if (injectStyles) {
|
|
146
|
+
injectStyles.call(this, context)
|
|
147
|
+
}
|
|
148
|
+
// register component module identifier for async chunk inferrence
|
|
149
|
+
if (context && context._registeredComponents) {
|
|
150
|
+
context._registeredComponents.add(moduleIdentifier)
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// used by ssr in case component is cached and beforeCreate
|
|
154
|
+
// never gets called
|
|
155
|
+
options._ssrRegister = hook
|
|
156
|
+
} else if (injectStyles) {
|
|
157
|
+
hook = shadowMode
|
|
158
|
+
? function () {
|
|
159
|
+
injectStyles.call(
|
|
160
|
+
this,
|
|
161
|
+
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
162
|
+
)
|
|
163
|
+
}
|
|
164
|
+
: injectStyles
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if (hook) {
|
|
168
|
+
if (options.functional) {
|
|
169
|
+
// for template-only hot-reload because in that case the render fn doesn't
|
|
170
|
+
// go through the normalizer
|
|
171
|
+
options._injectStyles = hook
|
|
172
|
+
// register for functional component in vue file
|
|
173
|
+
var originalRender = options.render
|
|
174
|
+
options.render = function renderWithStyleInjection(h, context) {
|
|
175
|
+
hook.call(context)
|
|
176
|
+
return originalRender(h, context)
|
|
177
|
+
}
|
|
178
|
+
} else {
|
|
179
|
+
// inject component registration as beforeCreate hook
|
|
180
|
+
var existing = options.beforeCreate
|
|
181
|
+
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
return {
|
|
186
|
+
exports: scriptExports,
|
|
187
|
+
options: options
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
/***/ }),
|
|
193
|
+
/* 1 */
|
|
194
|
+
/***/ (function(module, exports) {
|
|
195
|
+
|
|
196
|
+
module.exports = require("element-ui-pro-components/lib/locale");
|
|
197
|
+
|
|
198
|
+
/***/ }),
|
|
199
|
+
/* 2 */
|
|
200
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
201
|
+
|
|
202
|
+
"use strict";
|
|
203
|
+
|
|
204
|
+
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/custom-render/index.vue?vue&type=script&lang=js
|
|
205
|
+
/* harmony default export */ var custom_rendervue_type_script_lang_js = ({
|
|
206
|
+
name: 'CustomRender',
|
|
207
|
+
props: {
|
|
208
|
+
render: {
|
|
209
|
+
type: Function,
|
|
210
|
+
required: true
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
render: function (h) {
|
|
214
|
+
return h("Fragment", [this.render()]);
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
// CONCATENATED MODULE: ./src/components/custom-render/index.vue?vue&type=script&lang=js
|
|
218
|
+
/* harmony default export */ var components_custom_rendervue_type_script_lang_js = (custom_rendervue_type_script_lang_js);
|
|
219
|
+
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
220
|
+
var componentNormalizer = __webpack_require__(0);
|
|
221
|
+
|
|
222
|
+
// CONCATENATED MODULE: ./src/components/custom-render/index.vue
|
|
223
|
+
var render, staticRenderFns
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
/* normalize component */
|
|
229
|
+
|
|
230
|
+
var component = Object(componentNormalizer["a" /* default */])(
|
|
231
|
+
components_custom_rendervue_type_script_lang_js,
|
|
232
|
+
render,
|
|
233
|
+
staticRenderFns,
|
|
234
|
+
false,
|
|
235
|
+
null,
|
|
236
|
+
null,
|
|
237
|
+
null
|
|
238
|
+
|
|
239
|
+
)
|
|
240
|
+
|
|
241
|
+
/* harmony default export */ var custom_render = __webpack_exports__["a"] = (component.exports);
|
|
242
|
+
|
|
243
|
+
/***/ }),
|
|
244
|
+
/* 3 */
|
|
245
|
+
/***/ (function(module, exports) {
|
|
246
|
+
|
|
247
|
+
module.exports = require("element-ui-pro-components/lib/utils/form");
|
|
248
|
+
|
|
249
|
+
/***/ }),
|
|
250
|
+
/* 4 */
|
|
251
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
252
|
+
|
|
253
|
+
"use strict";
|
|
254
|
+
|
|
255
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/pro-form-item/index.vue?vue&type=template&id=8611eff6
|
|
256
|
+
var render = function render() {
|
|
257
|
+
var _vm = this,
|
|
258
|
+
_c = _vm._self._c
|
|
259
|
+
return _c(
|
|
260
|
+
"el-form-item",
|
|
261
|
+
_vm._b(
|
|
262
|
+
{
|
|
263
|
+
scopedSlots: _vm._u(
|
|
264
|
+
[
|
|
265
|
+
_vm.formItem.renderLabel
|
|
266
|
+
? {
|
|
267
|
+
key: "label",
|
|
268
|
+
fn: function () {
|
|
269
|
+
return [
|
|
270
|
+
_c("CustomRender", {
|
|
271
|
+
attrs: { render: _vm.formItem.renderLabel },
|
|
272
|
+
}),
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
proxy: true,
|
|
276
|
+
}
|
|
277
|
+
: null,
|
|
278
|
+
],
|
|
279
|
+
null,
|
|
280
|
+
true
|
|
281
|
+
),
|
|
282
|
+
},
|
|
283
|
+
"el-form-item",
|
|
284
|
+
_vm.normalizedFormItem,
|
|
285
|
+
false
|
|
286
|
+
),
|
|
287
|
+
[
|
|
288
|
+
_vm.formItem.renderField
|
|
289
|
+
? _c("CustomRender", {
|
|
290
|
+
attrs: {
|
|
291
|
+
render: () =>
|
|
292
|
+
_vm.formItem.renderField({
|
|
293
|
+
form: _vm.form,
|
|
294
|
+
formItem: _vm.formItem,
|
|
295
|
+
}),
|
|
296
|
+
},
|
|
297
|
+
})
|
|
298
|
+
: _vm.formItem.valueType === "slot"
|
|
299
|
+
? _vm._t(_vm.formItem.prop)
|
|
300
|
+
: _c(
|
|
301
|
+
`el-${_vm.formItem.valueType}`,
|
|
302
|
+
_vm._g(
|
|
303
|
+
_vm._b(
|
|
304
|
+
{
|
|
305
|
+
tag: "component",
|
|
306
|
+
model: {
|
|
307
|
+
value: _vm.form[_vm.formItem.prop],
|
|
308
|
+
callback: function ($$v) {
|
|
309
|
+
_vm.$set(_vm.form, _vm.formItem.prop, $$v)
|
|
310
|
+
},
|
|
311
|
+
expression: "form[formItem.prop]",
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
"component",
|
|
315
|
+
_vm.formItem.fieldProps,
|
|
316
|
+
false
|
|
317
|
+
),
|
|
318
|
+
_vm.formItem.fieldEvents
|
|
319
|
+
),
|
|
320
|
+
[
|
|
321
|
+
_vm.formItem.valueType === "select"
|
|
322
|
+
? [
|
|
323
|
+
_vm.isOptionGroup
|
|
324
|
+
? _vm._l(_vm.formItem.options, function (group) {
|
|
325
|
+
return _c(
|
|
326
|
+
"el-option-group",
|
|
327
|
+
_vm._b(
|
|
328
|
+
{ key: group.label },
|
|
329
|
+
"el-option-group",
|
|
330
|
+
group,
|
|
331
|
+
false
|
|
332
|
+
),
|
|
333
|
+
_vm._l(group.options, function (option) {
|
|
334
|
+
return _c(
|
|
335
|
+
"el-option",
|
|
336
|
+
_vm._b(
|
|
337
|
+
{ key: option.value },
|
|
338
|
+
"el-option",
|
|
339
|
+
option,
|
|
340
|
+
false
|
|
341
|
+
)
|
|
342
|
+
)
|
|
343
|
+
}),
|
|
344
|
+
1
|
|
345
|
+
)
|
|
346
|
+
})
|
|
347
|
+
: _vm._l(_vm.formItem.options, function (option) {
|
|
348
|
+
return _c(
|
|
349
|
+
"el-option",
|
|
350
|
+
_vm._b(
|
|
351
|
+
{ key: option.value },
|
|
352
|
+
"el-option",
|
|
353
|
+
option,
|
|
354
|
+
false
|
|
355
|
+
)
|
|
356
|
+
)
|
|
357
|
+
}),
|
|
358
|
+
]
|
|
359
|
+
: _vm.groups.includes(_vm.formItem.valueType)
|
|
360
|
+
? _vm._l(_vm.formItem.options, function (option) {
|
|
361
|
+
return _c(
|
|
362
|
+
_vm.selection[_vm.formItem.valueType],
|
|
363
|
+
{
|
|
364
|
+
key: option.value,
|
|
365
|
+
tag: "component",
|
|
366
|
+
attrs: { label: option.value },
|
|
367
|
+
},
|
|
368
|
+
[_vm._v("\n " + _vm._s(option.label) + "\n ")]
|
|
369
|
+
)
|
|
370
|
+
})
|
|
371
|
+
: _vm._e(),
|
|
372
|
+
],
|
|
373
|
+
2
|
|
374
|
+
),
|
|
375
|
+
],
|
|
376
|
+
2
|
|
377
|
+
)
|
|
378
|
+
}
|
|
379
|
+
var staticRenderFns = []
|
|
380
|
+
render._withStripped = true
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
// CONCATENATED MODULE: ./src/components/pro-form-item/index.vue?vue&type=template&id=8611eff6
|
|
384
|
+
|
|
385
|
+
// EXTERNAL MODULE: ./src/components/custom-render/index.vue + 2 modules
|
|
386
|
+
var custom_render = __webpack_require__(2);
|
|
387
|
+
|
|
388
|
+
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/pro-form-item/index.vue?vue&type=script&lang=js
|
|
389
|
+
|
|
390
|
+
/* harmony default export */ var pro_form_itemvue_type_script_lang_js = ({
|
|
391
|
+
name: 'ProFormItem',
|
|
392
|
+
components: {
|
|
393
|
+
CustomRender: custom_render["a" /* default */]
|
|
394
|
+
},
|
|
395
|
+
props: {
|
|
396
|
+
// formItem 项
|
|
397
|
+
formItem: {
|
|
398
|
+
type: Object,
|
|
399
|
+
required: true
|
|
400
|
+
},
|
|
401
|
+
// 表单数据
|
|
402
|
+
form: {
|
|
403
|
+
type: Object,
|
|
404
|
+
required: true
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
computed: {
|
|
408
|
+
// 过滤 el-form-item 的属性
|
|
409
|
+
normalizedFormItem() {
|
|
410
|
+
const {
|
|
411
|
+
renderLabel,
|
|
412
|
+
valueType,
|
|
413
|
+
renderField,
|
|
414
|
+
fieldProps,
|
|
415
|
+
fieldEvents,
|
|
416
|
+
options,
|
|
417
|
+
valueEnum,
|
|
418
|
+
optionLoader,
|
|
419
|
+
initialValue,
|
|
420
|
+
colProps,
|
|
421
|
+
...keys
|
|
422
|
+
} = this.formItem;
|
|
423
|
+
return keys;
|
|
424
|
+
},
|
|
425
|
+
isOptionGroup() {
|
|
426
|
+
var _this$formItem$option, _this$formItem$option2;
|
|
427
|
+
return (_this$formItem$option = this.formItem.options) === null || _this$formItem$option === void 0 ? void 0 : (_this$formItem$option2 = _this$formItem$option[0]) === null || _this$formItem$option2 === void 0 ? void 0 : _this$formItem$option2.options;
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
data() {
|
|
431
|
+
return {
|
|
432
|
+
groups: ['radio-group', 'checkbox-group'],
|
|
433
|
+
// valueType
|
|
434
|
+
selection: {
|
|
435
|
+
// 选项组对应的组件
|
|
436
|
+
'radio-group': 'el-radio',
|
|
437
|
+
'checkbox-group': 'el-checkbox'
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
// CONCATENATED MODULE: ./src/components/pro-form-item/index.vue?vue&type=script&lang=js
|
|
443
|
+
/* harmony default export */ var components_pro_form_itemvue_type_script_lang_js = (pro_form_itemvue_type_script_lang_js);
|
|
444
|
+
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
445
|
+
var componentNormalizer = __webpack_require__(0);
|
|
446
|
+
|
|
447
|
+
// CONCATENATED MODULE: ./src/components/pro-form-item/index.vue
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
/* normalize component */
|
|
454
|
+
|
|
455
|
+
var component = Object(componentNormalizer["a" /* default */])(
|
|
456
|
+
components_pro_form_itemvue_type_script_lang_js,
|
|
457
|
+
render,
|
|
458
|
+
staticRenderFns,
|
|
459
|
+
false,
|
|
460
|
+
null,
|
|
461
|
+
null,
|
|
462
|
+
null
|
|
463
|
+
|
|
464
|
+
)
|
|
465
|
+
|
|
466
|
+
/* harmony default export */ var pro_form_item = __webpack_exports__["a"] = (component.exports);
|
|
467
|
+
|
|
468
|
+
/***/ }),
|
|
469
|
+
/* 5 */,
|
|
470
|
+
/* 6 */
|
|
471
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
472
|
+
|
|
473
|
+
"use strict";
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
function _extends() {
|
|
477
|
+
return _extends = Object.assign ? Object.assign.bind() : function (a) {
|
|
478
|
+
for (var b, c = 1; c < arguments.length; c++) for (var d in b = arguments[c], b) Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);
|
|
479
|
+
return a;
|
|
480
|
+
}, _extends.apply(this, arguments);
|
|
481
|
+
}
|
|
482
|
+
var normalMerge = ["attrs", "props", "domProps"],
|
|
483
|
+
toArrayMerge = ["class", "style", "directives"],
|
|
484
|
+
functionalMerge = ["on", "nativeOn"],
|
|
485
|
+
mergeJsxProps = function (a) {
|
|
486
|
+
return a.reduce(function (c, a) {
|
|
487
|
+
for (var b in a) if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {
|
|
488
|
+
var d = c[b] instanceof Array ? c[b] : [c[b]],
|
|
489
|
+
e = a[b] instanceof Array ? a[b] : [a[b]];
|
|
490
|
+
c[b] = [].concat(d, e);
|
|
491
|
+
} else if (-1 !== functionalMerge.indexOf(b)) {
|
|
492
|
+
for (var f in a[b]) if (c[b][f]) {
|
|
493
|
+
var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],
|
|
494
|
+
h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];
|
|
495
|
+
c[b][f] = [].concat(g, h);
|
|
496
|
+
} else c[b][f] = a[b][f];
|
|
497
|
+
} else if ("hook" === b) for (var i in a[b]) c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];else c[b] = a[b];
|
|
498
|
+
return c;
|
|
499
|
+
}, {});
|
|
500
|
+
},
|
|
501
|
+
mergeFn = function (a, b) {
|
|
502
|
+
return function () {
|
|
503
|
+
a && a.apply(this, arguments), b && b.apply(this, arguments);
|
|
504
|
+
};
|
|
505
|
+
};
|
|
506
|
+
module.exports = mergeJsxProps;
|
|
507
|
+
|
|
508
|
+
/***/ }),
|
|
509
|
+
/* 7 */,
|
|
510
|
+
/* 8 */,
|
|
511
|
+
/* 9 */,
|
|
512
|
+
/* 10 */,
|
|
513
|
+
/* 11 */,
|
|
514
|
+
/* 12 */
|
|
515
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
516
|
+
|
|
517
|
+
"use strict";
|
|
518
|
+
// ESM COMPAT FLAG
|
|
519
|
+
__webpack_require__.r(__webpack_exports__);
|
|
520
|
+
|
|
521
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog-form/src/index.vue?vue&type=template&id=76806280&scoped=true
|
|
522
|
+
var srcvue_type_template_id_76806280_scoped_true_render = function render() {
|
|
523
|
+
var _vm = this,
|
|
524
|
+
_c = _vm._self._c
|
|
525
|
+
return _c(
|
|
526
|
+
"el-dialog",
|
|
527
|
+
_vm._g(
|
|
528
|
+
_vm._b(
|
|
529
|
+
{
|
|
530
|
+
attrs: { visible: _vm.dialogVisible },
|
|
531
|
+
on: {
|
|
532
|
+
"update:visible": function ($event) {
|
|
533
|
+
_vm.dialogVisible = $event
|
|
534
|
+
},
|
|
535
|
+
},
|
|
536
|
+
scopedSlots: _vm._u(
|
|
537
|
+
[
|
|
538
|
+
_vm.renderTitle
|
|
539
|
+
? {
|
|
540
|
+
key: "title",
|
|
541
|
+
fn: function () {
|
|
542
|
+
return [
|
|
543
|
+
_c("CustomRender", {
|
|
544
|
+
attrs: { render: () => _vm.renderTitle(_vm.form) },
|
|
545
|
+
}),
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
proxy: true,
|
|
549
|
+
}
|
|
550
|
+
: null,
|
|
551
|
+
_vm.submitter
|
|
552
|
+
? {
|
|
553
|
+
key: "footer",
|
|
554
|
+
fn: function () {
|
|
555
|
+
return [
|
|
556
|
+
_c("Submitter", {
|
|
557
|
+
attrs: {
|
|
558
|
+
submitter: _vm.submitterProps,
|
|
559
|
+
actions: {
|
|
560
|
+
submit: _vm.submit,
|
|
561
|
+
close: _vm.close,
|
|
562
|
+
reset: _vm.reset,
|
|
563
|
+
resetAllFields: _vm.resetAllFields,
|
|
564
|
+
},
|
|
565
|
+
render: _vm.submitter.customRender
|
|
566
|
+
? (actions, doms) =>
|
|
567
|
+
_vm.submitter.customRender(
|
|
568
|
+
_vm.form,
|
|
569
|
+
actions,
|
|
570
|
+
doms
|
|
571
|
+
)
|
|
572
|
+
: null,
|
|
573
|
+
},
|
|
574
|
+
}),
|
|
575
|
+
]
|
|
576
|
+
},
|
|
577
|
+
proxy: true,
|
|
578
|
+
}
|
|
579
|
+
: null,
|
|
580
|
+
],
|
|
581
|
+
null,
|
|
582
|
+
true
|
|
583
|
+
),
|
|
584
|
+
},
|
|
585
|
+
"el-dialog",
|
|
586
|
+
_vm.normalizedDialogProps,
|
|
587
|
+
false
|
|
588
|
+
),
|
|
589
|
+
_vm.normalizedDialogEvents
|
|
590
|
+
),
|
|
591
|
+
[
|
|
592
|
+
_c(
|
|
593
|
+
"el-form",
|
|
594
|
+
_vm._b(
|
|
595
|
+
{
|
|
596
|
+
ref: "dialogFormRef",
|
|
597
|
+
staticClass: "pro-form",
|
|
598
|
+
class: _vm.className,
|
|
599
|
+
attrs: { model: _vm.form },
|
|
600
|
+
},
|
|
601
|
+
"el-form",
|
|
602
|
+
_vm.formProps,
|
|
603
|
+
false
|
|
604
|
+
),
|
|
605
|
+
[
|
|
606
|
+
_vm.grid
|
|
607
|
+
? [
|
|
608
|
+
_c(
|
|
609
|
+
"el-row",
|
|
610
|
+
_vm._b({}, "el-row", _vm.rowProps, false),
|
|
611
|
+
_vm._l(_vm.normalizedFormItems, function (formItem) {
|
|
612
|
+
return _c(
|
|
613
|
+
"el-col",
|
|
614
|
+
_vm._b(
|
|
615
|
+
{ key: formItem.prop || formItem.key },
|
|
616
|
+
"el-col",
|
|
617
|
+
formItem.colProps,
|
|
618
|
+
false
|
|
619
|
+
),
|
|
620
|
+
[
|
|
621
|
+
formItem.customSlot
|
|
622
|
+
? _vm._t(
|
|
623
|
+
formItem.customSlot === true
|
|
624
|
+
? formItem.prop
|
|
625
|
+
: formItem.customSlot,
|
|
626
|
+
null,
|
|
627
|
+
null,
|
|
628
|
+
{ form: _vm.form }
|
|
629
|
+
)
|
|
630
|
+
: formItem.renderFormItem
|
|
631
|
+
? _c("CustomRender", {
|
|
632
|
+
attrs: {
|
|
633
|
+
render: () => formItem.renderFormItem(_vm.form),
|
|
634
|
+
},
|
|
635
|
+
})
|
|
636
|
+
: _c("ProFormItem", {
|
|
637
|
+
attrs: { form: _vm.form, formItem: formItem },
|
|
638
|
+
scopedSlots: _vm._u(
|
|
639
|
+
[
|
|
640
|
+
{
|
|
641
|
+
key: formItem.prop,
|
|
642
|
+
fn: function () {
|
|
643
|
+
return [
|
|
644
|
+
_vm._t(formItem.prop, null, null, {
|
|
645
|
+
form: _vm.form,
|
|
646
|
+
formItem,
|
|
647
|
+
}),
|
|
648
|
+
]
|
|
649
|
+
},
|
|
650
|
+
proxy: true,
|
|
651
|
+
},
|
|
652
|
+
],
|
|
653
|
+
null,
|
|
654
|
+
true
|
|
655
|
+
),
|
|
656
|
+
}),
|
|
657
|
+
],
|
|
658
|
+
2
|
|
659
|
+
)
|
|
660
|
+
}),
|
|
661
|
+
1
|
|
662
|
+
),
|
|
663
|
+
]
|
|
664
|
+
: [
|
|
665
|
+
_vm._l(_vm.normalizedFormItems, function (formItem) {
|
|
666
|
+
return [
|
|
667
|
+
formItem.customSlot
|
|
668
|
+
? _vm._t(
|
|
669
|
+
formItem.customSlot === true
|
|
670
|
+
? formItem.prop
|
|
671
|
+
: formItem.customSlot,
|
|
672
|
+
null,
|
|
673
|
+
null,
|
|
674
|
+
{ form: _vm.form }
|
|
675
|
+
)
|
|
676
|
+
: formItem.renderFormItem
|
|
677
|
+
? _c("CustomRender", {
|
|
678
|
+
key: formItem.prop || formItem.key,
|
|
679
|
+
attrs: {
|
|
680
|
+
render: () => formItem.renderFormItem(_vm.form),
|
|
681
|
+
},
|
|
682
|
+
})
|
|
683
|
+
: _c("ProFormItem", {
|
|
684
|
+
key: formItem.prop || formItem.key,
|
|
685
|
+
attrs: { form: _vm.form, formItem: formItem },
|
|
686
|
+
scopedSlots: _vm._u(
|
|
687
|
+
[
|
|
688
|
+
{
|
|
689
|
+
key: formItem.prop,
|
|
690
|
+
fn: function () {
|
|
691
|
+
return [
|
|
692
|
+
_vm._t(formItem.prop, null, null, {
|
|
693
|
+
form: _vm.form,
|
|
694
|
+
formItem,
|
|
695
|
+
}),
|
|
696
|
+
]
|
|
697
|
+
},
|
|
698
|
+
proxy: true,
|
|
699
|
+
},
|
|
700
|
+
],
|
|
701
|
+
null,
|
|
702
|
+
true
|
|
703
|
+
),
|
|
704
|
+
}),
|
|
705
|
+
]
|
|
706
|
+
}),
|
|
707
|
+
],
|
|
708
|
+
],
|
|
709
|
+
2
|
|
710
|
+
),
|
|
711
|
+
],
|
|
712
|
+
1
|
|
713
|
+
)
|
|
714
|
+
}
|
|
715
|
+
var staticRenderFns = []
|
|
716
|
+
srcvue_type_template_id_76806280_scoped_true_render._withStripped = true
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
// CONCATENATED MODULE: ./packages/dialog-form/src/index.vue?vue&type=template&id=76806280&scoped=true
|
|
720
|
+
|
|
721
|
+
// EXTERNAL MODULE: ./src/components/custom-render/index.vue + 2 modules
|
|
722
|
+
var custom_render = __webpack_require__(2);
|
|
723
|
+
|
|
724
|
+
// EXTERNAL MODULE: ./src/components/pro-form-item/index.vue + 4 modules
|
|
725
|
+
var pro_form_item = __webpack_require__(4);
|
|
726
|
+
|
|
727
|
+
// EXTERNAL MODULE: ./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js
|
|
728
|
+
var helper = __webpack_require__(6);
|
|
729
|
+
var helper_default = /*#__PURE__*/__webpack_require__.n(helper);
|
|
730
|
+
|
|
731
|
+
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog-form/src/components/Submitter.vue?vue&type=script&lang=js
|
|
732
|
+
|
|
733
|
+
/* harmony default export */ var Submittervue_type_script_lang_js = ({
|
|
734
|
+
name: 'Submitter',
|
|
735
|
+
props: {
|
|
736
|
+
render: {
|
|
737
|
+
validator: value => {
|
|
738
|
+
return value === null || typeof value === 'function';
|
|
739
|
+
},
|
|
740
|
+
required: true
|
|
741
|
+
},
|
|
742
|
+
submitter: {
|
|
743
|
+
type: Object,
|
|
744
|
+
required: true
|
|
745
|
+
},
|
|
746
|
+
actions: {
|
|
747
|
+
type: Object,
|
|
748
|
+
required: true
|
|
749
|
+
}
|
|
750
|
+
},
|
|
751
|
+
render: function (h) {
|
|
752
|
+
const {
|
|
753
|
+
submitter: {
|
|
754
|
+
cancelText,
|
|
755
|
+
confirmText,
|
|
756
|
+
cancelButtonProps,
|
|
757
|
+
confirmButtonProps
|
|
758
|
+
},
|
|
759
|
+
actions: {
|
|
760
|
+
close,
|
|
761
|
+
submit
|
|
762
|
+
},
|
|
763
|
+
render
|
|
764
|
+
} = this;
|
|
765
|
+
// { ...props } 传递组件属性时 需要 props 包裹
|
|
766
|
+
const cancelProps = {
|
|
767
|
+
props: cancelButtonProps,
|
|
768
|
+
cancelButtonProps
|
|
769
|
+
};
|
|
770
|
+
const confirmProps = {
|
|
771
|
+
props: confirmButtonProps,
|
|
772
|
+
confirmButtonProps
|
|
773
|
+
};
|
|
774
|
+
const doms = [h("el-button", helper_default()([{}, cancelProps, {
|
|
775
|
+
"on": {
|
|
776
|
+
"click": close
|
|
777
|
+
},
|
|
778
|
+
"key": 'close'
|
|
779
|
+
}]), [cancelText]), h("el-button", helper_default()([{
|
|
780
|
+
"attrs": {
|
|
781
|
+
"type": "primary"
|
|
782
|
+
}
|
|
783
|
+
}, confirmProps, {
|
|
784
|
+
"on": {
|
|
785
|
+
"click": submit
|
|
786
|
+
},
|
|
787
|
+
"key": 'submit'
|
|
788
|
+
}]), [confirmText])];
|
|
789
|
+
return render ? h("Fragment", [render(this.actions, doms)]) : h("span", {
|
|
790
|
+
"class": "dialog-form__submitter"
|
|
791
|
+
}, [doms]);
|
|
792
|
+
}
|
|
793
|
+
});
|
|
794
|
+
// CONCATENATED MODULE: ./packages/dialog-form/src/components/Submitter.vue?vue&type=script&lang=js
|
|
795
|
+
/* harmony default export */ var components_Submittervue_type_script_lang_js = (Submittervue_type_script_lang_js);
|
|
796
|
+
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
797
|
+
var componentNormalizer = __webpack_require__(0);
|
|
798
|
+
|
|
799
|
+
// CONCATENATED MODULE: ./packages/dialog-form/src/components/Submitter.vue
|
|
800
|
+
var Submitter_render, Submitter_staticRenderFns
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
/* normalize component */
|
|
806
|
+
|
|
807
|
+
var component = Object(componentNormalizer["a" /* default */])(
|
|
808
|
+
components_Submittervue_type_script_lang_js,
|
|
809
|
+
Submitter_render,
|
|
810
|
+
Submitter_staticRenderFns,
|
|
811
|
+
false,
|
|
812
|
+
null,
|
|
813
|
+
"524b3f6c",
|
|
814
|
+
null
|
|
815
|
+
|
|
816
|
+
)
|
|
817
|
+
|
|
818
|
+
/* harmony default export */ var Submitter = (component.exports);
|
|
819
|
+
// EXTERNAL MODULE: external "element-ui-pro-components/lib/utils/form"
|
|
820
|
+
var form_ = __webpack_require__(3);
|
|
821
|
+
|
|
822
|
+
// EXTERNAL MODULE: external "element-ui-pro-components/lib/locale"
|
|
823
|
+
var locale_ = __webpack_require__(1);
|
|
824
|
+
|
|
825
|
+
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog-form/src/index.vue?vue&type=script&lang=js
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
/* harmony default export */ var srcvue_type_script_lang_js = ({
|
|
832
|
+
name: 'DialogForm',
|
|
833
|
+
model: {
|
|
834
|
+
prop: 'visible',
|
|
835
|
+
event: 'close'
|
|
836
|
+
},
|
|
837
|
+
components: {
|
|
838
|
+
CustomRender: custom_render["a" /* default */],
|
|
839
|
+
ProFormItem: pro_form_item["a" /* default */],
|
|
840
|
+
Submitter: Submitter
|
|
841
|
+
},
|
|
842
|
+
props: {
|
|
843
|
+
// 是否打开弹框
|
|
844
|
+
visible: {
|
|
845
|
+
type: Boolean,
|
|
846
|
+
default: false
|
|
847
|
+
},
|
|
848
|
+
// 弹框的标题
|
|
849
|
+
title: {
|
|
850
|
+
type: String
|
|
851
|
+
},
|
|
852
|
+
// 自定义弹框标题
|
|
853
|
+
renderTitle: {
|
|
854
|
+
type: Function
|
|
855
|
+
},
|
|
856
|
+
// 弹框的宽度
|
|
857
|
+
width: {
|
|
858
|
+
type: String
|
|
859
|
+
},
|
|
860
|
+
// el-dialog attributes 的配置
|
|
861
|
+
dialogProps: {
|
|
862
|
+
type: Object,
|
|
863
|
+
default: () => ({})
|
|
864
|
+
},
|
|
865
|
+
// el-dialog events 的配置
|
|
866
|
+
dialogEvents: {
|
|
867
|
+
type: Object,
|
|
868
|
+
default: () => ({})
|
|
869
|
+
},
|
|
870
|
+
// el-form attributes 的配置
|
|
871
|
+
formProps: {
|
|
872
|
+
type: Object,
|
|
873
|
+
default: () => ({})
|
|
874
|
+
},
|
|
875
|
+
// el-form 的类名
|
|
876
|
+
className: {
|
|
877
|
+
type: String
|
|
878
|
+
},
|
|
879
|
+
// 表单项配置
|
|
880
|
+
formItems: {
|
|
881
|
+
type: Array,
|
|
882
|
+
required: true,
|
|
883
|
+
default: () => []
|
|
884
|
+
},
|
|
885
|
+
// 提交按钮相关配置
|
|
886
|
+
submitter: {
|
|
887
|
+
type: [Boolean, Object],
|
|
888
|
+
default: true
|
|
889
|
+
},
|
|
890
|
+
// 开启栅格化模式
|
|
891
|
+
grid: {
|
|
892
|
+
type: Boolean
|
|
893
|
+
},
|
|
894
|
+
// 开启 grid 模式时传递给 el-row
|
|
895
|
+
rowProps: {
|
|
896
|
+
type: Object,
|
|
897
|
+
default: () => ({
|
|
898
|
+
gutter: 8
|
|
899
|
+
})
|
|
900
|
+
},
|
|
901
|
+
// 表单默认值
|
|
902
|
+
initialValues: {
|
|
903
|
+
type: Object,
|
|
904
|
+
default: () => ({})
|
|
905
|
+
}
|
|
906
|
+
},
|
|
907
|
+
computed: {
|
|
908
|
+
// 标准化 dialog props
|
|
909
|
+
normalizedDialogProps() {
|
|
910
|
+
const {
|
|
911
|
+
title,
|
|
912
|
+
width,
|
|
913
|
+
dialogProps = {}
|
|
914
|
+
} = this;
|
|
915
|
+
const customClass = dialogProps['custom-class'];
|
|
916
|
+
return {
|
|
917
|
+
...dialogProps,
|
|
918
|
+
'custom-class': customClass ? `${customClass} dialog-form` : 'dialog-form',
|
|
919
|
+
visible: undefined,
|
|
920
|
+
// 阻止绑定
|
|
921
|
+
title,
|
|
922
|
+
width
|
|
923
|
+
};
|
|
924
|
+
},
|
|
925
|
+
// 标准化 dialog events
|
|
926
|
+
normalizedDialogEvents() {
|
|
927
|
+
const {
|
|
928
|
+
dialogEvents,
|
|
929
|
+
close
|
|
930
|
+
} = this;
|
|
931
|
+
const originalClose = dialogEvents.close;
|
|
932
|
+
// 包装以下 close 方法,确保执行 close 方法
|
|
933
|
+
if (originalClose) {
|
|
934
|
+
dialogEvents.close = () => {
|
|
935
|
+
originalClose();
|
|
936
|
+
close();
|
|
937
|
+
};
|
|
938
|
+
return {
|
|
939
|
+
...dialogEvents
|
|
940
|
+
};
|
|
941
|
+
}
|
|
942
|
+
return {
|
|
943
|
+
close
|
|
944
|
+
};
|
|
945
|
+
},
|
|
946
|
+
// formItems 标准化处理
|
|
947
|
+
normalizedFormItems() {
|
|
948
|
+
return this.formItems
|
|
949
|
+
// 过滤隐藏项
|
|
950
|
+
.filter(item => !item.hideInForm).map(item => {
|
|
951
|
+
const {
|
|
952
|
+
valueType,
|
|
953
|
+
fieldProps = {}
|
|
954
|
+
} = item;
|
|
955
|
+
// 设置 placeholder
|
|
956
|
+
Object(form_["setPlaceholder"])(fieldProps, valueType);
|
|
957
|
+
|
|
958
|
+
// 设置 select options
|
|
959
|
+
Object(form_["setSelectOptions"])(item, this.cachedOptions);
|
|
960
|
+
|
|
961
|
+
// 设置 cascader options
|
|
962
|
+
Object(form_["setCascaderOptions"])(fieldProps, item, this.cachedOptions);
|
|
963
|
+
return {
|
|
964
|
+
...item,
|
|
965
|
+
fieldProps
|
|
966
|
+
};
|
|
967
|
+
});
|
|
968
|
+
},
|
|
969
|
+
// submitter 标准化处理
|
|
970
|
+
submitterProps() {
|
|
971
|
+
if (this.submitter) {
|
|
972
|
+
// 配置按钮文本
|
|
973
|
+
const defaultTextConfig = {
|
|
974
|
+
cancelText: Object(locale_["t"])('elProComponents.dialogForm.cancel'),
|
|
975
|
+
confirmText: Object(locale_["t"])('elProComponents.dialogForm.confirm')
|
|
976
|
+
};
|
|
977
|
+
|
|
978
|
+
// 对象类型
|
|
979
|
+
if (typeof this.submitter === 'object') {
|
|
980
|
+
return {
|
|
981
|
+
...defaultTextConfig,
|
|
982
|
+
...this.submitter
|
|
983
|
+
};
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
// 返回默认配置
|
|
987
|
+
return {
|
|
988
|
+
...defaultTextConfig
|
|
989
|
+
};
|
|
990
|
+
}
|
|
991
|
+
return false;
|
|
992
|
+
}
|
|
993
|
+
},
|
|
994
|
+
data() {
|
|
995
|
+
return {
|
|
996
|
+
dialogVisible: false,
|
|
997
|
+
// 是否打开弹框
|
|
998
|
+
cachedOptions: {},
|
|
999
|
+
// 下拉数据 { [prop]: res }
|
|
1000
|
+
form: this.initForm() // 表单数据
|
|
1001
|
+
};
|
|
1002
|
+
},
|
|
1003
|
+
watch: {
|
|
1004
|
+
// 监听 visible
|
|
1005
|
+
visible: {
|
|
1006
|
+
handler(newValue) {
|
|
1007
|
+
this.dialogVisible = newValue;
|
|
1008
|
+
},
|
|
1009
|
+
immediate: true
|
|
1010
|
+
}
|
|
1011
|
+
},
|
|
1012
|
+
created() {
|
|
1013
|
+
// 获取异步数据
|
|
1014
|
+
this.getOptions();
|
|
1015
|
+
},
|
|
1016
|
+
methods: {
|
|
1017
|
+
/**
|
|
1018
|
+
* @desc 获取异步下拉数据
|
|
1019
|
+
*/
|
|
1020
|
+
getOptions() {
|
|
1021
|
+
for (const item of this.formItems) {
|
|
1022
|
+
const {
|
|
1023
|
+
prop,
|
|
1024
|
+
optionLoader
|
|
1025
|
+
} = item;
|
|
1026
|
+
if (typeof optionLoader === 'function') {
|
|
1027
|
+
optionLoader().then(res => {
|
|
1028
|
+
this.cachedOptions = {
|
|
1029
|
+
...this.cachedOptions,
|
|
1030
|
+
[prop]: res
|
|
1031
|
+
};
|
|
1032
|
+
});
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
},
|
|
1036
|
+
/**
|
|
1037
|
+
* @desc 初始化表单数据
|
|
1038
|
+
*/
|
|
1039
|
+
initForm() {
|
|
1040
|
+
const {
|
|
1041
|
+
formItems,
|
|
1042
|
+
initialValues
|
|
1043
|
+
} = this;
|
|
1044
|
+
const data = formItems.reduce((accu, cur) => {
|
|
1045
|
+
const {
|
|
1046
|
+
prop,
|
|
1047
|
+
initialValue
|
|
1048
|
+
} = cur;
|
|
1049
|
+
if (!prop) {
|
|
1050
|
+
return accu;
|
|
1051
|
+
}
|
|
1052
|
+
return {
|
|
1053
|
+
...accu,
|
|
1054
|
+
[prop]: initialValue
|
|
1055
|
+
};
|
|
1056
|
+
}, {});
|
|
1057
|
+
return {
|
|
1058
|
+
...initialValues,
|
|
1059
|
+
...data
|
|
1060
|
+
};
|
|
1061
|
+
},
|
|
1062
|
+
/**
|
|
1063
|
+
* @desc 获取 el-form ref
|
|
1064
|
+
* @returns {Object}
|
|
1065
|
+
*/
|
|
1066
|
+
getFormRef() {
|
|
1067
|
+
return this.$refs.dialogFormRef;
|
|
1068
|
+
},
|
|
1069
|
+
/**
|
|
1070
|
+
* @desc 获取表单数据
|
|
1071
|
+
* @returns {Object}
|
|
1072
|
+
*/
|
|
1073
|
+
getForm() {
|
|
1074
|
+
return this.form;
|
|
1075
|
+
},
|
|
1076
|
+
/**
|
|
1077
|
+
* @desc 手动更新表单数据
|
|
1078
|
+
* @param {Object} data 数据
|
|
1079
|
+
*/
|
|
1080
|
+
setFieldsValue(data) {
|
|
1081
|
+
this.form = {
|
|
1082
|
+
...this.form,
|
|
1083
|
+
...data
|
|
1084
|
+
};
|
|
1085
|
+
},
|
|
1086
|
+
/**
|
|
1087
|
+
* @desc 手动更新单个字段数据
|
|
1088
|
+
* @param {String} key 键
|
|
1089
|
+
* @param {any} value 值
|
|
1090
|
+
*/
|
|
1091
|
+
setFieldValue(key, value) {
|
|
1092
|
+
this.form[key] = value;
|
|
1093
|
+
},
|
|
1094
|
+
/**
|
|
1095
|
+
* @desc Dialog 关闭的回调
|
|
1096
|
+
*/
|
|
1097
|
+
close() {
|
|
1098
|
+
this.$emit('close', false);
|
|
1099
|
+
},
|
|
1100
|
+
/**
|
|
1101
|
+
* @desc 提交
|
|
1102
|
+
*/
|
|
1103
|
+
submit() {
|
|
1104
|
+
var _this$$refs$dialogFor;
|
|
1105
|
+
(_this$$refs$dialogFor = this.$refs.dialogFormRef) === null || _this$$refs$dialogFor === void 0 ? void 0 : _this$$refs$dialogFor.validate((valid, object) => {
|
|
1106
|
+
if (valid) {
|
|
1107
|
+
// 回传给父组件
|
|
1108
|
+
this.$emit('onFinish', this.form);
|
|
1109
|
+
return;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
// 回传给父组件
|
|
1113
|
+
this.$emit('onError', object);
|
|
1114
|
+
});
|
|
1115
|
+
},
|
|
1116
|
+
/**
|
|
1117
|
+
* @desc 重置
|
|
1118
|
+
*/
|
|
1119
|
+
async reset() {
|
|
1120
|
+
try {
|
|
1121
|
+
var _this$$refs$dialogFor2;
|
|
1122
|
+
await ((_this$$refs$dialogFor2 = this.$refs.dialogFormRef) === null || _this$$refs$dialogFor2 === void 0 ? void 0 : _this$$refs$dialogFor2.resetFields());
|
|
1123
|
+
// 回传给父组件
|
|
1124
|
+
this.$emit('onReset');
|
|
1125
|
+
} catch (err) {
|
|
1126
|
+
console.error('err', err);
|
|
1127
|
+
}
|
|
1128
|
+
},
|
|
1129
|
+
/**
|
|
1130
|
+
* @desc 重置表单的拓展方法,过滤了非表单项的字段
|
|
1131
|
+
*/
|
|
1132
|
+
resetAllFields() {
|
|
1133
|
+
var _this$$refs$dialogFor3;
|
|
1134
|
+
// 清除校验
|
|
1135
|
+
(_this$$refs$dialogFor3 = this.$refs.dialogFormRef) === null || _this$$refs$dialogFor3 === void 0 ? void 0 : _this$$refs$dialogFor3.clearValidate();
|
|
1136
|
+
// 重置数据
|
|
1137
|
+
this.form = this.initForm();
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
});
|
|
1141
|
+
// CONCATENATED MODULE: ./packages/dialog-form/src/index.vue?vue&type=script&lang=js
|
|
1142
|
+
/* harmony default export */ var dialog_form_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
|
|
1143
|
+
// CONCATENATED MODULE: ./packages/dialog-form/src/index.vue
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
/* normalize component */
|
|
1150
|
+
|
|
1151
|
+
var src_component = Object(componentNormalizer["a" /* default */])(
|
|
1152
|
+
dialog_form_srcvue_type_script_lang_js,
|
|
1153
|
+
srcvue_type_template_id_76806280_scoped_true_render,
|
|
1154
|
+
staticRenderFns,
|
|
1155
|
+
false,
|
|
1156
|
+
null,
|
|
1157
|
+
"76806280",
|
|
1158
|
+
null
|
|
1159
|
+
|
|
1160
|
+
)
|
|
1161
|
+
|
|
1162
|
+
/* harmony default export */ var src = (src_component.exports);
|
|
1163
|
+
// CONCATENATED MODULE: ./packages/dialog-form/index.js
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
// 为组件提供 install 方法
|
|
1167
|
+
src.install = function (Vue) {
|
|
1168
|
+
Vue.component(src.name, src);
|
|
1169
|
+
};
|
|
1170
|
+
|
|
1171
|
+
// 默认导出组件
|
|
1172
|
+
/* harmony default export */ var dialog_form = __webpack_exports__["default"] = (src);
|
|
1173
|
+
|
|
1174
|
+
/***/ })
|
|
1175
|
+
/******/ ]);
|