@vue-start/element-pro 0.2.5 → 0.2.7

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/index.js CHANGED
@@ -1,725 +1 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var vue = require('vue');
6
- var elementPlus = require('element-plus');
7
- var lodash = require('lodash');
8
- var pro = require('@vue-start/pro');
9
- var hooks = require('@vue-start/hooks');
10
-
11
- function ownKeys(object, enumerableOnly) {
12
- var keys = Object.keys(object);
13
-
14
- if (Object.getOwnPropertySymbols) {
15
- var symbols = Object.getOwnPropertySymbols(object);
16
- enumerableOnly && (symbols = symbols.filter(function (sym) {
17
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
18
- })), keys.push.apply(keys, symbols);
19
- }
20
-
21
- return keys;
22
- }
23
-
24
- function _objectSpread2(target) {
25
- for (var i = 1; i < arguments.length; i++) {
26
- var source = null != arguments[i] ? arguments[i] : {};
27
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
28
- _defineProperty(target, key, source[key]);
29
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
30
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
31
- });
32
- }
33
-
34
- return target;
35
- }
36
-
37
- function _defineProperty(obj, key, value) {
38
- if (key in obj) {
39
- Object.defineProperty(obj, key, {
40
- value: value,
41
- enumerable: true,
42
- configurable: true,
43
- writable: true
44
- });
45
- } else {
46
- obj[key] = value;
47
- }
48
-
49
- return obj;
50
- }
51
-
52
- function _toConsumableArray(arr) {
53
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
54
- }
55
-
56
- function _arrayWithoutHoles(arr) {
57
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
58
- }
59
-
60
- function _iterableToArray(iter) {
61
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
62
- }
63
-
64
- function _unsupportedIterableToArray(o, minLen) {
65
- if (!o) return;
66
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
67
- var n = Object.prototype.toString.call(o).slice(8, -1);
68
- if (n === "Object" && o.constructor) n = o.constructor.name;
69
- if (n === "Map" || n === "Set") return Array.from(o);
70
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
71
- }
72
-
73
- function _arrayLikeToArray(arr, len) {
74
- if (len == null || len > arr.length) len = arr.length;
75
-
76
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
77
-
78
- return arr2;
79
- }
80
-
81
- function _nonIterableSpread() {
82
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
83
- }
84
-
85
- var ProGrid = pro.createGrid(elementPlus.ElRow, elementPlus.ElCol);
86
-
87
- var createLoadingId = function createLoadingId() {
88
- var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "comp";
89
- return prefix + "-" + hooks.generateId();
90
- };
91
-
92
- var proLoadingProps = function proLoadingProps() {
93
- return {
94
- loading: {
95
- type: Boolean
96
- },
97
- target: {
98
- type: [String, Object]
99
- },
100
- body: {
101
- type: Boolean
102
- },
103
- fullscreen: {
104
- type: Boolean
105
- },
106
- lock: {
107
- type: Boolean
108
- },
109
- text: {
110
- type: String
111
- },
112
- spinner: {
113
- type: String
114
- },
115
- background: {
116
- type: String
117
- },
118
- customClass: {
119
- type: String
120
- }
121
- };
122
- };
123
-
124
- var ProLoading = vue.defineComponent({
125
- props: _objectSpread2({}, proLoadingProps()),
126
- setup: function setup(props, _ref) {
127
- var slots = _ref.slots;
128
- var id = createLoadingId();
129
- hooks.useEffect(function () {
130
- if (!props.loading) {
131
- return;
132
- }
133
-
134
- var element = props.target;
135
-
136
- if (!slots["default"]) {
137
- //监听
138
- if (props.target && lodash.isString(props.target)) {
139
- element = document.querySelector("#" + props.target);
140
- }
141
- } else {
142
- //包裹
143
- element = document.getElementById(id);
144
- }
145
-
146
- if (!element) {
147
- return;
148
- }
149
-
150
- var instance = elementPlus.ElLoading.service({
151
- target: element,
152
- body: props.body,
153
- fullscreen: props.fullscreen,
154
- lock: props.lock,
155
- text: props.text,
156
- spinner: props.spinner,
157
- background: props.background,
158
- customClass: props.customClass
159
- });
160
- return function () {
161
- instance && instance.close();
162
- };
163
- }, function () {
164
- return props.loading;
165
- });
166
- return function () {
167
- if (!slots["default"]) {
168
- return null;
169
- }
170
-
171
- return vue.createVNode("div", {
172
- "id": id
173
- }, [slots["default"]()]);
174
- };
175
- }
176
- });
177
-
178
- var proFormItemProps = function proFormItemProps() {
179
- return {
180
- name: {
181
- type: [String, Array]
182
- }
183
- };
184
- };
185
-
186
- var ProFormItem = vue.defineComponent({
187
- props: _objectSpread2(_objectSpread2({}, elementPlus.ElFormItem.props), proFormItemProps()),
188
- setup: function setup(props, _ref) {
189
- var slots = _ref.slots;
190
- var invalidKeys = lodash.keys(proFormItemProps());
191
- return function () {
192
- return vue.createVNode(elementPlus.ElFormItem, vue.mergeProps(lodash.omit.apply(void 0, [props].concat(_toConsumableArray(invalidKeys), ["name", "prop"])), {
193
- "prop": props.prop || props.name
194
- }), slots);
195
- };
196
- }
197
- });
198
- var FormMethods = ["clearValidate", "resetFields", "scrollToField", "validate", "validateField", "submit"];
199
- var Form = vue.defineComponent({
200
- props: _objectSpread2({}, elementPlus.ElForm.props),
201
- setup: function setup(props, _ref2) {
202
- var slots = _ref2.slots,
203
- emit = _ref2.emit,
204
- expose = _ref2.expose;
205
- var formState = props.model || vue.reactive({});
206
- var formRef = vue.ref();
207
- hooks.useEffect(function () {
208
- if (!formRef.value) {
209
- return;
210
- }
211
-
212
- formRef.value.submit = function () {
213
- var _formRef$value;
214
-
215
- (_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : _formRef$value.validate(function (isValid, invalidFields) {
216
- if (isValid) {
217
- emit("finish", vue.toRaw(formState));
218
- } else {
219
- emit("finishFailed", invalidFields);
220
- }
221
- });
222
- };
223
- }, []);
224
- expose(pro.createExpose(FormMethods, formRef));
225
- return function () {
226
- return vue.createVNode(elementPlus.ElForm, vue.mergeProps({
227
- "ref": formRef
228
- }, lodash.omit(props, "model"), {
229
- "model": formState
230
- }), slots);
231
- };
232
- }
233
- });
234
- //emit;
235
- var ProForm = pro.createForm(Form, ProGrid, FormMethods);
236
- var ProSearchForm = pro.createSearchForm(ProForm, {
237
- needRules: {
238
- type: Boolean,
239
- "default": false
240
- },
241
- inline: {
242
- type: Boolean,
243
- "default": true
244
- }
245
- }, FormMethods);
246
-
247
- var createFormItemComponent = pro.createFormItemCompFn(ProFormItem, function (value, setValue, disabled) {
248
- return {
249
- modelValue: value,
250
- "onUpdate:modelValue": setValue,
251
- clearable: true,
252
- disabled: disabled
253
- };
254
- });
255
-
256
- var proSelectProps = function proSelectProps() {
257
- return {
258
- options: Array
259
- };
260
- };
261
-
262
- var ProSelect = vue.defineComponent({
263
- name: "PSelect",
264
- props: _objectSpread2(_objectSpread2({}, elementPlus.ElSelect.props), proSelectProps()),
265
- setup: function setup(props, _ref) {
266
- var slots = _ref.slots,
267
- emit = _ref.emit;
268
- var invalidKeys = lodash.keys(proSelectProps());
269
- return function () {
270
- var _slots$default;
271
-
272
- return vue.createVNode(elementPlus.ElSelect, vue.mergeProps(lodash.omit(props, invalidKeys), {
273
- "onUpdate:modelValue": function onUpdateModelValue(v) {
274
- emit("update:modelValue", v ? v : undefined);
275
- }
276
- }), _objectSpread2({
277
- "default": function _default() {
278
- return [lodash.map(props.options, function (item) {
279
- return vue.createVNode(elementPlus.ElOption, vue.mergeProps({
280
- "key": item.value
281
- }, item), null);
282
- }), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
283
- }
284
- }, lodash.omit(slots, "default")));
285
- };
286
- }
287
- });
288
-
289
- function _isSlot(s) {
290
- return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
291
- }
292
-
293
- var proRadioProps = function proRadioProps() {
294
- return {
295
- options: {
296
- type: Array
297
- },
298
- buttonStyle: {
299
- type: String,
300
- "default": "default"
301
- }
302
- };
303
- };
304
-
305
- var ProRadio = vue.defineComponent({
306
- props: _objectSpread2(_objectSpread2({}, elementPlus.ElRadioGroup.props), proRadioProps()),
307
- setup: function setup(props, _ref) {
308
- var emit = _ref.emit;
309
- var invalidKeys = lodash.keys(proRadioProps());
310
- return function () {
311
- var _slot;
312
-
313
- return vue.createVNode(elementPlus.ElRadioGroup, vue.mergeProps(lodash.omit(props, invalidKeys), {
314
- "onUpdate:modelValue": function onUpdateModelValue(v) {
315
- emit("update:modelValue", v);
316
- }
317
- }), _isSlot(_slot = lodash.map(props.options, function (item) {
318
- if (props.buttonStyle === "button") {
319
- return vue.createVNode(elementPlus.ElRadioButton, vue.mergeProps({
320
- "key": item.value
321
- }, item, {
322
- "label": item.value
323
- }), {
324
- "default": function _default() {
325
- return [item.label];
326
- }
327
- });
328
- }
329
-
330
- return vue.createVNode(elementPlus.ElRadio, vue.mergeProps({
331
- "key": item.value
332
- }, item, {
333
- "label": item.value
334
- }), {
335
- "default": function _default() {
336
- return [item.label];
337
- }
338
- });
339
- })) ? _slot : {
340
- "default": function _default() {
341
- return [_slot];
342
- }
343
- });
344
- };
345
- }
346
- });
347
-
348
- var ProFormText = createFormItemComponent({
349
- InputComp: elementPlus.ElInput,
350
- valueType: "text",
351
- name: "PFromText"
352
- });
353
- var ProFormTextNumber = createFormItemComponent({
354
- InputComp: elementPlus.ElInputNumber,
355
- valueType: "digit",
356
- name: "PFormNumber"
357
- });
358
- var ProFormDatePicker = createFormItemComponent({
359
- InputComp: elementPlus.ElDatePicker,
360
- valueType: "date",
361
- name: "PFormDate"
362
- });
363
- var ProFormTimePicker = createFormItemComponent({
364
- InputComp: elementPlus.ElTimePicker,
365
- valueType: "time",
366
- name: "PFormTime"
367
- });
368
- var ProFormSelect = createFormItemComponent({
369
- InputComp: ProSelect,
370
- valueType: "select",
371
- name: "PFormSelect"
372
- });
373
- var ProFormTreeSelect = createFormItemComponent({
374
- InputComp: elementPlus.ElTreeSelect,
375
- valueType: "treeSelect",
376
- name: "PFormTreeSelect"
377
- });
378
- var ProFormCheckbox = createFormItemComponent({
379
- InputComp: elementPlus.ElCheckboxGroup,
380
- valueType: "checkbox",
381
- name: "PFromCheckbox"
382
- });
383
- var ProFormRadio = createFormItemComponent({
384
- InputComp: ProRadio,
385
- valueType: "radio",
386
- name: "PFromRadio"
387
- });
388
- var ProFormSwitch = createFormItemComponent({
389
- InputComp: elementPlus.ElSwitch,
390
- valueType: "switch",
391
- name: "PFromSwitch"
392
- });
393
- var ProFormCascader = createFormItemComponent({
394
- InputComp: elementPlus.ElCascader,
395
- valueType: "cascader",
396
- name: "PFormCascader"
397
- });
398
- var ProSubmitButton = vue.defineComponent({
399
- props: _objectSpread2({}, elementPlus.ElButton.props),
400
- setup: function setup(props, _ref) {
401
- var slots = _ref.slots,
402
- emit = _ref.emit;
403
-
404
- var _useProForm = pro.useProForm(),
405
- formRef = _useProForm.formRef;
406
-
407
- var handleClick = function handleClick(e) {
408
- var _formRef$value, _formRef$value$submit;
409
-
410
- emit("click", e);
411
- (_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : (_formRef$value$submit = _formRef$value.submit) === null || _formRef$value$submit === void 0 ? void 0 : _formRef$value$submit.call(_formRef$value);
412
- };
413
-
414
- return function () {
415
- return vue.createVNode(elementPlus.ElButton, vue.mergeProps({
416
- "onClick": handleClick
417
- }, props), slots);
418
- };
419
- }
420
- });
421
-
422
- var FormList = pro.createFormList(ProFormItem);
423
-
424
- var proFormListProps = function proFormListProps() {
425
- return {
426
- addButtonText: {
427
- type: String,
428
- "default": "添加一项"
429
- },
430
- addButtonProps: {
431
- type: Object
432
- },
433
- minusButtonText: {
434
- type: String,
435
- "default": "删除"
436
- },
437
- minusButtonProps: {
438
- type: Object
439
- }
440
- };
441
- };
442
-
443
- var ProFormList = vue.defineComponent({
444
- name: "PFormList",
445
- props: _objectSpread2(_objectSpread2({}, FormList.props), proFormListProps()),
446
- setup: function setup(props, _ref) {
447
- var slots = _ref.slots;
448
- var invalidKeys = lodash.keys(proFormListProps());
449
- return function () {
450
- return vue.createVNode(FormList, lodash.omit(props, invalidKeys), _objectSpread2({
451
- itemMinus: function itemMinus() {
452
- return vue.createVNode(elementPlus.ElButton, props.minusButtonProps, {
453
- "default": function _default() {
454
- return [props.minusButtonText];
455
- }
456
- });
457
- },
458
- add: function add() {
459
- return vue.createVNode(elementPlus.ElButton, props.addButtonProps, {
460
- "default": function _default() {
461
- return [props.addButtonText];
462
- }
463
- });
464
- }
465
- }, slots));
466
- };
467
- }
468
- });
469
-
470
- var ProTableColumn = vue.defineComponent({
471
- props: _objectSpread2(_objectSpread2({}, lodash.omit(elementPlus.ElTableColumn.props, "label", "prop")), {}, {
472
- title: {
473
- type: String
474
- },
475
- dataIndex: {
476
- type: String
477
- },
478
- children: {
479
- type: Array
480
- },
481
- customRender: {
482
- type: Function
483
- }
484
- }),
485
- setup: function setup(props) {
486
- return function () {
487
- return vue.createVNode(elementPlus.ElTableColumn, vue.mergeProps(lodash.omit(props, "title", "label", "renderHeader", "prop", "dataIndex", "formatter", "customRender", "children"), {
488
- "label": vue.isVNode(props.title) ? undefined : props.title,
489
- "renderHeader": vue.isVNode(props.title) ? function () {
490
- return props.title;
491
- } : undefined,
492
- "prop": props.dataIndex,
493
- "formatter": function formatter(record, column, value, index) {
494
- if (props.customRender) {
495
- return props.customRender({
496
- value: value,
497
- text: value,
498
- record: record,
499
- column: column,
500
- index: index
501
- });
502
- }
503
-
504
- return value;
505
- }
506
- }), {
507
- "default": function _default() {
508
- return [lodash.size(props.children) > 0 && lodash.map(props.children, function (item) {
509
- return vue.createVNode(ProTableColumn, vue.mergeProps({
510
- "key": item.dataIndex
511
- }, item), null);
512
- })];
513
- }
514
- });
515
- };
516
- }
517
- });
518
- var TableMethods = ["clearSelection", "getSelectionRows", "toggleRowSelection", "toggleAllSelection", "toggleRowExpansion", "setCurrentRow", "clearSort", "clearFilter", "doLayout", "sort", "scrollTo", "setScrollTop", "setScrollLeft"];
519
- var Table = vue.defineComponent({
520
- props: _objectSpread2(_objectSpread2({}, elementPlus.ElTable.props), {}, {
521
- columns: {
522
- type: Array
523
- },
524
- dataSource: {
525
- type: Array
526
- },
527
- loading: {
528
- type: Boolean
529
- }
530
- }),
531
- setup: function setup(props, _ref) {
532
- var slots = _ref.slots,
533
- expose = _ref.expose;
534
- var tableRef = vue.ref();
535
- var id = createLoadingId("table");
536
- expose(pro.createExpose(TableMethods, tableRef));
537
- return function () {
538
- var _slots$start, _slots$default;
539
-
540
- return vue.createVNode(elementPlus.ElTable, vue.mergeProps({
541
- "ref": tableRef,
542
- "id": id
543
- }, lodash.omit(props, "columns", "dataSource", "loading"), {
544
- "data": props.dataSource || props.data
545
- }), _objectSpread2({
546
- "default": function _default() {
547
- return [(_slots$start = slots.start) === null || _slots$start === void 0 ? void 0 : _slots$start.call(slots), lodash.map(props.columns, function (item) {
548
- return vue.createVNode(ProTableColumn, vue.mergeProps({
549
- "key": item.dataIndex
550
- }, item), null);
551
- }), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), props.loading && vue.createVNode(ProLoading, {
552
- "target": id,
553
- "loading": true
554
- }, null)];
555
- }
556
- }, lodash.omit(slots, "default", "start")));
557
- };
558
- }
559
- });
560
- var ProTable = pro.createTable(Table, undefined, TableMethods);
561
-
562
- var ProCurdForm = pro.createCurdForm(ProForm, elementPlus.ElButton, function (curdState) {
563
- return {
564
- hideRequiredAsterisk: curdState.mode === pro.CurdCurrentMode.DETAIL
565
- };
566
- }, FormMethods);
567
- var ProCurdFormConnect = vue.defineComponent({
568
- setup: function setup() {
569
- var _useProCurd = pro.useProCurd(),
570
- formProps = _useProCurd.formProps;
571
-
572
- return function () {
573
- return vue.createVNode(ProCurdForm, lodash.omit(formProps === null || formProps === void 0 ? void 0 : formProps.value, "slots"), lodash.get(formProps === null || formProps === void 0 ? void 0 : formProps.value, "slots"));
574
- };
575
- }
576
- });
577
-
578
- var CurdList = pro.createCurdList(ProSearchForm, ProTable);
579
-
580
- /**
581
- * 组合列表
582
- * SearchForm + Table + Pagination
583
- */
584
- var ProCurdList = vue.defineComponent({
585
- props: _objectSpread2(_objectSpread2({}, CurdList.props), {}, {
586
- paginationProps: {
587
- type: Object
588
- }
589
- }),
590
- setup: function setup(props, _ref) {
591
- var slots = _ref.slots;
592
- return function () {
593
- return vue.createVNode(CurdList, lodash.omit(props, "paginationProps"), _objectSpread2({
594
- pagination: function pagination(pageState, total, handleSearch) {
595
- return vue.createVNode(elementPlus.ElPagination, vue.mergeProps(props.paginationProps, {
596
- "total": total,
597
- "currentPage": pageState.page,
598
- "pageSize": pageState.pageSize,
599
- "onSizeChange": function onSizeChange(pageSize) {
600
- pageState.pageSize = pageSize;
601
- handleSearch();
602
- },
603
- "onCurrentChange": function onCurrentChange(current) {
604
- pageState.page = current;
605
- handleSearch();
606
- }
607
- }), null);
608
- }
609
- }, slots));
610
- };
611
- }
612
- });
613
- var ProCurdListConnect = vue.defineComponent({
614
- setup: function setup() {
615
- var _useProCurd = pro.useProCurd(),
616
- listProps = _useProCurd.listProps;
617
-
618
- return function () {
619
- return vue.createVNode(ProCurdList, lodash.omit(listProps === null || listProps === void 0 ? void 0 : listProps.value, "slots"), lodash.get(listProps === null || listProps === void 0 ? void 0 : listProps.value, "slots"));
620
- };
621
- }
622
- });
623
-
624
- var ProCurdDesc = pro.createCurdDesc(elementPlus.ElDescriptions, elementPlus.ElDescriptionsItem);
625
- var ProCurdDescConnect = vue.defineComponent({
626
- setup: function setup() {
627
- var _useProCurd = pro.useProCurd(),
628
- descProps = _useProCurd.descProps;
629
-
630
- return function () {
631
- return vue.createVNode(ProCurdDesc, lodash.omit(descProps === null || descProps === void 0 ? void 0 : descProps.value, "slots"), lodash.get(descProps === null || descProps === void 0 ? void 0 : descProps.value, "slots"));
632
- };
633
- }
634
- });
635
-
636
- var ProCurdModal = vue.defineComponent({
637
- props: _objectSpread2({}, elementPlus.ElDialog.props),
638
- setup: function setup(props, _ref) {
639
- var slots = _ref.slots;
640
-
641
- var _useProCurd = pro.useProCurd(),
642
- curdState = _useProCurd.curdState,
643
- getOperate = _useProCurd.getOperate; //根据当前模式展示不同的Title
644
-
645
-
646
- var getTitle = function getTitle() {
647
- var _getOperate, _getOperate2, _getOperate3;
648
-
649
- switch (curdState.mode) {
650
- case pro.CurdAction.ADD:
651
- return (_getOperate = getOperate(pro.CurdAction.ADD)) === null || _getOperate === void 0 ? void 0 : _getOperate.label;
652
-
653
- case pro.CurdAction.EDIT:
654
- return (_getOperate2 = getOperate(pro.CurdAction.EDIT)) === null || _getOperate2 === void 0 ? void 0 : _getOperate2.label;
655
-
656
- case pro.CurdAction.DETAIL:
657
- return (_getOperate3 = getOperate(pro.CurdAction.DETAIL)) === null || _getOperate3 === void 0 ? void 0 : _getOperate3.label;
658
- }
659
- };
660
-
661
- var handleCancel = function handleCancel() {
662
- curdState.mode = undefined;
663
- hooks.setReactiveValue(curdState.detailData, {});
664
- curdState.detailLoading = false;
665
- curdState.addAction = undefined;
666
- };
667
-
668
- return function () {
669
- return vue.createVNode(elementPlus.ElDialog, vue.mergeProps({
670
- "destroyOnClose": true,
671
- "title": getTitle(),
672
- "modelValue": !!curdState.mode,
673
- "onClose": handleCancel
674
- }, props), slots);
675
- };
676
- }
677
- });
678
- var ProCurdModalConnect = vue.defineComponent({
679
- setup: function setup() {
680
- var _useProCurd2 = pro.useProCurd(),
681
- modalProps = _useProCurd2.modalProps;
682
-
683
- return function () {
684
- return vue.createVNode(ProCurdModal, lodash.omit(modalProps === null || modalProps === void 0 ? void 0 : modalProps.value, "slots"), _objectSpread2({
685
- "default": function _default() {
686
- return [vue.createVNode(ProCurdFormConnect, null, null)];
687
- }
688
- }, lodash.get(modalProps === null || modalProps === void 0 ? void 0 : modalProps.value, "slots")));
689
- };
690
- }
691
- });
692
-
693
- exports.FormMethods = FormMethods;
694
- exports.ProCurdDesc = ProCurdDesc;
695
- exports.ProCurdDescConnect = ProCurdDescConnect;
696
- exports.ProCurdForm = ProCurdForm;
697
- exports.ProCurdFormConnect = ProCurdFormConnect;
698
- exports.ProCurdList = ProCurdList;
699
- exports.ProCurdListConnect = ProCurdListConnect;
700
- exports.ProCurdModal = ProCurdModal;
701
- exports.ProCurdModalConnect = ProCurdModalConnect;
702
- exports.ProForm = ProForm;
703
- exports.ProFormCascader = ProFormCascader;
704
- exports.ProFormCheckbox = ProFormCheckbox;
705
- exports.ProFormDatePicker = ProFormDatePicker;
706
- exports.ProFormItem = ProFormItem;
707
- exports.ProFormList = ProFormList;
708
- exports.ProFormRadio = ProFormRadio;
709
- exports.ProFormSelect = ProFormSelect;
710
- exports.ProFormSwitch = ProFormSwitch;
711
- exports.ProFormText = ProFormText;
712
- exports.ProFormTextNumber = ProFormTextNumber;
713
- exports.ProFormTimePicker = ProFormTimePicker;
714
- exports.ProFormTreeSelect = ProFormTreeSelect;
715
- exports.ProGrid = ProGrid;
716
- exports.ProLoading = ProLoading;
717
- exports.ProRadio = ProRadio;
718
- exports.ProSearchForm = ProSearchForm;
719
- exports.ProSelect = ProSelect;
720
- exports.ProSubmitButton = ProSubmitButton;
721
- exports.ProTable = ProTable;
722
- exports.ProTableColumn = ProTableColumn;
723
- exports.TableMethods = TableMethods;
724
- exports.createFormItemComponent = createFormItemComponent;
725
- exports.createLoadingId = createLoadingId;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),r=require("element-plus"),u=require("lodash"),d=require("@vue-start/pro"),C=require("@vue-start/hooks"),x=d.createGrid(r.ElRow,r.ElCol),f=(e="comp")=>e+"-"+C.generateId(),q=()=>({loading:{type:Boolean},target:{type:[String,Object]},body:{type:Boolean},fullscreen:{type:Boolean},lock:{type:Boolean},text:{type:String},spinner:{type:String},background:{type:String},customClass:{type:String}}),I=t.defineComponent({props:{...q()},setup:(e,{slots:o})=>{const a=f();return C.useEffect(()=>{if(!e.loading)return;let l=e.target;if(o.default?l=document.getElementById(a):e.target&&u.isString(e.target)&&(l=document.querySelector("#"+e.target)),!l)return;const c=r.ElLoading.service({target:l,body:e.body,fullscreen:e.fullscreen,lock:e.lock,text:e.text,spinner:e.spinner,background:e.background,customClass:e.customClass});return()=>{c&&c.close()}},()=>e.loading),()=>o.default?t.createVNode("div",{id:a},[o.default()]):null}}),E=()=>({name:{type:[String,Array]}}),g=t.defineComponent({props:{...r.ElFormItem.props,...E()},setup:(e,{slots:o})=>{const a=u.keys(E());return()=>t.createVNode(r.ElFormItem,t.mergeProps(u.omit(e,...a,"name","prop"),{prop:e.prop||e.name}),o)}}),P=["clearValidate","resetFields","scrollToField","validate","validateField","submit"],G=t.defineComponent({props:{...r.ElForm.props},setup:(e,{slots:o,emit:a,expose:l})=>{const c=e.model||t.reactive({}),i=t.ref();return C.useEffect(()=>{!i.value||(i.value.submit=()=>{var n;(n=i.value)==null||n.validate((m,s)=>{m?a("finish",t.toRaw(c)):a("finishFailed",s)})})},[]),l(d.createExpose(P,i)),()=>t.createVNode(r.ElForm,t.mergeProps({ref:i},u.omit(e,"model"),{model:c}),o)}}),y=d.createForm(G,x,P),N=d.createSearchForm(y,{needRules:{type:Boolean,default:!1},inline:{type:Boolean,default:!0}},P),p=d.createFormItemCompFn(g,(e,o,a)=>({modelValue:e,"onUpdate:modelValue":o,clearable:!0,disabled:a})),S=()=>({options:Array}),R=t.defineComponent({name:"PSelect",props:{...r.ElSelect.props,...S()},setup:(e,{slots:o,emit:a,expose:l})=>{const c=t.ref();l(d.createExposeObj(c));const i=u.keys(S());return()=>t.createVNode(r.ElSelect,t.mergeProps({ref:c},u.omit(e,i),{"onUpdate:modelValue":n=>{a("update:modelValue",n||void 0)}}),{default:()=>{var n,m;return[(n=o.start)==null?void 0:n.call(o),u.map(e.options,s=>t.createVNode(r.ElOption,t.mergeProps({key:s.value},s),null)),(m=o.default)==null?void 0:m.call(o)]},...u.omit(o,"default")})}}),T=()=>({options:{type:Array},buttonStyle:{type:String,default:"default"}}),B=t.defineComponent({props:{...r.ElRadioGroup.props,...T()},setup:(e,{slots:o,emit:a,expose:l})=>{const c=t.ref();l(d.createExposeObj(c));const i=u.keys(T());return()=>t.createVNode(r.ElRadioGroup,t.mergeProps({ref:c},u.omit(e,i),{"onUpdate:modelValue":n=>{a("update:modelValue",n)}}),{default:()=>[u.map(e.options,n=>e.buttonStyle==="button"?t.createVNode(r.ElRadioButton,t.mergeProps({key:n.value},n,{label:n.value}),{default:()=>[n.label]}):t.createVNode(r.ElRadio,t.mergeProps({key:n.value},n,{label:n.value}),{default:()=>[n.label]}))],...o})}}),v=()=>({options:Array}),L=t.defineComponent({props:{...r.ElCheckboxGroup.props,...v()},setup:(e,{slots:o,emit:a,expose:l})=>{const c=t.ref();l(d.createExposeObj(c));const i=u.keys(v());return()=>t.createVNode(r.ElCheckboxGroup,t.mergeProps({ref:c},u.omit(e,i),{"onUpdate:modelValue":n=>{a("update:modelValue",n||void 0)}}),{default:()=>{var n,m;return[(n=o.start)==null?void 0:n.call(o),u.map(e.options,s=>t.createVNode(r.ElCheckbox,t.mergeProps(s,{label:s.value}),{default:()=>[s.label]})),(m=o.default)==null?void 0:m.call(o)]},...u.omit(o,"default")})}}),z=p({InputComp:r.ElInput,valueType:"text",name:"PFromText"}),K=p({InputComp:r.ElInputNumber,valueType:"digit",name:"PFormNumber"}),U=p({InputComp:r.ElDatePicker,valueType:"date",name:"PFormDate"}),H=p({InputComp:r.ElTimePicker,valueType:"time",name:"PFormTime"}),_=p({InputComp:R,valueType:"select",name:"PFormSelect"}),J=p({InputComp:r.ElTreeSelect,valueType:"treeSelect",name:"PFormTreeSelect"}),Q=p({InputComp:L,valueType:"checkbox",name:"PFromCheckbox"}),W=p({InputComp:B,valueType:"radio",name:"PFromRadio"}),X=p({InputComp:r.ElSwitch,valueType:"switch",name:"PFromSwitch"}),Y=p({InputComp:r.ElCascader,valueType:"cascader",name:"PFormCascader"}),Z=t.defineComponent({props:{...r.ElButton.props},setup:(e,{slots:o,emit:a})=>{const{formRef:l}=d.useProForm(),c=i=>{var n,m;a("click",i),(m=(n=l.value)==null?void 0:n.submit)==null||m.call(n)};return()=>t.createVNode(r.ElButton,t.mergeProps({onClick:c},e),o)}}),V=d.createFormList(g),k=()=>({addButtonText:{type:String,default:"\u6DFB\u52A0\u4E00\u9879"},addButtonProps:{type:Object},minusButtonText:{type:String,default:"\u5220\u9664"},minusButtonProps:{type:Object}}),$=t.defineComponent({name:"PFormList",props:{...V.props,...k()},setup:(e,{slots:o})=>{const a=u.keys(k());return()=>t.createVNode(V,u.omit(e,a),{itemMinus:()=>t.createVNode(r.ElButton,e.minusButtonProps,{default:()=>[e.minusButtonText]}),add:()=>t.createVNode(r.ElButton,e.addButtonProps,{default:()=>[e.addButtonText]}),...o})}}),F=t.defineComponent({props:{...u.omit(r.ElTableColumn.props,"label","prop"),title:{type:String},dataIndex:{type:String},children:{type:Array},customRender:{type:Function}},setup:e=>()=>t.createVNode(r.ElTableColumn,t.mergeProps(u.omit(e,"title","label","renderHeader","prop","dataIndex","formatter","customRender","children"),{label:t.isVNode(e.title)?void 0:e.title,renderHeader:t.isVNode(e.title)?()=>e.title:void 0,prop:e.dataIndex,formatter:(o,a,l,c)=>e.customRender?e.customRender({value:l,text:l,record:o,column:a,index:c}):l}),{default:()=>[u.size(e.children)>0&&u.map(e.children,o=>t.createVNode(F,t.mergeProps({key:o.dataIndex},o),null))]})}),b=["clearSelection","getSelectionRows","toggleRowSelection","toggleAllSelection","toggleRowExpansion","setCurrentRow","clearSort","clearFilter","doLayout","sort","scrollTo","setScrollTop","setScrollLeft"],ee=t.defineComponent({props:{...r.ElTable.props,columns:{type:Array},dataSource:{type:Array},loading:{type:Boolean}},setup:(e,{slots:o,expose:a})=>{const l=t.ref(),c=f("table");return a(d.createExpose(b,l)),()=>t.createVNode(r.ElTable,t.mergeProps({ref:l,id:c},u.omit(e,"columns","dataSource","loading"),{data:e.dataSource||e.data}),{default:()=>{var i,n;return[(i=o.start)==null?void 0:i.call(o),u.map(e.columns,m=>t.createVNode(F,t.mergeProps({key:m.dataIndex},m),null)),(n=o.default)==null?void 0:n.call(o),e.loading&&t.createVNode(I,{target:c,loading:!0},null)]},...u.omit(o,"default","start")})}}),D=d.createTable(ee,void 0,b),A=d.createCurdForm(y,r.ElButton,e=>({hideRequiredAsterisk:e.mode===d.CurdCurrentMode.DETAIL}),P),w=t.defineComponent({setup:()=>{const{formProps:e}=d.useProCurd();return()=>t.createVNode(A,u.omit(e==null?void 0:e.value,"slots"),u.get(e==null?void 0:e.value,"slots"))}}),h=d.createCurdList(N,D),M=t.defineComponent({props:{...h.props,paginationProps:{type:Object}},setup:(e,{slots:o})=>()=>t.createVNode(h,u.omit(e,"paginationProps"),{pagination:(a,l,c)=>t.createVNode(r.ElPagination,t.mergeProps(e.paginationProps,{total:l,currentPage:a.page,pageSize:a.pageSize,onSizeChange:i=>{a.pageSize=i,c()},onCurrentChange:i=>{a.page=i,c()}}),null),...o})}),te=t.defineComponent({setup:()=>{const{listProps:e}=d.useProCurd();return()=>t.createVNode(M,u.omit(e==null?void 0:e.value,"slots"),u.get(e==null?void 0:e.value,"slots"))}}),O=d.createCurdDesc(r.ElDescriptions,r.ElDescriptionsItem),oe=t.defineComponent({setup:()=>{const{descProps:e}=d.useProCurd();return()=>t.createVNode(O,u.omit(e==null?void 0:e.value,"slots"),u.get(e==null?void 0:e.value,"slots"))}}),j=t.defineComponent({props:{...r.ElDialog.props},setup:(e,{slots:o})=>{const{curdState:a,getOperate:l}=d.useProCurd(),c=()=>{var n,m,s;switch(a.mode){case d.CurdAction.ADD:return(n=l(d.CurdAction.ADD))==null?void 0:n.label;case d.CurdAction.EDIT:return(m=l(d.CurdAction.EDIT))==null?void 0:m.label;case d.CurdAction.DETAIL:return(s=l(d.CurdAction.DETAIL))==null?void 0:s.label}},i=()=>{a.mode=void 0,C.setReactiveValue(a.detailData,{}),a.detailLoading=!1,a.addAction=void 0};return()=>t.createVNode(r.ElDialog,t.mergeProps({destroyOnClose:!0,title:c(),modelValue:!!a.mode,onClose:i},e),o)}}),re=t.defineComponent({setup:()=>{const{modalProps:e}=d.useProCurd();return()=>t.createVNode(j,u.omit(e==null?void 0:e.value,"slots"),{default:()=>[t.createVNode(w,null,null)],...u.get(e==null?void 0:e.value,"slots")})}});exports.FormMethods=P;exports.ProCheckbox=L;exports.ProCurdDesc=O;exports.ProCurdDescConnect=oe;exports.ProCurdForm=A;exports.ProCurdFormConnect=w;exports.ProCurdList=M;exports.ProCurdListConnect=te;exports.ProCurdModal=j;exports.ProCurdModalConnect=re;exports.ProForm=y;exports.ProFormCascader=Y;exports.ProFormCheckbox=Q;exports.ProFormDatePicker=U;exports.ProFormItem=g;exports.ProFormList=$;exports.ProFormRadio=W;exports.ProFormSelect=_;exports.ProFormSwitch=X;exports.ProFormText=z;exports.ProFormTextNumber=K;exports.ProFormTimePicker=H;exports.ProFormTreeSelect=J;exports.ProGrid=x;exports.ProLoading=I;exports.ProRadio=B;exports.ProSearchForm=N;exports.ProSelect=R;exports.ProSubmitButton=Z;exports.ProTable=D;exports.ProTableColumn=F;exports.TableMethods=b;exports.createFormItemComponent=p;exports.createLoadingId=f;