@vue-start/element-pro 0.1.0 → 0.1.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 +10 -0
- package/dist/index.d.ts +340 -627
- package/dist/index.es.js +171 -749
- package/dist/index.js +183 -773
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -6,8 +6,7 @@ var vue = require('vue');
|
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
7
|
var lodash = require('lodash');
|
|
8
8
|
var hooks = require('@vue-start/hooks');
|
|
9
|
-
var
|
|
10
|
-
var rxjs = require('rxjs');
|
|
9
|
+
var pro = require('@vue-start/pro');
|
|
11
10
|
|
|
12
11
|
function ownKeys(object, enumerableOnly) {
|
|
13
12
|
var keys = Object.keys(object);
|
|
@@ -105,51 +104,6 @@ var provideProFormList = function provideProFormList(ctx) {
|
|
|
105
104
|
vue.provide(ProFormListKey, ctx);
|
|
106
105
|
};
|
|
107
106
|
|
|
108
|
-
/**
|
|
109
|
-
* 剔除showState或showStateRules规则为!true的值
|
|
110
|
-
* @param values
|
|
111
|
-
* @param showState
|
|
112
|
-
* @param showStateRules
|
|
113
|
-
*/
|
|
114
|
-
var getValidValues = function getValidValues(values, showState, showStateRules) {
|
|
115
|
-
if (showState) {
|
|
116
|
-
var invalidKeys = lodash.filter(lodash.keys(showState), function (key) {
|
|
117
|
-
return !showState[key];
|
|
118
|
-
});
|
|
119
|
-
return lodash.omit(values, invalidKeys);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if (showStateRules) {
|
|
123
|
-
var _invalidKeys = lodash.filter(lodash.keys(showStateRules), function (key) {
|
|
124
|
-
return !showStateRules[key](values);
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
return lodash.omit(values, _invalidKeys);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return values;
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* string类型的path转为arr
|
|
134
|
-
* @param path
|
|
135
|
-
*/
|
|
136
|
-
|
|
137
|
-
var convertPathToList = function convertPathToList(path) {
|
|
138
|
-
if (!path) {
|
|
139
|
-
return undefined;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
if (lodash.isArray(path)) {
|
|
143
|
-
return path;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
if (path && lodash.isString(path) && path.indexOf(".") > 0) {
|
|
147
|
-
return lodash.split(path, ".");
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
return [path];
|
|
151
|
-
};
|
|
152
|
-
|
|
153
107
|
var proFormItemProps$1 = function proFormItemProps() {
|
|
154
108
|
return {
|
|
155
109
|
name: {
|
|
@@ -286,7 +240,7 @@ var ProForm = vue.defineComponent({
|
|
|
286
240
|
if (isValid) {
|
|
287
241
|
//验证成功
|
|
288
242
|
//删除不显示的值再触发事件
|
|
289
|
-
var _showValues = getValidValues(formState, showState, props.showStateRules);
|
|
243
|
+
var _showValues = pro.getValidValues(formState, showState, props.showStateRules);
|
|
290
244
|
|
|
291
245
|
emit("finish", _showValues, vue.toRaw(formState));
|
|
292
246
|
} else {
|
|
@@ -311,171 +265,6 @@ var ProForm = vue.defineComponent({
|
|
|
311
265
|
}
|
|
312
266
|
});
|
|
313
267
|
|
|
314
|
-
var ProModuleKey = Symbol("pro-module");
|
|
315
|
-
var useProModule = function useProModule() {
|
|
316
|
-
return vue.inject(ProModuleKey);
|
|
317
|
-
};
|
|
318
|
-
var provideProModule = function provideProModule(ctx) {
|
|
319
|
-
vue.provide(ProModuleKey, ctx);
|
|
320
|
-
};
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* 获取Column的valueType,默认"text"
|
|
324
|
-
* @param column
|
|
325
|
-
*/
|
|
326
|
-
|
|
327
|
-
var getColumnValueType = function getColumnValueType(column) {
|
|
328
|
-
return column.formValueType || column.valueType || "text";
|
|
329
|
-
};
|
|
330
|
-
/**
|
|
331
|
-
*获取Column的FormItem name
|
|
332
|
-
* @param column
|
|
333
|
-
*/
|
|
334
|
-
|
|
335
|
-
var getColumnFormItemName = function getColumnFormItemName(column) {
|
|
336
|
-
var _column$formItemProps;
|
|
337
|
-
|
|
338
|
-
return ((_column$formItemProps = column.formItemProps) === null || _column$formItemProps === void 0 ? void 0 : _column$formItemProps.name) || column.dataIndex;
|
|
339
|
-
};
|
|
340
|
-
/**
|
|
341
|
-
* 根据Column生成FormItem VNode
|
|
342
|
-
* formFieldProps中的slots参数会以v-slots的形式传递到FormItem的录入组件(子组件)中
|
|
343
|
-
* @param formElementMap
|
|
344
|
-
* @param column
|
|
345
|
-
* @param needRules
|
|
346
|
-
*/
|
|
347
|
-
|
|
348
|
-
var getFormItemEl = function getFormItemEl(formElementMap, column) {
|
|
349
|
-
var _column$formFieldProp;
|
|
350
|
-
|
|
351
|
-
var needRules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
352
|
-
var valueType = getColumnValueType(column);
|
|
353
|
-
var Comp = lodash.get(formElementMap, valueType);
|
|
354
|
-
|
|
355
|
-
if (!Comp) {
|
|
356
|
-
return null;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
var name = getColumnFormItemName(column);
|
|
360
|
-
var itemProps = needRules ? column.formItemProps : lodash.omit(column.formItemProps, "rules");
|
|
361
|
-
return vue.createVNode(Comp, vue.mergeProps({
|
|
362
|
-
"key": name,
|
|
363
|
-
"name": name,
|
|
364
|
-
"label": column.title
|
|
365
|
-
}, itemProps, {
|
|
366
|
-
"fieldProps": lodash.omit(column.formFieldProps, "slots"),
|
|
367
|
-
"showProps": column.showProps
|
|
368
|
-
}), (_column$formFieldProp = column.formFieldProps) === null || _column$formFieldProp === void 0 ? void 0 : _column$formFieldProp.slots);
|
|
369
|
-
};
|
|
370
|
-
/**
|
|
371
|
-
* 根据Column生成Item VNode
|
|
372
|
-
* @param elementMap
|
|
373
|
-
* @param column
|
|
374
|
-
* @param value
|
|
375
|
-
*/
|
|
376
|
-
|
|
377
|
-
var getItemEl = function getItemEl(elementMap, column, value) {
|
|
378
|
-
var _column$formFieldProp2;
|
|
379
|
-
|
|
380
|
-
var valueType = column.valueType || "text";
|
|
381
|
-
var Comp = lodash.get(elementMap, valueType);
|
|
382
|
-
|
|
383
|
-
if (!Comp) {
|
|
384
|
-
return null;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
return vue.createVNode(Comp, vue.mergeProps(lodash.omit(column.formFieldProps, "slots"), {
|
|
388
|
-
"showProps": column.showProps,
|
|
389
|
-
"value": value
|
|
390
|
-
}), (_column$formFieldProp2 = column.formFieldProps) === null || _column$formFieldProp2 === void 0 ? void 0 : _column$formFieldProp2.slots);
|
|
391
|
-
};
|
|
392
|
-
|
|
393
|
-
var proModuleProps = function proModuleProps() {
|
|
394
|
-
return {
|
|
395
|
-
/**
|
|
396
|
-
* 配置(静态)
|
|
397
|
-
*/
|
|
398
|
-
columns: {
|
|
399
|
-
type: Array
|
|
400
|
-
},
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* 配置(动态)
|
|
404
|
-
* columns动态属性兼容
|
|
405
|
-
*/
|
|
406
|
-
columnState: {
|
|
407
|
-
type: Object
|
|
408
|
-
},
|
|
409
|
-
|
|
410
|
-
/**
|
|
411
|
-
* 展示组件集
|
|
412
|
-
*/
|
|
413
|
-
elementMap: {
|
|
414
|
-
type: Object
|
|
415
|
-
},
|
|
416
|
-
|
|
417
|
-
/**
|
|
418
|
-
* 录入组件集
|
|
419
|
-
*/
|
|
420
|
-
formElementMap: {
|
|
421
|
-
type: Object
|
|
422
|
-
}
|
|
423
|
-
};
|
|
424
|
-
};
|
|
425
|
-
|
|
426
|
-
var ProModule = vue.defineComponent({
|
|
427
|
-
name: "PModule",
|
|
428
|
-
props: _objectSpread2({}, proModuleProps()),
|
|
429
|
-
setup: function setup(props, _ref) {
|
|
430
|
-
var slots = _ref.slots;
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* columns columnState 合并
|
|
434
|
-
*/
|
|
435
|
-
var columns = vue.computed(function () {
|
|
436
|
-
return lodash.map(props.columns, function (item) {
|
|
437
|
-
//如果columnState中有值,merge处理
|
|
438
|
-
var mapData = lodash.get(props.columnState, getColumnFormItemName(item));
|
|
439
|
-
|
|
440
|
-
if (lodash.isObject(mapData) && !lodash.isEmpty(mapData) && !lodash.isArray(mapData) && !lodash.isFunction(mapData)) {
|
|
441
|
-
//合并
|
|
442
|
-
return lodash.mergeWith(item, mapData, function (objValue, srcValue) {
|
|
443
|
-
//如果是数组,替换
|
|
444
|
-
if (lodash.isArray(objValue) || lodash.isArray(srcValue)) {
|
|
445
|
-
return srcValue;
|
|
446
|
-
}
|
|
447
|
-
});
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
return item;
|
|
451
|
-
});
|
|
452
|
-
}); // 获取FormItem VNode
|
|
453
|
-
|
|
454
|
-
var getFormItemVNode = function getFormItemVNode(column) {
|
|
455
|
-
var needRules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
456
|
-
return getFormItemEl(props.formElementMap, column, needRules);
|
|
457
|
-
}; // 获取Item VNode
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
var getItemVNode = function getItemVNode(column, value) {
|
|
461
|
-
return getItemEl(props.elementMap, column, value);
|
|
462
|
-
};
|
|
463
|
-
|
|
464
|
-
provideProModule({
|
|
465
|
-
columns: columns,
|
|
466
|
-
getFormItemVNode: getFormItemVNode,
|
|
467
|
-
getItemVNode: getItemVNode,
|
|
468
|
-
elementMap: props.elementMap,
|
|
469
|
-
formElementMap: props.formElementMap
|
|
470
|
-
});
|
|
471
|
-
return function () {
|
|
472
|
-
var _slots$default;
|
|
473
|
-
|
|
474
|
-
return (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
|
|
475
|
-
};
|
|
476
|
-
}
|
|
477
|
-
});
|
|
478
|
-
|
|
479
268
|
var proSchemaFormProps = function proSchemaFormProps() {
|
|
480
269
|
return {
|
|
481
270
|
columns: {
|
|
@@ -511,7 +300,7 @@ var ProSchemaForm = vue.defineComponent({
|
|
|
511
300
|
}
|
|
512
301
|
|
|
513
302
|
return lodash.map(props.columns, function (item) {
|
|
514
|
-
return getFormItemEl(props.formElementMap, item, props.needRules);
|
|
303
|
+
return pro.getFormItemEl(props.formElementMap, item, props.needRules);
|
|
515
304
|
});
|
|
516
305
|
});
|
|
517
306
|
var invalidKeys = lodash.keys(proSchemaFormProps());
|
|
@@ -522,11 +311,11 @@ var ProSchemaForm = vue.defineComponent({
|
|
|
522
311
|
"ref": function ref(el) {
|
|
523
312
|
return expose(el);
|
|
524
313
|
}
|
|
525
|
-
}, lodash.omit(props, invalidKeys)), {
|
|
314
|
+
}, lodash.omit(props, invalidKeys)), _objectSpread2({
|
|
526
315
|
"default": function _default() {
|
|
527
316
|
return [formItemList.value, (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
|
|
528
317
|
}
|
|
529
|
-
});
|
|
318
|
+
}, lodash.omit(slots, "default")));
|
|
530
319
|
};
|
|
531
320
|
}
|
|
532
321
|
});
|
|
@@ -585,7 +374,7 @@ var ProSearchForm = vue.defineComponent({
|
|
|
585
374
|
|
|
586
375
|
var handleFinish = function handleFinish() {
|
|
587
376
|
var values = vue.toRaw(formState);
|
|
588
|
-
var showValues = getValidValues(values, props.showState, props.showStateRules);
|
|
377
|
+
var showValues = pro.getValidValues(values, props.showState, props.showStateRules);
|
|
589
378
|
emit("finish", showValues, values);
|
|
590
379
|
};
|
|
591
380
|
|
|
@@ -680,7 +469,7 @@ var createFormItemComponent = function createFormItemComponent(_ref) {
|
|
|
680
469
|
|
|
681
470
|
return formReadonly.value;
|
|
682
471
|
});
|
|
683
|
-
var nameList = convertPathToList(props.name);
|
|
472
|
+
var nameList = pro.convertPathToList(props.name);
|
|
684
473
|
var path = formListCtx !== null && formListCtx !== void 0 && formListCtx.pathList ? [].concat(_toConsumableArray(formListCtx.pathList), _toConsumableArray(nameList)) : nameList;
|
|
685
474
|
var invalidKeys = lodash.keys(proFormItemProps());
|
|
686
475
|
return function () {
|
|
@@ -870,7 +659,7 @@ var ProFormList = vue.defineComponent({
|
|
|
870
659
|
readonly = _useProForm.readonly;
|
|
871
660
|
|
|
872
661
|
var formListCtx = useProFormList();
|
|
873
|
-
var nameList = convertPathToList(props.prop);
|
|
662
|
+
var nameList = pro.convertPathToList(props.prop);
|
|
874
663
|
var path = formListCtx !== null && formListCtx !== void 0 && formListCtx.pathList ? [].concat(_toConsumableArray(formListCtx.pathList), _toConsumableArray(nameList)) : nameList;
|
|
875
664
|
|
|
876
665
|
var handleAdd = function handleAdd() {
|
|
@@ -965,6 +754,14 @@ var proTableProps = function proTableProps() {
|
|
|
965
754
|
*/
|
|
966
755
|
elementMap: {
|
|
967
756
|
type: Object
|
|
757
|
+
},
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
* loading
|
|
761
|
+
*/
|
|
762
|
+
loading: {
|
|
763
|
+
type: Boolean,
|
|
764
|
+
"default": false
|
|
968
765
|
}
|
|
969
766
|
};
|
|
970
767
|
};
|
|
@@ -983,7 +780,7 @@ var ProTable = vue.defineComponent({
|
|
|
983
780
|
if (!item.customRender || !item.formatter) {
|
|
984
781
|
nextItem.customRender = function (_ref2) {
|
|
985
782
|
var text = _ref2.text;
|
|
986
|
-
return getItemEl(props.elementMap, _objectSpread2(_objectSpread2({}, item), {}, {
|
|
783
|
+
return pro.getItemEl(props.elementMap, _objectSpread2(_objectSpread2({}, item), {}, {
|
|
987
784
|
showProps: _objectSpread2(_objectSpread2({}, item.showProps), {}, {
|
|
988
785
|
content: props.columnEmptyText
|
|
989
786
|
})
|
|
@@ -1012,10 +809,14 @@ var ProTable = vue.defineComponent({
|
|
|
1012
809
|
customRender: function customRender(_ref3) {
|
|
1013
810
|
var record = _ref3.record;
|
|
1014
811
|
var validList = lodash.filter(operateList, function (item) {
|
|
1015
|
-
if (
|
|
812
|
+
if (lodash.isFunction(item.show)) {
|
|
1016
813
|
return item.show(record);
|
|
1017
814
|
}
|
|
1018
815
|
|
|
816
|
+
if (item.show === false) {
|
|
817
|
+
return false;
|
|
818
|
+
}
|
|
819
|
+
|
|
1019
820
|
return true;
|
|
1020
821
|
});
|
|
1021
822
|
return vue.createVNode("div", {
|
|
@@ -1028,6 +829,7 @@ var ProTable = vue.defineComponent({
|
|
|
1028
829
|
|
|
1029
830
|
return vue.createVNode(elementPlus.ElButton, {
|
|
1030
831
|
"key": item.value,
|
|
832
|
+
"type": "primary",
|
|
1031
833
|
"link": true,
|
|
1032
834
|
"disabled": lodash.isFunction(item.disabled) ? item.disabled(record) : item.disabled,
|
|
1033
835
|
"onClick": function onClick() {
|
|
@@ -1051,7 +853,7 @@ var ProTable = vue.defineComponent({
|
|
|
1051
853
|
return function () {
|
|
1052
854
|
var _slots$default;
|
|
1053
855
|
|
|
1054
|
-
return vue.createVNode(elementPlus.ElTable, vue.mergeProps({
|
|
856
|
+
return vue.withDirectives(vue.createVNode(elementPlus.ElTable, vue.mergeProps({
|
|
1055
857
|
"ref": function ref(el) {
|
|
1056
858
|
expose(el);
|
|
1057
859
|
}
|
|
@@ -1087,400 +889,114 @@ var ProTable = vue.defineComponent({
|
|
|
1087
889
|
}), null);
|
|
1088
890
|
}), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
|
|
1089
891
|
}
|
|
1090
|
-
}, lodash.omit(slots, "default")));
|
|
892
|
+
}, lodash.omit(slots, "default"))), [[vue.resolveDirective("loading"), props.loading]]);
|
|
1091
893
|
};
|
|
1092
894
|
}
|
|
1093
895
|
});
|
|
1094
896
|
|
|
1095
|
-
var
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
};
|
|
1099
|
-
var provideProCurdModule = function provideProCurdModule(ctx) {
|
|
1100
|
-
vue.provide(ProCurdModuleKey, ctx);
|
|
897
|
+
var defaultPage = {
|
|
898
|
+
page: 1,
|
|
899
|
+
pageSize: 10
|
|
1101
900
|
};
|
|
1102
901
|
|
|
1103
|
-
|
|
1104
|
-
* curd 操作模式
|
|
1105
|
-
*/
|
|
1106
|
-
exports.CurdCurrentMode = void 0;
|
|
1107
|
-
|
|
1108
|
-
(function (CurdCurrentMode) {
|
|
1109
|
-
CurdCurrentMode["ADD"] = "ADD";
|
|
1110
|
-
CurdCurrentMode["EDIT"] = "EDIT";
|
|
1111
|
-
CurdCurrentMode["DETAIL"] = "DETAIL";
|
|
1112
|
-
})(exports.CurdCurrentMode || (exports.CurdCurrentMode = {}));
|
|
1113
|
-
|
|
1114
|
-
/**
|
|
1115
|
-
* curd add 模式下 标记 "确定" "确定并继续" 触发
|
|
1116
|
-
*/
|
|
1117
|
-
exports.CurdAddAction = void 0;
|
|
1118
|
-
|
|
1119
|
-
(function (CurdAddAction) {
|
|
1120
|
-
CurdAddAction["NORMAL"] = "NORMAL";
|
|
1121
|
-
CurdAddAction["CONTINUE"] = "CONTINUE";
|
|
1122
|
-
})(exports.CurdAddAction || (exports.CurdAddAction = {}));
|
|
1123
|
-
|
|
1124
|
-
var proCurdModuleProps = function proCurdModuleProps() {
|
|
902
|
+
var proListProps = function proListProps() {
|
|
1125
903
|
return {
|
|
1126
904
|
/**
|
|
1127
|
-
*
|
|
1128
|
-
*/
|
|
1129
|
-
curdState: {
|
|
1130
|
-
type: Object
|
|
1131
|
-
},
|
|
1132
|
-
|
|
1133
|
-
/**
|
|
1134
|
-
* 操作配置
|
|
1135
|
-
*/
|
|
1136
|
-
operate: {
|
|
1137
|
-
type: Object
|
|
1138
|
-
},
|
|
1139
|
-
|
|
1140
|
-
/**
|
|
1141
|
-
* 列表 或 详情 的唯一标识
|
|
905
|
+
* extra 是否放到SearchForm中
|
|
1142
906
|
*/
|
|
1143
|
-
|
|
1144
|
-
type:
|
|
1145
|
-
"default":
|
|
907
|
+
extraInSearch: {
|
|
908
|
+
type: Boolean,
|
|
909
|
+
"default": undefined
|
|
1146
910
|
},
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
listProps: {
|
|
911
|
+
//search
|
|
912
|
+
searchProps: {
|
|
1150
913
|
type: Object
|
|
1151
914
|
},
|
|
1152
|
-
|
|
915
|
+
//table
|
|
916
|
+
tableProps: {
|
|
1153
917
|
type: Object
|
|
1154
918
|
},
|
|
1155
|
-
|
|
919
|
+
//pagination
|
|
920
|
+
paginationProps: {
|
|
1156
921
|
type: Object
|
|
1157
922
|
},
|
|
1158
|
-
|
|
923
|
+
//pageState
|
|
924
|
+
pageState: {
|
|
1159
925
|
type: Object
|
|
1160
926
|
}
|
|
1161
927
|
};
|
|
1162
928
|
};
|
|
1163
929
|
|
|
1164
|
-
var
|
|
1165
|
-
props: _objectSpread2({},
|
|
930
|
+
var ProList = vue.defineComponent({
|
|
931
|
+
props: _objectSpread2({}, proListProps()),
|
|
1166
932
|
setup: function setup(props, _ref) {
|
|
1167
|
-
var
|
|
1168
|
-
|
|
1169
|
-
var _useProModule = useProModule(),
|
|
1170
|
-
columns = _useProModule.columns;
|
|
1171
|
-
|
|
1172
|
-
var curdState = props.curdState || vue.reactive({
|
|
1173
|
-
detailData: {}
|
|
1174
|
-
});
|
|
1175
|
-
/**
|
|
1176
|
-
* 排序
|
|
1177
|
-
* @param list
|
|
1178
|
-
* @param propName
|
|
1179
|
-
*/
|
|
1180
|
-
|
|
1181
|
-
var dealSort = function dealSort(list, propName) {
|
|
1182
|
-
return lodash.sortBy(list, function (item) {
|
|
1183
|
-
return lodash.get(item, propName);
|
|
1184
|
-
});
|
|
1185
|
-
};
|
|
1186
|
-
/**
|
|
1187
|
-
* 非 hideInForm columns
|
|
1188
|
-
*/
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
var formColumns = vue.computed(function () {
|
|
1192
|
-
return dealSort(lodash.filter(columns.value, function (item) {
|
|
1193
|
-
return !item.hideInForm;
|
|
1194
|
-
}), "formSort");
|
|
1195
|
-
});
|
|
1196
|
-
/**
|
|
1197
|
-
* 非 hideInDetail columns
|
|
1198
|
-
*/
|
|
1199
|
-
|
|
1200
|
-
var descColumns = vue.computed(function () {
|
|
1201
|
-
return dealSort(lodash.filter(columns.value, function (item) {
|
|
1202
|
-
return !item.hideInDetail;
|
|
1203
|
-
}), "descSort");
|
|
1204
|
-
});
|
|
1205
|
-
/**
|
|
1206
|
-
* 非 hideInTable columns
|
|
1207
|
-
*/
|
|
1208
|
-
|
|
1209
|
-
var tableColumns = vue.computed(function () {
|
|
1210
|
-
return dealSort(lodash.filter(columns.value, function (item) {
|
|
1211
|
-
return !item.hideInTable;
|
|
1212
|
-
}), "tableSort");
|
|
1213
|
-
});
|
|
1214
|
-
/**
|
|
1215
|
-
* search columns
|
|
1216
|
-
*/
|
|
1217
|
-
|
|
1218
|
-
var searchColumns = vue.computed(function () {
|
|
1219
|
-
return dealSort(lodash.filter(columns.value, function (item) {
|
|
1220
|
-
return !!item.search;
|
|
1221
|
-
}), "searchSort");
|
|
1222
|
-
});
|
|
933
|
+
var _props$searchProps;
|
|
1223
934
|
|
|
1224
|
-
var
|
|
1225
|
-
|
|
1226
|
-
editLabel: "编辑",
|
|
1227
|
-
addLabel: "添加",
|
|
1228
|
-
deleteLabel: "删除"
|
|
1229
|
-
}, props.operate);
|
|
1230
|
-
|
|
1231
|
-
provideProCurdModule({
|
|
1232
|
-
rowKey: props.rowKey,
|
|
1233
|
-
curdState: curdState,
|
|
1234
|
-
formColumns: formColumns,
|
|
1235
|
-
descColumns: descColumns,
|
|
1236
|
-
tableColumns: tableColumns,
|
|
1237
|
-
searchColumns: searchColumns,
|
|
1238
|
-
operate: operate,
|
|
1239
|
-
//
|
|
1240
|
-
listProps: props.listProps,
|
|
1241
|
-
formProps: props.formProps,
|
|
1242
|
-
descProps: props.descProps,
|
|
1243
|
-
modalProps: props.modalProps
|
|
1244
|
-
});
|
|
1245
|
-
return function () {
|
|
1246
|
-
var _slots$default;
|
|
935
|
+
var slots = _ref.slots,
|
|
936
|
+
emit = _ref.emit;
|
|
1247
937
|
|
|
1248
|
-
|
|
1249
|
-
};
|
|
1250
|
-
|
|
1251
|
-
});
|
|
1252
|
-
var ProCurd = vue.defineComponent({
|
|
1253
|
-
props: _objectSpread2(_objectSpread2({}, ProModule.props), proCurdModuleProps()),
|
|
1254
|
-
setup: function setup(props, _ref2) {
|
|
1255
|
-
var slots = _ref2.slots;
|
|
1256
|
-
var moduleKeys = lodash.keys(ProModule.props);
|
|
1257
|
-
return function () {
|
|
1258
|
-
var _slots$default2;
|
|
938
|
+
/******************* search pagination ********************/
|
|
939
|
+
var searchState = ((_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.model) || vue.reactive({});
|
|
940
|
+
var pageState = props.pageState || vue.reactive(_objectSpread2({}, defaultPage));
|
|
1259
941
|
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
"default": function _default() {
|
|
1264
|
-
return [(_slots$default2 = slots["default"]) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)];
|
|
1265
|
-
}
|
|
1266
|
-
})];
|
|
1267
|
-
}
|
|
1268
|
-
});
|
|
1269
|
-
};
|
|
1270
|
-
}
|
|
1271
|
-
});
|
|
942
|
+
var handleSearch = function handleSearch() {
|
|
943
|
+
emit("list", _objectSpread2(_objectSpread2({}, searchState), pageState));
|
|
944
|
+
}; //页数重置1 且搜索
|
|
1272
945
|
|
|
1273
|
-
var proCurdNetProps = function proCurdNetProps() {
|
|
1274
|
-
return {
|
|
1275
|
-
//发起接口参数/接口回来数据 转换
|
|
1276
|
-
converts: {
|
|
1277
|
-
type: Object
|
|
1278
|
-
},
|
|
1279
|
-
//
|
|
1280
|
-
operate: {
|
|
1281
|
-
type: Object
|
|
1282
|
-
}
|
|
1283
|
-
};
|
|
1284
|
-
};
|
|
1285
946
|
|
|
1286
|
-
var
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
947
|
+
var executeSearchWithResetPage = function executeSearchWithResetPage() {
|
|
948
|
+
pageState.page = 1;
|
|
949
|
+
handleSearch();
|
|
950
|
+
}; //无SearchForm组件 初始化 触发
|
|
1290
951
|
|
|
1291
|
-
var slots = _ref.slots;
|
|
1292
952
|
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
requestSubject$ = _useRequestProvide.requestSubject$;
|
|
953
|
+
hooks.useEffect(function () {
|
|
954
|
+
var _props$searchProps2, _props$searchProps3;
|
|
1296
955
|
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
});
|
|
1300
|
-
/********************************** 网络请求相关 ***************************************/
|
|
1301
|
-
//默认converts
|
|
1302
|
-
|
|
1303
|
-
var converts = _objectSpread2({
|
|
1304
|
-
convertListParams: function convertListParams(values) {
|
|
1305
|
-
return values;
|
|
1306
|
-
},
|
|
1307
|
-
convertListData: function convertListData(actor) {
|
|
1308
|
-
var _actor$res;
|
|
1309
|
-
|
|
1310
|
-
return (_actor$res = actor.res) === null || _actor$res === void 0 ? void 0 : _actor$res.data;
|
|
1311
|
-
},
|
|
1312
|
-
convertDetailParams: function convertDetailParams(record, rowKey) {
|
|
1313
|
-
return lodash.pick(record, rowKey);
|
|
1314
|
-
},
|
|
1315
|
-
convertDetailData: function convertDetailData(actor) {
|
|
1316
|
-
var _actor$res2;
|
|
1317
|
-
|
|
1318
|
-
return (_actor$res2 = actor.res) === null || _actor$res2 === void 0 ? void 0 : _actor$res2.data;
|
|
1319
|
-
},
|
|
1320
|
-
convertAddParams: function convertAddParams(values, record) {
|
|
1321
|
-
return {
|
|
1322
|
-
body: _objectSpread2(_objectSpread2({}, record), values)
|
|
1323
|
-
};
|
|
1324
|
-
},
|
|
1325
|
-
convertEditParams: function convertEditParams(values, record) {
|
|
1326
|
-
return {
|
|
1327
|
-
body: _objectSpread2(_objectSpread2({}, record), values)
|
|
1328
|
-
};
|
|
956
|
+
if (lodash.size((_props$searchProps2 = props.searchProps) === null || _props$searchProps2 === void 0 ? void 0 : _props$searchProps2.columns) <= 0 && ((_props$searchProps3 = props.searchProps) === null || _props$searchProps3 === void 0 ? void 0 : _props$searchProps3.initEmit) !== false) {
|
|
957
|
+
handleSearch();
|
|
1329
958
|
}
|
|
1330
|
-
},
|
|
1331
|
-
|
|
1332
|
-
var Action = {
|
|
1333
|
-
List: "list",
|
|
1334
|
-
Detail: "detail",
|
|
1335
|
-
Add: "add",
|
|
1336
|
-
Edit: "edit",
|
|
1337
|
-
Delete: "delete"
|
|
1338
|
-
}; //接口map {`${actorName}`:action}
|
|
1339
|
-
|
|
1340
|
-
var actorNameMap = {};
|
|
1341
|
-
var lastRequestActors = {};
|
|
1342
|
-
var actionConvertParamsMap = (_actionConvertParamsM = {}, _defineProperty(_actionConvertParamsM, Action.List, converts.convertListParams), _defineProperty(_actionConvertParamsM, Action.Detail, converts.convertDetailParams), _defineProperty(_actionConvertParamsM, Action.Add, converts.convertAddParams), _defineProperty(_actionConvertParamsM, Action.Edit, converts.convertEditParams), _defineProperty(_actionConvertParamsM, Action.Delete, converts.convertDeleteParams), _actionConvertParamsM);
|
|
1343
|
-
|
|
1344
|
-
var createRequestFun = function createRequestFun(action) {
|
|
1345
|
-
return function () {
|
|
1346
|
-
var actor = lodash.get(props.operate, "".concat(action, "Actor"));
|
|
1347
|
-
|
|
1348
|
-
if (!actor) {
|
|
1349
|
-
return;
|
|
1350
|
-
} // action he actorName 绑定
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
actorNameMap[actor.name] = action;
|
|
1354
|
-
var convertParams = lodash.get(actionConvertParamsMap, action); // @ts-ignore
|
|
1355
|
-
|
|
1356
|
-
var nextParams = convertParams ? convertParams.apply(void 0, arguments) : undefined;
|
|
1357
|
-
lastRequestActors[action] = dispatchRequest(actor, nextParams);
|
|
1358
|
-
};
|
|
1359
|
-
};
|
|
1360
|
-
|
|
1361
|
-
var actions = {
|
|
1362
|
-
executeList: createRequestFun(Action.List),
|
|
1363
|
-
executeDetail: createRequestFun(Action.Detail),
|
|
1364
|
-
executeAdd: createRequestFun(Action.Add),
|
|
1365
|
-
executeEdit: createRequestFun(Action.Edit),
|
|
1366
|
-
executeDelete: createRequestFun(Action.Delete)
|
|
1367
|
-
};
|
|
1368
|
-
/********************************** operate ***************************************/
|
|
1369
|
-
|
|
1370
|
-
var prevListParams;
|
|
1371
|
-
|
|
1372
|
-
var handleSearch = function handleSearch() {
|
|
1373
|
-
actions.executeList(prevListParams);
|
|
1374
|
-
};
|
|
959
|
+
}, []); //无SearchForm组件 订阅searchState
|
|
1375
960
|
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
onList: function onList(values) {
|
|
1379
|
-
var _props$operate, _props$operate$onList;
|
|
961
|
+
hooks.useWatch(function () {
|
|
962
|
+
var _props$searchProps4;
|
|
1380
963
|
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
(_props$operate = props.operate) === null || _props$operate === void 0 ? void 0 : (_props$operate$onList = _props$operate.onListBubble) === null || _props$operate$onList === void 0 ? void 0 : _props$operate$onList.call(_props$operate, "emit", values);
|
|
1384
|
-
},
|
|
1385
|
-
onListDone: function onListDone(actor) {
|
|
1386
|
-
var _converts$convertList, _props$operate2, _props$operate2$onLis;
|
|
1387
|
-
|
|
1388
|
-
curdState.listLoading = false;
|
|
1389
|
-
curdState.listData = (_converts$convertList = converts.convertListData) === null || _converts$convertList === void 0 ? void 0 : _converts$convertList.call(converts, actor);
|
|
1390
|
-
(_props$operate2 = props.operate) === null || _props$operate2 === void 0 ? void 0 : (_props$operate2$onLis = _props$operate2.onListBubble) === null || _props$operate2$onLis === void 0 ? void 0 : _props$operate2$onLis.call(_props$operate2, "done", actor);
|
|
1391
|
-
},
|
|
1392
|
-
onListFail: function onListFail(actor) {
|
|
1393
|
-
var _props$operate3, _props$operate3$onLis;
|
|
1394
|
-
|
|
1395
|
-
curdState.listLoading = false;
|
|
1396
|
-
(_props$operate3 = props.operate) === null || _props$operate3 === void 0 ? void 0 : (_props$operate3$onLis = _props$operate3.onListBubble) === null || _props$operate3$onLis === void 0 ? void 0 : _props$operate3$onLis.call(_props$operate3, "fail", actor);
|
|
1397
|
-
},
|
|
1398
|
-
//detail
|
|
1399
|
-
onDetailDone: function onDetailDone(actor) {
|
|
1400
|
-
var _converts$convertDeta, _props$operate4, _props$operate4$onDet;
|
|
1401
|
-
|
|
1402
|
-
curdState.detailLoading = false;
|
|
1403
|
-
hooks.setReactiveValue(curdState.detailData, (_converts$convertDeta = converts.convertDetailData) === null || _converts$convertDeta === void 0 ? void 0 : _converts$convertDeta.call(converts, actor));
|
|
1404
|
-
(_props$operate4 = props.operate) === null || _props$operate4 === void 0 ? void 0 : (_props$operate4$onDet = _props$operate4.onDetailBubble) === null || _props$operate4$onDet === void 0 ? void 0 : _props$operate4$onDet.call(_props$operate4, "done", actor);
|
|
1405
|
-
},
|
|
1406
|
-
onDetailFail: function onDetailFail(actor) {
|
|
1407
|
-
var _props$operate5, _props$operate5$onDet;
|
|
1408
|
-
|
|
1409
|
-
curdState.detailLoading = false;
|
|
1410
|
-
(_props$operate5 = props.operate) === null || _props$operate5 === void 0 ? void 0 : (_props$operate5$onDet = _props$operate5.onDetailBubble) === null || _props$operate5$onDet === void 0 ? void 0 : _props$operate5$onDet.call(_props$operate5, "fail", actor);
|
|
1411
|
-
},
|
|
1412
|
-
//add
|
|
1413
|
-
onAddExecute: function onAddExecute(values) {
|
|
1414
|
-
var _props$operate6, _props$operate6$onAdd;
|
|
1415
|
-
|
|
1416
|
-
curdState.operateLoading = true;
|
|
1417
|
-
actions.executeAdd(values, curdState.detailData);
|
|
1418
|
-
(_props$operate6 = props.operate) === null || _props$operate6 === void 0 ? void 0 : (_props$operate6$onAdd = _props$operate6.onAddBubble) === null || _props$operate6$onAdd === void 0 ? void 0 : _props$operate6$onAdd.call(_props$operate6, "execute", values);
|
|
1419
|
-
},
|
|
1420
|
-
onAddFail: function onAddFail(actor) {
|
|
1421
|
-
var _props$operate7, _props$operate7$onAdd;
|
|
1422
|
-
|
|
1423
|
-
curdState.operateLoading = false;
|
|
1424
|
-
(_props$operate7 = props.operate) === null || _props$operate7 === void 0 ? void 0 : (_props$operate7$onAdd = _props$operate7.onAddBubble) === null || _props$operate7$onAdd === void 0 ? void 0 : _props$operate7$onAdd.call(_props$operate7, "fail", actor);
|
|
1425
|
-
},
|
|
1426
|
-
//edit
|
|
1427
|
-
onEditExecute: function onEditExecute(values) {
|
|
1428
|
-
var _props$operate8, _props$operate8$onEdi;
|
|
1429
|
-
|
|
1430
|
-
curdState.operateLoading = true;
|
|
1431
|
-
actions.executeEdit(values, curdState.detailData);
|
|
1432
|
-
(_props$operate8 = props.operate) === null || _props$operate8 === void 0 ? void 0 : (_props$operate8$onEdi = _props$operate8.onEditBubble) === null || _props$operate8$onEdi === void 0 ? void 0 : _props$operate8$onEdi.call(_props$operate8, "execute", values);
|
|
1433
|
-
},
|
|
1434
|
-
onEditFail: function onEditFail(actor) {
|
|
1435
|
-
var _props$operate9, _props$operate9$onEdi;
|
|
1436
|
-
|
|
1437
|
-
curdState.operateLoading = false;
|
|
1438
|
-
(_props$operate9 = props.operate) === null || _props$operate9 === void 0 ? void 0 : (_props$operate9$onEdi = _props$operate9.onEditBubble) === null || _props$operate9$onEdi === void 0 ? void 0 : _props$operate9$onEdi.call(_props$operate9, "fail", actor);
|
|
1439
|
-
},
|
|
1440
|
-
//delete
|
|
1441
|
-
onDelete: function onDelete(record) {
|
|
1442
|
-
var _props$operate10, _props$operate10$onDe;
|
|
1443
|
-
|
|
1444
|
-
actions.executeDelete(record, props.rowKey);
|
|
1445
|
-
(_props$operate10 = props.operate) === null || _props$operate10 === void 0 ? void 0 : (_props$operate10$onDe = _props$operate10.onDeleteBubble) === null || _props$operate10$onDe === void 0 ? void 0 : _props$operate10$onDe.call(_props$operate10, "emit", record);
|
|
964
|
+
if (lodash.size((_props$searchProps4 = props.searchProps) === null || _props$searchProps4 === void 0 ? void 0 : _props$searchProps4.columns) <= 0) {
|
|
965
|
+
executeSearchWithResetPage();
|
|
1446
966
|
}
|
|
1447
|
-
},
|
|
967
|
+
}, searchState);
|
|
968
|
+
return function () {
|
|
969
|
+
var _slots$divide, _slots$divide2;
|
|
1448
970
|
|
|
971
|
+
var searchProps = props.searchProps;
|
|
972
|
+
var tableProps = props.tableProps;
|
|
973
|
+
var paginationProps = props.paginationProps; //操作按钮
|
|
1449
974
|
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
var action = actorNameMap[actor.name];
|
|
1454
|
-
var actionDone = lodash.get(operate, lodash.camelCase("on-".concat(action, "-done")));
|
|
1455
|
-
actionDone === null || actionDone === void 0 ? void 0 : actionDone(actor);
|
|
1456
|
-
lastRequestActors[action] = undefined;
|
|
1457
|
-
})).subscribe(); //请求失败
|
|
1458
|
-
|
|
1459
|
-
var failSub = requestSubject$.pipe(rxjs.filter(request.isFailedRequestActor), rxjs.tap(function (actor) {
|
|
1460
|
-
var action = actorNameMap[actor.name];
|
|
1461
|
-
var actionFail = lodash.get(operate, lodash.camelCase("on-".concat(action, "-fail")));
|
|
1462
|
-
actionFail === null || actionFail === void 0 ? void 0 : actionFail(actor);
|
|
1463
|
-
lastRequestActors[action] = undefined;
|
|
1464
|
-
})).subscribe();
|
|
1465
|
-
return function () {
|
|
1466
|
-
doneSub.unsubscribe();
|
|
1467
|
-
failSub.unsubscribe(); //组件销毁的时候cancel请求
|
|
975
|
+
var extra = slots.extra ? vue.createVNode("div", {
|
|
976
|
+
"class": "pro-list-search"
|
|
977
|
+
}, [slots.extra()]) : null; //分页参数
|
|
1468
978
|
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
979
|
+
var pagination = _objectSpread2(_objectSpread2({}, paginationProps), {}, {
|
|
980
|
+
currentPage: pageState.page,
|
|
981
|
+
pageSize: pageState.pageSize,
|
|
982
|
+
onSizeChange: function onSizeChange(pageSize) {
|
|
983
|
+
pageState.pageSize = pageSize;
|
|
984
|
+
handleSearch();
|
|
985
|
+
},
|
|
986
|
+
onCurrentChange: function onCurrentChange(current) {
|
|
987
|
+
pageState.page = current;
|
|
988
|
+
handleSearch();
|
|
989
|
+
}
|
|
990
|
+
});
|
|
1478
991
|
|
|
1479
|
-
return vue.createVNode(
|
|
992
|
+
return vue.createVNode(vue.Fragment, null, [lodash.size(searchProps === null || searchProps === void 0 ? void 0 : searchProps.columns) > 0 && vue.createVNode(ProSearchForm, vue.mergeProps(searchProps, {
|
|
993
|
+
"model": searchState,
|
|
994
|
+
"onFinish": executeSearchWithResetPage
|
|
995
|
+
}), {
|
|
1480
996
|
"default": function _default() {
|
|
1481
|
-
return [
|
|
997
|
+
return [props.extraInSearch && extra];
|
|
1482
998
|
}
|
|
1483
|
-
});
|
|
999
|
+
}), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), (lodash.size(searchProps === null || searchProps === void 0 ? void 0 : searchProps.columns) <= 0 || !props.extraInSearch) && extra, slots["default"] ? slots["default"]() : vue.createVNode(ProTable, lodash.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), lodash.isNumber(paginationProps === null || paginationProps === void 0 ? void 0 : paginationProps.total) && paginationProps.total > 0 && vue.createVNode(vue.Fragment, null, [slots.pagination ? slots.pagination(pagination) : vue.createVNode(elementPlus.ElPagination, pagination, null)])]);
|
|
1484
1000
|
};
|
|
1485
1001
|
}
|
|
1486
1002
|
});
|
|
@@ -1494,13 +1010,13 @@ var OkButton = vue.defineComponent({
|
|
|
1494
1010
|
setup: function setup(props, _ref) {
|
|
1495
1011
|
var slots = _ref.slots;
|
|
1496
1012
|
|
|
1497
|
-
var
|
|
1498
|
-
curdState =
|
|
1013
|
+
var _useProCurd = pro.useProCurd(),
|
|
1014
|
+
curdState = _useProCurd.curdState;
|
|
1499
1015
|
|
|
1500
1016
|
return function () {
|
|
1501
1017
|
return vue.createVNode(ProSubmitButton, vue.mergeProps({
|
|
1502
1018
|
"onClick": function onClick() {
|
|
1503
|
-
curdState.addAction =
|
|
1019
|
+
curdState.addAction = pro.CurdAddAction.NORMAL;
|
|
1504
1020
|
}
|
|
1505
1021
|
}, props, {
|
|
1506
1022
|
"loading": curdState.operateLoading
|
|
@@ -1521,13 +1037,13 @@ var ContinueAddButton = vue.defineComponent({
|
|
|
1521
1037
|
setup: function setup(props, _ref2) {
|
|
1522
1038
|
var slots = _ref2.slots;
|
|
1523
1039
|
|
|
1524
|
-
var
|
|
1525
|
-
curdState =
|
|
1040
|
+
var _useProCurd2 = pro.useProCurd(),
|
|
1041
|
+
curdState = _useProCurd2.curdState;
|
|
1526
1042
|
|
|
1527
1043
|
return function () {
|
|
1528
1044
|
return vue.createVNode(ProSubmitButton, vue.mergeProps({
|
|
1529
1045
|
"onClick": function onClick() {
|
|
1530
|
-
curdState.addAction =
|
|
1046
|
+
curdState.addAction = pro.CurdAddAction.CONTINUE;
|
|
1531
1047
|
}
|
|
1532
1048
|
}, props, {
|
|
1533
1049
|
"loading": curdState.operateLoading
|
|
@@ -1571,8 +1087,8 @@ var ProOperateButton = vue.defineComponent({
|
|
|
1571
1087
|
setup: function setup(props, _ref3) {
|
|
1572
1088
|
var slots = _ref3.slots;
|
|
1573
1089
|
|
|
1574
|
-
var
|
|
1575
|
-
curdState =
|
|
1090
|
+
var _useProCurd3 = pro.useProCurd(),
|
|
1091
|
+
curdState = _useProCurd3.curdState;
|
|
1576
1092
|
|
|
1577
1093
|
return function () {
|
|
1578
1094
|
var _slots$left, _slots$center, _slots$right;
|
|
@@ -1583,7 +1099,7 @@ var ProOperateButton = vue.defineComponent({
|
|
|
1583
1099
|
"default": function _default() {
|
|
1584
1100
|
return [props.okText];
|
|
1585
1101
|
}
|
|
1586
|
-
}), (_slots$center = slots.center) === null || _slots$center === void 0 ? void 0 : _slots$center.call(slots), curdState.mode ===
|
|
1102
|
+
}), (_slots$center = slots.center) === null || _slots$center === void 0 ? void 0 : _slots$center.call(slots), curdState.mode === pro.CurdCurrentMode.ADD && props.showContinueAdd && vue.createVNode(ContinueAddButton, props.continueButtonProps, {
|
|
1587
1103
|
"default": function _default() {
|
|
1588
1104
|
return [props.continueText];
|
|
1589
1105
|
}
|
|
@@ -1602,49 +1118,52 @@ var proCurdFormProps = function proCurdFormProps() {
|
|
|
1602
1118
|
};
|
|
1603
1119
|
|
|
1604
1120
|
var ProCurdForm = vue.defineComponent({
|
|
1605
|
-
props: _objectSpread2(_objectSpread2({},
|
|
1121
|
+
props: _objectSpread2(_objectSpread2({}, ProSchemaForm.props), proCurdFormProps()),
|
|
1606
1122
|
setup: function setup(props, _ref4) {
|
|
1607
1123
|
var slots = _ref4.slots;
|
|
1608
1124
|
|
|
1609
|
-
var _useProModule = useProModule(),
|
|
1610
|
-
|
|
1125
|
+
var _useProModule = pro.useProModule(),
|
|
1126
|
+
elementMap = _useProModule.elementMap,
|
|
1127
|
+
formElementMap = _useProModule.formElementMap;
|
|
1611
1128
|
|
|
1612
|
-
var
|
|
1613
|
-
curdState =
|
|
1614
|
-
formColumns =
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
var formVNodes = vue.computed(function () {
|
|
1618
|
-
return lodash.map(formColumns.value, function (item) {
|
|
1619
|
-
return getFormItemVNode(item, true);
|
|
1620
|
-
});
|
|
1621
|
-
});
|
|
1129
|
+
var _useProCurd4 = pro.useProCurd(),
|
|
1130
|
+
curdState = _useProCurd4.curdState,
|
|
1131
|
+
formColumns = _useProCurd4.formColumns,
|
|
1132
|
+
sendCurdEvent = _useProCurd4.sendCurdEvent;
|
|
1622
1133
|
|
|
1623
1134
|
var handleFinish = function handleFinish(values) {
|
|
1624
|
-
if (curdState.mode ===
|
|
1625
|
-
var _operate$onEditExecut;
|
|
1626
|
-
|
|
1135
|
+
if (curdState.mode === pro.CurdCurrentMode.EDIT) {
|
|
1627
1136
|
//edit
|
|
1628
|
-
(
|
|
1137
|
+
sendCurdEvent({
|
|
1138
|
+
action: pro.CurdAction.EDIT,
|
|
1139
|
+
type: "execute",
|
|
1140
|
+
values: values
|
|
1141
|
+
});
|
|
1629
1142
|
} else {
|
|
1630
|
-
var _operate$onAddExecute;
|
|
1631
|
-
|
|
1632
1143
|
//add
|
|
1633
|
-
(
|
|
1144
|
+
sendCurdEvent({
|
|
1145
|
+
action: pro.CurdAction.ADD,
|
|
1146
|
+
type: "execute",
|
|
1147
|
+
values: values
|
|
1148
|
+
});
|
|
1634
1149
|
}
|
|
1635
1150
|
};
|
|
1636
1151
|
|
|
1637
1152
|
return function () {
|
|
1638
|
-
|
|
1153
|
+
var _slots$default;
|
|
1154
|
+
|
|
1155
|
+
return vue.createVNode(ProSchemaForm, vue.mergeProps({
|
|
1156
|
+
"elementMap": elementMap,
|
|
1157
|
+
"formElementMap": formElementMap
|
|
1158
|
+
}, props, {
|
|
1159
|
+
"columns": formColumns,
|
|
1639
1160
|
"model": curdState.detailData,
|
|
1640
|
-
"readonly": curdState.mode ===
|
|
1641
|
-
"hideRequiredAsterisk": curdState.mode ===
|
|
1161
|
+
"readonly": curdState.mode === pro.CurdCurrentMode.DETAIL,
|
|
1162
|
+
"hideRequiredAsterisk": curdState.mode === pro.CurdCurrentMode.DETAIL,
|
|
1642
1163
|
"onFinish": handleFinish
|
|
1643
1164
|
}), _objectSpread2({
|
|
1644
1165
|
"default": function _default() {
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
return vue.createVNode(vue.Fragment, null, [formVNodes.value, curdState.mode !== exports.CurdCurrentMode.DETAIL && vue.createVNode(ProOperateButton, lodash.omit(props.operateButtonProps, "slots"), lodash.get(props.operateButtonProps, "slots")), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]);
|
|
1166
|
+
return [curdState.mode !== pro.CurdCurrentMode.DETAIL && vue.createVNode(ProOperateButton, lodash.omit(props.operateButtonProps, "slots"), lodash.get(props.operateButtonProps, "slots")), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
|
|
1648
1167
|
}
|
|
1649
1168
|
}, lodash.omit(slots, "default")));
|
|
1650
1169
|
};
|
|
@@ -1652,8 +1171,8 @@ var ProCurdForm = vue.defineComponent({
|
|
|
1652
1171
|
});
|
|
1653
1172
|
var ProCurdFormConnect = vue.defineComponent({
|
|
1654
1173
|
setup: function setup() {
|
|
1655
|
-
var
|
|
1656
|
-
formProps =
|
|
1174
|
+
var _useProCurd5 = pro.useProCurd(),
|
|
1175
|
+
formProps = _useProCurd5.formProps;
|
|
1657
1176
|
|
|
1658
1177
|
return function () {
|
|
1659
1178
|
return vue.createVNode(ProCurdForm, lodash.omit(formProps, "slots"), lodash.get(formProps, "slots"));
|
|
@@ -1661,172 +1180,75 @@ var ProCurdFormConnect = vue.defineComponent({
|
|
|
1661
1180
|
}
|
|
1662
1181
|
});
|
|
1663
1182
|
|
|
1664
|
-
var defaultPage = {
|
|
1665
|
-
page: 1,
|
|
1666
|
-
pageSize: 10
|
|
1667
|
-
};
|
|
1668
|
-
|
|
1669
|
-
var curdListProps = function curdListProps() {
|
|
1670
|
-
return {
|
|
1671
|
-
/**
|
|
1672
|
-
* extra 是否放到SearchForm中
|
|
1673
|
-
*/
|
|
1674
|
-
extraInSearch: {
|
|
1675
|
-
type: Boolean,
|
|
1676
|
-
"default": undefined
|
|
1677
|
-
},
|
|
1678
|
-
//search
|
|
1679
|
-
searchProps: {
|
|
1680
|
-
type: Object
|
|
1681
|
-
},
|
|
1682
|
-
//table
|
|
1683
|
-
tableProps: {
|
|
1684
|
-
type: Object
|
|
1685
|
-
},
|
|
1686
|
-
//pagination
|
|
1687
|
-
paginationProps: {
|
|
1688
|
-
type: Object
|
|
1689
|
-
},
|
|
1690
|
-
//pageState
|
|
1691
|
-
pageState: {
|
|
1692
|
-
type: Object
|
|
1693
|
-
}
|
|
1694
|
-
};
|
|
1695
|
-
};
|
|
1696
|
-
|
|
1697
1183
|
/**
|
|
1698
1184
|
* 组合列表
|
|
1699
1185
|
* SearchForm + Table + Pagination
|
|
1700
1186
|
*/
|
|
1701
1187
|
var ProCurdList = vue.defineComponent({
|
|
1702
|
-
props: _objectSpread2({},
|
|
1188
|
+
props: _objectSpread2({}, ProList.props),
|
|
1703
1189
|
setup: function setup(props, _ref) {
|
|
1704
|
-
var _props$searchProps;
|
|
1705
|
-
|
|
1706
1190
|
var slots = _ref.slots;
|
|
1707
1191
|
|
|
1708
|
-
var _useProModule = useProModule(),
|
|
1192
|
+
var _useProModule = pro.useProModule(),
|
|
1709
1193
|
elementMap = _useProModule.elementMap,
|
|
1710
1194
|
formElementMap = _useProModule.formElementMap;
|
|
1711
1195
|
|
|
1712
|
-
var
|
|
1713
|
-
curdState =
|
|
1714
|
-
searchColumns =
|
|
1715
|
-
tableColumns =
|
|
1716
|
-
|
|
1196
|
+
var _useProCurd = pro.useProCurd(),
|
|
1197
|
+
curdState = _useProCurd.curdState,
|
|
1198
|
+
searchColumns = _useProCurd.searchColumns,
|
|
1199
|
+
tableColumns = _useProCurd.tableColumns,
|
|
1200
|
+
getOperate = _useProCurd.getOperate,
|
|
1201
|
+
sendCurdEvent = _useProCurd.sendCurdEvent;
|
|
1717
1202
|
/******************* table ********************/
|
|
1718
1203
|
|
|
1719
1204
|
|
|
1720
|
-
var prepareTableItem = function prepareTableItem(
|
|
1721
|
-
return {
|
|
1722
|
-
value:
|
|
1723
|
-
|
|
1724
|
-
show: lodash.get(operate, propName, false),
|
|
1725
|
-
onClick: function onClick(record) {
|
|
1726
|
-
var fun = lodash.get(operate, lodash.camelCase("on-".concat(propName)));
|
|
1727
|
-
fun === null || fun === void 0 ? void 0 : fun(record);
|
|
1728
|
-
}
|
|
1729
|
-
};
|
|
1205
|
+
var prepareTableItem = function prepareTableItem(action) {
|
|
1206
|
+
return _objectSpread2(_objectSpread2({}, lodash.pick(getOperate(action), "label", "element", "show", "disabled", "onClick", "sort")), {}, {
|
|
1207
|
+
value: action
|
|
1208
|
+
});
|
|
1730
1209
|
}; //table操作栏 items
|
|
1731
1210
|
|
|
1732
1211
|
|
|
1733
|
-
var tableOperateItems = [prepareTableItem(
|
|
1734
|
-
/******************* search pagination ********************/
|
|
1735
|
-
|
|
1736
|
-
var searchState = ((_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.model) || vue.reactive({});
|
|
1737
|
-
var pageState = props.pageState || vue.reactive(_objectSpread2({}, defaultPage));
|
|
1738
|
-
|
|
1739
|
-
var handleSearch = function handleSearch() {
|
|
1740
|
-
operate.onList && operate.onList(_objectSpread2(_objectSpread2({}, searchState), pageState));
|
|
1741
|
-
};
|
|
1742
|
-
|
|
1743
|
-
var executeSearchWithResetPage = function executeSearchWithResetPage() {
|
|
1744
|
-
pageState.page = 1;
|
|
1745
|
-
handleSearch();
|
|
1746
|
-
}; //无SearchForm组件 初始化
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
hooks.useEffect(function () {
|
|
1750
|
-
var _props$searchProps2;
|
|
1751
|
-
|
|
1752
|
-
// 处理触发onList 操作
|
|
1753
|
-
if (lodash.size(searchColumns.value) <= 0 && ((_props$searchProps2 = props.searchProps) === null || _props$searchProps2 === void 0 ? void 0 : _props$searchProps2.initEmit) !== false) {
|
|
1754
|
-
handleSearch();
|
|
1755
|
-
}
|
|
1756
|
-
}, []); //无SearchForm组件 订阅searchState
|
|
1757
|
-
|
|
1758
|
-
hooks.useWatch(function () {
|
|
1759
|
-
if (lodash.size(searchColumns.value) > 0) {
|
|
1760
|
-
return;
|
|
1761
|
-
}
|
|
1762
|
-
|
|
1763
|
-
executeSearchWithResetPage();
|
|
1764
|
-
}, searchState);
|
|
1212
|
+
var tableOperateItems = [prepareTableItem(pro.CurdAction.DETAIL), prepareTableItem(pro.CurdAction.EDIT), prepareTableItem(pro.CurdAction.DELETE)];
|
|
1765
1213
|
return function () {
|
|
1766
|
-
var
|
|
1767
|
-
|
|
1768
|
-
var
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
(_operate$onAdd = operate.onAdd) === null || _operate$onAdd === void 0 ? void 0 : _operate$onAdd.call(operate);
|
|
1778
|
-
}
|
|
1779
|
-
}, {
|
|
1780
|
-
"default": function _default() {
|
|
1781
|
-
return [operate.addLabel];
|
|
1782
|
-
}
|
|
1783
|
-
}), (_slots$extra = slots.extra) === null || _slots$extra === void 0 ? void 0 : _slots$extra.call(slots)]);
|
|
1784
|
-
|
|
1785
|
-
return vue.createVNode(vue.Fragment, null, [lodash.size(searchColumns.value) > 0 && vue.createVNode(ProSearchForm, vue.mergeProps({
|
|
1786
|
-
"formElementMap": formElementMap,
|
|
1787
|
-
"columns": searchColumns.value
|
|
1788
|
-
}, props.searchProps, {
|
|
1789
|
-
"model": searchState,
|
|
1790
|
-
"onFinish": executeSearchWithResetPage
|
|
1791
|
-
}), {
|
|
1792
|
-
//extraInSearch 模式下放入SearchForm
|
|
1793
|
-
extra: function extra() {
|
|
1794
|
-
return props.extraInSearch ? _extra : null;
|
|
1214
|
+
var _tableProps$operate, _tableProps$operate2, _curdState$listData, _curdState$listData2;
|
|
1215
|
+
|
|
1216
|
+
var tableProps = props.tableProps;
|
|
1217
|
+
return vue.createVNode(ProList, vue.mergeProps({
|
|
1218
|
+
"onList": function onList(values) {
|
|
1219
|
+
sendCurdEvent({
|
|
1220
|
+
action: pro.CurdAction.LIST,
|
|
1221
|
+
type: "emit",
|
|
1222
|
+
values: values
|
|
1223
|
+
});
|
|
1795
1224
|
}
|
|
1796
|
-
}
|
|
1797
|
-
"
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
},
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1225
|
+
}, props, {
|
|
1226
|
+
"searchProps": _objectSpread2(_objectSpread2({
|
|
1227
|
+
formElementMap: formElementMap
|
|
1228
|
+
}, props.searchProps), {}, {
|
|
1229
|
+
columns: searchColumns.value
|
|
1230
|
+
}),
|
|
1231
|
+
"tableProps": _objectSpread2(_objectSpread2({
|
|
1232
|
+
elementMap: elementMap
|
|
1233
|
+
}, tableProps), {}, {
|
|
1234
|
+
operate: _objectSpread2(_objectSpread2({}, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate), {}, {
|
|
1235
|
+
items: tableProps !== null && tableProps !== void 0 && (_tableProps$operate = tableProps.operate) !== null && _tableProps$operate !== void 0 && _tableProps$operate.items ? [].concat(tableOperateItems, _toConsumableArray(tableProps === null || tableProps === void 0 ? void 0 : (_tableProps$operate2 = tableProps.operate) === null || _tableProps$operate2 === void 0 ? void 0 : _tableProps$operate2.items)) : tableOperateItems
|
|
1236
|
+
}),
|
|
1237
|
+
columns: tableColumns.value,
|
|
1238
|
+
loading: curdState.listLoading,
|
|
1239
|
+
data: (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
|
|
1240
|
+
}),
|
|
1241
|
+
"paginationProps": _objectSpread2(_objectSpread2({}, props.paginationProps), {}, {
|
|
1242
|
+
total: (_curdState$listData2 = curdState.listData) === null || _curdState$listData2 === void 0 ? void 0 : _curdState$listData2.total
|
|
1805
1243
|
})
|
|
1806
|
-
},
|
|
1807
|
-
"data": (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
|
|
1808
|
-
}), (_props$tableProps = props.tableProps) === null || _props$tableProps === void 0 ? void 0 : _props$tableProps.slots), [[vue.resolveDirective("loading"), curdState.listLoading]]), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), curdState.listData && lodash.isNumber((_curdState$listData2 = curdState.listData) === null || _curdState$listData2 === void 0 ? void 0 : _curdState$listData2.total) && curdState.listData.total > 0 && vue.createVNode("div", {
|
|
1809
|
-
"class": "pro-curd-list-bottom"
|
|
1810
|
-
}, [vue.createVNode(elementPlus.ElPagination, vue.mergeProps(pagination, {
|
|
1811
|
-
"total": curdState.listData.total,
|
|
1812
|
-
"currentPage": pageState.page,
|
|
1813
|
-
"pageSize": pageState.pageSize,
|
|
1814
|
-
"onSizeChange": function onSizeChange(pageSize) {
|
|
1815
|
-
pageState.pageSize = pageSize;
|
|
1816
|
-
handleSearch();
|
|
1817
|
-
},
|
|
1818
|
-
"onCurrentChange": function onCurrentChange(current) {
|
|
1819
|
-
pageState.page = current;
|
|
1820
|
-
handleSearch();
|
|
1821
|
-
}
|
|
1822
|
-
}), null)])]);
|
|
1244
|
+
}), slots);
|
|
1823
1245
|
};
|
|
1824
1246
|
}
|
|
1825
1247
|
});
|
|
1826
1248
|
var ProCurdListConnect = vue.defineComponent({
|
|
1827
1249
|
setup: function setup() {
|
|
1828
|
-
var
|
|
1829
|
-
listProps =
|
|
1250
|
+
var _useProCurd2 = pro.useProCurd(),
|
|
1251
|
+
listProps = _useProCurd2.listProps;
|
|
1830
1252
|
|
|
1831
1253
|
return function () {
|
|
1832
1254
|
return vue.createVNode(ProCurdList, lodash.omit(listProps, "slots"), lodash.get(listProps, "slots"));
|
|
@@ -1843,12 +1265,12 @@ var ProCurdDesc = vue.defineComponent({
|
|
|
1843
1265
|
setup: function setup(props, _ref) {
|
|
1844
1266
|
var slots = _ref.slots;
|
|
1845
1267
|
|
|
1846
|
-
var _useProModule = useProModule(),
|
|
1268
|
+
var _useProModule = pro.useProModule(),
|
|
1847
1269
|
getItemVNode = _useProModule.getItemVNode;
|
|
1848
1270
|
|
|
1849
|
-
var
|
|
1850
|
-
curdState =
|
|
1851
|
-
descColumns =
|
|
1271
|
+
var _useProCurd = pro.useProCurd(),
|
|
1272
|
+
curdState = _useProCurd.curdState,
|
|
1273
|
+
descColumns = _useProCurd.descColumns;
|
|
1852
1274
|
|
|
1853
1275
|
var descVNodes = vue.computed(function () {
|
|
1854
1276
|
return lodash.map(descColumns.value, function (item) {
|
|
@@ -1876,8 +1298,8 @@ var ProCurdDesc = vue.defineComponent({
|
|
|
1876
1298
|
});
|
|
1877
1299
|
var ProCurdDescConnect = vue.defineComponent({
|
|
1878
1300
|
setup: function setup() {
|
|
1879
|
-
var
|
|
1880
|
-
descProps =
|
|
1301
|
+
var _useProCurd2 = pro.useProCurd(),
|
|
1302
|
+
descProps = _useProCurd2.descProps;
|
|
1881
1303
|
|
|
1882
1304
|
return function () {
|
|
1883
1305
|
return vue.createVNode(ProCurdList, lodash.omit(descProps, "slots"), lodash.get(descProps, "slots"));
|
|
@@ -1887,14 +1309,12 @@ var ProCurdDescConnect = vue.defineComponent({
|
|
|
1887
1309
|
|
|
1888
1310
|
exports.ContinueAddButton = ContinueAddButton;
|
|
1889
1311
|
exports.OkButton = OkButton;
|
|
1890
|
-
exports.ProCurd = ProCurd;
|
|
1891
1312
|
exports.ProCurdDesc = ProCurdDesc;
|
|
1892
1313
|
exports.ProCurdDescConnect = ProCurdDescConnect;
|
|
1893
1314
|
exports.ProCurdForm = ProCurdForm;
|
|
1894
1315
|
exports.ProCurdFormConnect = ProCurdFormConnect;
|
|
1895
1316
|
exports.ProCurdList = ProCurdList;
|
|
1896
1317
|
exports.ProCurdListConnect = ProCurdListConnect;
|
|
1897
|
-
exports.ProCurdNet = ProCurdNet;
|
|
1898
1318
|
exports.ProForm = ProForm;
|
|
1899
1319
|
exports.ProFormCascader = ProFormCascader;
|
|
1900
1320
|
exports.ProFormCheckbox = ProFormCheckbox;
|
|
@@ -1908,26 +1328,16 @@ exports.ProFormText = ProFormText;
|
|
|
1908
1328
|
exports.ProFormTextNumber = ProFormTextNumber;
|
|
1909
1329
|
exports.ProFormTimePicker = ProFormTimePicker;
|
|
1910
1330
|
exports.ProFormTreeSelect = ProFormTreeSelect;
|
|
1911
|
-
exports.
|
|
1331
|
+
exports.ProList = ProList;
|
|
1912
1332
|
exports.ProOperateButton = ProOperateButton;
|
|
1913
1333
|
exports.ProSchemaForm = ProSchemaForm;
|
|
1914
1334
|
exports.ProSearchForm = ProSearchForm;
|
|
1915
1335
|
exports.ProSelect = ProSelect;
|
|
1916
1336
|
exports.ProSubmitButton = ProSubmitButton;
|
|
1917
1337
|
exports.ProTable = ProTable;
|
|
1918
|
-
exports.convertPathToList = convertPathToList;
|
|
1919
1338
|
exports.createFormItemComponent = createFormItemComponent;
|
|
1920
1339
|
exports.defaultPage = defaultPage;
|
|
1921
|
-
exports.getColumnFormItemName = getColumnFormItemName;
|
|
1922
|
-
exports.getColumnValueType = getColumnValueType;
|
|
1923
|
-
exports.getFormItemEl = getFormItemEl;
|
|
1924
|
-
exports.getItemEl = getItemEl;
|
|
1925
|
-
exports.getValidValues = getValidValues;
|
|
1926
|
-
exports.provideProCurdModule = provideProCurdModule;
|
|
1927
1340
|
exports.provideProForm = provideProForm;
|
|
1928
1341
|
exports.provideProFormList = provideProFormList;
|
|
1929
|
-
exports.provideProModule = provideProModule;
|
|
1930
|
-
exports.useProCurdModule = useProCurdModule;
|
|
1931
1342
|
exports.useProForm = useProForm;
|
|
1932
1343
|
exports.useProFormList = useProFormList;
|
|
1933
|
-
exports.useProModule = useProModule;
|