@vue-start/element-pro 0.2.0 → 0.2.1
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 +6 -0
- package/dist/index.d.ts +56 -596
- package/dist/index.es.js +144 -673
- package/dist/index.js +139 -673
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent, createVNode,
|
|
2
|
-
import {
|
|
3
|
-
import { isString,
|
|
4
|
-
import {
|
|
1
|
+
import { defineComponent, createVNode, mergeProps, reactive, ref, toRaw, isVNode } from 'vue';
|
|
2
|
+
import { ElRow, ElCol, ElLoading, ElFormItem, ElForm, ElSelect, ElOption, ElInput, ElInputNumber, ElDatePicker, ElTimePicker, ElTreeSelect, ElCheckboxGroup, ElRadioGroup, ElSwitch, ElCascader, ElButton, ElTable, ElTableColumn, ElPagination, ElDescriptions, ElDescriptionsItem, ElDialog } from 'element-plus';
|
|
3
|
+
import { isString, keys, omit, map, get } from 'lodash';
|
|
4
|
+
import { createGrid, generateId, createExpose, createForm, createSearchForm, createFormItemCompFn, useProForm, createFormList, createTable, createCurdForm, CurdCurrentMode, useProCurd, createCurdList, createCurdDesc, CurdAction } from '@vue-start/pro';
|
|
5
5
|
import { useEffect, setReactiveValue } from '@vue-start/hooks';
|
|
6
6
|
|
|
7
7
|
function ownKeys(object, enumerableOnly) {
|
|
@@ -78,6 +78,8 @@ function _nonIterableSpread() {
|
|
|
78
78
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
var ProGrid = createGrid(ElRow, ElCol);
|
|
82
|
+
|
|
81
83
|
var createLoadingId = function createLoadingId() {
|
|
82
84
|
var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "comp";
|
|
83
85
|
return prefix + "-" + generateId();
|
|
@@ -169,227 +171,6 @@ var ProLoading = defineComponent({
|
|
|
169
171
|
}
|
|
170
172
|
});
|
|
171
173
|
|
|
172
|
-
var Content$1 = defineComponent(function () {
|
|
173
|
-
var _useProTable = useProTable(),
|
|
174
|
-
columns = _useProTable.columns;
|
|
175
|
-
|
|
176
|
-
return function () {
|
|
177
|
-
return createVNode(Fragment, null, [map(columns.value, function (item) {
|
|
178
|
-
var formatter = function formatter(record, column, value, index) {
|
|
179
|
-
if (item.customRender) {
|
|
180
|
-
return item.customRender({
|
|
181
|
-
value: value,
|
|
182
|
-
text: value,
|
|
183
|
-
record: record,
|
|
184
|
-
column: column,
|
|
185
|
-
index: index
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
return value;
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
return createVNode(ElTableColumn, mergeProps({
|
|
193
|
-
"key": item.dataIndex
|
|
194
|
-
}, omit(item, "title", "label", "renderHeader", "prop", "dataIndex", "formatter", "customRender"), {
|
|
195
|
-
"label": isVNode(item.title) ? undefined : item.title || get(item, "label"),
|
|
196
|
-
"renderHeader": isVNode(item.title) ? function () {
|
|
197
|
-
return item.title;
|
|
198
|
-
} : undefined,
|
|
199
|
-
"prop": item.dataIndex,
|
|
200
|
-
"formatter": formatter
|
|
201
|
-
}), null);
|
|
202
|
-
})]);
|
|
203
|
-
};
|
|
204
|
-
});
|
|
205
|
-
var ProTable = defineComponent({
|
|
206
|
-
inheritAttrs: false,
|
|
207
|
-
props: _objectSpread2(_objectSpread2({}, ElTable.props), ProTable$1.props),
|
|
208
|
-
setup: function setup(props, _ref) {
|
|
209
|
-
var slots = _ref.slots,
|
|
210
|
-
expose = _ref.expose,
|
|
211
|
-
attrs = _ref.attrs;
|
|
212
|
-
var id = createLoadingId("table");
|
|
213
|
-
var tableRef = ref();
|
|
214
|
-
expose({
|
|
215
|
-
tableRef: tableRef
|
|
216
|
-
});
|
|
217
|
-
var originKeys = keys(ProTable$1.props);
|
|
218
|
-
return function () {
|
|
219
|
-
var _slots$top, _slots$default;
|
|
220
|
-
|
|
221
|
-
return createVNode(ProTable$1, mergeProps(pick.apply(void 0, [props].concat(_toConsumableArray(originKeys), ["provideExtra"])), {
|
|
222
|
-
"provideExtra": _objectSpread2({
|
|
223
|
-
tableRef: tableRef
|
|
224
|
-
}, props.provideExtra)
|
|
225
|
-
}), {
|
|
226
|
-
"default": function _default() {
|
|
227
|
-
return [createVNode(ElTable, mergeProps({
|
|
228
|
-
"ref": tableRef,
|
|
229
|
-
"id": id
|
|
230
|
-
}, attrs, omit(props, originKeys)), _objectSpread2({
|
|
231
|
-
"default": function _default() {
|
|
232
|
-
return [(_slots$top = slots.top) === null || _slots$top === void 0 ? void 0 : _slots$top.call(slots), createVNode(Content$1, null, null), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), props.loading && createVNode(ProLoading, {
|
|
233
|
-
"target": id,
|
|
234
|
-
"loading": true
|
|
235
|
-
}, null)];
|
|
236
|
-
}
|
|
237
|
-
}, omit(slots, "default")))];
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
var defaultPage = {
|
|
245
|
-
page: 1,
|
|
246
|
-
pageSize: 10
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
var proListProps = function proListProps() {
|
|
250
|
-
return {
|
|
251
|
-
/**
|
|
252
|
-
* extra 是否放到SearchForm中
|
|
253
|
-
*/
|
|
254
|
-
extraInSearch: {
|
|
255
|
-
type: Boolean,
|
|
256
|
-
"default": undefined
|
|
257
|
-
},
|
|
258
|
-
//search
|
|
259
|
-
searchProps: {
|
|
260
|
-
type: Object
|
|
261
|
-
},
|
|
262
|
-
//table
|
|
263
|
-
tableProps: {
|
|
264
|
-
type: Object
|
|
265
|
-
},
|
|
266
|
-
//pagination
|
|
267
|
-
paginationProps: {
|
|
268
|
-
type: Object
|
|
269
|
-
},
|
|
270
|
-
//pageState
|
|
271
|
-
pageState: {
|
|
272
|
-
type: Object
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
};
|
|
276
|
-
|
|
277
|
-
var ProList = defineComponent({
|
|
278
|
-
props: _objectSpread2({}, proListProps()),
|
|
279
|
-
setup: function setup(props, _ref) {
|
|
280
|
-
var slots = _ref.slots,
|
|
281
|
-
emit = _ref.emit;
|
|
282
|
-
|
|
283
|
-
/******************* search pagination ********************/
|
|
284
|
-
var pageState = props.pageState || reactive(_objectSpread2({}, defaultPage));
|
|
285
|
-
var prevValues;
|
|
286
|
-
|
|
287
|
-
var handleSearch = function handleSearch() {
|
|
288
|
-
emit("list", _objectSpread2(_objectSpread2({}, prevValues), pageState));
|
|
289
|
-
}; //页数重置1 且搜索
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
var executeSearchWithResetPage = function executeSearchWithResetPage(values) {
|
|
293
|
-
prevValues = values;
|
|
294
|
-
pageState.page = 1;
|
|
295
|
-
handleSearch();
|
|
296
|
-
};
|
|
297
|
-
|
|
298
|
-
return function () {
|
|
299
|
-
var _slots$divide, _slots$divide2, _slots$footerLeft, _slots$footerRight;
|
|
300
|
-
|
|
301
|
-
var searchProps = props.searchProps;
|
|
302
|
-
var tableProps = props.tableProps;
|
|
303
|
-
var paginationProps = props.paginationProps; //操作按钮
|
|
304
|
-
|
|
305
|
-
var extra = slots.extra ? createVNode("div", {
|
|
306
|
-
"class": "pro-list-search"
|
|
307
|
-
}, [slots.extra()]) : null; //分页参数
|
|
308
|
-
|
|
309
|
-
var pagination = _objectSpread2(_objectSpread2({}, paginationProps), {}, {
|
|
310
|
-
currentPage: pageState.page,
|
|
311
|
-
pageSize: pageState.pageSize,
|
|
312
|
-
onSizeChange: function onSizeChange(pageSize) {
|
|
313
|
-
pageState.pageSize = pageSize;
|
|
314
|
-
handleSearch();
|
|
315
|
-
},
|
|
316
|
-
onCurrentChange: function onCurrentChange(current) {
|
|
317
|
-
pageState.page = current;
|
|
318
|
-
handleSearch();
|
|
319
|
-
}
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
return createVNode(Fragment, null, [createVNode(ProSearchForm, mergeProps(searchProps, {
|
|
323
|
-
"onFinish": executeSearchWithResetPage
|
|
324
|
-
}), {
|
|
325
|
-
"default": function _default() {
|
|
326
|
-
return [props.extraInSearch && extra];
|
|
327
|
-
}
|
|
328
|
-
}), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), !props.extraInSearch && extra, slots["default"] ? slots["default"]() : createVNode(ProTable, mergeProps({
|
|
329
|
-
"pagination": {
|
|
330
|
-
page: pageState.page,
|
|
331
|
-
pageSize: pageState.pageSize
|
|
332
|
-
}
|
|
333
|
-
}, omit(tableProps, "slots")), tableProps === null || tableProps === void 0 ? void 0 : tableProps.slots), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), createVNode("div", {
|
|
334
|
-
"class": "pro-list-footer"
|
|
335
|
-
}, [(_slots$footerLeft = slots.footerLeft) === null || _slots$footerLeft === void 0 ? void 0 : _slots$footerLeft.call(slots), isNumber(paginationProps === null || paginationProps === void 0 ? void 0 : paginationProps.total) && paginationProps.total > 0 && createVNode(Fragment, null, [slots.pagination ? slots.pagination(pagination) : createVNode(ElPagination, pagination, null)]), (_slots$footerRight = slots.footerRight) === null || _slots$footerRight === void 0 ? void 0 : _slots$footerRight.call(slots)])]);
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
|
|
340
|
-
function _isSlot$1(s) {
|
|
341
|
-
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
var proGridProps = function proGridProps() {
|
|
345
|
-
return {
|
|
346
|
-
/**
|
|
347
|
-
* row属性
|
|
348
|
-
*/
|
|
349
|
-
row: {
|
|
350
|
-
type: Object,
|
|
351
|
-
"default": undefined
|
|
352
|
-
},
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* 公共col属性
|
|
356
|
-
*/
|
|
357
|
-
col: {
|
|
358
|
-
type: Object
|
|
359
|
-
},
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
*
|
|
363
|
-
*/
|
|
364
|
-
items: {
|
|
365
|
-
type: Array
|
|
366
|
-
}
|
|
367
|
-
};
|
|
368
|
-
};
|
|
369
|
-
|
|
370
|
-
var ProGrid = defineComponent({
|
|
371
|
-
props: _objectSpread2({}, proGridProps()),
|
|
372
|
-
setup: function setup(props) {
|
|
373
|
-
return function () {
|
|
374
|
-
var _slot;
|
|
375
|
-
|
|
376
|
-
return createVNode(ElRow, props.row, _isSlot$1(_slot = map(props.items, function (item) {
|
|
377
|
-
return createVNode(ElCol, mergeProps({
|
|
378
|
-
"key": item.rowKey
|
|
379
|
-
}, props.col, item.col), {
|
|
380
|
-
"default": function _default() {
|
|
381
|
-
return [item.vNode];
|
|
382
|
-
}
|
|
383
|
-
});
|
|
384
|
-
})) ? _slot : {
|
|
385
|
-
"default": function _default() {
|
|
386
|
-
return [_slot];
|
|
387
|
-
}
|
|
388
|
-
});
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
});
|
|
392
|
-
|
|
393
174
|
var proFormItemProps = function proFormItemProps() {
|
|
394
175
|
return {
|
|
395
176
|
name: {
|
|
@@ -410,139 +191,52 @@ var ProFormItem = defineComponent({
|
|
|
410
191
|
};
|
|
411
192
|
}
|
|
412
193
|
});
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
props: _objectSpread2(_objectSpread2({}, ProGrid.props), {}, {
|
|
416
|
-
needRules: {
|
|
417
|
-
type: Boolean
|
|
418
|
-
}
|
|
419
|
-
}),
|
|
420
|
-
setup: function setup(props) {
|
|
421
|
-
var _useProForm = useProForm(),
|
|
422
|
-
formElementMap = _useProForm.formElementMap,
|
|
423
|
-
columns = _useProForm.columns;
|
|
424
|
-
|
|
425
|
-
return function () {
|
|
426
|
-
if (!formElementMap || size(columns.value) <= 0) {
|
|
427
|
-
return null;
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
if (!props.row) {
|
|
431
|
-
return map(columns.value, function (item) {
|
|
432
|
-
return getFormItemEl(formElementMap, item, props.needRules);
|
|
433
|
-
});
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
return createVNode(ProGrid, {
|
|
437
|
-
"row": props.row,
|
|
438
|
-
"col": props.col,
|
|
439
|
-
"items": map(columns.value, function (item) {
|
|
440
|
-
var vNode = getFormItemEl(formElementMap, item, props.needRules);
|
|
441
|
-
return {
|
|
442
|
-
rowKey: getColumnFormItemName(item),
|
|
443
|
-
vNode: vNode,
|
|
444
|
-
col: get(item, ["extra", "col"])
|
|
445
|
-
};
|
|
446
|
-
})
|
|
447
|
-
}, null);
|
|
448
|
-
};
|
|
449
|
-
}
|
|
450
|
-
});
|
|
451
|
-
var ProForm = defineComponent({
|
|
452
|
-
inheritAttrs: false,
|
|
453
|
-
props: _objectSpread2(_objectSpread2(_objectSpread2({}, ElForm.props), omit(ProForm$1.props, "model")), omit(ProGrid.props, "items")),
|
|
194
|
+
var Form = defineComponent({
|
|
195
|
+
props: _objectSpread2({}, ElForm.props),
|
|
454
196
|
setup: function setup(props, _ref2) {
|
|
455
197
|
var slots = _ref2.slots,
|
|
456
|
-
expose = _ref2.expose,
|
|
457
198
|
emit = _ref2.emit,
|
|
458
|
-
|
|
459
|
-
var formRef = ref();
|
|
199
|
+
expose = _ref2.expose;
|
|
460
200
|
var formState = props.model || reactive({});
|
|
461
|
-
var
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
(_el$validate = el.validate) === null || _el$validate === void 0 ? void 0 : _el$validate.call(el, function (isValid, invalidFields) {
|
|
469
|
-
if (isValid) {
|
|
470
|
-
//验证成功
|
|
471
|
-
//删除不显示的值再触发事件
|
|
472
|
-
var _showValues = getValidValues(formState, showState, props.showStateRules);
|
|
473
|
-
|
|
474
|
-
emit("finish", _showValues, toRaw(formState));
|
|
475
|
-
} else {
|
|
476
|
-
emit("finishFailed", invalidFields);
|
|
477
|
-
}
|
|
478
|
-
});
|
|
479
|
-
}
|
|
480
|
-
});
|
|
201
|
+
var formRef = ref();
|
|
202
|
+
var formMethods = ["clearValidate", "resetFields", "scrollToField", "validate", "validateField", "submit"];
|
|
203
|
+
useEffect(function () {
|
|
204
|
+
if (!formRef.value) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
481
207
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
};
|
|
208
|
+
formRef.value.submit = function () {
|
|
209
|
+
var _formRef$value;
|
|
485
210
|
|
|
486
|
-
|
|
487
|
-
|
|
211
|
+
(_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : _formRef$value.validate(function (isValid, invalidFields) {
|
|
212
|
+
if (isValid) {
|
|
213
|
+
emit("finish", toRaw(formState));
|
|
214
|
+
} else {
|
|
215
|
+
emit("finishFailed", invalidFields);
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
}, []);
|
|
220
|
+
expose(createExpose(formMethods, formRef));
|
|
488
221
|
return function () {
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
"model": formState
|
|
493
|
-
|
|
494
|
-
"provideExtra": _objectSpread2({
|
|
495
|
-
formRef: formRef
|
|
496
|
-
}, props.provideExtra)
|
|
497
|
-
}), {
|
|
498
|
-
"default": function _default() {
|
|
499
|
-
return [createVNode(ElForm, mergeProps({
|
|
500
|
-
"ref": handleRef
|
|
501
|
-
}, attrs, omit.apply(void 0, [props].concat(_toConsumableArray(originKeys), ["model"], _toConsumableArray(gridKeys))), {
|
|
502
|
-
"model": formState
|
|
503
|
-
}), {
|
|
504
|
-
"default": function _default() {
|
|
505
|
-
return [(_slots$top = slots.top) === null || _slots$top === void 0 ? void 0 : _slots$top.call(slots), createVNode(Content, mergeProps(pick(props, gridKeys), {
|
|
506
|
-
"needRules": props.needRules
|
|
507
|
-
}), null), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
|
|
508
|
-
}
|
|
509
|
-
})];
|
|
510
|
-
}
|
|
511
|
-
});
|
|
222
|
+
return createVNode(ElForm, mergeProps({
|
|
223
|
+
"ref": formRef
|
|
224
|
+
}, omit(props, "model"), {
|
|
225
|
+
"model": formState
|
|
226
|
+
}), slots);
|
|
512
227
|
};
|
|
513
228
|
}
|
|
514
229
|
});
|
|
515
|
-
|
|
516
|
-
var
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
var slots = _ref.slots,
|
|
526
|
-
attrs = _ref.attrs;
|
|
527
|
-
var formRef = ref();
|
|
528
|
-
var formState = props.model || reactive({});
|
|
529
|
-
var originKeys = keys(omit(ProSearchForm$1.props, "model", "columns"));
|
|
530
|
-
return function () {
|
|
531
|
-
return createVNode(Fragment, null, [createVNode(ProForm, mergeProps({
|
|
532
|
-
"ref": formRef
|
|
533
|
-
}, attrs, omit.apply(void 0, [props].concat(_toConsumableArray(originKeys), ["needRules", "model"])), {
|
|
534
|
-
"model": formState,
|
|
535
|
-
"needRules": false
|
|
536
|
-
}), slots), createVNode(ProSearchForm$1, mergeProps(pick(props, originKeys), {
|
|
537
|
-
"model": formState,
|
|
538
|
-
"columns": props.columns,
|
|
539
|
-
"onFinish": function onFinish() {
|
|
540
|
-
var _formRef$value;
|
|
541
|
-
|
|
542
|
-
(_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : _formRef$value.submit();
|
|
543
|
-
}
|
|
544
|
-
}), null)]);
|
|
545
|
-
};
|
|
230
|
+
//emit;
|
|
231
|
+
var ProForm = createForm(Form, ProGrid);
|
|
232
|
+
var ProSearchForm = createSearchForm(ProForm, {
|
|
233
|
+
needRules: {
|
|
234
|
+
type: Boolean,
|
|
235
|
+
"default": false
|
|
236
|
+
},
|
|
237
|
+
inline: {
|
|
238
|
+
type: Boolean,
|
|
239
|
+
"default": true
|
|
546
240
|
}
|
|
547
241
|
});
|
|
548
242
|
|
|
@@ -573,7 +267,7 @@ var ProSelect = defineComponent({
|
|
|
573
267
|
|
|
574
268
|
return createVNode(ElSelect, mergeProps(omit(props, invalidKeys), {
|
|
575
269
|
"onUpdate:modelValue": function onUpdateModelValue(v) {
|
|
576
|
-
emit("update:modelValue", v);
|
|
270
|
+
emit("update:modelValue", v ? v : undefined);
|
|
577
271
|
}
|
|
578
272
|
}), _objectSpread2({
|
|
579
273
|
"default": function _default() {
|
|
@@ -662,6 +356,8 @@ var ProSubmitButton = defineComponent({
|
|
|
662
356
|
}
|
|
663
357
|
});
|
|
664
358
|
|
|
359
|
+
var FormList = createFormList(ProFormItem);
|
|
360
|
+
|
|
665
361
|
var proFormListProps = function proFormListProps() {
|
|
666
362
|
return {
|
|
667
363
|
addButtonText: {
|
|
@@ -683,215 +379,98 @@ var proFormListProps = function proFormListProps() {
|
|
|
683
379
|
|
|
684
380
|
var ProFormList = defineComponent({
|
|
685
381
|
name: "PFormList",
|
|
686
|
-
props: _objectSpread2(_objectSpread2({},
|
|
382
|
+
props: _objectSpread2(_objectSpread2({}, FormList.props), proFormListProps()),
|
|
687
383
|
setup: function setup(props, _ref) {
|
|
688
384
|
var slots = _ref.slots;
|
|
689
|
-
var originKeys = keys(ProFormList$1.props);
|
|
690
385
|
var invalidKeys = keys(proFormListProps());
|
|
691
386
|
return function () {
|
|
692
|
-
return createVNode(
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
"name": props.name
|
|
698
|
-
}), _objectSpread2({
|
|
699
|
-
itemMinus: function itemMinus() {
|
|
700
|
-
return createVNode(ElButton, mergeProps({
|
|
701
|
-
"link": true
|
|
702
|
-
}, props.minusButtonProps), {
|
|
703
|
-
"default": function _default() {
|
|
704
|
-
return [props.minusButtonText];
|
|
705
|
-
}
|
|
706
|
-
});
|
|
707
|
-
},
|
|
708
|
-
add: function add() {
|
|
709
|
-
return createVNode(ElButton, mergeProps({
|
|
710
|
-
"type": "primary"
|
|
711
|
-
}, props.addButtonProps), {
|
|
712
|
-
"default": function _default() {
|
|
713
|
-
return [props.addButtonText];
|
|
714
|
-
}
|
|
715
|
-
});
|
|
387
|
+
return createVNode(FormList, omit(props, invalidKeys), _objectSpread2({
|
|
388
|
+
itemMinus: function itemMinus() {
|
|
389
|
+
return createVNode(ElButton, props.minusButtonProps, {
|
|
390
|
+
"default": function _default() {
|
|
391
|
+
return [props.minusButtonText];
|
|
716
392
|
}
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
* 添加 和 修改 时候的确定按钮
|
|
726
|
-
*/
|
|
727
|
-
|
|
728
|
-
var OkButton = defineComponent({
|
|
729
|
-
props: _objectSpread2({}, ElButton.props),
|
|
730
|
-
setup: function setup(props, _ref) {
|
|
731
|
-
var slots = _ref.slots;
|
|
732
|
-
|
|
733
|
-
var _useProCurd = useProCurd(),
|
|
734
|
-
curdState = _useProCurd.curdState;
|
|
735
|
-
|
|
736
|
-
return function () {
|
|
737
|
-
return createVNode(ProSubmitButton, mergeProps({
|
|
738
|
-
"onClick": function onClick() {
|
|
739
|
-
curdState.addAction = CurdAddAction.NORMAL;
|
|
740
|
-
}
|
|
741
|
-
}, props, {
|
|
742
|
-
"loading": curdState.operateLoading
|
|
743
|
-
}), {
|
|
744
|
-
"default": function _default() {
|
|
745
|
-
return [slots["default"] ? slots["default"]() : "确定"];
|
|
746
|
-
}
|
|
747
|
-
});
|
|
748
|
-
};
|
|
749
|
-
}
|
|
750
|
-
});
|
|
751
|
-
/**
|
|
752
|
-
* 添加 时候的 确定并继续添加按钮
|
|
753
|
-
*/
|
|
754
|
-
|
|
755
|
-
var ContinueAddButton = defineComponent({
|
|
756
|
-
props: _objectSpread2({}, ElButton.props),
|
|
757
|
-
setup: function setup(props, _ref2) {
|
|
758
|
-
var slots = _ref2.slots;
|
|
759
|
-
|
|
760
|
-
var _useProCurd2 = useProCurd(),
|
|
761
|
-
curdState = _useProCurd2.curdState;
|
|
762
|
-
|
|
763
|
-
return function () {
|
|
764
|
-
return createVNode(ProSubmitButton, mergeProps({
|
|
765
|
-
"onClick": function onClick() {
|
|
766
|
-
curdState.addAction = CurdAddAction.CONTINUE;
|
|
767
|
-
}
|
|
768
|
-
}, props, {
|
|
769
|
-
"loading": curdState.operateLoading
|
|
770
|
-
}), {
|
|
771
|
-
"default": function _default() {
|
|
772
|
-
return [slots["default"] ? slots["default"]() : "确定并继续"];
|
|
393
|
+
});
|
|
394
|
+
},
|
|
395
|
+
add: function add() {
|
|
396
|
+
return createVNode(ElButton, props.addButtonProps, {
|
|
397
|
+
"default": function _default() {
|
|
398
|
+
return [props.addButtonText];
|
|
399
|
+
}
|
|
400
|
+
});
|
|
773
401
|
}
|
|
774
|
-
});
|
|
402
|
+
}, slots));
|
|
775
403
|
};
|
|
776
404
|
}
|
|
777
405
|
});
|
|
778
406
|
|
|
779
|
-
var
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
type: Boolean,
|
|
784
|
-
"default": false
|
|
785
|
-
},
|
|
786
|
-
//
|
|
787
|
-
okText: {
|
|
788
|
-
type: String,
|
|
789
|
-
"default": "确定"
|
|
790
|
-
},
|
|
791
|
-
okButtonProps: {
|
|
792
|
-
type: Object
|
|
407
|
+
var Table = defineComponent({
|
|
408
|
+
props: _objectSpread2(_objectSpread2({}, ElTable.props), {}, {
|
|
409
|
+
columns: {
|
|
410
|
+
type: Array
|
|
793
411
|
},
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
type: String,
|
|
797
|
-
"default": "确定并继续"
|
|
412
|
+
dataSource: {
|
|
413
|
+
type: Array
|
|
798
414
|
},
|
|
799
|
-
|
|
800
|
-
type:
|
|
415
|
+
loading: {
|
|
416
|
+
type: Boolean
|
|
801
417
|
}
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
var
|
|
806
|
-
props: _objectSpread2({}, proOperateButtonProps()),
|
|
807
|
-
setup: function setup(props, _ref3) {
|
|
808
|
-
var slots = _ref3.slots;
|
|
809
|
-
|
|
810
|
-
var _useProCurd3 = useProCurd(),
|
|
811
|
-
curdState = _useProCurd3.curdState;
|
|
812
|
-
|
|
418
|
+
}),
|
|
419
|
+
setup: function setup(props, _ref) {
|
|
420
|
+
var slots = _ref.slots;
|
|
421
|
+
var id = createLoadingId("table");
|
|
813
422
|
return function () {
|
|
814
|
-
var _slots$
|
|
423
|
+
var _slots$start, _slots$default;
|
|
815
424
|
|
|
816
|
-
return createVNode(
|
|
817
|
-
"
|
|
818
|
-
},
|
|
819
|
-
"
|
|
820
|
-
|
|
821
|
-
}
|
|
822
|
-
}), (_slots$center = slots.center) === null || _slots$center === void 0 ? void 0 : _slots$center.call(slots), curdState.mode === CurdCurrentMode.ADD && props.showContinueAdd && createVNode(ContinueAddButton, props.continueButtonProps, {
|
|
425
|
+
return createVNode(ElTable, mergeProps({
|
|
426
|
+
"id": id
|
|
427
|
+
}, omit(props, "columns", "dataSource", "loading"), {
|
|
428
|
+
"data": props.dataSource || props.data
|
|
429
|
+
}), _objectSpread2({
|
|
823
430
|
"default": function _default() {
|
|
824
|
-
return [props.
|
|
431
|
+
return [(_slots$start = slots.start) === null || _slots$start === void 0 ? void 0 : _slots$start.call(slots), map(props.columns, function (item) {
|
|
432
|
+
return createVNode(ElTableColumn, mergeProps({
|
|
433
|
+
"key": item.dataIndex
|
|
434
|
+
}, omit(item, "title", "label", "renderHeader", "prop", "dataIndex", "formatter", "customRender"), {
|
|
435
|
+
"label": isVNode(item.title) ? undefined : item.title || get(item, "label"),
|
|
436
|
+
"renderHeader": isVNode(item.title) ? function () {
|
|
437
|
+
return item.title;
|
|
438
|
+
} : undefined,
|
|
439
|
+
"prop": item.dataIndex,
|
|
440
|
+
"formatter": function formatter(record, column, value, index) {
|
|
441
|
+
if (item.customRender) {
|
|
442
|
+
return item.customRender({
|
|
443
|
+
value: value,
|
|
444
|
+
text: value,
|
|
445
|
+
record: record,
|
|
446
|
+
column: column,
|
|
447
|
+
index: index
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
return value;
|
|
452
|
+
}
|
|
453
|
+
}), null);
|
|
454
|
+
}), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), props.loading && createVNode(ProLoading, {
|
|
455
|
+
"target": id,
|
|
456
|
+
"loading": true
|
|
457
|
+
}, null)];
|
|
825
458
|
}
|
|
826
|
-
}
|
|
459
|
+
}, omit(slots, "default", "start")));
|
|
827
460
|
};
|
|
828
461
|
}
|
|
829
462
|
});
|
|
463
|
+
var ProTable = createTable(Table);
|
|
830
464
|
|
|
831
|
-
var
|
|
465
|
+
var ProCurdForm = createCurdForm(ProForm, ElButton, function (curdState) {
|
|
832
466
|
return {
|
|
833
|
-
|
|
834
|
-
operateButtonProps: {
|
|
835
|
-
type: Object
|
|
836
|
-
}
|
|
467
|
+
hideRequiredAsterisk: curdState.mode === CurdCurrentMode.DETAIL
|
|
837
468
|
};
|
|
838
|
-
};
|
|
839
|
-
|
|
840
|
-
var ProCurdForm = defineComponent({
|
|
841
|
-
props: _objectSpread2(_objectSpread2({}, ProForm.props), proCurdFormProps()),
|
|
842
|
-
setup: function setup(props, _ref4) {
|
|
843
|
-
var slots = _ref4.slots;
|
|
844
|
-
|
|
845
|
-
var _useProModule = useProModule(),
|
|
846
|
-
elementMap = _useProModule.elementMap,
|
|
847
|
-
formElementMap = _useProModule.formElementMap;
|
|
848
|
-
|
|
849
|
-
var _useProCurd4 = useProCurd(),
|
|
850
|
-
curdState = _useProCurd4.curdState,
|
|
851
|
-
formColumns = _useProCurd4.formColumns,
|
|
852
|
-
sendCurdEvent = _useProCurd4.sendCurdEvent;
|
|
853
|
-
|
|
854
|
-
var handleFinish = function handleFinish(values) {
|
|
855
|
-
if (curdState.mode === CurdCurrentMode.EDIT) {
|
|
856
|
-
//edit
|
|
857
|
-
sendCurdEvent({
|
|
858
|
-
action: CurdAction.EDIT,
|
|
859
|
-
type: CurdSubAction.EXECUTE,
|
|
860
|
-
values: values
|
|
861
|
-
});
|
|
862
|
-
} else {
|
|
863
|
-
//add
|
|
864
|
-
sendCurdEvent({
|
|
865
|
-
action: CurdAction.ADD,
|
|
866
|
-
type: CurdSubAction.EXECUTE,
|
|
867
|
-
values: values
|
|
868
|
-
});
|
|
869
|
-
}
|
|
870
|
-
};
|
|
871
|
-
|
|
872
|
-
return function () {
|
|
873
|
-
var _slots$default;
|
|
874
|
-
|
|
875
|
-
return createVNode(ProForm, mergeProps(omit(props, "elementMap", "formElementMap"), {
|
|
876
|
-
"elementMap": props.elementMap || elementMap,
|
|
877
|
-
"formElementMap": props.formElementMap || formElementMap,
|
|
878
|
-
"columns": formColumns.value,
|
|
879
|
-
"model": curdState.detailData,
|
|
880
|
-
"readonly": curdState.mode === CurdCurrentMode.DETAIL,
|
|
881
|
-
"hideRequiredAsterisk": curdState.mode === CurdCurrentMode.DETAIL,
|
|
882
|
-
"onFinish": handleFinish
|
|
883
|
-
}), _objectSpread2({
|
|
884
|
-
"default": function _default() {
|
|
885
|
-
return [curdState.mode !== CurdCurrentMode.DETAIL && createVNode(ProOperateButton, omit(props.operateButtonProps, "slots"), get(props.operateButtonProps, "slots")), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
|
|
886
|
-
}
|
|
887
|
-
}, omit(slots, "default")));
|
|
888
|
-
};
|
|
889
|
-
}
|
|
890
469
|
});
|
|
891
470
|
var ProCurdFormConnect = defineComponent({
|
|
892
471
|
setup: function setup() {
|
|
893
|
-
var
|
|
894
|
-
formProps =
|
|
472
|
+
var _useProCurd = useProCurd(),
|
|
473
|
+
formProps = _useProCurd.formProps;
|
|
895
474
|
|
|
896
475
|
return function () {
|
|
897
476
|
return createVNode(ProCurdForm, omit(formProps === null || formProps === void 0 ? void 0 : formProps.value, "slots"), get(formProps === null || formProps === void 0 ? void 0 : formProps.value, "slots"));
|
|
@@ -899,114 +478,45 @@ var ProCurdFormConnect = defineComponent({
|
|
|
899
478
|
}
|
|
900
479
|
});
|
|
901
480
|
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
481
|
+
var CurdList = createCurdList(ProSearchForm, ProTable);
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* 组合列表
|
|
485
|
+
* SearchForm + Table + Pagination
|
|
905
486
|
*/
|
|
906
487
|
var ProCurdList = defineComponent({
|
|
907
|
-
props: _objectSpread2({},
|
|
488
|
+
props: _objectSpread2(_objectSpread2({}, CurdList.props), {}, {
|
|
489
|
+
paginationProps: {
|
|
490
|
+
type: Object
|
|
491
|
+
}
|
|
492
|
+
}),
|
|
908
493
|
setup: function setup(props, _ref) {
|
|
909
494
|
var slots = _ref.slots;
|
|
910
|
-
|
|
911
|
-
var _useProModule = useProModule(),
|
|
912
|
-
elementMap = _useProModule.elementMap,
|
|
913
|
-
formElementMap = _useProModule.formElementMap;
|
|
914
|
-
|
|
915
|
-
var _useProCurd = useProCurd(),
|
|
916
|
-
curdState = _useProCurd.curdState,
|
|
917
|
-
searchColumns = _useProCurd.searchColumns,
|
|
918
|
-
tableColumns = _useProCurd.tableColumns,
|
|
919
|
-
getOperate = _useProCurd.getOperate,
|
|
920
|
-
sendCurdEvent = _useProCurd.sendCurdEvent;
|
|
921
|
-
/******************* table ********************/
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
var prepareTableItem = function prepareTableItem(action) {
|
|
925
|
-
var item = getOperate(action);
|
|
926
|
-
return _objectSpread2(_objectSpread2({}, pick(item, "label", "element", "disabled", "sort")), {}, {
|
|
927
|
-
show: !isUndefined(item === null || item === void 0 ? void 0 : item.show) ? item === null || item === void 0 ? void 0 : item.show : false,
|
|
928
|
-
onClick: function onClick(record) {
|
|
929
|
-
if (item !== null && item !== void 0 && item.onClick) {
|
|
930
|
-
item.onClick(record);
|
|
931
|
-
return;
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
sendCurdEvent({
|
|
935
|
-
action: action,
|
|
936
|
-
type: CurdSubAction.EMIT,
|
|
937
|
-
record: record
|
|
938
|
-
});
|
|
939
|
-
},
|
|
940
|
-
value: action
|
|
941
|
-
});
|
|
942
|
-
}; //table操作栏 items
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
var tableOperateItems = [prepareTableItem(CurdAction.DETAIL), prepareTableItem(CurdAction.EDIT), prepareTableItem(CurdAction.DELETE)];
|
|
946
495
|
return function () {
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
"searchProps": _objectSpread2(_objectSpread2({
|
|
961
|
-
formElementMap: formElementMap
|
|
962
|
-
}, props.searchProps), {}, {
|
|
963
|
-
columns: searchColumns.value
|
|
964
|
-
}),
|
|
965
|
-
"tableProps": _objectSpread2(_objectSpread2({
|
|
966
|
-
elementMap: elementMap
|
|
967
|
-
}, tableProps), {}, {
|
|
968
|
-
operate: mergeWith({
|
|
969
|
-
items: tableOperateItems
|
|
970
|
-
}, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate, function (objValue, srcValue) {
|
|
971
|
-
if (isArray(objValue)) {
|
|
972
|
-
if (isArray(srcValue)) {
|
|
973
|
-
//合并
|
|
974
|
-
return concat(objValue, map(srcValue, function (item) {
|
|
975
|
-
var nextItem = _objectSpread2({}, item);
|
|
976
|
-
|
|
977
|
-
if (!item.onClick) {
|
|
978
|
-
nextItem.onClick = function (record) {
|
|
979
|
-
sendCurdEvent({
|
|
980
|
-
action: "operate",
|
|
981
|
-
type: item.value,
|
|
982
|
-
record: record
|
|
983
|
-
});
|
|
984
|
-
};
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
return nextItem;
|
|
988
|
-
}));
|
|
989
|
-
} else {
|
|
990
|
-
//使用curd默认
|
|
991
|
-
return objValue;
|
|
992
|
-
}
|
|
496
|
+
return createVNode(CurdList, omit(props, "paginationProps"), _objectSpread2({
|
|
497
|
+
pagination: function pagination(pageState, total, handleSearch) {
|
|
498
|
+
return createVNode(ElPagination, mergeProps(props.paginationProps, {
|
|
499
|
+
"total": total,
|
|
500
|
+
"currentPage": pageState.page,
|
|
501
|
+
"pageSize": pageState.pageSize,
|
|
502
|
+
"onSizeChange": function onSizeChange(pageSize) {
|
|
503
|
+
pageState.pageSize = pageSize;
|
|
504
|
+
handleSearch();
|
|
505
|
+
},
|
|
506
|
+
"onCurrentChange": function onCurrentChange(current) {
|
|
507
|
+
pageState.page = current;
|
|
508
|
+
handleSearch();
|
|
993
509
|
}
|
|
994
|
-
}),
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
data: (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
|
|
998
|
-
}),
|
|
999
|
-
"paginationProps": _objectSpread2(_objectSpread2({}, paginationProps), {}, {
|
|
1000
|
-
total: (_curdState$listData2 = curdState.listData) === null || _curdState$listData2 === void 0 ? void 0 : _curdState$listData2.total
|
|
1001
|
-
})
|
|
1002
|
-
}), slots);
|
|
510
|
+
}), null);
|
|
511
|
+
}
|
|
512
|
+
}, slots));
|
|
1003
513
|
};
|
|
1004
514
|
}
|
|
1005
515
|
});
|
|
1006
516
|
var ProCurdListConnect = defineComponent({
|
|
1007
517
|
setup: function setup() {
|
|
1008
|
-
var
|
|
1009
|
-
listProps =
|
|
518
|
+
var _useProCurd = useProCurd(),
|
|
519
|
+
listProps = _useProCurd.listProps;
|
|
1010
520
|
|
|
1011
521
|
return function () {
|
|
1012
522
|
return createVNode(ProCurdList, omit(listProps === null || listProps === void 0 ? void 0 : listProps.value, "slots"), get(listProps === null || listProps === void 0 ? void 0 : listProps.value, "slots"));
|
|
@@ -1014,53 +524,14 @@ var ProCurdListConnect = defineComponent({
|
|
|
1014
524
|
}
|
|
1015
525
|
});
|
|
1016
526
|
|
|
1017
|
-
|
|
1018
|
-
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
|
-
var ProCurdDesc = defineComponent({
|
|
1022
|
-
props: _objectSpread2({}, ElDescriptions.props),
|
|
1023
|
-
setup: function setup(props, _ref) {
|
|
1024
|
-
var slots = _ref.slots;
|
|
1025
|
-
|
|
1026
|
-
var _useProModule = useProModule(),
|
|
1027
|
-
getItemVNode = _useProModule.getItemVNode;
|
|
1028
|
-
|
|
1029
|
-
var _useProCurd = useProCurd(),
|
|
1030
|
-
curdState = _useProCurd.curdState,
|
|
1031
|
-
descColumns = _useProCurd.descColumns;
|
|
1032
|
-
|
|
1033
|
-
var descVNodes = computed(function () {
|
|
1034
|
-
return map(descColumns.value, function (item) {
|
|
1035
|
-
var _slot;
|
|
1036
|
-
|
|
1037
|
-
var value = get(curdState.detailData, item.dataIndex);
|
|
1038
|
-
return createVNode(ElDescriptionsItem, mergeProps({
|
|
1039
|
-
"key": item.dataIndex,
|
|
1040
|
-
"label": item.title
|
|
1041
|
-
}, get(item.extra, "desc")), _isSlot(_slot = getItemVNode(item, value)) ? _slot : {
|
|
1042
|
-
"default": function _default() {
|
|
1043
|
-
return [_slot];
|
|
1044
|
-
}
|
|
1045
|
-
});
|
|
1046
|
-
});
|
|
1047
|
-
});
|
|
1048
|
-
return function () {
|
|
1049
|
-
return createVNode(ElDescriptions, props, _objectSpread2({
|
|
1050
|
-
"default": function _default() {
|
|
1051
|
-
return descVNodes.value;
|
|
1052
|
-
}
|
|
1053
|
-
}, omit(slots, "default")));
|
|
1054
|
-
};
|
|
1055
|
-
}
|
|
1056
|
-
});
|
|
527
|
+
var ProCurdDesc = createCurdDesc(ElDescriptions, ElDescriptionsItem);
|
|
1057
528
|
var ProCurdDescConnect = defineComponent({
|
|
1058
529
|
setup: function setup() {
|
|
1059
|
-
var
|
|
1060
|
-
descProps =
|
|
530
|
+
var _useProCurd = useProCurd(),
|
|
531
|
+
descProps = _useProCurd.descProps;
|
|
1061
532
|
|
|
1062
533
|
return function () {
|
|
1063
|
-
return createVNode(
|
|
534
|
+
return createVNode(ProCurdDesc, omit(descProps === null || descProps === void 0 ? void 0 : descProps.value, "slots"), get(descProps === null || descProps === void 0 ? void 0 : descProps.value, "slots"));
|
|
1064
535
|
};
|
|
1065
536
|
}
|
|
1066
537
|
});
|
|
@@ -1122,4 +593,4 @@ var ProCurdModalConnect = defineComponent({
|
|
|
1122
593
|
}
|
|
1123
594
|
});
|
|
1124
595
|
|
|
1125
|
-
export {
|
|
596
|
+
export { ProCurdDesc, ProCurdDescConnect, ProCurdForm, ProCurdFormConnect, ProCurdList, ProCurdListConnect, ProCurdModal, ProCurdModalConnect, ProForm, ProFormCascader, ProFormCheckbox, ProFormDatePicker, ProFormItem, ProFormList, ProFormRadio, ProFormSelect, ProFormSwitch, ProFormText, ProFormTextNumber, ProFormTimePicker, ProFormTreeSelect, ProGrid, ProLoading, ProSearchForm, ProSelect, ProSubmitButton, ProTable, createFormItemComponent, createLoadingId };
|