@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/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 request = require('@vue-start/request');
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 (item.show && lodash.isFunction(item.show)) {
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 ProCurdModuleKey = Symbol("pro-curd-module");
1096
- var useProCurdModule = function useProCurdModule() {
1097
- return vue.inject(ProCurdModuleKey);
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
- rowKey: {
1144
- type: String,
1145
- "default": "id"
907
+ extraInSearch: {
908
+ type: Boolean,
909
+ "default": undefined
1146
910
  },
1147
-
1148
- /************************* 子组件props *******************************/
1149
- listProps: {
911
+ //search
912
+ searchProps: {
1150
913
  type: Object
1151
914
  },
1152
- formProps: {
915
+ //table
916
+ tableProps: {
1153
917
  type: Object
1154
918
  },
1155
- descProps: {
919
+ //pagination
920
+ paginationProps: {
1156
921
  type: Object
1157
922
  },
1158
- modalProps: {
923
+ //pageState
924
+ pageState: {
1159
925
  type: Object
1160
926
  }
1161
927
  };
1162
928
  };
1163
929
 
1164
- var CurdModule = vue.defineComponent({
1165
- props: _objectSpread2({}, proCurdModuleProps()),
930
+ var ProList = vue.defineComponent({
931
+ props: _objectSpread2({}, proListProps()),
1166
932
  setup: function setup(props, _ref) {
1167
- var slots = _ref.slots;
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 operate = _objectSpread2({
1225
- detailLabel: "详情",
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
- return (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
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
- return vue.createVNode(ProModule, lodash.pick(props, moduleKeys), {
1261
- "default": function _default() {
1262
- return [vue.createVNode(CurdModule, lodash.omit(props, moduleKeys), {
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 ProCurdNet = vue.defineComponent({
1287
- props: _objectSpread2(_objectSpread2({}, ProCurd.props), proCurdNetProps()),
1288
- setup: function setup(props, _ref) {
1289
- var _actionConvertParamsM;
947
+ var executeSearchWithResetPage = function executeSearchWithResetPage() {
948
+ pageState.page = 1;
949
+ handleSearch();
950
+ }; //无SearchForm组件 初始化 触发
1290
951
 
1291
- var slots = _ref.slots;
1292
952
 
1293
- var _useRequestProvide = request.useRequestProvide(),
1294
- dispatchRequest = _useRequestProvide.dispatchRequest,
1295
- requestSubject$ = _useRequestProvide.requestSubject$;
953
+ hooks.useEffect(function () {
954
+ var _props$searchProps2, _props$searchProps3;
1296
955
 
1297
- var curdState = props.curdState || vue.reactive({
1298
- detailData: {}
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
- }, props.converts);
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
- var operate = _objectSpread2({
1377
- //list
1378
- onList: function onList(values) {
1379
- var _props$operate, _props$operate$onList;
961
+ hooks.useWatch(function () {
962
+ var _props$searchProps4;
1380
963
 
1381
- prevListParams = values;
1382
- handleSearch();
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
- }, props.operate); //网络请求订阅
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
- hooks.useEffect(function () {
1451
- //请求成功
1452
- var doneSub = requestSubject$.pipe(rxjs.filter(request.isDoneRequestActor), rxjs.tap(function (actor) {
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
- lodash.forEach(lastRequestActors, function (actor) {
1470
- actor && dispatchRequest(_objectSpread2(_objectSpread2({}, actor), {}, {
1471
- stage: "CANCEL"
1472
- }));
1473
- });
1474
- };
1475
- }, []);
1476
- return function () {
1477
- var _slots$default;
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(ProCurd, lodash.omit(props, "converts"), {
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 [(_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
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 _useProCurdModule = useProCurdModule(),
1498
- curdState = _useProCurdModule.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 = exports.CurdAddAction.NORMAL;
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 _useProCurdModule2 = useProCurdModule(),
1525
- curdState = _useProCurdModule2.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 = exports.CurdAddAction.CONTINUE;
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 _useProCurdModule3 = useProCurdModule(),
1575
- curdState = _useProCurdModule3.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 === exports.CurdCurrentMode.ADD && props.showContinueAdd && vue.createVNode(ContinueAddButton, props.continueButtonProps, {
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({}, ProForm.props), proCurdFormProps()),
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
- getFormItemVNode = _useProModule.getFormItemVNode;
1125
+ var _useProModule = pro.useProModule(),
1126
+ elementMap = _useProModule.elementMap,
1127
+ formElementMap = _useProModule.formElementMap;
1611
1128
 
1612
- var _useProCurdModule4 = useProCurdModule(),
1613
- curdState = _useProCurdModule4.curdState,
1614
- formColumns = _useProCurdModule4.formColumns,
1615
- operate = _useProCurdModule4.operate;
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 === exports.CurdCurrentMode.EDIT) {
1625
- var _operate$onEditExecut;
1626
-
1135
+ if (curdState.mode === pro.CurdCurrentMode.EDIT) {
1627
1136
  //edit
1628
- (_operate$onEditExecut = operate.onEditExecute) === null || _operate$onEditExecut === void 0 ? void 0 : _operate$onEditExecut.call(operate, values);
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
- (_operate$onAddExecute = operate.onAddExecute) === null || _operate$onAddExecute === void 0 ? void 0 : _operate$onAddExecute.call(operate, values);
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
- return vue.createVNode(ProForm, vue.mergeProps(props, {
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 === exports.CurdCurrentMode.DETAIL,
1641
- "hideRequiredAsterisk": curdState.mode === exports.CurdCurrentMode.DETAIL,
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
- var _slots$default;
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 _useProCurdModule5 = useProCurdModule(),
1656
- formProps = _useProCurdModule5.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({}, curdListProps()),
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 _useProCurdModule = useProCurdModule(),
1713
- curdState = _useProCurdModule.curdState,
1714
- searchColumns = _useProCurdModule.searchColumns,
1715
- tableColumns = _useProCurdModule.tableColumns,
1716
- operate = _useProCurdModule.operate;
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(propName) {
1721
- return {
1722
- value: propName,
1723
- label: lodash.get(operate, "".concat(propName, "Label")),
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("detail"), prepareTableItem("edit"), prepareTableItem("delete")];
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 _slots$extra, _slots$divide, _curdState$listData, _props$tableProps, _slots$divide2, _curdState$listData2;
1767
-
1768
- var pagination = props.paginationProps; //
1769
-
1770
- var _extra = vue.createVNode("div", {
1771
- "class": "pro-curd-list-search"
1772
- }, [operate.add && vue.createVNode(elementPlus.ElButton, {
1773
- "type": "primary",
1774
- "onClick": function onClick() {
1775
- var _operate$onAdd;
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
- }), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), (lodash.size(searchColumns.value) <= 0 || !props.extraInSearch) && (operate.add || slots.extra) && _extra, slots["default"] ? slots["default"]() : vue.withDirectives(vue.createVNode(ProTable, vue.mergeProps({
1797
- "elementMap": elementMap,
1798
- "columns": tableColumns.value,
1799
- "operate": lodash.mergeWith({
1800
- items: tableOperateItems
1801
- }, operate.tableOperate, function (objValue, srcValue) {
1802
- if (lodash.isArray(objValue) && lodash.isArray(srcValue)) {
1803
- return lodash.concat(objValue, srcValue);
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
- }, lodash.omit(props.tableProps, "slots", "operate"), {
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 _useProCurdModule2 = useProCurdModule(),
1829
- listProps = _useProCurdModule2.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 _useProCurdModule = useProCurdModule(),
1850
- curdState = _useProCurdModule.curdState,
1851
- descColumns = _useProCurdModule.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 _useProCurdModule2 = useProCurdModule(),
1880
- descProps = _useProCurdModule2.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.ProModule = ProModule;
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;