@vue-start/pro 0.4.0 → 0.4.3

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.es.js CHANGED
@@ -989,6 +989,7 @@ var proCurdProps = function proCurdProps() {
989
989
  };
990
990
  };
991
991
 
992
+ var CurdMethods = ["sendCurdEvent", "refreshList", "sendEvent", "sendRequest"];
992
993
  var Curd = defineComponent({
993
994
  props: _objectSpread2({}, proCurdProps()),
994
995
  setup: function setup(props, _ref) {
@@ -1168,7 +1169,6 @@ var Curd = defineComponent({
1168
1169
  });
1169
1170
  expose({
1170
1171
  sendCurdEvent: sendCurdEvent,
1171
- getOperate: getOperate,
1172
1172
  refreshList: handleSearch
1173
1173
  });
1174
1174
  return function () {
@@ -1250,8 +1250,30 @@ var ProCurd = defineComponent({
1250
1250
  });
1251
1251
  var moduleKeys = keys(omit(ProModule.props, "state", "requests"));
1252
1252
  expose({
1253
- moduleRef: moduleRef,
1254
- curdRef: curdRef
1253
+ sendCurdEvent: function sendCurdEvent(event) {
1254
+ var _curdRef$value;
1255
+
1256
+ (_curdRef$value = curdRef.value) === null || _curdRef$value === void 0 ? void 0 : _curdRef$value.sendCurdEvent(event);
1257
+ },
1258
+ refreshList: function refreshList(extra) {
1259
+ var _curdRef$value2;
1260
+
1261
+ (_curdRef$value2 = curdRef.value) === null || _curdRef$value2 === void 0 ? void 0 : _curdRef$value2.refreshList(extra);
1262
+ },
1263
+ sendEvent: function sendEvent(action) {
1264
+ var _moduleRef$value;
1265
+
1266
+ (_moduleRef$value = moduleRef.value) === null || _moduleRef$value === void 0 ? void 0 : _moduleRef$value.sendEvent(action);
1267
+ },
1268
+ sendRequest: function sendRequest(requestNameOrAction) {
1269
+ var _moduleRef$value2;
1270
+
1271
+ for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1272
+ params[_key - 1] = arguments[_key];
1273
+ }
1274
+
1275
+ (_moduleRef$value2 = moduleRef.value) === null || _moduleRef$value2 === void 0 ? void 0 : _moduleRef$value2.sendEvent.apply(_moduleRef$value2, [requestNameOrAction].concat(params));
1276
+ }
1255
1277
  });
1256
1278
  return function () {
1257
1279
  return createVNode(ProModule, mergeProps({
@@ -1280,8 +1302,8 @@ var modalCurdProps = function modalCurdProps() {
1280
1302
  };
1281
1303
  };
1282
1304
 
1283
- /**
1284
- * 事件处理
1305
+ /**
1306
+ * 事件处理
1285
1307
  */
1286
1308
  var ModalCurd = defineComponent({
1287
1309
  props: _objectSpread2({}, modalCurdProps()),
@@ -1437,7 +1459,10 @@ var ModalCurd = defineComponent({
1437
1459
  var ProModalCurd = defineComponent({
1438
1460
  props: _objectSpread2(_objectSpread2({}, ProCurd.props), ModalCurd.props),
1439
1461
  setup: function setup(props, _ref4) {
1440
- var slots = _ref4.slots;
1462
+ var slots = _ref4.slots,
1463
+ expose = _ref4.expose;
1464
+ var curdRef = ref();
1465
+ expose(createExpose(CurdMethods, curdRef));
1441
1466
  var invalidKeys = keys(ModalCurd.props);
1442
1467
  return function () {
1443
1468
  var _slots$default;
@@ -1609,12 +1634,17 @@ var PageCurd = defineComponent({
1609
1634
  var ProPageCurd = defineComponent({
1610
1635
  props: _objectSpread2(_objectSpread2({}, ProCurd.props), PageCurd.props),
1611
1636
  setup: function setup(props, _ref4) {
1612
- var slots = _ref4.slots;
1637
+ var slots = _ref4.slots,
1638
+ expose = _ref4.expose;
1639
+ var curdRef = ref();
1640
+ expose(createExpose(CurdMethods, curdRef));
1613
1641
  var invalidKeys = keys(PageCurd.props);
1614
1642
  return function () {
1615
1643
  var _slots$default;
1616
1644
 
1617
- return createVNode(ProCurd, omit(props, invalidKeys), {
1645
+ return createVNode(ProCurd, mergeProps({
1646
+ "ref": curdRef
1647
+ }, omit(props, invalidKeys)), {
1618
1648
  "default": function _default() {
1619
1649
  return [createVNode(PageCurd, pick(props, invalidKeys), null), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
1620
1650
  }
@@ -1633,6 +1663,10 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1633
1663
  //重写Item content
1634
1664
  renderItem: {
1635
1665
  type: Function
1666
+ },
1667
+ //标记名称
1668
+ signName: {
1669
+ type: String
1636
1670
  }
1637
1671
  }),
1638
1672
  setup: function setup(props, _ref) {
@@ -1641,10 +1675,12 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1641
1675
  var _useProCurd = useProCurd(),
1642
1676
  getItemVNode = _useProCurd.getItemVNode,
1643
1677
  curdState = _useProCurd.curdState,
1644
- descColumns = _useProCurd.descColumns;
1678
+ descColumns = _useProCurd.descColumns,
1679
+ getSignColumns = _useProCurd.getSignColumns;
1645
1680
 
1646
1681
  var descVNodes = computed(function () {
1647
- return map(descColumns.value, function (item) {
1682
+ var columns = props.signName ? getSignColumns(props.signName) : descColumns.value;
1683
+ return map(columns, function (item) {
1648
1684
  var _slot;
1649
1685
 
1650
1686
  var _props$renderItem;
@@ -1681,6 +1717,10 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1681
1717
 
1682
1718
  var proCurdAddOrEditProps = function proCurdAddOrEditProps() {
1683
1719
  return {
1720
+ //标记名称
1721
+ signName: {
1722
+ type: String
1723
+ },
1684
1724
  //是否使用operate bar
1685
1725
  operateBar: {
1686
1726
  type: Boolean,
@@ -1710,22 +1750,38 @@ var proCurdAddOrEditProps = function proCurdAddOrEditProps() {
1710
1750
  };
1711
1751
  };
1712
1752
 
1713
- var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1753
+ var createCurdForm = function createCurdForm(Form, Button, convertFormProps, formMethods) {
1714
1754
  return defineComponent({
1755
+ inheritAttrs: false,
1715
1756
  props: _objectSpread2(_objectSpread2({}, Form.props), proCurdAddOrEditProps()),
1716
1757
  setup: function setup(props, _ref) {
1717
- var slots = _ref.slots;
1758
+ var slots = _ref.slots,
1759
+ attrs = _ref.attrs,
1760
+ expose = _ref.expose;
1718
1761
 
1719
1762
  var _useProCurd = useProCurd(),
1720
1763
  elementMap = _useProCurd.elementMap,
1721
1764
  formElementMap = _useProCurd.formElementMap,
1722
1765
  curdState = _useProCurd.curdState,
1723
1766
  formColumns = _useProCurd.formColumns,
1767
+ getSignColumns = _useProCurd.getSignColumns,
1724
1768
  sendCurdEvent = _useProCurd.sendCurdEvent;
1725
1769
 
1726
1770
  var formRef = ref();
1771
+ var columns = computed(function () {
1772
+ if (props.signName) {
1773
+ return getSignColumns(props.signName);
1774
+ }
1775
+
1776
+ return formColumns.value;
1777
+ });
1778
+
1779
+ var handleFinish = function handleFinish(values, originValues) {
1780
+ if (attrs.onFinish) {
1781
+ attrs.onFinish(values, originValues);
1782
+ return;
1783
+ }
1727
1784
 
1728
- var handleFinish = function handleFinish(values) {
1729
1785
  if (curdState.mode === CurdCurrentMode.EDIT) {
1730
1786
  //edit
1731
1787
  sendCurdEvent({
@@ -1757,15 +1813,16 @@ var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1757
1813
  (_formRef$value2 = formRef.value) === null || _formRef$value2 === void 0 ? void 0 : _formRef$value2.submit();
1758
1814
  };
1759
1815
 
1816
+ expose(createExpose(formMethods, formRef));
1760
1817
  return function () {
1761
1818
  var _slots$divide, _slots$operateStart, _slots$operateCenter, _slots$operateEnd, _slots$default;
1762
1819
 
1763
1820
  return createVNode(Form, mergeProps({
1764
1821
  "ref": formRef
1765
- }, props, {
1822
+ }, omit(attrs, "onFinish"), props, {
1766
1823
  "elementMap": props.elementMap || elementMap,
1767
1824
  "formElementMap": props.formElementMap || formElementMap,
1768
- "columns": formColumns.value,
1825
+ "columns": columns.value,
1769
1826
  "model": curdState.detailData,
1770
1827
  "readonly": curdState.mode === CurdCurrentMode.DETAIL,
1771
1828
  "onFinish": handleFinish
@@ -1799,8 +1856,8 @@ var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1799
1856
 
1800
1857
  var proCurdListProps = function proCurdListProps() {
1801
1858
  return {
1802
- /**
1803
- * extra 是否放到SearchForm中
1859
+ /**
1860
+ * extra 是否放到SearchForm中
1804
1861
  */
1805
1862
  extraInSearch: {
1806
1863
  type: Boolean,
@@ -1903,9 +1960,29 @@ var createCurdList = function createCurdList(SearchForm, Table) {
1903
1960
  };
1904
1961
 
1905
1962
  return function () {
1906
- var _props$searchProps, _slots$divide, _curdState$listData, _slots$divide2, _slots$footerStart, _slots$pagination, _curdState$listData2, _slots$footerEnd;
1963
+ var _curdState$listData, _props$searchProps, _slots$divide, _slots$divide2, _slots$footerStart, _slots$pagination, _curdState$listData2, _slots$footerEnd;
1907
1964
 
1908
1965
  var tableProps = props.tableProps;
1966
+
1967
+ var rewriteTableProps = _objectSpread2(_objectSpread2({
1968
+ elementMap: elementMap
1969
+ }, omit(tableProps, "slots", "operate")), {}, {
1970
+ operate: mergeWith({
1971
+ items: tableOperateItems
1972
+ }, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate, function (objValue, srcValue) {
1973
+ if (isArray(objValue) && isArray(srcValue)) {
1974
+ return concat(objValue, convertOperateItems(srcValue));
1975
+ }
1976
+ }),
1977
+ paginationState: {
1978
+ page: pageState.page,
1979
+ pageSize: pageState.pageSize
1980
+ },
1981
+ columns: tableColumns.value,
1982
+ loading: curdState.listLoading,
1983
+ dataSource: (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
1984
+ });
1985
+
1909
1986
  var extra = slots.extra ? createVNode("div", {
1910
1987
  "class": "pro-curd-list-extra"
1911
1988
  }, [slots.extra()]) : null;
@@ -1918,24 +1995,7 @@ var createCurdList = function createCurdList(SearchForm, Table) {
1918
1995
  "default": function _default() {
1919
1996
  return [props.extraInSearch && extra];
1920
1997
  }
1921
- }, (_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.slots)), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), !props.extraInSearch && extra, slots.table ? slots.table() : createVNode(Table, mergeProps({
1922
- "elementMap": elementMap
1923
- }, omit(tableProps, "slots", "operate"), {
1924
- "operate": mergeWith({
1925
- items: tableOperateItems
1926
- }, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate, function (objValue, srcValue) {
1927
- if (isArray(objValue) && isArray(srcValue)) {
1928
- return concat(objValue, convertOperateItems(srcValue));
1929
- }
1930
- }),
1931
- "paginationState": {
1932
- page: pageState.page,
1933
- pageSize: pageState.pageSize
1934
- },
1935
- "columns": tableColumns.value,
1936
- "loading": curdState.listLoading,
1937
- "dataSource": (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
1938
- }), tableProps === null || tableProps === void 0 ? void 0 : tableProps.slots), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), createVNode("div", {
1998
+ }, (_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.slots)), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), !props.extraInSearch && extra, slots.table ? slots.table(rewriteTableProps) : createVNode(Table, rewriteTableProps, tableProps === null || tableProps === void 0 ? void 0 : tableProps.slots), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), createVNode("div", {
1939
1999
  "class": "pro-curd-list-footer"
1940
2000
  }, [(_slots$footerStart = slots.footerStart) === null || _slots$footerStart === void 0 ? void 0 : _slots$footerStart.call(slots), (_slots$pagination = slots.pagination) === null || _slots$pagination === void 0 ? void 0 : _slots$pagination.call(slots, pageState, (_curdState$listData2 = curdState.listData) === null || _curdState$listData2 === void 0 ? void 0 : _curdState$listData2.total, handleSearch), (_slots$footerEnd = slots.footerEnd) === null || _slots$footerEnd === void 0 ? void 0 : _slots$footerEnd.call(slots)])]);
1941
2001
  };
@@ -1943,6 +2003,114 @@ var createCurdList = function createCurdList(SearchForm, Table) {
1943
2003
  });
1944
2004
  };
1945
2005
 
2006
+ /**
2007
+ * ProFormList ctx
2008
+ */
2009
+
2010
+ var ProFormListKey = Symbol("pro-form-list");
2011
+ var useProFormList = function useProFormList() {
2012
+ return inject(ProFormListKey);
2013
+ };
2014
+ var provideProFormList = function provideProFormList(ctx) {
2015
+ provide(ProFormListKey, ctx);
2016
+ };
2017
+ var FormListProvider = defineComponent({
2018
+ props: {
2019
+ pathList: {
2020
+ type: Array
2021
+ }
2022
+ },
2023
+ setup: function setup(props, _ref) {
2024
+ var slots = _ref.slots;
2025
+ provideProFormList({
2026
+ pathList: props.pathList
2027
+ });
2028
+ return function () {
2029
+ var _slots$default;
2030
+
2031
+ return (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
2032
+ };
2033
+ }
2034
+ });
2035
+
2036
+ var createFormList = function createFormList(FormItem) {
2037
+ return defineComponent({
2038
+ props: _objectSpread2(_objectSpread2({}, FormItem.props), {}, {
2039
+ //每行默认id
2040
+ rowKey: {
2041
+ type: String,
2042
+ "default": "id"
2043
+ }
2044
+ }),
2045
+ setup: function setup(props, _ref2) {
2046
+ var slots = _ref2.slots;
2047
+
2048
+ var _useProForm = useProForm(),
2049
+ formState = _useProForm.formState,
2050
+ readonly = _useProForm.readonly;
2051
+
2052
+ var formListCtx = useProFormList();
2053
+ var nameList = convertPathToList(props.name);
2054
+ var path = formListCtx !== null && formListCtx !== void 0 && formListCtx.pathList ? [].concat(_toConsumableArray(formListCtx.pathList), _toConsumableArray(nameList)) : nameList;
2055
+
2056
+ var handleAdd = function handleAdd() {
2057
+ var targetList = get(formState, path);
2058
+
2059
+ if (!isArray(targetList)) {
2060
+ targetList = [];
2061
+ }
2062
+
2063
+ targetList.push(_defineProperty({}, props.rowKey, new Date().valueOf()));
2064
+ set(formState, path, targetList);
2065
+ };
2066
+
2067
+ var handleRemove = function handleRemove(index) {
2068
+ var targetList = get(formState, path);
2069
+
2070
+ if (size(targetList) <= 0) {
2071
+ return;
2072
+ }
2073
+
2074
+ targetList.splice(index, 1);
2075
+ };
2076
+
2077
+ return function () {
2078
+ var _slots$add;
2079
+
2080
+ return createVNode(FormItem, omit(props, "rowKey"), {
2081
+ "default": function _default() {
2082
+ return [map(get(formState, path), function (item, index) {
2083
+ var _slots$default2, _slots$itemAdd, _slots$itemMinus;
2084
+
2085
+ return createVNode(FormListProvider, {
2086
+ "key": item[props.rowKey] || index,
2087
+ "pathList": [].concat(_toConsumableArray(path), [index])
2088
+ }, {
2089
+ "default": function _default() {
2090
+ return [createVNode("div", {
2091
+ "class": "pro-form-list-item"
2092
+ }, [(_slots$default2 = slots["default"]) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots), !readonly.value && createVNode(Fragment, null, [createVNode("div", {
2093
+ "class": "pro-form-list-item-add",
2094
+ "onClick": handleAdd
2095
+ }, [(_slots$itemAdd = slots.itemAdd) === null || _slots$itemAdd === void 0 ? void 0 : _slots$itemAdd.call(slots)]), createVNode("div", {
2096
+ "class": "pro-form-list-item-minus",
2097
+ "onClick": function onClick() {
2098
+ return handleRemove(index);
2099
+ }
2100
+ }, [(_slots$itemMinus = slots.itemMinus) === null || _slots$itemMinus === void 0 ? void 0 : _slots$itemMinus.call(slots)])])])];
2101
+ }
2102
+ });
2103
+ }), !readonly.value && createVNode("div", {
2104
+ "class": "pro-form-list-add",
2105
+ "onClick": handleAdd
2106
+ }, [(_slots$add = slots.add) === null || _slots$add === void 0 ? void 0 : _slots$add.call(slots)])];
2107
+ }
2108
+ });
2109
+ };
2110
+ }
2111
+ });
2112
+ };
2113
+
1946
2114
  var ProFormKey = Symbol("pro-form");
1947
2115
  var useProForm = function useProForm() {
1948
2116
  return inject(ProFormKey);
@@ -1954,24 +2122,24 @@ var provideProForm = function provideProForm(ctx) {
1954
2122
 
1955
2123
  var proFormProps = function proFormProps() {
1956
2124
  return {
1957
- /**
1958
- * 同 antd 或 element form中的model
2125
+ /**
2126
+ * 同 antd 或 element form中的model
1959
2127
  */
1960
2128
  model: {
1961
2129
  type: Object
1962
2130
  },
1963
2131
 
1964
- /**
1965
- * 子组件是否只读样式
2132
+ /**
2133
+ * 子组件是否只读样式
1966
2134
  */
1967
2135
  readonly: {
1968
2136
  type: Boolean,
1969
2137
  "default": undefined
1970
2138
  },
1971
2139
 
1972
- /**
1973
- * FormComponent 根据此项来确定组件是否显示
1974
- * rules 根据rules中方法生成showState对象
2140
+ /**
2141
+ * FormComponent 根据此项来确定组件是否显示
2142
+ * rules 根据rules中方法生成showState对象
1975
2143
  */
1976
2144
  showState: {
1977
2145
  type: Object
@@ -1980,8 +2148,8 @@ var proFormProps = function proFormProps() {
1980
2148
  type: Object
1981
2149
  },
1982
2150
 
1983
- /**
1984
- * 是否只读
2151
+ /**
2152
+ * 是否只读
1985
2153
  */
1986
2154
  readonlyState: {
1987
2155
  type: Object
@@ -1990,8 +2158,8 @@ var proFormProps = function proFormProps() {
1990
2158
  type: Object
1991
2159
  },
1992
2160
 
1993
- /**
1994
- * 是否disabled
2161
+ /**
2162
+ * 是否disabled
1995
2163
  */
1996
2164
  disableState: {
1997
2165
  type: Object
@@ -2000,8 +2168,8 @@ var proFormProps = function proFormProps() {
2000
2168
  type: Object
2001
2169
  },
2002
2170
 
2003
- /**
2004
- *
2171
+ /**
2172
+ *
2005
2173
  */
2006
2174
  columns: {
2007
2175
  type: Array
@@ -2010,30 +2178,30 @@ var proFormProps = function proFormProps() {
2010
2178
  type: Object
2011
2179
  },
2012
2180
 
2013
- /**
2014
- * 展示控件集合,readonly模式下使用这些组件渲染
2181
+ /**
2182
+ * 展示控件集合,readonly模式下使用这些组件渲染
2015
2183
  */
2016
2184
  elementMap: {
2017
2185
  type: Object
2018
2186
  },
2019
2187
 
2020
- /**
2021
- * 录入控件集合
2188
+ /**
2189
+ * 录入控件集合
2022
2190
  */
2023
2191
  formElementMap: {
2024
2192
  type: Object
2025
2193
  },
2026
2194
 
2027
- /**
2028
- * 是否启用rules验证
2195
+ /**
2196
+ * 是否启用rules验证
2029
2197
  */
2030
2198
  needRules: {
2031
2199
  type: Boolean,
2032
2200
  "default": true
2033
2201
  },
2034
2202
 
2035
- /**
2036
- * provide传递
2203
+ /**
2204
+ * provide传递
2037
2205
  */
2038
2206
  provideExtra: {
2039
2207
  type: Object
@@ -2041,7 +2209,7 @@ var proFormProps = function proFormProps() {
2041
2209
  };
2042
2210
  };
2043
2211
 
2044
- var createForm = function createForm(Form, Grid) {
2212
+ var createForm = function createForm(Form, Grid, formMethods) {
2045
2213
  return defineComponent({
2046
2214
  inheritAttrs: false,
2047
2215
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Form.props), proFormProps()), omit(Grid.props, "items")),
@@ -2093,22 +2261,7 @@ var createForm = function createForm(Form, Grid) {
2093
2261
  };
2094
2262
 
2095
2263
  var formRef = ref();
2096
- expose({
2097
- submit: function submit() {
2098
- var _formRef$value;
2099
-
2100
- (_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : _formRef$value.submit();
2101
- },
2102
- resetFields: function resetFields() {
2103
- var _formRef$value2;
2104
-
2105
- for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
2106
- params[_key] = arguments[_key];
2107
- }
2108
-
2109
- (_formRef$value2 = formRef.value) === null || _formRef$value2 === void 0 ? void 0 : _formRef$value2.resetFields.apply(_formRef$value2, params);
2110
- }
2111
- });
2264
+ expose(createExpose(formMethods, formRef));
2112
2265
  provideProForm(_objectSpread2({
2113
2266
  formState: formState,
2114
2267
  showState: showState,
@@ -2123,7 +2276,9 @@ var createForm = function createForm(Form, Grid) {
2123
2276
  columns: columns,
2124
2277
  //
2125
2278
  formRef: formRef
2126
- }, props.provideExtra));
2279
+ }, props.provideExtra)); //为了不warning ...
2280
+
2281
+ provideProFormList({});
2127
2282
  var invalidKeys = keys(proFormProps());
2128
2283
  var gridKeys = keys(omit(Grid.props, "items"));
2129
2284
  return function () {
@@ -2165,40 +2320,39 @@ var SearchMode;
2165
2320
 
2166
2321
  var proSearchFormProps = function proSearchFormProps() {
2167
2322
  return {
2168
- /**
2169
- * 需要监听的对象
2323
+ /**
2324
+ * 需要监听的对象
2170
2325
  */
2171
2326
  model: {
2172
- type: Object,
2173
- required: true
2327
+ type: Object
2174
2328
  },
2175
2329
 
2176
- /**
2177
- * 初始化触发 onFinish
2330
+ /**
2331
+ * 初始化触发 onFinish
2178
2332
  */
2179
2333
  initEmit: {
2180
2334
  type: Boolean,
2181
2335
  "default": true
2182
2336
  },
2183
2337
 
2184
- /**
2185
- * 模式 自动触发或者手动触发 onFinish
2338
+ /**
2339
+ * 模式 自动触发或者手动触发 onFinish
2186
2340
  */
2187
2341
  searchMode: {
2188
2342
  type: String,
2189
2343
  "default": SearchMode.AUTO
2190
2344
  },
2191
2345
 
2192
- /**
2193
- * 配置 同ProForm中的columns
2194
- * 可以根据column中valueType计算出默认的debounceKeys
2346
+ /**
2347
+ * 配置 同ProForm中的columns
2348
+ * 可以根据column中valueType计算出默认的debounceKeys
2195
2349
  */
2196
2350
  columns: {
2197
2351
  type: Array
2198
2352
  },
2199
2353
 
2200
- /**
2201
- * 需要debounce处理的字段
2354
+ /**
2355
+ * 需要debounce处理的字段
2202
2356
  */
2203
2357
  debounceKeys: {
2204
2358
  type: Array
@@ -2215,15 +2369,16 @@ var proSearchFormProps = function proSearchFormProps() {
2215
2369
  };
2216
2370
  };
2217
2371
 
2218
- /**
2219
- * 该组件只是个模式,最终返回null,不做任何渲染,应配合着ProForm的包装类一起使用
2220
- * 针对传入的model(监听对象)做相应的finish(回调)处理
2372
+ /**
2373
+ * 该组件只是个模式,最终返回null,不做任何渲染,应配合着ProForm的包装类一起使用
2374
+ * 针对传入的model(监听对象)做相应的finish(回调)处理
2221
2375
  */
2222
- var createSearchForm = function createSearchForm(Form, Props) {
2376
+ var createSearchForm = function createSearchForm(Form, Props, formMethods) {
2223
2377
  return defineComponent({
2224
2378
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Form.props), Props), proSearchFormProps()),
2225
2379
  setup: function setup(props, _ref) {
2226
- var slots = _ref.slots;
2380
+ var slots = _ref.slots,
2381
+ expose = _ref.expose;
2227
2382
  var formState = props.model || reactive({});
2228
2383
  var valueTypeSet = new Set(props.debounceTypes); //根据column valueType 算出默认需要debounce处理的属性集合
2229
2384
 
@@ -2235,6 +2390,7 @@ var createSearchForm = function createSearchForm(Form, Props) {
2235
2390
  return getColumnFormItemName(column);
2236
2391
  });
2237
2392
  var formRef = ref();
2393
+ expose(createExpose(formMethods, formRef));
2238
2394
 
2239
2395
  var handleFinish = function handleFinish() {
2240
2396
  var _formRef$value;
@@ -2288,116 +2444,6 @@ var createSearchForm = function createSearchForm(Form, Props) {
2288
2444
  });
2289
2445
  };
2290
2446
 
2291
- /**
2292
- * ProFormList ctx
2293
- */
2294
-
2295
- var ProFormListKey = Symbol("pro-form-list");
2296
- var useProFormList = function useProFormList() {
2297
- return inject(ProFormListKey);
2298
- };
2299
-
2300
- var provideProFormList = function provideProFormList(ctx) {
2301
- provide(ProFormListKey, ctx);
2302
- };
2303
-
2304
- var FormListProvider = defineComponent({
2305
- props: {
2306
- pathList: {
2307
- type: Array
2308
- }
2309
- },
2310
- setup: function setup(props, _ref) {
2311
- var slots = _ref.slots;
2312
- provideProFormList({
2313
- pathList: props.pathList
2314
- });
2315
- return function () {
2316
- var _slots$default;
2317
-
2318
- return (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
2319
- };
2320
- }
2321
- });
2322
-
2323
- var createFormList = function createFormList(FormItem) {
2324
- return defineComponent({
2325
- props: _objectSpread2(_objectSpread2({}, FormItem.props), {}, {
2326
- //每行默认id
2327
- rowKey: {
2328
- type: String,
2329
- "default": "id"
2330
- }
2331
- }),
2332
- setup: function setup(props, _ref2) {
2333
- var slots = _ref2.slots;
2334
-
2335
- var _useProForm = useProForm(),
2336
- formState = _useProForm.formState,
2337
- readonly = _useProForm.readonly;
2338
-
2339
- var formListCtx = useProFormList();
2340
- var nameList = convertPathToList(props.name);
2341
- var path = formListCtx !== null && formListCtx !== void 0 && formListCtx.pathList ? [].concat(_toConsumableArray(formListCtx.pathList), _toConsumableArray(nameList)) : nameList;
2342
-
2343
- var handleAdd = function handleAdd() {
2344
- var targetList = get(formState, path);
2345
-
2346
- if (!isArray(targetList)) {
2347
- targetList = [];
2348
- }
2349
-
2350
- targetList.push(_defineProperty({}, props.rowKey, new Date().valueOf()));
2351
- set(formState, path, targetList);
2352
- };
2353
-
2354
- var handleRemove = function handleRemove(index) {
2355
- var targetList = get(formState, path);
2356
-
2357
- if (size(targetList) <= 0) {
2358
- return;
2359
- }
2360
-
2361
- targetList.splice(index, 1);
2362
- };
2363
-
2364
- return function () {
2365
- var _slots$add;
2366
-
2367
- return createVNode(FormItem, omit(props, "rowKey"), {
2368
- "default": function _default() {
2369
- return [map(get(formState, path), function (item, index) {
2370
- var _slots$default2, _slots$itemAdd, _slots$itemMinus;
2371
-
2372
- return createVNode(FormListProvider, {
2373
- "key": item[props.rowKey] || index,
2374
- "pathList": [].concat(_toConsumableArray(path), [index])
2375
- }, {
2376
- "default": function _default() {
2377
- return [createVNode("div", {
2378
- "class": "pro-form-list-item"
2379
- }, [(_slots$default2 = slots["default"]) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots), !readonly.value && createVNode(Fragment, null, [createVNode("div", {
2380
- "class": "pro-form-list-item-add",
2381
- "onClick": handleAdd
2382
- }, [(_slots$itemAdd = slots.itemAdd) === null || _slots$itemAdd === void 0 ? void 0 : _slots$itemAdd.call(slots)]), createVNode("div", {
2383
- "class": "pro-form-list-item-minus",
2384
- "onClick": function onClick() {
2385
- return handleRemove(index);
2386
- }
2387
- }, [(_slots$itemMinus = slots.itemMinus) === null || _slots$itemMinus === void 0 ? void 0 : _slots$itemMinus.call(slots)])])])];
2388
- }
2389
- });
2390
- }), !readonly.value && createVNode("div", {
2391
- "class": "pro-form-list-add",
2392
- "onClick": handleAdd
2393
- }, [(_slots$add = slots.add) === null || _slots$add === void 0 ? void 0 : _slots$add.call(slots)])];
2394
- }
2395
- });
2396
- };
2397
- }
2398
- });
2399
- };
2400
-
2401
2447
  var proFormItemProps = function proFormItemProps() {
2402
2448
  return {
2403
2449
  readonly: {
@@ -2501,8 +2547,8 @@ var proTableProps = function proTableProps() {
2501
2547
  type: String
2502
2548
  },
2503
2549
 
2504
- /**
2505
- * 公共column,会merge到columns item中
2550
+ /**
2551
+ * 公共column,会merge到columns item中
2506
2552
  */
2507
2553
  column: {
2508
2554
  type: Object
@@ -2515,29 +2561,29 @@ var proTableProps = function proTableProps() {
2515
2561
  type: Object
2516
2562
  },
2517
2563
 
2518
- /**
2519
- * 展示控件集合,readonly模式下使用这些组件渲染
2564
+ /**
2565
+ * 展示控件集合,readonly模式下使用这些组件渲染
2520
2566
  */
2521
2567
  elementMap: {
2522
2568
  type: Object
2523
2569
  },
2524
2570
 
2525
- /**
2526
- * 序号
2571
+ /**
2572
+ * 序号
2527
2573
  */
2528
2574
  serialNumber: {
2529
2575
  type: Boolean
2530
2576
  },
2531
2577
 
2532
- /**
2533
- * 分页
2578
+ /**
2579
+ * 分页
2534
2580
  */
2535
2581
  paginationState: {
2536
2582
  type: Object
2537
2583
  },
2538
2584
 
2539
- /**
2540
- * provide传递
2585
+ /**
2586
+ * provide传递
2541
2587
  */
2542
2588
  provideExtra: {
2543
2589
  type: Object
@@ -2545,11 +2591,12 @@ var proTableProps = function proTableProps() {
2545
2591
  };
2546
2592
  };
2547
2593
 
2548
- var createTable = function createTable(Table, Props) {
2594
+ var createTable = function createTable(Table, Props, tableMethods) {
2549
2595
  return defineComponent({
2550
2596
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Table.props), Props), proTableProps()),
2551
2597
  setup: function setup(props, _ref) {
2552
- var slots = _ref.slots;
2598
+ var slots = _ref.slots,
2599
+ expose = _ref.expose;
2553
2600
 
2554
2601
  var createNumberColumn = function createNumberColumn() {
2555
2602
  return _objectSpread2(_objectSpread2({
@@ -2664,6 +2711,7 @@ var createTable = function createTable(Table, Props) {
2664
2711
  columns: columns,
2665
2712
  tableRef: tableRef
2666
2713
  }, props.provideExtra));
2714
+ expose(createExpose(tableMethods || [], tableRef));
2667
2715
  var invalidKeys = keys(proTableProps());
2668
2716
  return function () {
2669
2717
  return createVNode(Table, mergeProps({
@@ -2676,4 +2724,4 @@ var createTable = function createTable(Table, Props) {
2676
2724
  });
2677
2725
  };
2678
2726
 
2679
- export { CurdAction, CurdAddAction, CurdCurrentMode, CurdSubAction, ProCurd, ProModalCurd, ProModule, ProPageCurd, RequestAction, SearchMode, Wrapper, convertPathToList, createCurdDesc, createCurdForm, createCurdList, createExpose, createForm, createFormItemCompFn, createFormList, createGrid, createSearchForm, createTable, defaultPage, findTargetInTree, findTargetListInTree, generateId, getColumnFormItemName, getColumnValueType, getFirstPropName, getFormItemEl, getItemEl, getValidValues, mergeStateToList, provideProCurd, provideProModule, renderElement, renderElements, useComposeRequestActor, useDoneRequestActor, useFailedRequestActor, useModuleEvent, useProCurd, useProForm, useProFormList, useProModule, useProTable };
2727
+ export { CurdAction, CurdAddAction, CurdCurrentMode, CurdMethods, CurdSubAction, ProCurd, ProModalCurd, ProModule, ProPageCurd, RequestAction, SearchMode, Wrapper, convertPathToList, createCurdDesc, createCurdForm, createCurdList, createExpose, createForm, createFormItemCompFn, createFormList, createGrid, createSearchForm, createTable, defaultPage, findTargetInTree, findTargetListInTree, generateId, getColumnFormItemName, getColumnValueType, getFirstPropName, getFormItemEl, getItemEl, getValidValues, mergeStateToList, provideProCurd, provideProFormList, provideProModule, renderElement, renderElements, useComposeRequestActor, useDoneRequestActor, useFailedRequestActor, useModuleEvent, useProCurd, useProForm, useProFormList, useProModule, useProTable };