@vtx/components 3.1.112 → 3.1.113
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.
|
@@ -25,7 +25,7 @@ var _vtxDatagrid = _interopRequireDefault(require("../vtx-datagrid"));
|
|
|
25
25
|
|
|
26
26
|
var _icons = require("@ant-design/icons");
|
|
27
27
|
|
|
28
|
-
var _excluded = ["prefixCls", "setPopoverVisible", "multiple", "onChange", "getTableData", "columns", "searchForms", "selectedRowKeys", "setSelectedRowKeys", "spread", "defaultPageSize"];
|
|
28
|
+
var _excluded = ["prefixCls", "setPopoverVisible", "multiple", "onChange", "getTableData", "columns", "searchForms", "selectedRowKeys", "setSelectedRowKeys", "spread", "defaultPageSize", "customEnumText"];
|
|
29
29
|
|
|
30
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
31
|
|
|
@@ -79,8 +79,24 @@ function VtxCombogrid(props, ref) {
|
|
|
79
79
|
setSelectedRowKeys = props.setSelectedRowKeys,
|
|
80
80
|
spread = props.spread,
|
|
81
81
|
defaultPageSize = props.defaultPageSize,
|
|
82
|
+
_props$customEnumText = props.customEnumText,
|
|
83
|
+
customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText,
|
|
82
84
|
rest = _objectWithoutProperties(props, _excluded);
|
|
83
85
|
|
|
86
|
+
var TextEnum = _objectSpread({
|
|
87
|
+
indexTitle: '序号',
|
|
88
|
+
actionMoreText: '更多',
|
|
89
|
+
columnSettingResetText: '重置',
|
|
90
|
+
columnSettingSaveText: '保存',
|
|
91
|
+
searchBtnConfirmText: '查询',
|
|
92
|
+
alartEmptyBtnText: '清空选择',
|
|
93
|
+
alartAlreadyChooseText: '已选择',
|
|
94
|
+
alartAlreadyChooseUnitText: '项',
|
|
95
|
+
messageSuccessText: '操作成功',
|
|
96
|
+
paginationTotalText: '共',
|
|
97
|
+
paginationItemText: '条'
|
|
98
|
+
}, customEnumText);
|
|
99
|
+
|
|
84
100
|
var _useAntdTable = (0, _useAntdTable2["default"])(getTableData, {
|
|
85
101
|
defaultPageSize: defaultPageSize || 10,
|
|
86
102
|
form: form
|
|
@@ -105,6 +121,7 @@ function VtxCombogrid(props, ref) {
|
|
|
105
121
|
startIndex: (current - 1) * pageSize + 1,
|
|
106
122
|
size: 'small',
|
|
107
123
|
headFootHeight: 95,
|
|
124
|
+
indexTitle: TextEnum.indexTitle,
|
|
108
125
|
onRowSelectionClear: clearSelectedRow,
|
|
109
126
|
pagination: _objectSpread(_objectSpread({}, pagination), {}, {
|
|
110
127
|
showSizeChanger: false,
|
|
@@ -112,6 +129,9 @@ function VtxCombogrid(props, ref) {
|
|
|
112
129
|
if (!spread) {
|
|
113
130
|
clearSelectedRow();
|
|
114
131
|
}
|
|
132
|
+
},
|
|
133
|
+
showTotal: function showTotal(total) {
|
|
134
|
+
return "".concat(TextEnum.paginationTotalText, " ").concat(total, " ").concat(TextEnum.paginationItemText);
|
|
115
135
|
}
|
|
116
136
|
}),
|
|
117
137
|
onRow: function onRow(record) {
|
|
@@ -216,13 +236,13 @@ function VtxCombogrid(props, ref) {
|
|
|
216
236
|
onClick: query,
|
|
217
237
|
type: "primary",
|
|
218
238
|
size: "small"
|
|
219
|
-
},
|
|
239
|
+
}, TextEnum.searchBtnConfirmText), /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
220
240
|
onClick: clear,
|
|
221
241
|
size: "small"
|
|
222
|
-
},
|
|
242
|
+
}, TextEnum.columnSettingResetText), isMore && /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
223
243
|
icon: /*#__PURE__*/_react["default"].createElement(_icons.MoreOutlined, null),
|
|
224
244
|
size: "small",
|
|
225
|
-
title:
|
|
245
|
+
title: TextEnum.actionMoreText,
|
|
226
246
|
onClick: function onClick() {
|
|
227
247
|
return setMore(!more);
|
|
228
248
|
}
|
|
@@ -230,7 +250,9 @@ function VtxCombogrid(props, ref) {
|
|
|
230
250
|
className: "".concat(prefixCls, "-main")
|
|
231
251
|
}, /*#__PURE__*/_react["default"].createElement(_vtxDatagrid["default"], _extends({
|
|
232
252
|
toolbar: false
|
|
233
|
-
}, newTableProps, rest
|
|
253
|
+
}, newTableProps, rest, {
|
|
254
|
+
customEnumText: customEnumText
|
|
255
|
+
}))));
|
|
234
256
|
}
|
|
235
257
|
|
|
236
258
|
var _default = /*#__PURE__*/_react["default"].forwardRef(VtxCombogrid);
|
|
@@ -248,6 +270,7 @@ VtxCombogrid.propTypes = {
|
|
|
248
270
|
setSelectedRowKeys: _propTypes["default"].func,
|
|
249
271
|
spread: _propTypes["default"].bool,
|
|
250
272
|
defaultSelectedRowKeys: _propTypes["default"].array,
|
|
251
|
-
defaultPageSize: _propTypes["default"].number
|
|
273
|
+
defaultPageSize: _propTypes["default"].number,
|
|
274
|
+
customEnumText: _propTypes["default"].object
|
|
252
275
|
};
|
|
253
276
|
//# sourceMappingURL=Combogrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combogrid.js","names":["VtxCombogrid","props","ref","useState","more","setMore","Form","useForm","form","prefixCls","setPopoverVisible","multiple","onChange","getTableData","columns","searchForms","selectedRowKeys","setSelectedRowKeys","spread","defaultPageSize","rest","useAntdTable","tableProps","search","submit","reset","pagination","current","pageSize","clearSelectedRow","newTableProps","startIndex","size","headFootHeight","onRowSelectionClear","showSizeChanger","onRow","record","onClick","rowSelection","preserveSelectedRowKeys","selectedRows","query","length","clear","useImperativeHandle","formLen","isMore","moreSearchForm","slice","renderFormItem","field","name","label","render","fieldDecoratorOptions","span","map","item","idx","React","forwardRef","propTypes","PropTypes","string","func","isRequired","array","bool","defaultSelectedRowKeys","number"],"sources":["vtx-combogrid/Combogrid.jsx"],"sourcesContent":["import React, { useState, useImperativeHandle } from 'react';\r\nimport Form from 'antd/lib/form';\r\nimport Row from 'antd/lib/row';\r\nimport Col from 'antd/lib/col';\r\nimport Button from 'antd/lib/button';\r\nimport useAntdTable from 'ahooks/es/useAntdTable';\r\nimport PropTypes from 'prop-types';\r\nimport VtxDatagrid from '../vtx-datagrid';\r\nimport { MoreOutlined } from '@ant-design/icons';\r\n\r\nfunction VtxCombogrid(props, ref) {\r\n const [more, setMore] = useState(false);\r\n const [form] = Form.useForm();\r\n const {\r\n prefixCls,\r\n setPopoverVisible,\r\n multiple,\r\n onChange,\r\n getTableData,\r\n columns,\r\n searchForms = [],\r\n selectedRowKeys,\r\n setSelectedRowKeys,\r\n spread,\r\n defaultPageSize,\r\n ...rest\r\n } = props;\r\n\r\n const { tableProps, search } = useAntdTable(getTableData, {\r\n defaultPageSize: defaultPageSize || 10,\r\n form,\r\n });\r\n const { submit, reset } = search;\r\n\r\n // 表格\r\n const { pagination } = tableProps;\r\n const { current, pageSize } = pagination;\r\n\r\n const clearSelectedRow = () => {\r\n onChange && onChange([]);\r\n setSelectedRowKeys([]);\r\n };\r\n\r\n let newTableProps = {\r\n ...tableProps,\r\n columns,\r\n startIndex: (current - 1) * pageSize + 1,\r\n size: 'small',\r\n headFootHeight: 95,\r\n onRowSelectionClear: clearSelectedRow,\r\n pagination: {\r\n ...pagination,\r\n showSizeChanger: false,\r\n onChange() {\r\n if (!spread) {\r\n clearSelectedRow();\r\n }\r\n },\r\n },\r\n onRow: record => {\r\n if (multiple) {\r\n return {};\r\n }\r\n return {\r\n onClick: () => {\r\n onChange && onChange([record]);\r\n setPopoverVisible(false);\r\n },\r\n };\r\n },\r\n };\r\n\r\n if (multiple) {\r\n newTableProps = {\r\n ...newTableProps,\r\n rowSelection: {\r\n preserveSelectedRowKeys: true,\r\n selectedRowKeys,\r\n onChange(selectedRowKeys, selectedRows) {\r\n setSelectedRowKeys(selectedRowKeys);\r\n onChange && onChange(selectedRows);\r\n },\r\n },\r\n };\r\n }\r\n\r\n // 查询和清空会重置selectedRowKeys,因此也需清空文本中的value值\r\n const query = () => {\r\n submit();\r\n if (multiple && selectedRowKeys.length) {\r\n clearSelectedRow();\r\n }\r\n };\r\n const clear = () => {\r\n reset();\r\n if (multiple && selectedRowKeys.length) {\r\n clearSelectedRow();\r\n }\r\n };\r\n\r\n // 暴露给父组件使用\r\n useImperativeHandle(ref, () => ({\r\n clear,\r\n }));\r\n\r\n // 查询条件是否超过2个,超过2个默认隐藏\r\n const formLen = searchForms.length;\r\n const isMore = formLen > 2;\r\n let moreSearchForm = [];\r\n if (isMore) {\r\n moreSearchForm = searchForms.slice(2);\r\n }\r\n\r\n const renderFormItem = field => {\r\n const { name, label, render, fieldDecoratorOptions = {} } = field;\r\n return (\r\n <Col span={12} key={name}>\r\n <Form.Item\r\n label={label}\r\n labelCol={{ span: 8 }}\r\n wrapperCol={{ span: 16 }}\r\n name={name}\r\n {...fieldDecoratorOptions}\r\n >\r\n {render && render(form)}\r\n </Form.Item>\r\n </Col>\r\n );\r\n };\r\n\r\n return (\r\n <div className={`${prefixCls}-popover`} ref={ref}>\r\n {formLen > 0 && (\r\n <Form form={form}>\r\n <Row gutter={8}>\r\n <Col span={18}>\r\n <Row>\r\n {searchForms.map((item, idx) => {\r\n if (idx < 2) {\r\n return renderFormItem(item);\r\n }\r\n })}\r\n </Row>\r\n {more && (\r\n <Row>\r\n {moreSearchForm.map(item => {\r\n return renderFormItem(item);\r\n })}\r\n </Row>\r\n )}\r\n </Col>\r\n <Col span={6} className={`${prefixCls}-btns`}>\r\n <Button onClick={query} type=\"primary\" size=\"small\">\r\n 查询\r\n </Button>\r\n <Button onClick={clear} size=\"small\">\r\n 清空\r\n </Button>\r\n {isMore && (\r\n <Button\r\n icon={<MoreOutlined />}\r\n size=\"small\"\r\n title=\"更多\"\r\n onClick={() => setMore(!more)}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Form>\r\n )}\r\n <div className={`${prefixCls}-main`}>\r\n <VtxDatagrid toolbar={false} {...newTableProps} {...rest} />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default React.forwardRef(VtxCombogrid);\r\n\r\nVtxCombogrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n getTableData: PropTypes.func.isRequired,\r\n columns: PropTypes.array,\r\n searchForms: PropTypes.array,\r\n multiple: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n setPopoverVisible: PropTypes.func,\r\n selectedRowKeys: PropTypes.array,\r\n setSelectedRowKeys: PropTypes.func,\r\n spread: PropTypes.bool,\r\n defaultSelectedRowKeys: PropTypes.array,\r\n defaultPageSize: PropTypes.number,\r\n};\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,YAAT,CAAsBC,KAAtB,EAA6BC,GAA7B,EAAkC;EAC9B,gBAAwB,IAAAC,eAAA,EAAS,KAAT,CAAxB;EAAA;EAAA,IAAOC,IAAP;EAAA,IAAaC,OAAb;;EACA,oBAAeC,gBAAA,CAAKC,OAAL,EAAf;EAAA;EAAA,IAAOC,IAAP;;EACA,IACIC,SADJ,GAaIR,KAbJ,CACIQ,SADJ;EAAA,IAEIC,iBAFJ,GAaIT,KAbJ,CAEIS,iBAFJ;EAAA,IAGIC,QAHJ,GAaIV,KAbJ,CAGIU,QAHJ;EAAA,IAIIC,SAJJ,GAaIX,KAbJ,CAIIW,QAJJ;EAAA,IAKIC,YALJ,GAaIZ,KAbJ,CAKIY,YALJ;EAAA,IAMIC,OANJ,GAaIb,KAbJ,CAMIa,OANJ;EAAA,yBAaIb,KAbJ,CAOIc,WAPJ;EAAA,IAOIA,WAPJ,mCAOkB,EAPlB;EAAA,IAQIC,eARJ,GAaIf,KAbJ,CAQIe,eARJ;EAAA,IASIC,kBATJ,GAaIhB,KAbJ,CASIgB,kBATJ;EAAA,IAUIC,MAVJ,GAaIjB,KAbJ,CAUIiB,MAVJ;EAAA,IAWIC,eAXJ,GAaIlB,KAbJ,CAWIkB,eAXJ;EAAA,IAYOC,IAZP,4BAaInB,KAbJ;;EAeA,oBAA+B,IAAAoB,yBAAA,EAAaR,YAAb,EAA2B;IACtDM,eAAe,EAAEA,eAAe,IAAI,EADkB;IAEtDX,IAAI,EAAJA;EAFsD,CAA3B,CAA/B;EAAA,IAAQc,UAAR,iBAAQA,UAAR;EAAA,IAAoBC,MAApB,iBAAoBA,MAApB;;EAIA,IAAQC,MAAR,GAA0BD,MAA1B,CAAQC,MAAR;EAAA,IAAgBC,KAAhB,GAA0BF,MAA1B,CAAgBE,KAAhB,CAtB8B,CAwB9B;;EACA,IAAQC,UAAR,GAAuBJ,UAAvB,CAAQI,UAAR;EACA,IAAQC,OAAR,GAA8BD,UAA9B,CAAQC,OAAR;EAAA,IAAiBC,QAAjB,GAA8BF,UAA9B,CAAiBE,QAAjB;;EAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAC3BjB,SAAQ,IAAIA,SAAQ,CAAC,EAAD,CAApB;IACAK,kBAAkB,CAAC,EAAD,CAAlB;EACH,CAHD;;EAKA,IAAIa,aAAa,mCACVR,UADU;IAEbR,OAAO,EAAPA,OAFa;IAGbiB,UAAU,EAAE,CAACJ,OAAO,GAAG,CAAX,IAAgBC,QAAhB,GAA2B,CAH1B;IAIbI,IAAI,EAAE,OAJO;IAKbC,cAAc,EAAE,EALH;IAMbC,mBAAmB,EAAEL,gBANR;IAObH,UAAU,kCACHA,UADG;MAENS,eAAe,EAAE,KAFX;MAGNvB,QAHM,sBAGK;QACP,IAAI,CAACM,MAAL,EAAa;UACTW,gBAAgB;QACnB;MACJ;IAPK,EAPG;IAgBbO,KAAK,EAAE,eAAAC,MAAM,EAAI;MACb,IAAI1B,QAAJ,EAAc;QACV,OAAO,EAAP;MACH;;MACD,OAAO;QACH2B,OAAO,EAAE,mBAAM;UACX1B,SAAQ,IAAIA,SAAQ,CAAC,CAACyB,MAAD,CAAD,CAApB;UACA3B,iBAAiB,CAAC,KAAD,CAAjB;QACH;MAJE,CAAP;IAMH;EA1BY,EAAjB;;EA6BA,IAAIC,QAAJ,EAAc;IACVmB,aAAa,mCACNA,aADM;MAETS,YAAY,EAAE;QACVC,uBAAuB,EAAE,IADf;QAEVxB,eAAe,EAAfA,eAFU;QAGVJ,QAHU,oBAGDI,eAHC,EAGgByB,YAHhB,EAG8B;UACpCxB,kBAAkB,CAACD,eAAD,CAAlB;UACAJ,SAAQ,IAAIA,SAAQ,CAAC6B,YAAD,CAApB;QACH;MANS;IAFL,EAAb;EAWH,CA1E6B,CA4E9B;;;EACA,IAAMC,KAAK,GAAG,SAARA,KAAQ,GAAM;IAChBlB,MAAM;;IACN,IAAIb,QAAQ,IAAIK,eAAe,CAAC2B,MAAhC,EAAwC;MACpCd,gBAAgB;IACnB;EACJ,CALD;;EAMA,IAAMe,KAAK,GAAG,SAARA,KAAQ,GAAM;IAChBnB,KAAK;;IACL,IAAId,QAAQ,IAAIK,eAAe,CAAC2B,MAAhC,EAAwC;MACpCd,gBAAgB;IACnB;EACJ,CALD,CAnF8B,CA0F9B;;;EACA,IAAAgB,0BAAA,EAAoB3C,GAApB,EAAyB;IAAA,OAAO;MAC5B0C,KAAK,EAALA;IAD4B,CAAP;EAAA,CAAzB,EA3F8B,CA+F9B;;EACA,IAAME,OAAO,GAAG/B,WAAW,CAAC4B,MAA5B;EACA,IAAMI,MAAM,GAAGD,OAAO,GAAG,CAAzB;EACA,IAAIE,cAAc,GAAG,EAArB;;EACA,IAAID,MAAJ,EAAY;IACRC,cAAc,GAAGjC,WAAW,CAACkC,KAAZ,CAAkB,CAAlB,CAAjB;EACH;;EAED,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,KAAK,EAAI;IAC5B,IAAQC,IAAR,GAA4DD,KAA5D,CAAQC,IAAR;IAAA,IAAcC,KAAd,GAA4DF,KAA5D,CAAcE,KAAd;IAAA,IAAqBC,MAArB,GAA4DH,KAA5D,CAAqBG,MAArB;IAAA,4BAA4DH,KAA5D,CAA6BI,qBAA7B;IAAA,IAA6BA,qBAA7B,sCAAqD,EAArD;IACA,oBACI,gCAAC,eAAD;MAAK,IAAI,EAAE,EAAX;MAAe,GAAG,EAAEH;IAApB,gBACI,gCAAC,gBAAD,CAAM,IAAN;MACI,KAAK,EAAEC,KADX;MAEI,QAAQ,EAAE;QAAEG,IAAI,EAAE;MAAR,CAFd;MAGI,UAAU,EAAE;QAAEA,IAAI,EAAE;MAAR,CAHhB;MAII,IAAI,EAAEJ;IAJV,GAKQG,qBALR,GAOKD,MAAM,IAAIA,MAAM,CAAC9C,IAAD,CAPrB,CADJ,CADJ;EAaH,CAfD;;EAiBA,oBACI;IAAK,SAAS,YAAKC,SAAL,aAAd;IAAwC,GAAG,EAAEP;EAA7C,GACK4C,OAAO,GAAG,CAAV,iBACG,gCAAC,gBAAD;IAAM,IAAI,EAAEtC;EAAZ,gBACI,gCAAC,eAAD;IAAK,MAAM,EAAE;EAAb,gBACI,gCAAC,eAAD;IAAK,IAAI,EAAE;EAAX,gBACI,gCAAC,eAAD,QACKO,WAAW,CAAC0C,GAAZ,CAAgB,UAACC,IAAD,EAAOC,GAAP,EAAe;IAC5B,IAAIA,GAAG,GAAG,CAAV,EAAa;MACT,OAAOT,cAAc,CAACQ,IAAD,CAArB;IACH;EACJ,CAJA,CADL,CADJ,EAQKtD,IAAI,iBACD,gCAAC,eAAD,QACK4C,cAAc,CAACS,GAAf,CAAmB,UAAAC,IAAI,EAAI;IACxB,OAAOR,cAAc,CAACQ,IAAD,CAArB;EACH,CAFA,CADL,CATR,CADJ,eAiBI,gCAAC,eAAD;IAAK,IAAI,EAAE,CAAX;IAAc,SAAS,YAAKjD,SAAL;EAAvB,gBACI,gCAAC,kBAAD;IAAQ,OAAO,EAAEiC,KAAjB;IAAwB,IAAI,EAAC,SAA7B;IAAuC,IAAI,EAAC;EAA5C,kBADJ,eAII,gCAAC,kBAAD;IAAQ,OAAO,EAAEE,KAAjB;IAAwB,IAAI,EAAC;EAA7B,kBAJJ,EAOKG,MAAM,iBACH,gCAAC,kBAAD;IACI,IAAI,eAAE,gCAAC,mBAAD,OADV;IAEI,IAAI,EAAC,OAFT;IAGI,KAAK,EAAC,cAHV;IAII,OAAO,EAAE;MAAA,OAAM1C,OAAO,CAAC,CAACD,IAAF,CAAb;IAAA;EAJb,EARR,CAjBJ,CADJ,CAFR,eAuCI;IAAK,SAAS,YAAKK,SAAL;EAAd,gBACI,gCAAC,uBAAD;IAAa,OAAO,EAAE;EAAtB,GAAiCqB,aAAjC,EAAoDV,IAApD,EADJ,CAvCJ,CADJ;AA6CH;;4BAEcwC,iBAAA,CAAMC,UAAN,CAAiB7D,YAAjB,C;;;AAEfA,YAAY,CAAC8D,SAAb,GAAyB;EACrBrD,SAAS,EAAEsD,qBAAA,CAAUC,MADA;EAErBnD,YAAY,EAAEkD,qBAAA,CAAUE,IAAV,CAAeC,UAFR;EAGrBpD,OAAO,EAAEiD,qBAAA,CAAUI,KAHE;EAIrBpD,WAAW,EAAEgD,qBAAA,CAAUI,KAJF;EAKrBxD,QAAQ,EAAEoD,qBAAA,CAAUK,IALC;EAMrBxD,QAAQ,EAAEmD,qBAAA,CAAUE,IANC;EAOrBvD,iBAAiB,EAAEqD,qBAAA,CAAUE,IAPR;EAQrBjD,eAAe,EAAE+C,qBAAA,CAAUI,KARN;EASrBlD,kBAAkB,EAAE8C,qBAAA,CAAUE,IATT;EAUrB/C,MAAM,EAAE6C,qBAAA,CAAUK,IAVG;EAWrBC,sBAAsB,EAAEN,qBAAA,CAAUI,KAXb;EAYrBhD,eAAe,EAAE4C,qBAAA,CAAUO;AAZN,CAAzB"}
|
|
1
|
+
{"version":3,"file":"Combogrid.js","names":["VtxCombogrid","props","ref","useState","more","setMore","Form","useForm","form","prefixCls","setPopoverVisible","multiple","onChange","getTableData","columns","searchForms","selectedRowKeys","setSelectedRowKeys","spread","defaultPageSize","customEnumText","rest","TextEnum","indexTitle","actionMoreText","columnSettingResetText","columnSettingSaveText","searchBtnConfirmText","alartEmptyBtnText","alartAlreadyChooseText","alartAlreadyChooseUnitText","messageSuccessText","paginationTotalText","paginationItemText","useAntdTable","tableProps","search","submit","reset","pagination","current","pageSize","clearSelectedRow","newTableProps","startIndex","size","headFootHeight","onRowSelectionClear","showSizeChanger","showTotal","total","onRow","record","onClick","rowSelection","preserveSelectedRowKeys","selectedRows","query","length","clear","useImperativeHandle","formLen","isMore","moreSearchForm","slice","renderFormItem","field","name","label","render","fieldDecoratorOptions","span","map","item","idx","React","forwardRef","propTypes","PropTypes","string","func","isRequired","array","bool","defaultSelectedRowKeys","number","object"],"sources":["vtx-combogrid/Combogrid.jsx"],"sourcesContent":["import React, { useState, useImperativeHandle } from 'react';\r\nimport Form from 'antd/lib/form';\r\nimport Row from 'antd/lib/row';\r\nimport Col from 'antd/lib/col';\r\nimport Button from 'antd/lib/button';\r\nimport useAntdTable from 'ahooks/es/useAntdTable';\r\nimport PropTypes from 'prop-types';\r\nimport VtxDatagrid from '../vtx-datagrid';\r\nimport { MoreOutlined } from '@ant-design/icons';\r\n\r\nfunction VtxCombogrid(props, ref) {\r\n const [more, setMore] = useState(false);\r\n const [form] = Form.useForm();\r\n const {\r\n prefixCls,\r\n setPopoverVisible,\r\n multiple,\r\n onChange,\r\n getTableData,\r\n columns,\r\n searchForms = [],\r\n selectedRowKeys,\r\n setSelectedRowKeys,\r\n spread,\r\n defaultPageSize,\r\n customEnumText = {},\r\n ...rest\r\n } = props;\r\n\r\n const TextEnum = {\r\n indexTitle: '序号',\r\n actionMoreText: '更多',\r\n columnSettingResetText: '重置',\r\n columnSettingSaveText: '保存',\r\n searchBtnConfirmText: '查询',\r\n alartEmptyBtnText: '清空选择',\r\n alartAlreadyChooseText: '已选择',\r\n alartAlreadyChooseUnitText: '项',\r\n\r\n messageSuccessText: '操作成功',\r\n paginationTotalText: '共',\r\n paginationItemText: '条',\r\n\r\n ...customEnumText,\r\n };\r\n\r\n const { tableProps, search } = useAntdTable(getTableData, {\r\n defaultPageSize: defaultPageSize || 10,\r\n form,\r\n });\r\n const { submit, reset } = search;\r\n\r\n // 表格\r\n const { pagination } = tableProps;\r\n const { current, pageSize } = pagination;\r\n\r\n const clearSelectedRow = () => {\r\n onChange && onChange([]);\r\n setSelectedRowKeys([]);\r\n };\r\n\r\n let newTableProps = {\r\n ...tableProps,\r\n columns,\r\n startIndex: (current - 1) * pageSize + 1,\r\n size: 'small',\r\n headFootHeight: 95,\r\n indexTitle: TextEnum.indexTitle,\r\n onRowSelectionClear: clearSelectedRow,\r\n pagination: {\r\n ...pagination,\r\n showSizeChanger: false,\r\n onChange() {\r\n if (!spread) {\r\n clearSelectedRow();\r\n }\r\n },\r\n showTotal(total) {\r\n return `${TextEnum.paginationTotalText} ${total} ${TextEnum.paginationItemText}`;\r\n },\r\n },\r\n onRow: record => {\r\n if (multiple) {\r\n return {};\r\n }\r\n return {\r\n onClick: () => {\r\n onChange && onChange([record]);\r\n setPopoverVisible(false);\r\n },\r\n };\r\n },\r\n };\r\n\r\n if (multiple) {\r\n newTableProps = {\r\n ...newTableProps,\r\n rowSelection: {\r\n preserveSelectedRowKeys: true,\r\n selectedRowKeys,\r\n onChange(selectedRowKeys, selectedRows) {\r\n setSelectedRowKeys(selectedRowKeys);\r\n onChange && onChange(selectedRows);\r\n },\r\n },\r\n };\r\n }\r\n\r\n // 查询和清空会重置selectedRowKeys,因此也需清空文本中的value值\r\n const query = () => {\r\n submit();\r\n if (multiple && selectedRowKeys.length) {\r\n clearSelectedRow();\r\n }\r\n };\r\n const clear = () => {\r\n reset();\r\n if (multiple && selectedRowKeys.length) {\r\n clearSelectedRow();\r\n }\r\n };\r\n\r\n // 暴露给父组件使用\r\n useImperativeHandle(ref, () => ({\r\n clear,\r\n }));\r\n\r\n // 查询条件是否超过2个,超过2个默认隐藏\r\n const formLen = searchForms.length;\r\n const isMore = formLen > 2;\r\n let moreSearchForm = [];\r\n if (isMore) {\r\n moreSearchForm = searchForms.slice(2);\r\n }\r\n\r\n const renderFormItem = field => {\r\n const { name, label, render, fieldDecoratorOptions = {} } = field;\r\n return (\r\n <Col span={12} key={name}>\r\n <Form.Item\r\n label={label}\r\n labelCol={{ span: 8 }}\r\n wrapperCol={{ span: 16 }}\r\n name={name}\r\n {...fieldDecoratorOptions}\r\n >\r\n {render && render(form)}\r\n </Form.Item>\r\n </Col>\r\n );\r\n };\r\n\r\n return (\r\n <div className={`${prefixCls}-popover`} ref={ref}>\r\n {formLen > 0 && (\r\n <Form form={form}>\r\n <Row gutter={8}>\r\n <Col span={18}>\r\n <Row>\r\n {searchForms.map((item, idx) => {\r\n if (idx < 2) {\r\n return renderFormItem(item);\r\n }\r\n })}\r\n </Row>\r\n {more && (\r\n <Row>\r\n {moreSearchForm.map(item => {\r\n return renderFormItem(item);\r\n })}\r\n </Row>\r\n )}\r\n </Col>\r\n <Col span={6} className={`${prefixCls}-btns`}>\r\n <Button onClick={query} type=\"primary\" size=\"small\">\r\n {TextEnum.searchBtnConfirmText}\r\n </Button>\r\n <Button onClick={clear} size=\"small\">\r\n {TextEnum.columnSettingResetText}\r\n </Button>\r\n {isMore && (\r\n <Button\r\n icon={<MoreOutlined />}\r\n size=\"small\"\r\n title={TextEnum.actionMoreText}\r\n onClick={() => setMore(!more)}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Form>\r\n )}\r\n <div className={`${prefixCls}-main`}>\r\n <VtxDatagrid\r\n toolbar={false}\r\n {...newTableProps}\r\n {...rest}\r\n customEnumText={customEnumText}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default React.forwardRef(VtxCombogrid);\r\n\r\nVtxCombogrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n getTableData: PropTypes.func.isRequired,\r\n columns: PropTypes.array,\r\n searchForms: PropTypes.array,\r\n multiple: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n setPopoverVisible: PropTypes.func,\r\n selectedRowKeys: PropTypes.array,\r\n setSelectedRowKeys: PropTypes.func,\r\n spread: PropTypes.bool,\r\n defaultSelectedRowKeys: PropTypes.array,\r\n defaultPageSize: PropTypes.number,\r\n customEnumText: PropTypes.object,\r\n};\r\n"],"mappings":"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"}
|