Showing
9 changed files
with
934 additions
and
233 deletions
1 | +import _PlusCircleFilled from "@ant-design/icons/es/icons/PlusCircleFilled"; | ||
2 | +import _DownOutlined from "@ant-design/icons/es/icons/DownOutlined"; | ||
3 | +import _UpOutlined from "@ant-design/icons/es/icons/UpOutlined"; | ||
4 | +import _DeleteOutlined from "@ant-design/icons/es/icons/DeleteOutlined"; | ||
5 | + | ||
6 | +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } | ||
7 | + | ||
8 | +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
9 | + | ||
10 | +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } | ||
11 | + | ||
12 | +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } | ||
13 | + | ||
14 | +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } | ||
15 | + | ||
16 | +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
17 | + | ||
18 | +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
19 | + | ||
20 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | ||
21 | + | ||
22 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
23 | + | ||
24 | +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
25 | + | ||
26 | +/* eslint-disable jsx-a11y/anchor-is-valid */ | ||
27 | +import React, { useEffect, useMemo, useState } from 'react'; | ||
28 | +import Core from '../../index'; // import { Button, Space, Popconfirm } from 'antd'; | ||
29 | +// import ArrowDown from '../../../components/ArrowDown'; | ||
30 | + | ||
31 | +import { Collapse } from 'antd-mobile'; | ||
32 | + | ||
33 | +// 数字转汉字 | ||
34 | +function convertToChinaNum(num) { | ||
35 | + var arr1 = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; | ||
36 | + var arr2 = ['', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万', '十', '百', '千', '亿']; //可继续追加更高位转换值 | ||
37 | + | ||
38 | + if (!num || isNaN(num)) { | ||
39 | + return "零"; | ||
40 | + } | ||
41 | + | ||
42 | + var english = num.toString().split(""); | ||
43 | + var result = ""; | ||
44 | + | ||
45 | + for (var i = 0; i < english.length; i++) { | ||
46 | + var des_i = english.length - 1 - i; //倒序排列设值 | ||
47 | + | ||
48 | + result = arr2[i] + result; | ||
49 | + var arr1_index = english[des_i]; | ||
50 | + result = arr1[arr1_index] + result; | ||
51 | + } | ||
52 | + | ||
53 | + result = result.replace(/零(千|百|十)/g, '零').replace(/十零/g, '十'); | ||
54 | + result = result.replace(/零+/g, '零'); | ||
55 | + result = result.replace(/零亿/g, '亿').replace(/零万/g, '万'); | ||
56 | + result = result.replace(/亿万/g, '亿'); | ||
57 | + result = result.replace(/零+$/, ''); | ||
58 | + result = result.replace(/^一十/g, '十'); | ||
59 | + return result; | ||
60 | +} | ||
61 | + | ||
62 | +var ListForMobile = function ListForMobile(_ref) { | ||
63 | + var _ref$displayList = _ref.displayList, | ||
64 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | ||
65 | + listData = _ref.listData, | ||
66 | + changeList = _ref.changeList, | ||
67 | + schema = _ref.schema, | ||
68 | + deleteItem = _ref.deleteItem, | ||
69 | + copyItem = _ref.copyItem, | ||
70 | + addItem = _ref.addItem, | ||
71 | + moveItemUp = _ref.moveItemUp, | ||
72 | + moveItemDown = _ref.moveItemDown, | ||
73 | + displayType = _ref.displayType, | ||
74 | + getFieldsProps = _ref.getFieldsProps; | ||
75 | + var _schema$props = schema.props, | ||
76 | + props = _schema$props === void 0 ? {} : _schema$props, | ||
77 | + itemProps = schema.itemProps; | ||
78 | + | ||
79 | + var _useState = useState([]), | ||
80 | + _useState2 = _slicedToArray(_useState, 2), | ||
81 | + allKeys = _useState2[0], | ||
82 | + setKeys = _useState2[1]; // let addBtnProps = { | ||
83 | + // type: 'dashed', | ||
84 | + // children: '新增一条list', | ||
85 | + // }; | ||
86 | + // if (props.addBtnProps && typeof props.addBtnProps === 'object') { | ||
87 | + // addBtnProps = { ...addBtnProps, ...props.addBtnProps }; | ||
88 | + // } | ||
89 | + | ||
90 | + | ||
91 | + useEffect(function () { | ||
92 | + var _allKeys = []; | ||
93 | + displayList.forEach(function (item, idx) { | ||
94 | + if (item._active) { | ||
95 | + _allKeys.push(String(idx)); | ||
96 | + } | ||
97 | + }); | ||
98 | + setKeys(_allKeys); | ||
99 | + }, [displayList]); | ||
100 | + | ||
101 | + var getTitle = function getTitle(id) { | ||
102 | + return /*#__PURE__*/React.createElement("div", { | ||
103 | + style: { | ||
104 | + display: 'flex', | ||
105 | + justifyContent: "space-between", | ||
106 | + alignItems: 'center' | ||
107 | + } | ||
108 | + }, /*#__PURE__*/React.createElement("span", null, "\u6570\u636E", id + 1), /*#__PURE__*/React.createElement("a", { | ||
109 | + onClick: function onClick(e) { | ||
110 | + e.stopPropagation(); | ||
111 | + deleteItem(id); | ||
112 | + }, | ||
113 | + style: { | ||
114 | + display: 'inline-block', | ||
115 | + padding: '0 10px' | ||
116 | + } | ||
117 | + }, /*#__PURE__*/React.createElement(_DeleteOutlined, { | ||
118 | + style: { | ||
119 | + fontSize: 16, | ||
120 | + width: 16, | ||
121 | + height: 16 | ||
122 | + } | ||
123 | + }))); | ||
124 | + }; | ||
125 | + | ||
126 | + var handleArrow = function handleArrow(active) { | ||
127 | + if (active) { | ||
128 | + return /*#__PURE__*/React.createElement(_UpOutlined, { | ||
129 | + onClick: function onClick() {} | ||
130 | + }); | ||
131 | + } else { | ||
132 | + return /*#__PURE__*/React.createElement(_DownOutlined, null); | ||
133 | + } | ||
134 | + }; | ||
135 | + | ||
136 | + return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { | ||
137 | + className: "fr-card-list qx-card-mobile" | ||
138 | + }, /*#__PURE__*/React.createElement(Collapse, { | ||
139 | + activeKey: allKeys | ||
140 | + }, displayList.map(function (item, idx) { | ||
141 | + var fieldsProps = getFieldsProps(idx); | ||
142 | + fieldsProps.displayType = displayType; | ||
143 | + return /*#__PURE__*/React.createElement(Collapse.Panel, { | ||
144 | + key: String(idx), | ||
145 | + title: getTitle(idx), | ||
146 | + arrow: handleArrow, | ||
147 | + onClick: function onClick() { | ||
148 | + var _active = item._active || false; | ||
149 | + | ||
150 | + displayList[idx]._active = !_active; | ||
151 | + changeList(_toConsumableArray(displayList)); | ||
152 | + } | ||
153 | + }, /*#__PURE__*/React.createElement("div", { | ||
154 | + className: "fr-card-item qx-card-mobile-item ".concat(displayType === 'row' ? 'fr-card-item-row' : ''), | ||
155 | + key: idx | ||
156 | + }, /*#__PURE__*/React.createElement(Core, fieldsProps))); | ||
157 | + }))), /*#__PURE__*/React.createElement("a", { | ||
158 | + className: 'add-button', | ||
159 | + onClick: function onClick() { | ||
160 | + addItem(); | ||
161 | + } | ||
162 | + }, /*#__PURE__*/React.createElement(_PlusCircleFilled, { | ||
163 | + style: { | ||
164 | + marginRight: 2, | ||
165 | + width: 14, | ||
166 | + height: 14 | ||
167 | + } | ||
168 | + }), "\u70B9\u51FB\u65B0\u589E\u6570\u636E")); | ||
169 | +}; | ||
170 | + | ||
171 | +export default ListForMobile; |
@@ -2,18 +2,26 @@ import "antd/es/table/style"; | @@ -2,18 +2,26 @@ import "antd/es/table/style"; | ||
2 | import _Table from "antd/es/table"; | 2 | import _Table from "antd/es/table"; |
3 | import "antd/es/alert/style"; | 3 | import "antd/es/alert/style"; |
4 | import _Alert from "antd/es/alert"; | 4 | import _Alert from "antd/es/alert"; |
5 | -import "antd/es/message/style"; | ||
6 | -import _message from "antd/es/message"; | 5 | +import "antd/es/dropdown/style"; |
6 | +import _Dropdown from "antd/es/dropdown"; | ||
7 | +import "antd/es/space/style"; | ||
8 | +import _Space from "antd/es/space"; | ||
9 | +import _DownOutlined from "@ant-design/icons/es/icons/DownOutlined"; | ||
7 | import "antd/es/input/style"; | 10 | import "antd/es/input/style"; |
8 | import _Input from "antd/es/input"; | 11 | import _Input from "antd/es/input"; |
9 | import _SearchOutlined from "@ant-design/icons/es/icons/SearchOutlined"; | 12 | import _SearchOutlined from "@ant-design/icons/es/icons/SearchOutlined"; |
10 | import _CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined"; | 13 | import _CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined"; |
11 | import _CheckOutlined from "@ant-design/icons/es/icons/CheckOutlined"; | 14 | import _CheckOutlined from "@ant-design/icons/es/icons/CheckOutlined"; |
15 | +import "antd/es/message/style"; | ||
16 | +import _message from "antd/es/message"; | ||
12 | import "antd/es/tooltip/style"; | 17 | import "antd/es/tooltip/style"; |
13 | import _Tooltip from "antd/es/tooltip"; | 18 | import _Tooltip from "antd/es/tooltip"; |
19 | +import _ExclamationCircleOutlined from "@ant-design/icons/es/icons/ExclamationCircleOutlined"; | ||
20 | +import "antd/es/menu/style"; | ||
21 | +import _Menu from "antd/es/menu"; | ||
14 | import "antd/es/button/style"; | 22 | import "antd/es/button/style"; |
15 | import _Button from "antd/es/button"; | 23 | import _Button from "antd/es/button"; |
16 | -import _ExclamationCircleOutlined from "@ant-design/icons/es/icons/ExclamationCircleOutlined"; | 24 | +import _MinusOutlined from "@ant-design/icons/es/icons/MinusOutlined"; |
17 | import _SelectOutlined from "@ant-design/icons/es/icons/SelectOutlined"; | 25 | import _SelectOutlined from "@ant-design/icons/es/icons/SelectOutlined"; |
18 | import _ExpandAltOutlined from "@ant-design/icons/es/icons/ExpandAltOutlined"; | 26 | import _ExpandAltOutlined from "@ant-design/icons/es/icons/ExpandAltOutlined"; |
19 | import _EditOutlined from "@ant-design/icons/es/icons/EditOutlined"; | 27 | import _EditOutlined from "@ant-design/icons/es/icons/EditOutlined"; |
@@ -25,7 +33,7 @@ import _ImportOutlined from "@ant-design/icons/es/icons/ImportOutlined"; | @@ -25,7 +33,7 @@ import _ImportOutlined from "@ant-design/icons/es/icons/ImportOutlined"; | ||
25 | import _ExportOutlined from "@ant-design/icons/es/icons/ExportOutlined"; | 33 | import _ExportOutlined from "@ant-design/icons/es/icons/ExportOutlined"; |
26 | import "antd/es/modal/style"; | 34 | import "antd/es/modal/style"; |
27 | import _Modal from "antd/es/modal"; | 35 | import _Modal from "antd/es/modal"; |
28 | -var _excluded = ["scrollY", "summary", "batchKey", "type", "bar", "line", "searchKey", "rowSelection"]; | 36 | +var _excluded = ["scrollY", "summary", "batchKey", "type", "bar", "line", "searchKey", "rowSelection", "size"]; |
29 | 37 | ||
30 | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } | 38 | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } |
31 | 39 | ||
@@ -47,6 +55,8 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb | @@ -47,6 +55,8 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb | ||
47 | 55 | ||
48 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } | 56 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
49 | 57 | ||
58 | +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
59 | + | ||
50 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } | 60 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
51 | 61 | ||
52 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | 62 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
@@ -77,7 +87,8 @@ var BUTTON_ICONS_MAP = { | @@ -77,7 +87,8 @@ var BUTTON_ICONS_MAP = { | ||
77 | EyeOutlined: /*#__PURE__*/React.createElement(_EyeOutlined, null), | 87 | EyeOutlined: /*#__PURE__*/React.createElement(_EyeOutlined, null), |
78 | EditOutlined: /*#__PURE__*/React.createElement(_EditOutlined, null), | 88 | EditOutlined: /*#__PURE__*/React.createElement(_EditOutlined, null), |
79 | remove: /*#__PURE__*/React.createElement(_ExpandAltOutlined, null), | 89 | remove: /*#__PURE__*/React.createElement(_ExpandAltOutlined, null), |
80 | - SelectOutlined: /*#__PURE__*/React.createElement(_SelectOutlined, null) | 90 | + SelectOutlined: /*#__PURE__*/React.createElement(_SelectOutlined, null), |
91 | + MinusOutlined: /*#__PURE__*/React.createElement(_MinusOutlined, null) | ||
81 | }; | 92 | }; |
82 | var FIELD_LENGTH = 170; | 93 | var FIELD_LENGTH = 170; |
83 | var EXPORT_STATUS = { | 94 | var EXPORT_STATUS = { |
@@ -113,10 +124,11 @@ var VirtualList = function VirtualList(_ref) { | @@ -113,10 +124,11 @@ var VirtualList = function VirtualList(_ref) { | ||
113 | fieldName = schema.fieldName, | 124 | fieldName = schema.fieldName, |
114 | _schema$qxProps = schema.qxProps, | 125 | _schema$qxProps = schema.qxProps, |
115 | qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, | 126 | qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, |
116 | - subformMode = schema.subformMode; | 127 | + subformMode = schema.subformMode, |
128 | + pageType = schema.pageType; | ||
117 | 129 | ||
118 | var _props$scrollY = props.scrollY, | 130 | var _props$scrollY = props.scrollY, |
119 | - scrollY = _props$scrollY === void 0 ? 600 : _props$scrollY, | 131 | + scrollY = _props$scrollY === void 0 ? 400 : _props$scrollY, |
120 | _summary = props.summary, | 132 | _summary = props.summary, |
121 | batchKey = props.batchKey, | 133 | batchKey = props.batchKey, |
122 | type = props.type, | 134 | type = props.type, |
@@ -126,6 +138,7 @@ var VirtualList = function VirtualList(_ref) { | @@ -126,6 +138,7 @@ var VirtualList = function VirtualList(_ref) { | ||
126 | line = _props$line === void 0 ? {} : _props$line, | 138 | line = _props$line === void 0 ? {} : _props$line, |
127 | searchKey = props.searchKey, | 139 | searchKey = props.searchKey, |
128 | rowSelection = props.rowSelection, | 140 | rowSelection = props.rowSelection, |
141 | + size = props.size, | ||
129 | rest = _objectWithoutProperties(props, _excluded); | 142 | rest = _objectWithoutProperties(props, _excluded); |
130 | 143 | ||
131 | var _useVT = useVT(function () { | 144 | var _useVT = useVT(function () { |
@@ -171,6 +184,9 @@ var VirtualList = function VirtualList(_ref) { | @@ -171,6 +184,9 @@ var VirtualList = function VirtualList(_ref) { | ||
171 | searchName = _useState12[0], | 184 | searchName = _useState12[0], |
172 | setSearchName = _useState12[1]; | 185 | setSearchName = _useState12[1]; |
173 | 186 | ||
187 | + var padding = useMemo(function () { | ||
188 | + return size === 'default' ? 32 : 16; | ||
189 | + }, [size]); | ||
174 | var newRowSelection = useMemo(function () { | 190 | var newRowSelection = useMemo(function () { |
175 | var _bar$buttons; | 191 | var _bar$buttons; |
176 | 192 | ||
@@ -196,9 +212,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -196,9 +212,10 @@ var VirtualList = function VirtualList(_ref) { | ||
196 | return _rowSelection; | 212 | return _rowSelection; |
197 | }, [rowSelection, selectedRowKeys, bar]); | 213 | }, [rowSelection, selectedRowKeys, bar]); |
198 | useEffect(function () { | 214 | useEffect(function () { |
199 | - console.log(displayList); | ||
200 | displayList.forEach(function (item, index) { | 215 | displayList.forEach(function (item, index) { |
201 | - item.orginIdx = index; | 216 | + if (_typeof(item) === 'object') { |
217 | + item.orginIdx = index; | ||
218 | + } | ||
202 | }); | 219 | }); |
203 | }, [displayList]); | 220 | }, [displayList]); |
204 | var _displayList = []; // 筛选展示的数据 | 221 | var _displayList = []; // 筛选展示的数据 |
@@ -248,33 +265,39 @@ var VirtualList = function VirtualList(_ref) { | @@ -248,33 +265,39 @@ var VirtualList = function VirtualList(_ref) { | ||
248 | index: item.hasOwnProperty('orginIdx') ? item.orginIdx : idx | 265 | index: item.hasOwnProperty('orginIdx') ? item.orginIdx : idx |
249 | }, item); | 266 | }, item); |
250 | }); | 267 | }); |
268 | + | ||
269 | + var handleTotal = function handleTotal(total) { | ||
270 | + if (!total) { | ||
271 | + total = 0; | ||
272 | + } | ||
273 | + | ||
274 | + if (props.originWidget === 'subform' || total === displayList.length) { | ||
275 | + return "\u5171".concat(total, "\u6761\u8BB0\u5F55"); | ||
276 | + } else { | ||
277 | + return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", null, "\u5171", displayList.length, "\u6761\u8BB0\u5F55"), /*#__PURE__*/React.createElement("span", { | ||
278 | + style: { | ||
279 | + color: '#999', | ||
280 | + fontSize: '13px' | ||
281 | + } | ||
282 | + }, "(", displayList.length - total, "\u6761\u4E0D\u53EF\u89C1)")); | ||
283 | + } | ||
284 | + }; | ||
285 | + | ||
251 | var pagination = useMemo(function () { | 286 | var pagination = useMemo(function () { |
252 | return { | 287 | return { |
253 | total: dataSource.length, | 288 | total: dataSource.length, |
254 | position: ['bottomRight'], | 289 | position: ['bottomRight'], |
255 | pageSize: 10, | 290 | pageSize: 10, |
256 | showTotal: function showTotal(total) { | 291 | showTotal: function showTotal(total) { |
257 | - return "\u5171".concat(total, "\u6761\u8BB0\u5F55"); | 292 | + return handleTotal(total); |
258 | }, | 293 | }, |
259 | defaultCurrent: 1, | 294 | defaultCurrent: 1, |
260 | size: 'default' | 295 | size: 'default' |
261 | }; | 296 | }; |
262 | }, [dataSource]); | 297 | }, [dataSource]); |
263 | var barButtons = useMemo(function () { | 298 | var barButtons = useMemo(function () { |
264 | - var _barButtons = _.cloneDeep(bar.buttons || []); // 选择、新增位置提前 | ||
265 | - | ||
266 | - | ||
267 | - ['ADD', 'SELECT'].forEach(function (code) { | ||
268 | - var _index = _barButtons.findIndex(function (item) { | ||
269 | - return item.code === code; | ||
270 | - }); | 299 | + var _barButtons = _.cloneDeep(bar.buttons || []); // 关联表的导入,先隐藏 TODO |
271 | 300 | ||
272 | - if (_index > -1) { | ||
273 | - var btn = _barButtons.splice(_index, 1); | ||
274 | - | ||
275 | - _barButtons.unshift.apply(_barButtons, _toConsumableArray(btn)); | ||
276 | - } | ||
277 | - }); // 关联表的导入,先隐藏 TODO | ||
278 | 301 | ||
279 | if (props.originWidget === 'relSelector') { | 302 | if (props.originWidget === 'relSelector') { |
280 | ['IMPORT'].forEach(function (code) { | 303 | ['IMPORT'].forEach(function (code) { |
@@ -309,17 +332,65 @@ var VirtualList = function VirtualList(_ref) { | @@ -309,17 +332,65 @@ var VirtualList = function VirtualList(_ref) { | ||
309 | } | 332 | } |
310 | 333 | ||
311 | if (props.originWidget === 'relSelector' && subformMode && type !== 'view') { | 334 | if (props.originWidget === 'relSelector' && subformMode && type !== 'view') { |
312 | - _barButtons.push({ | 335 | + _barButtons.unshift({ |
313 | code: 'subformEdit', | 336 | code: 'subformEdit', |
314 | icon: 'EditOutlined', | 337 | icon: 'EditOutlined', |
315 | batch: true, | 338 | batch: true, |
316 | action: 'SYS', | 339 | action: 'SYS', |
317 | - name: '子表编辑' | 340 | + name: '表格编辑' |
318 | }); | 341 | }); |
342 | + } // 选择位置提前 | ||
343 | + | ||
344 | + | ||
345 | + ['SELECT'].forEach(function (code) { | ||
346 | + var _index = _barButtons.findIndex(function (item) { | ||
347 | + return item.code === code; | ||
348 | + }); | ||
349 | + | ||
350 | + if (_index > -1) { | ||
351 | + var btn = _barButtons.splice(_index, 1); | ||
352 | + | ||
353 | + _barButtons.unshift.apply(_barButtons, _toConsumableArray(btn)); | ||
354 | + } | ||
355 | + }); | ||
356 | + | ||
357 | + if (type === 'add') { | ||
358 | + return _barButtons.filter(function (item) { | ||
359 | + return ['SELECT', 'IMPORT', 'ADD', 'BATCH_ADD'].includes(item.code); | ||
360 | + }); | ||
361 | + } else if (type === 'view') { | ||
362 | + return _barButtons.filter(function (item) { | ||
363 | + return item.code === 'EXPORT'; | ||
364 | + }); | ||
365 | + } | ||
366 | + | ||
367 | + if (schema.isReadOnly) { | ||
368 | + // return _barButtons.filter(item => item.code === 'EXPORT') | ||
369 | + return []; | ||
319 | } | 370 | } |
320 | 371 | ||
321 | return _barButtons; | 372 | return _barButtons; |
322 | - }, [props]); | 373 | + }, [props, type]); |
374 | + var moreButtons = /*#__PURE__*/React.createElement(_Menu, null, barButtons.slice(3).map(function (item) { | ||
375 | + var name = item.name, | ||
376 | + code = item.code, | ||
377 | + needConfirm = item.needConfirm, | ||
378 | + confirmContent = item.confirmContent, | ||
379 | + icon = item.icon, | ||
380 | + action = item.action; | ||
381 | + return /*#__PURE__*/React.createElement(_Menu.Item, null, /*#__PURE__*/React.createElement(_Button, _extends({ | ||
382 | + key: code, | ||
383 | + style: { | ||
384 | + marginLeft: 8, | ||
385 | + border: 'none' | ||
386 | + } | ||
387 | + }, item, { | ||
388 | + icon: icon && bar.style !== 'TEXT' ? BUTTON_ICONS_MAP[icon] : null, | ||
389 | + onClick: function onClick() { | ||
390 | + barBtnClick(code, needConfirm, confirmContent, action, item); | ||
391 | + } | ||
392 | + }), name)); | ||
393 | + })); | ||
323 | var columns = useMemo(function () { | 394 | var columns = useMemo(function () { |
324 | return children.map(function (child, index) { | 395 | return children.map(function (child, index) { |
325 | var _schema$props2; | 396 | var _schema$props2; |
@@ -342,12 +413,12 @@ var VirtualList = function VirtualList(_ref) { | @@ -342,12 +413,12 @@ var VirtualList = function VirtualList(_ref) { | ||
342 | var column = ((_schema$props2 = schema.props) === null || _schema$props2 === void 0 ? void 0 : _schema$props2.column) || {}; | 413 | var column = ((_schema$props2 = schema.props) === null || _schema$props2 === void 0 ? void 0 : _schema$props2.column) || {}; |
343 | return { | 414 | return { |
344 | dataIndex: child, | 415 | dataIndex: child, |
345 | - width: (column.width ? String(column.width).indexOf('px') > -1 ? Number(String(column.width).slice(0, -2)) : Number(column.width) : FIELD_LENGTH) + 16, | 416 | + width: column.width ? parseInt(column.width) : FIELD_LENGTH, |
346 | align: column.align || 'left', | 417 | align: column.align || 'left', |
347 | fixed: column.fixed || props.fixed && index < props.fixed, | 418 | fixed: column.fixed || props.fixed && index < props.fixed, |
348 | title: /*#__PURE__*/React.createElement("div", { | 419 | title: /*#__PURE__*/React.createElement("div", { |
349 | style: { | 420 | style: { |
350 | - width: (parseInt(column.width) || FIELD_LENGTH) + "px" | 421 | + width: (parseInt(column.width) || FIELD_LENGTH) - padding + "px" |
351 | } | 422 | } |
352 | }, schema.required ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", { | 423 | }, schema.required ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", { |
353 | className: "fr-label-required" | 424 | className: "fr-label-required" |
@@ -382,6 +453,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -382,6 +453,10 @@ var VirtualList = function VirtualList(_ref) { | ||
382 | 453 | ||
383 | var handleState = function handleState(record, code, originWidget) { | 454 | var handleState = function handleState(record, code, originWidget) { |
384 | if (originWidget === 'subform') { | 455 | if (originWidget === 'subform') { |
456 | + if (code === 'COPY' && !record.id) { | ||
457 | + return 'none'; | ||
458 | + } | ||
459 | + | ||
385 | return ''; | 460 | return ''; |
386 | } else { | 461 | } else { |
387 | switch (code) { | 462 | switch (code) { |
@@ -398,33 +473,42 @@ var VirtualList = function VirtualList(_ref) { | @@ -398,33 +473,42 @@ var VirtualList = function VirtualList(_ref) { | ||
398 | return ''; | 473 | return ''; |
399 | 474 | ||
400 | default: | 475 | default: |
401 | - return record.hasOwnProperty('$auth') ? '' : 'none'; | 476 | + return record[code + '_flag_'] ? '' : 'none'; |
402 | } | 477 | } |
403 | } | 478 | } |
404 | }; | 479 | }; |
405 | 480 | ||
406 | - if (!props.hideDelete && ((_line$buttons = line.buttons) === null || _line$buttons === void 0 ? void 0 : _line$buttons.length) || Array.isArray(itemProps.buttons) || props.removeable) { | 481 | + if (!props.hideDelete && ((_line$buttons = line.buttons) === null || _line$buttons === void 0 ? void 0 : _line$buttons.length) || Array.isArray(itemProps.buttons)) { |
407 | var top = line.top, | 482 | var top = line.top, |
408 | _line$style = line.style, | 483 | _line$style = line.style, |
409 | style = _line$style === void 0 ? 'ICON' : _line$style, | 484 | style = _line$style === void 0 ? 'ICON' : _line$style, |
410 | fixed = line.fixed, | 485 | fixed = line.fixed, |
411 | buttons = line.buttons; | 486 | buttons = line.buttons; |
412 | 487 | ||
413 | - if (props.removeable && buttons.findIndex(function (item) { | ||
414 | - return item.code === 'REMOVE'; | ||
415 | - }) === -1) { | ||
416 | - buttons.push({ | ||
417 | - icon: 'remove', | ||
418 | - code: 'REMOVE', | ||
419 | - name: '移除', | ||
420 | - line: true, | ||
421 | - needConfirm: true, | ||
422 | - confirmContent: props.removeContent | ||
423 | - }); | ||
424 | - } | ||
425 | - | ||
426 | - var len = (buttons || []).length; | ||
427 | - var action = { | 488 | + if (pageType === 'add') { |
489 | + if (props.originWidget === 'subform') { | ||
490 | + line.buttons = buttons.filter(function (item) { | ||
491 | + return item.code === 'DELETE'; | ||
492 | + }); | ||
493 | + } else if (props.originWidget === 'relSelector') { | ||
494 | + line.buttons = buttons.filter(function (item) { | ||
495 | + return item.code === 'REMOVE'; | ||
496 | + }); | ||
497 | + } | ||
498 | + } // if (props.removeable && buttons.findIndex(item => item.code === 'REMOVE') === -1) { | ||
499 | + // buttons.push({ | ||
500 | + // icon: 'remove', | ||
501 | + // code: 'REMOVE', | ||
502 | + // name: '移除', | ||
503 | + // line: true, | ||
504 | + // needConfirm: true, | ||
505 | + // confirmContent: props.removeContent | ||
506 | + // }) | ||
507 | + // } | ||
508 | + | ||
509 | + | ||
510 | + var len = (line.buttons || []).length; | ||
511 | + var action = schema.isReadOnly ? {} : { | ||
428 | title: '操作', | 512 | title: '操作', |
429 | key: '$action', | 513 | key: '$action', |
430 | fixed: fixed ? top ? 'left' : 'right' : props.originWidget === 'subform' ? 'right' : false, | 514 | fixed: fixed ? top ? 'left' : 'right' : props.originWidget === 'subform' ? 'right' : false, |
@@ -492,9 +576,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -492,9 +576,10 @@ var VirtualList = function VirtualList(_ref) { | ||
492 | if (code === 'DELETE' && props.originWidget === 'subform') { | 576 | if (code === 'DELETE' && props.originWidget === 'subform') { |
493 | deleteItem(idx); | 577 | deleteItem(idx); |
494 | } else if (code === 'REMOVE') { | 578 | } else if (code === 'REMOVE') { |
495 | - deleteItem(idx); | 579 | + deleteItem(record.orginIdx); |
580 | + props.handleLineBtnClick(code, record, schema.$id); | ||
496 | } else if (code === 'COPY') { | 581 | } else if (code === 'COPY') { |
497 | - copyItem(idx); | 582 | + copyItem(record.orginIdx); |
498 | } else if (item.action === 'CUSTOM') { | 583 | } else if (item.action === 'CUSTOM') { |
499 | props.handleCustom(item, record, schema.$id); | 584 | props.handleCustom(item, record, schema.$id); |
500 | } else { | 585 | } else { |
@@ -507,9 +592,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -507,9 +592,10 @@ var VirtualList = function VirtualList(_ref) { | ||
507 | if (code === 'DELETE' && props.originWidget === 'subform') { | 592 | if (code === 'DELETE' && props.originWidget === 'subform') { |
508 | deleteItem(idx); | 593 | deleteItem(idx); |
509 | } else if (code === 'REMOVE') { | 594 | } else if (code === 'REMOVE') { |
510 | - deleteItem(idx); | 595 | + deleteItem(record.orginIdx); |
596 | + props.handleLineBtnClick(code, record, schema.$id); | ||
511 | } else if (code === 'COPY') { | 597 | } else if (code === 'COPY') { |
512 | - copyItem(idx); | 598 | + copyItem(record.orginIdx); |
513 | } else if (item.action === 'CUSTOM') { | 599 | } else if (item.action === 'CUSTOM') { |
514 | props.handleCustom(item, record, schema.$id); | 600 | props.handleCustom(item, record, schema.$id); |
515 | } else { | 601 | } else { |
@@ -517,13 +603,13 @@ var VirtualList = function VirtualList(_ref) { | @@ -517,13 +603,13 @@ var VirtualList = function VirtualList(_ref) { | ||
517 | } | 603 | } |
518 | } | 604 | } |
519 | } | 605 | } |
520 | - }), style !== 'ICON' ? name : null)); // } | 606 | + }), style !== 'ICON' || !item.icon ? name : null)); // } |
521 | }) : null); | 607 | }) : null); |
522 | } | 608 | } |
523 | }; | 609 | }; |
524 | 610 | ||
525 | - if (style === "ICON") { | ||
526 | - action.width = len * 26 + 16; | 611 | + if (style === "ICON" || props.originWidget === 'subform') { |
612 | + action.width = len * 32 + padding - 8; | ||
527 | } else { | 613 | } else { |
528 | var div = document.createElement('div'); | 614 | var div = document.createElement('div'); |
529 | div.style.position = 'absolute'; | 615 | div.style.position = 'absolute'; |
@@ -531,17 +617,17 @@ var VirtualList = function VirtualList(_ref) { | @@ -531,17 +617,17 @@ var VirtualList = function VirtualList(_ref) { | ||
531 | div.style.fontSize = '14px'; | 617 | div.style.fontSize = '14px'; |
532 | window.document.body.appendChild(div); | 618 | window.document.body.appendChild(div); |
533 | var leng = 0; | 619 | var leng = 0; |
534 | - buttons.map(function (item) { | 620 | + line.buttons.map(function (item) { |
535 | div.innerHTML = item.name; | 621 | div.innerHTML = item.name; |
536 | - leng += div.clientWidth + 16 + (style !== 'TEXT' && item.icon ? 22 : 0); | 622 | + leng += div.clientWidth + padding + (style !== 'TEXT' && item.icon ? 22 : 0); |
537 | }); | 623 | }); |
538 | - action.width = leng + 16; | 624 | + action.width = leng + padding - 8; |
539 | div.remove(); | 625 | div.remove(); |
540 | } | 626 | } |
541 | 627 | ||
542 | if (columns.findIndex(function (item) { | 628 | if (columns.findIndex(function (item) { |
543 | return item.key === '$action'; | 629 | return item.key === '$action'; |
544 | - }) === -1) { | 630 | + }) === -1 && len > 0 && action.title) { |
545 | if (top) { | 631 | if (top) { |
546 | columns.unshift(action); | 632 | columns.unshift(action); |
547 | } else { | 633 | } else { |
@@ -561,9 +647,9 @@ var VirtualList = function VirtualList(_ref) { | @@ -561,9 +647,9 @@ var VirtualList = function VirtualList(_ref) { | ||
561 | "percent": 0, | 647 | "percent": 0, |
562 | "status": "PROCESSING" | 648 | "status": "PROCESSING" |
563 | }); | 649 | }); |
564 | - queryParams = { | 650 | + queryParams = _defineProperty({ |
565 | dataId: props.dataId | 651 | dataId: props.dataId |
566 | - }; | 652 | + }, searchKey, keyWord); |
567 | appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; | 653 | appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; |
568 | _context.next = 5; | 654 | _context.next = 5; |
569 | return props.exportChild(appCode, funCode, fieldName, queryParams); | 655 | return props.exportChild(appCode, funCode, fieldName, queryParams); |
@@ -594,7 +680,8 @@ var VirtualList = function VirtualList(_ref) { | @@ -594,7 +680,8 @@ var VirtualList = function VirtualList(_ref) { | ||
594 | var exportData = function exportData(taskId) { | 680 | var exportData = function exportData(taskId) { |
595 | // const {appCode, funCode, viewCode} = qxProps | 681 | // const {appCode, funCode, viewCode} = qxProps |
596 | // taskType: UPLOAD || EXPORT | 682 | // taskType: UPLOAD || EXPORT |
597 | - props.childExportProgress(taskId).then(function (res) { | 683 | + if (!taskId && !exportTaskId.current) return; |
684 | + props.childExportProgress(taskId || exportTaskId.current).then(function (res) { | ||
598 | setProgressData(res || null); | 685 | setProgressData(res || null); |
599 | }); | 686 | }); |
600 | }; | 687 | }; |
@@ -680,6 +767,68 @@ var VirtualList = function VirtualList(_ref) { | @@ -680,6 +767,68 @@ var VirtualList = function VirtualList(_ref) { | ||
680 | setSubEdit(false); | 767 | setSubEdit(false); |
681 | }; | 768 | }; |
682 | 769 | ||
770 | + var barBtnClick = function barBtnClick(code, needConfirm, confirmContent, action, item) { | ||
771 | + setSelectedRowKeys([]); | ||
772 | + | ||
773 | + if (needConfirm && confirmContent) { | ||
774 | + if (!selectedRowKeys.length) { | ||
775 | + return _message.warning('请选择数据'); | ||
776 | + } | ||
777 | + | ||
778 | + confirm({ | ||
779 | + title: confirmContent, | ||
780 | + icon: /*#__PURE__*/React.createElement(_ExclamationCircleOutlined, null), | ||
781 | + okText: '确认', | ||
782 | + okType: 'danger', | ||
783 | + cancelText: '取消', | ||
784 | + onOk: function onOk() { | ||
785 | + if (code === 'DELETE') { | ||
786 | + if (props.originWidget === 'subform') { | ||
787 | + batchDelete(selectedRowKeys); | ||
788 | + setSelectedRowKeys([]); | ||
789 | + } else { | ||
790 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
791 | + } | ||
792 | + } else if (code === 'EXPORT') { | ||
793 | + handleExport(); | ||
794 | + } else if (code === 'SELECT') { | ||
795 | + props.openRelSelect(schema.$id); | ||
796 | + } else if (code === 'ADD') { | ||
797 | + props.handleRelAdd(schema.$id); | ||
798 | + } else if (code === 'subformEdit') { | ||
799 | + props.handleBatchEdit(fieldName, schema.$id, selectedIds); | ||
800 | + } else if (action === 'CUSTOM') { | ||
801 | + props.handleCustom(item, selectedIds, schema.$id); | ||
802 | + } else { | ||
803 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
804 | + } | ||
805 | + }, | ||
806 | + onCancel: function onCancel() {} | ||
807 | + }); | ||
808 | + } else { | ||
809 | + if (code === 'DELETE') { | ||
810 | + if (props.originWidget === 'subform') { | ||
811 | + batchDelete(selectedRowKeys); | ||
812 | + setSelectedRowKeys([]); | ||
813 | + } else { | ||
814 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
815 | + } | ||
816 | + } else if (code === 'EXPORT') { | ||
817 | + handleExport(); | ||
818 | + } else if (code === 'SELECT') { | ||
819 | + props.openRelSelect(schema.$id); | ||
820 | + } else if (code === 'ADD') { | ||
821 | + props.handleRelAdd(schema.$id); | ||
822 | + } else if (code === 'subformEdit') { | ||
823 | + props.handleBatchEdit(fieldName, schema.$id, selectedIds); | ||
824 | + } else if (action === 'CUSTOM') { | ||
825 | + props.handleCustom(item, selectedIds, schema.$id); | ||
826 | + } else { | ||
827 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
828 | + } | ||
829 | + } | ||
830 | + }; | ||
831 | + | ||
683 | return /*#__PURE__*/React.createElement(React.Fragment, null, props.editable ? isSubCanEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, { | 832 | return /*#__PURE__*/React.createElement(React.Fragment, null, props.editable ? isSubCanEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, { |
684 | type: 'text', | 833 | type: 'text', |
685 | size: "small", | 834 | size: "small", |
@@ -725,7 +874,7 @@ var VirtualList = function VirtualList(_ref) { | @@ -725,7 +874,7 @@ var VirtualList = function VirtualList(_ref) { | ||
725 | 874 | ||
726 | setKeyWord(((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || ''); | 875 | setKeyWord(((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || ''); |
727 | } | 876 | } |
728 | - }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement("div", null, barButtons.map(function (item) { | 877 | + }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement("div", null, (barButtons.length > 4 ? barButtons.slice(0, 3) : barButtons.slice(0, 4)).map(function (item) { |
729 | var name = item.name, | 878 | var name = item.name, |
730 | code = item.code, | 879 | code = item.code, |
731 | needConfirm = item.needConfirm, | 880 | needConfirm = item.needConfirm, |
@@ -738,55 +887,18 @@ var VirtualList = function VirtualList(_ref) { | @@ -738,55 +887,18 @@ var VirtualList = function VirtualList(_ref) { | ||
738 | marginLeft: 8 | 887 | marginLeft: 8 |
739 | } | 888 | } |
740 | }, item, { | 889 | }, item, { |
741 | - icon: icon ? BUTTON_ICONS_MAP[icon] : null, | 890 | + icon: icon && bar.style !== 'TEXT' ? BUTTON_ICONS_MAP[icon] : null, |
742 | onClick: function onClick() { | 891 | onClick: function onClick() { |
743 | - if (code === 'DELETE') { | ||
744 | - if (!selectedRowKeys.length) { | ||
745 | - return _message.warning('请选择数据'); | ||
746 | - } | ||
747 | - | ||
748 | - if (needConfirm && confirmContent) { | ||
749 | - confirm({ | ||
750 | - title: '批量删除确认', | ||
751 | - icon: /*#__PURE__*/React.createElement(_ExclamationCircleOutlined, null), | ||
752 | - content: confirmContent, | ||
753 | - okText: '确认', | ||
754 | - okType: 'danger', | ||
755 | - cancelText: '取消', | ||
756 | - onOk: function onOk() { | ||
757 | - if (props.originWidget === 'subform') { | ||
758 | - batchDelete(selectedRowKeys); | ||
759 | - setSelectedRowKeys([]); | ||
760 | - } else { | ||
761 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
762 | - } | ||
763 | - }, | ||
764 | - onCancel: function onCancel() {} | ||
765 | - }); | ||
766 | - } else { | ||
767 | - if (props.originWidget === 'subform') { | ||
768 | - batchDelete(selectedRowKeys); | ||
769 | - setSelectedRowKeys([]); | ||
770 | - } else { | ||
771 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
772 | - } | ||
773 | - } | ||
774 | - } else if (code === 'EXPORT') { | ||
775 | - handleExport(); | ||
776 | - } else if (code === 'SELECT') { | ||
777 | - props.openRelSelect(schema.$id); | ||
778 | - } else if (code === 'ADD') { | ||
779 | - props.handleRelAdd(schema.$id); | ||
780 | - } else if (code === 'subformEdit') { | ||
781 | - props.handleBatchEdit(fieldName, schema.$id, selectedIds); | ||
782 | - } else if (action === 'CUSTOM') { | ||
783 | - props.handleCustom(item, selectedIds, schema.$id); | ||
784 | - } else { | ||
785 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
786 | - } | 892 | + barBtnClick(code, needConfirm, confirmContent, action, item); |
787 | } | 893 | } |
788 | }), name); // } | 894 | }), name); // } |
789 | - })), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | 895 | + }), barButtons.slice(4).length ? /*#__PURE__*/React.createElement(_Dropdown, { |
896 | + overlay: moreButtons | ||
897 | + }, /*#__PURE__*/React.createElement(_Button, { | ||
898 | + style: { | ||
899 | + marginLeft: 8 | ||
900 | + } | ||
901 | + }, /*#__PURE__*/React.createElement(_Space, null, "\u66F4\u591A\u64CD\u4F5C", /*#__PURE__*/React.createElement(_DownOutlined, null)))) : null), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | ||
790 | var callback = item.callback, | 902 | var callback = item.callback, |
791 | text = item.text, | 903 | text = item.text, |
792 | html = item.html; | 904 | html = item.html; |
@@ -841,10 +953,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -841,10 +953,10 @@ var VirtualList = function VirtualList(_ref) { | ||
841 | x: '100%' | 953 | x: '100%' |
842 | }, | 954 | }, |
843 | components: vt, | 955 | components: vt, |
844 | - size: "small", | 956 | + size: size || 'small', |
845 | columns: columns, | 957 | columns: columns, |
846 | dataSource: dataSource, | 958 | dataSource: dataSource, |
847 | - pagination: props.originWidget === 'subform' ? false : pagination, | 959 | + pagination: pagination, |
848 | style: { | 960 | style: { |
849 | marginBottom: 25 | 961 | marginBottom: 25 |
850 | }, | 962 | }, |
@@ -887,7 +999,7 @@ function _handleDownload() { | @@ -887,7 +999,7 @@ function _handleDownload() { | ||
887 | switch (_context2.prev = _context2.next) { | 999 | switch (_context2.prev = _context2.next) { |
888 | case 0: | 1000 | case 0: |
889 | // eslint-disable-next-line prefer-rest-params | 1001 | // eslint-disable-next-line prefer-rest-params |
890 | - isDownload = _args2[2]; | 1002 | + isDownload = _args2[3]; |
891 | 1003 | ||
892 | if (isDownload === null || Boolean(isDownload)) { | 1004 | if (isDownload === null || Boolean(isDownload)) { |
893 | _message.warning('即将开始下载,请勿重复点击。'); | 1005 | _message.warning('即将开始下载,请勿重复点击。'); |
@@ -28,6 +28,7 @@ import CardList from './CardList'; | @@ -28,6 +28,7 @@ import CardList from './CardList'; | ||
28 | import TableList from './TableList'; | 28 | import TableList from './TableList'; |
29 | import DrawerList from './DrawerList'; | 29 | import DrawerList from './DrawerList'; |
30 | import VirtualList from './VirtualList'; | 30 | import VirtualList from './VirtualList'; |
31 | +import ListForMobile from "./ListForMobile"; | ||
31 | 32 | ||
32 | var RenderList = function RenderList(_ref) { | 33 | var RenderList = function RenderList(_ref) { |
33 | var parentId = _ref.parentId, | 34 | var parentId = _ref.parentId, |
@@ -70,16 +71,19 @@ var RenderList = function RenderList(_ref) { | @@ -70,16 +71,19 @@ var RenderList = function RenderList(_ref) { | ||
70 | }; | 71 | }; |
71 | 72 | ||
72 | var addItem = function addItem() { | 73 | var addItem = function addItem() { |
73 | - var newList = [].concat(_toConsumableArray(displayList), [{}]); | 74 | + var newList = [].concat(_toConsumableArray(displayList), [{ |
75 | + _active: true | ||
76 | + }]); | ||
74 | var newIndex = newList.length - 1; | 77 | var newIndex = newList.length - 1; |
75 | onItemChange(dataPath, newList); | 78 | onItemChange(dataPath, newList); |
76 | return newIndex; | 79 | return newIndex; |
77 | }; | 80 | }; |
78 | 81 | ||
79 | var copyItem = function copyItem(idx) { | 82 | var copyItem = function copyItem(idx) { |
80 | - var newItem = displayList[idx]; | 83 | + var newItem = _.cloneDeep(displayList[idx]); |
84 | + | ||
81 | delete newItem.id; | 85 | delete newItem.id; |
82 | - var newList = [].concat(_toConsumableArray(displayList.slice(0, idx)), [newItem], _toConsumableArray(displayList.slice(idx))); | 86 | + var newList = [].concat(_toConsumableArray(displayList.slice(0, idx + 1)), [newItem], _toConsumableArray(displayList.slice(idx + 1))); |
83 | onItemChange(dataPath, JSON.parse(JSON.stringify(newList))); | 87 | onItemChange(dataPath, JSON.parse(JSON.stringify(newList))); |
84 | }; | 88 | }; |
85 | 89 | ||
@@ -192,6 +196,9 @@ var RenderList = function RenderList(_ref) { | @@ -192,6 +196,9 @@ var RenderList = function RenderList(_ref) { | ||
192 | case 'virtualList': | 196 | case 'virtualList': |
193 | return /*#__PURE__*/React.createElement(VirtualList, displayProps); | 197 | return /*#__PURE__*/React.createElement(VirtualList, displayProps); |
194 | 198 | ||
199 | + case 'listForMobile': | ||
200 | + return /*#__PURE__*/React.createElement(ListForMobile, displayProps); | ||
201 | + | ||
195 | default: | 202 | default: |
196 | return /*#__PURE__*/React.createElement(CardList, displayProps); | 203 | return /*#__PURE__*/React.createElement(CardList, displayProps); |
197 | } | 204 | } |
1 | .fr-container .fr-card-item { | 1 | .fr-container .fr-card-item { |
2 | - border: 1px solid rgba(0, 0, 0, 0.1); | ||
3 | - border-radius: 4px; | ||
4 | - padding: 10px 12px 4px 12px; | 2 | + border: 0.5px solid rgba(0, 0, 0, 0.1); |
3 | + padding: 10px 0 4px 0; | ||
5 | margin-bottom: 8px; | 4 | margin-bottom: 8px; |
6 | position: relative; | 5 | position: relative; |
7 | display: flex; | 6 | display: flex; |
@@ -50,3 +49,51 @@ | @@ -50,3 +49,51 @@ | ||
50 | .rowReverse { | 49 | .rowReverse { |
51 | flex-direction: row-reverse; | 50 | flex-direction: row-reverse; |
52 | } | 51 | } |
52 | +.ant-modal-body .qx-virtualList { | ||
53 | + margin-bottom: 0 !important; | ||
54 | +} | ||
55 | +.qx-card-mobile .adm-list-item-content-main { | ||
56 | + font-size: 14px; | ||
57 | +} | ||
58 | +.qx-card-mobile .adm-list-default .adm-list-body { | ||
59 | + border: none; | ||
60 | +} | ||
61 | +.qx-card-mobile .adm-list-item { | ||
62 | + padding-left: 15px; | ||
63 | +} | ||
64 | +.qx-card-mobile .adm-list-item .adm-list-item-content { | ||
65 | + padding-right: 15px; | ||
66 | +} | ||
67 | +.qx-card-mobile .adm-collapse-panel-header { | ||
68 | + margin: 0 15px; | ||
69 | + height: 40px; | ||
70 | + background: #f6f7f9; | ||
71 | + border-radius: 4px 4px 0 0; | ||
72 | +} | ||
73 | +.qx-card-mobile .adm-collapse-panel-header .adm-collapse-arrow { | ||
74 | + font-size: 16px; | ||
75 | +} | ||
76 | +.qx-card-mobile .adm-list-item-content { | ||
77 | + border-radius: 8px 8px 0 0; | ||
78 | + border-top: none; | ||
79 | +} | ||
80 | +.qx-card-mobile .adm-list-item-content .fr-content-column { | ||
81 | + padding: 0 15px 6px; | ||
82 | +} | ||
83 | +.qx-card-mobile-item { | ||
84 | + border-radius: unset; | ||
85 | + border-top: none; | ||
86 | +} | ||
87 | +.qx-card-mobile .adm-collapse-panel-content .adm-list-item-content-main { | ||
88 | + padding: 0; | ||
89 | +} | ||
90 | +.qx-card-mobile .adm-list-item-content-arrow { | ||
91 | + font-size: 15px; | ||
92 | + width: 15px; | ||
93 | + height: 15px; | ||
94 | +} | ||
95 | +.add-button { | ||
96 | + color: #3499ff; | ||
97 | + display: inline-block; | ||
98 | + margin: 15px; | ||
99 | +} |
1 | +"use strict"; | ||
2 | + | ||
3 | +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
4 | + | ||
5 | +Object.defineProperty(exports, "__esModule", { | ||
6 | + value: true | ||
7 | +}); | ||
8 | +exports.default = void 0; | ||
9 | + | ||
10 | +var _PlusCircleFilled2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/PlusCircleFilled")); | ||
11 | + | ||
12 | +var _DownOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/DownOutlined")); | ||
13 | + | ||
14 | +var _UpOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/UpOutlined")); | ||
15 | + | ||
16 | +var _DeleteOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/DeleteOutlined")); | ||
17 | + | ||
18 | +var _react = _interopRequireWildcard(require("react")); | ||
19 | + | ||
20 | +var _index = _interopRequireDefault(require("../../index")); | ||
21 | + | ||
22 | +var _antdMobile = require("antd-mobile"); | ||
23 | + | ||
24 | +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
25 | + | ||
26 | +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
27 | + | ||
28 | +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
29 | + | ||
30 | +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } | ||
31 | + | ||
32 | +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
33 | + | ||
34 | +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } | ||
35 | + | ||
36 | +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } | ||
37 | + | ||
38 | +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } | ||
39 | + | ||
40 | +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
41 | + | ||
42 | +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
43 | + | ||
44 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | ||
45 | + | ||
46 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
47 | + | ||
48 | +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
49 | + | ||
50 | +// 数字转汉字 | ||
51 | +function convertToChinaNum(num) { | ||
52 | + var arr1 = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; | ||
53 | + var arr2 = ['', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万', '十', '百', '千', '亿']; //可继续追加更高位转换值 | ||
54 | + | ||
55 | + if (!num || isNaN(num)) { | ||
56 | + return "零"; | ||
57 | + } | ||
58 | + | ||
59 | + var english = num.toString().split(""); | ||
60 | + var result = ""; | ||
61 | + | ||
62 | + for (var i = 0; i < english.length; i++) { | ||
63 | + var des_i = english.length - 1 - i; //倒序排列设值 | ||
64 | + | ||
65 | + result = arr2[i] + result; | ||
66 | + var arr1_index = english[des_i]; | ||
67 | + result = arr1[arr1_index] + result; | ||
68 | + } | ||
69 | + | ||
70 | + result = result.replace(/零(千|百|十)/g, '零').replace(/十零/g, '十'); | ||
71 | + result = result.replace(/零+/g, '零'); | ||
72 | + result = result.replace(/零亿/g, '亿').replace(/零万/g, '万'); | ||
73 | + result = result.replace(/亿万/g, '亿'); | ||
74 | + result = result.replace(/零+$/, ''); | ||
75 | + result = result.replace(/^一十/g, '十'); | ||
76 | + return result; | ||
77 | +} | ||
78 | + | ||
79 | +var ListForMobile = function ListForMobile(_ref) { | ||
80 | + var _ref$displayList = _ref.displayList, | ||
81 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | ||
82 | + listData = _ref.listData, | ||
83 | + changeList = _ref.changeList, | ||
84 | + schema = _ref.schema, | ||
85 | + deleteItem = _ref.deleteItem, | ||
86 | + copyItem = _ref.copyItem, | ||
87 | + addItem = _ref.addItem, | ||
88 | + moveItemUp = _ref.moveItemUp, | ||
89 | + moveItemDown = _ref.moveItemDown, | ||
90 | + displayType = _ref.displayType, | ||
91 | + getFieldsProps = _ref.getFieldsProps; | ||
92 | + var _schema$props = schema.props, | ||
93 | + props = _schema$props === void 0 ? {} : _schema$props, | ||
94 | + itemProps = schema.itemProps; | ||
95 | + | ||
96 | + var _useState = (0, _react.useState)([]), | ||
97 | + _useState2 = _slicedToArray(_useState, 2), | ||
98 | + allKeys = _useState2[0], | ||
99 | + setKeys = _useState2[1]; // let addBtnProps = { | ||
100 | + // type: 'dashed', | ||
101 | + // children: '新增一条list', | ||
102 | + // }; | ||
103 | + // if (props.addBtnProps && typeof props.addBtnProps === 'object') { | ||
104 | + // addBtnProps = { ...addBtnProps, ...props.addBtnProps }; | ||
105 | + // } | ||
106 | + | ||
107 | + | ||
108 | + (0, _react.useEffect)(function () { | ||
109 | + var _allKeys = []; | ||
110 | + displayList.forEach(function (item, idx) { | ||
111 | + if (item._active) { | ||
112 | + _allKeys.push(String(idx)); | ||
113 | + } | ||
114 | + }); | ||
115 | + setKeys(_allKeys); | ||
116 | + }, [displayList]); | ||
117 | + | ||
118 | + var getTitle = function getTitle(id) { | ||
119 | + return /*#__PURE__*/_react.default.createElement("div", { | ||
120 | + style: { | ||
121 | + display: 'flex', | ||
122 | + justifyContent: "space-between", | ||
123 | + alignItems: 'center' | ||
124 | + } | ||
125 | + }, /*#__PURE__*/_react.default.createElement("span", null, "\u6570\u636E", id + 1), /*#__PURE__*/_react.default.createElement("a", { | ||
126 | + onClick: function onClick(e) { | ||
127 | + e.stopPropagation(); | ||
128 | + deleteItem(id); | ||
129 | + }, | ||
130 | + style: { | ||
131 | + display: 'inline-block', | ||
132 | + padding: '0 10px' | ||
133 | + } | ||
134 | + }, /*#__PURE__*/_react.default.createElement(_DeleteOutlined2.default, { | ||
135 | + style: { | ||
136 | + fontSize: 16, | ||
137 | + width: 16, | ||
138 | + height: 16 | ||
139 | + } | ||
140 | + }))); | ||
141 | + }; | ||
142 | + | ||
143 | + var handleArrow = function handleArrow(active) { | ||
144 | + if (active) { | ||
145 | + return /*#__PURE__*/_react.default.createElement(_UpOutlined2.default, { | ||
146 | + onClick: function onClick() {} | ||
147 | + }); | ||
148 | + } else { | ||
149 | + return /*#__PURE__*/_react.default.createElement(_DownOutlined2.default, null); | ||
150 | + } | ||
151 | + }; | ||
152 | + | ||
153 | + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { | ||
154 | + className: "fr-card-list qx-card-mobile" | ||
155 | + }, /*#__PURE__*/_react.default.createElement(_antdMobile.Collapse, { | ||
156 | + activeKey: allKeys | ||
157 | + }, displayList.map(function (item, idx) { | ||
158 | + var fieldsProps = getFieldsProps(idx); | ||
159 | + fieldsProps.displayType = displayType; | ||
160 | + return /*#__PURE__*/_react.default.createElement(_antdMobile.Collapse.Panel, { | ||
161 | + key: String(idx), | ||
162 | + title: getTitle(idx), | ||
163 | + arrow: handleArrow, | ||
164 | + onClick: function onClick() { | ||
165 | + var _active = item._active || false; | ||
166 | + | ||
167 | + displayList[idx]._active = !_active; | ||
168 | + changeList(_toConsumableArray(displayList)); | ||
169 | + } | ||
170 | + }, /*#__PURE__*/_react.default.createElement("div", { | ||
171 | + className: "fr-card-item qx-card-mobile-item ".concat(displayType === 'row' ? 'fr-card-item-row' : ''), | ||
172 | + key: idx | ||
173 | + }, /*#__PURE__*/_react.default.createElement(_index.default, fieldsProps))); | ||
174 | + }))), /*#__PURE__*/_react.default.createElement("a", { | ||
175 | + className: 'add-button', | ||
176 | + onClick: function onClick() { | ||
177 | + addItem(); | ||
178 | + } | ||
179 | + }, /*#__PURE__*/_react.default.createElement(_PlusCircleFilled2.default, { | ||
180 | + style: { | ||
181 | + marginRight: 2, | ||
182 | + width: 14, | ||
183 | + height: 14 | ||
184 | + } | ||
185 | + }), "\u70B9\u51FB\u65B0\u589E\u6570\u636E")); | ||
186 | +}; | ||
187 | + | ||
188 | +var _default = ListForMobile; | ||
189 | +exports.default = _default; |
1 | "use strict"; | 1 | "use strict"; |
2 | 2 | ||
3 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
4 | - | ||
5 | Object.defineProperty(exports, "__esModule", { | 3 | Object.defineProperty(exports, "__esModule", { |
6 | value: true | 4 | value: true |
7 | }); | 5 | }); |
@@ -15,9 +13,15 @@ require("antd/es/alert/style"); | @@ -15,9 +13,15 @@ require("antd/es/alert/style"); | ||
15 | 13 | ||
16 | var _alert = _interopRequireDefault(require("antd/es/alert")); | 14 | var _alert = _interopRequireDefault(require("antd/es/alert")); |
17 | 15 | ||
18 | -require("antd/es/message/style"); | 16 | +require("antd/es/dropdown/style"); |
19 | 17 | ||
20 | -var _message2 = _interopRequireDefault(require("antd/es/message")); | 18 | +var _dropdown = _interopRequireDefault(require("antd/es/dropdown")); |
19 | + | ||
20 | +require("antd/es/space/style"); | ||
21 | + | ||
22 | +var _space = _interopRequireDefault(require("antd/es/space")); | ||
23 | + | ||
24 | +var _DownOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/DownOutlined")); | ||
21 | 25 | ||
22 | require("antd/es/input/style"); | 26 | require("antd/es/input/style"); |
23 | 27 | ||
@@ -29,15 +33,25 @@ var _CloseOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icon | @@ -29,15 +33,25 @@ var _CloseOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icon | ||
29 | 33 | ||
30 | var _CheckOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/CheckOutlined")); | 34 | var _CheckOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/CheckOutlined")); |
31 | 35 | ||
36 | +require("antd/es/message/style"); | ||
37 | + | ||
38 | +var _message2 = _interopRequireDefault(require("antd/es/message")); | ||
39 | + | ||
32 | require("antd/es/tooltip/style"); | 40 | require("antd/es/tooltip/style"); |
33 | 41 | ||
34 | var _tooltip = _interopRequireDefault(require("antd/es/tooltip")); | 42 | var _tooltip = _interopRequireDefault(require("antd/es/tooltip")); |
35 | 43 | ||
44 | +var _ExclamationCircleOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/ExclamationCircleOutlined")); | ||
45 | + | ||
46 | +require("antd/es/menu/style"); | ||
47 | + | ||
48 | +var _menu = _interopRequireDefault(require("antd/es/menu")); | ||
49 | + | ||
36 | require("antd/es/button/style"); | 50 | require("antd/es/button/style"); |
37 | 51 | ||
38 | var _button = _interopRequireDefault(require("antd/es/button")); | 52 | var _button = _interopRequireDefault(require("antd/es/button")); |
39 | 53 | ||
40 | -var _ExclamationCircleOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/ExclamationCircleOutlined")); | 54 | +var _MinusOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/MinusOutlined")); |
41 | 55 | ||
42 | var _SelectOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/SelectOutlined")); | 56 | var _SelectOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/SelectOutlined")); |
43 | 57 | ||
@@ -67,7 +81,7 @@ var _index2 = _interopRequireDefault(require("../../index")); | @@ -67,7 +81,7 @@ var _index2 = _interopRequireDefault(require("../../index")); | ||
67 | 81 | ||
68 | var _virtualizedtableforantd = require("virtualizedtableforantd4"); | 82 | var _virtualizedtableforantd = require("virtualizedtableforantd4"); |
69 | 83 | ||
70 | -var _excluded = ["scrollY", "summary", "batchKey", "type", "bar", "line", "searchKey", "rowSelection"]; | 84 | +var _excluded = ["scrollY", "summary", "batchKey", "type", "bar", "line", "searchKey", "rowSelection", "size"]; |
71 | 85 | ||
72 | function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | 86 | function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } |
73 | 87 | ||
@@ -95,6 +109,8 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb | @@ -95,6 +109,8 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb | ||
95 | 109 | ||
96 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } | 110 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
97 | 111 | ||
112 | +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
113 | + | ||
98 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } | 114 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
99 | 115 | ||
100 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | 116 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
@@ -121,7 +137,8 @@ var BUTTON_ICONS_MAP = { | @@ -121,7 +137,8 @@ var BUTTON_ICONS_MAP = { | ||
121 | EyeOutlined: /*#__PURE__*/_react.default.createElement(_EyeOutlined2.default, null), | 137 | EyeOutlined: /*#__PURE__*/_react.default.createElement(_EyeOutlined2.default, null), |
122 | EditOutlined: /*#__PURE__*/_react.default.createElement(_EditOutlined2.default, null), | 138 | EditOutlined: /*#__PURE__*/_react.default.createElement(_EditOutlined2.default, null), |
123 | remove: /*#__PURE__*/_react.default.createElement(_ExpandAltOutlined2.default, null), | 139 | remove: /*#__PURE__*/_react.default.createElement(_ExpandAltOutlined2.default, null), |
124 | - SelectOutlined: /*#__PURE__*/_react.default.createElement(_SelectOutlined2.default, null) | 140 | + SelectOutlined: /*#__PURE__*/_react.default.createElement(_SelectOutlined2.default, null), |
141 | + MinusOutlined: /*#__PURE__*/_react.default.createElement(_MinusOutlined2.default, null) | ||
125 | }; | 142 | }; |
126 | var FIELD_LENGTH = 170; | 143 | var FIELD_LENGTH = 170; |
127 | var EXPORT_STATUS = { | 144 | var EXPORT_STATUS = { |
@@ -157,10 +174,11 @@ var VirtualList = function VirtualList(_ref) { | @@ -157,10 +174,11 @@ var VirtualList = function VirtualList(_ref) { | ||
157 | fieldName = schema.fieldName, | 174 | fieldName = schema.fieldName, |
158 | _schema$qxProps = schema.qxProps, | 175 | _schema$qxProps = schema.qxProps, |
159 | qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, | 176 | qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, |
160 | - subformMode = schema.subformMode; | 177 | + subformMode = schema.subformMode, |
178 | + pageType = schema.pageType; | ||
161 | 179 | ||
162 | var _props$scrollY = props.scrollY, | 180 | var _props$scrollY = props.scrollY, |
163 | - scrollY = _props$scrollY === void 0 ? 600 : _props$scrollY, | 181 | + scrollY = _props$scrollY === void 0 ? 400 : _props$scrollY, |
164 | _summary = props.summary, | 182 | _summary = props.summary, |
165 | batchKey = props.batchKey, | 183 | batchKey = props.batchKey, |
166 | type = props.type, | 184 | type = props.type, |
@@ -170,6 +188,7 @@ var VirtualList = function VirtualList(_ref) { | @@ -170,6 +188,7 @@ var VirtualList = function VirtualList(_ref) { | ||
170 | line = _props$line === void 0 ? {} : _props$line, | 188 | line = _props$line === void 0 ? {} : _props$line, |
171 | searchKey = props.searchKey, | 189 | searchKey = props.searchKey, |
172 | rowSelection = props.rowSelection, | 190 | rowSelection = props.rowSelection, |
191 | + size = props.size, | ||
173 | rest = _objectWithoutProperties(props, _excluded); | 192 | rest = _objectWithoutProperties(props, _excluded); |
174 | 193 | ||
175 | var _useVT = (0, _virtualizedtableforantd.useVT)(function () { | 194 | var _useVT = (0, _virtualizedtableforantd.useVT)(function () { |
@@ -215,6 +234,9 @@ var VirtualList = function VirtualList(_ref) { | @@ -215,6 +234,9 @@ var VirtualList = function VirtualList(_ref) { | ||
215 | searchName = _useState12[0], | 234 | searchName = _useState12[0], |
216 | setSearchName = _useState12[1]; | 235 | setSearchName = _useState12[1]; |
217 | 236 | ||
237 | + var padding = (0, _react.useMemo)(function () { | ||
238 | + return size === 'default' ? 32 : 16; | ||
239 | + }, [size]); | ||
218 | var newRowSelection = (0, _react.useMemo)(function () { | 240 | var newRowSelection = (0, _react.useMemo)(function () { |
219 | var _bar$buttons; | 241 | var _bar$buttons; |
220 | 242 | ||
@@ -240,9 +262,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -240,9 +262,10 @@ var VirtualList = function VirtualList(_ref) { | ||
240 | return _rowSelection; | 262 | return _rowSelection; |
241 | }, [rowSelection, selectedRowKeys, bar]); | 263 | }, [rowSelection, selectedRowKeys, bar]); |
242 | (0, _react.useEffect)(function () { | 264 | (0, _react.useEffect)(function () { |
243 | - console.log(displayList); | ||
244 | displayList.forEach(function (item, index) { | 265 | displayList.forEach(function (item, index) { |
245 | - item.orginIdx = index; | 266 | + if (_typeof(item) === 'object') { |
267 | + item.orginIdx = index; | ||
268 | + } | ||
246 | }); | 269 | }); |
247 | }, [displayList]); | 270 | }, [displayList]); |
248 | var _displayList = []; // 筛选展示的数据 | 271 | var _displayList = []; // 筛选展示的数据 |
@@ -292,34 +315,40 @@ var VirtualList = function VirtualList(_ref) { | @@ -292,34 +315,40 @@ var VirtualList = function VirtualList(_ref) { | ||
292 | index: item.hasOwnProperty('orginIdx') ? item.orginIdx : idx | 315 | index: item.hasOwnProperty('orginIdx') ? item.orginIdx : idx |
293 | }, item); | 316 | }, item); |
294 | }); | 317 | }); |
318 | + | ||
319 | + var handleTotal = function handleTotal(total) { | ||
320 | + if (!total) { | ||
321 | + total = 0; | ||
322 | + } | ||
323 | + | ||
324 | + if (props.originWidget === 'subform' || total === displayList.length) { | ||
325 | + return "\u5171".concat(total, "\u6761\u8BB0\u5F55"); | ||
326 | + } else { | ||
327 | + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", null, "\u5171", displayList.length, "\u6761\u8BB0\u5F55"), /*#__PURE__*/_react.default.createElement("span", { | ||
328 | + style: { | ||
329 | + color: '#999', | ||
330 | + fontSize: '13px' | ||
331 | + } | ||
332 | + }, "(", displayList.length - total, "\u6761\u4E0D\u53EF\u89C1)")); | ||
333 | + } | ||
334 | + }; | ||
335 | + | ||
295 | var pagination = (0, _react.useMemo)(function () { | 336 | var pagination = (0, _react.useMemo)(function () { |
296 | return { | 337 | return { |
297 | total: dataSource.length, | 338 | total: dataSource.length, |
298 | position: ['bottomRight'], | 339 | position: ['bottomRight'], |
299 | pageSize: 10, | 340 | pageSize: 10, |
300 | showTotal: function showTotal(total) { | 341 | showTotal: function showTotal(total) { |
301 | - return "\u5171".concat(total, "\u6761\u8BB0\u5F55"); | 342 | + return handleTotal(total); |
302 | }, | 343 | }, |
303 | defaultCurrent: 1, | 344 | defaultCurrent: 1, |
304 | size: 'default' | 345 | size: 'default' |
305 | }; | 346 | }; |
306 | }, [dataSource]); | 347 | }, [dataSource]); |
307 | var barButtons = (0, _react.useMemo)(function () { | 348 | var barButtons = (0, _react.useMemo)(function () { |
308 | - var _barButtons = _.cloneDeep(bar.buttons || []); // 选择、新增位置提前 | 349 | + var _barButtons = _.cloneDeep(bar.buttons || []); // 关联表的导入,先隐藏 TODO |
309 | 350 | ||
310 | 351 | ||
311 | - ['ADD', 'SELECT'].forEach(function (code) { | ||
312 | - var _index = _barButtons.findIndex(function (item) { | ||
313 | - return item.code === code; | ||
314 | - }); | ||
315 | - | ||
316 | - if (_index > -1) { | ||
317 | - var btn = _barButtons.splice(_index, 1); | ||
318 | - | ||
319 | - _barButtons.unshift.apply(_barButtons, _toConsumableArray(btn)); | ||
320 | - } | ||
321 | - }); // 关联表的导入,先隐藏 TODO | ||
322 | - | ||
323 | if (props.originWidget === 'relSelector') { | 352 | if (props.originWidget === 'relSelector') { |
324 | ['IMPORT'].forEach(function (code) { | 353 | ['IMPORT'].forEach(function (code) { |
325 | var _index = _barButtons.findIndex(function (item) { | 354 | var _index = _barButtons.findIndex(function (item) { |
@@ -353,17 +382,67 @@ var VirtualList = function VirtualList(_ref) { | @@ -353,17 +382,67 @@ var VirtualList = function VirtualList(_ref) { | ||
353 | } | 382 | } |
354 | 383 | ||
355 | if (props.originWidget === 'relSelector' && subformMode && type !== 'view') { | 384 | if (props.originWidget === 'relSelector' && subformMode && type !== 'view') { |
356 | - _barButtons.push({ | 385 | + _barButtons.unshift({ |
357 | code: 'subformEdit', | 386 | code: 'subformEdit', |
358 | icon: 'EditOutlined', | 387 | icon: 'EditOutlined', |
359 | batch: true, | 388 | batch: true, |
360 | action: 'SYS', | 389 | action: 'SYS', |
361 | - name: '子表编辑' | 390 | + name: '表格编辑' |
391 | + }); | ||
392 | + } // 选择位置提前 | ||
393 | + | ||
394 | + | ||
395 | + ['SELECT'].forEach(function (code) { | ||
396 | + var _index = _barButtons.findIndex(function (item) { | ||
397 | + return item.code === code; | ||
398 | + }); | ||
399 | + | ||
400 | + if (_index > -1) { | ||
401 | + var btn = _barButtons.splice(_index, 1); | ||
402 | + | ||
403 | + _barButtons.unshift.apply(_barButtons, _toConsumableArray(btn)); | ||
404 | + } | ||
405 | + }); | ||
406 | + | ||
407 | + if (type === 'add') { | ||
408 | + return _barButtons.filter(function (item) { | ||
409 | + return ['SELECT', 'IMPORT', 'ADD', 'BATCH_ADD'].includes(item.code); | ||
410 | + }); | ||
411 | + } else if (type === 'view') { | ||
412 | + return _barButtons.filter(function (item) { | ||
413 | + return item.code === 'EXPORT'; | ||
362 | }); | 414 | }); |
363 | } | 415 | } |
364 | 416 | ||
417 | + if (schema.isReadOnly) { | ||
418 | + // return _barButtons.filter(item => item.code === 'EXPORT') | ||
419 | + return []; | ||
420 | + } | ||
421 | + | ||
365 | return _barButtons; | 422 | return _barButtons; |
366 | - }, [props]); | 423 | + }, [props, type]); |
424 | + | ||
425 | + var moreButtons = /*#__PURE__*/_react.default.createElement(_menu.default, null, barButtons.slice(3).map(function (item) { | ||
426 | + var name = item.name, | ||
427 | + code = item.code, | ||
428 | + needConfirm = item.needConfirm, | ||
429 | + confirmContent = item.confirmContent, | ||
430 | + icon = item.icon, | ||
431 | + action = item.action; | ||
432 | + return /*#__PURE__*/_react.default.createElement(_menu.default.Item, null, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ | ||
433 | + key: code, | ||
434 | + style: { | ||
435 | + marginLeft: 8, | ||
436 | + border: 'none' | ||
437 | + } | ||
438 | + }, item, { | ||
439 | + icon: icon && bar.style !== 'TEXT' ? BUTTON_ICONS_MAP[icon] : null, | ||
440 | + onClick: function onClick() { | ||
441 | + barBtnClick(code, needConfirm, confirmContent, action, item); | ||
442 | + } | ||
443 | + }), name)); | ||
444 | + })); | ||
445 | + | ||
367 | var columns = (0, _react.useMemo)(function () { | 446 | var columns = (0, _react.useMemo)(function () { |
368 | return children.map(function (child, index) { | 447 | return children.map(function (child, index) { |
369 | var _schema$props2; | 448 | var _schema$props2; |
@@ -386,12 +465,12 @@ var VirtualList = function VirtualList(_ref) { | @@ -386,12 +465,12 @@ var VirtualList = function VirtualList(_ref) { | ||
386 | var column = ((_schema$props2 = schema.props) === null || _schema$props2 === void 0 ? void 0 : _schema$props2.column) || {}; | 465 | var column = ((_schema$props2 = schema.props) === null || _schema$props2 === void 0 ? void 0 : _schema$props2.column) || {}; |
387 | return { | 466 | return { |
388 | dataIndex: child, | 467 | dataIndex: child, |
389 | - width: (column.width ? String(column.width).indexOf('px') > -1 ? Number(String(column.width).slice(0, -2)) : Number(column.width) : FIELD_LENGTH) + 16, | 468 | + width: column.width ? parseInt(column.width) : FIELD_LENGTH, |
390 | align: column.align || 'left', | 469 | align: column.align || 'left', |
391 | fixed: column.fixed || props.fixed && index < props.fixed, | 470 | fixed: column.fixed || props.fixed && index < props.fixed, |
392 | title: /*#__PURE__*/_react.default.createElement("div", { | 471 | title: /*#__PURE__*/_react.default.createElement("div", { |
393 | style: { | 472 | style: { |
394 | - width: (parseInt(column.width) || FIELD_LENGTH) + "px" | 473 | + width: (parseInt(column.width) || FIELD_LENGTH) - padding + "px" |
395 | } | 474 | } |
396 | }, schema.required ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { | 475 | }, schema.required ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { |
397 | className: "fr-label-required" | 476 | className: "fr-label-required" |
@@ -426,6 +505,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -426,6 +505,10 @@ var VirtualList = function VirtualList(_ref) { | ||
426 | 505 | ||
427 | var handleState = function handleState(record, code, originWidget) { | 506 | var handleState = function handleState(record, code, originWidget) { |
428 | if (originWidget === 'subform') { | 507 | if (originWidget === 'subform') { |
508 | + if (code === 'COPY' && !record.id) { | ||
509 | + return 'none'; | ||
510 | + } | ||
511 | + | ||
429 | return ''; | 512 | return ''; |
430 | } else { | 513 | } else { |
431 | switch (code) { | 514 | switch (code) { |
@@ -442,33 +525,42 @@ var VirtualList = function VirtualList(_ref) { | @@ -442,33 +525,42 @@ var VirtualList = function VirtualList(_ref) { | ||
442 | return ''; | 525 | return ''; |
443 | 526 | ||
444 | default: | 527 | default: |
445 | - return record.hasOwnProperty('$auth') ? '' : 'none'; | 528 | + return record[code + '_flag_'] ? '' : 'none'; |
446 | } | 529 | } |
447 | } | 530 | } |
448 | }; | 531 | }; |
449 | 532 | ||
450 | - if (!props.hideDelete && ((_line$buttons = line.buttons) === null || _line$buttons === void 0 ? void 0 : _line$buttons.length) || Array.isArray(itemProps.buttons) || props.removeable) { | 533 | + if (!props.hideDelete && ((_line$buttons = line.buttons) === null || _line$buttons === void 0 ? void 0 : _line$buttons.length) || Array.isArray(itemProps.buttons)) { |
451 | var top = line.top, | 534 | var top = line.top, |
452 | _line$style = line.style, | 535 | _line$style = line.style, |
453 | style = _line$style === void 0 ? 'ICON' : _line$style, | 536 | style = _line$style === void 0 ? 'ICON' : _line$style, |
454 | fixed = line.fixed, | 537 | fixed = line.fixed, |
455 | buttons = line.buttons; | 538 | buttons = line.buttons; |
456 | 539 | ||
457 | - if (props.removeable && buttons.findIndex(function (item) { | ||
458 | - return item.code === 'REMOVE'; | ||
459 | - }) === -1) { | ||
460 | - buttons.push({ | ||
461 | - icon: 'remove', | ||
462 | - code: 'REMOVE', | ||
463 | - name: '移除', | ||
464 | - line: true, | ||
465 | - needConfirm: true, | ||
466 | - confirmContent: props.removeContent | ||
467 | - }); | ||
468 | - } | ||
469 | - | ||
470 | - var len = (buttons || []).length; | ||
471 | - var action = { | 540 | + if (pageType === 'add') { |
541 | + if (props.originWidget === 'subform') { | ||
542 | + line.buttons = buttons.filter(function (item) { | ||
543 | + return item.code === 'DELETE'; | ||
544 | + }); | ||
545 | + } else if (props.originWidget === 'relSelector') { | ||
546 | + line.buttons = buttons.filter(function (item) { | ||
547 | + return item.code === 'REMOVE'; | ||
548 | + }); | ||
549 | + } | ||
550 | + } // if (props.removeable && buttons.findIndex(item => item.code === 'REMOVE') === -1) { | ||
551 | + // buttons.push({ | ||
552 | + // icon: 'remove', | ||
553 | + // code: 'REMOVE', | ||
554 | + // name: '移除', | ||
555 | + // line: true, | ||
556 | + // needConfirm: true, | ||
557 | + // confirmContent: props.removeContent | ||
558 | + // }) | ||
559 | + // } | ||
560 | + | ||
561 | + | ||
562 | + var len = (line.buttons || []).length; | ||
563 | + var action = schema.isReadOnly ? {} : { | ||
472 | title: '操作', | 564 | title: '操作', |
473 | key: '$action', | 565 | key: '$action', |
474 | fixed: fixed ? top ? 'left' : 'right' : props.originWidget === 'subform' ? 'right' : false, | 566 | fixed: fixed ? top ? 'left' : 'right' : props.originWidget === 'subform' ? 'right' : false, |
@@ -536,9 +628,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -536,9 +628,10 @@ var VirtualList = function VirtualList(_ref) { | ||
536 | if (code === 'DELETE' && props.originWidget === 'subform') { | 628 | if (code === 'DELETE' && props.originWidget === 'subform') { |
537 | deleteItem(idx); | 629 | deleteItem(idx); |
538 | } else if (code === 'REMOVE') { | 630 | } else if (code === 'REMOVE') { |
539 | - deleteItem(idx); | 631 | + deleteItem(record.orginIdx); |
632 | + props.handleLineBtnClick(code, record, schema.$id); | ||
540 | } else if (code === 'COPY') { | 633 | } else if (code === 'COPY') { |
541 | - copyItem(idx); | 634 | + copyItem(record.orginIdx); |
542 | } else if (item.action === 'CUSTOM') { | 635 | } else if (item.action === 'CUSTOM') { |
543 | props.handleCustom(item, record, schema.$id); | 636 | props.handleCustom(item, record, schema.$id); |
544 | } else { | 637 | } else { |
@@ -551,9 +644,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -551,9 +644,10 @@ var VirtualList = function VirtualList(_ref) { | ||
551 | if (code === 'DELETE' && props.originWidget === 'subform') { | 644 | if (code === 'DELETE' && props.originWidget === 'subform') { |
552 | deleteItem(idx); | 645 | deleteItem(idx); |
553 | } else if (code === 'REMOVE') { | 646 | } else if (code === 'REMOVE') { |
554 | - deleteItem(idx); | 647 | + deleteItem(record.orginIdx); |
648 | + props.handleLineBtnClick(code, record, schema.$id); | ||
555 | } else if (code === 'COPY') { | 649 | } else if (code === 'COPY') { |
556 | - copyItem(idx); | 650 | + copyItem(record.orginIdx); |
557 | } else if (item.action === 'CUSTOM') { | 651 | } else if (item.action === 'CUSTOM') { |
558 | props.handleCustom(item, record, schema.$id); | 652 | props.handleCustom(item, record, schema.$id); |
559 | } else { | 653 | } else { |
@@ -561,13 +655,13 @@ var VirtualList = function VirtualList(_ref) { | @@ -561,13 +655,13 @@ var VirtualList = function VirtualList(_ref) { | ||
561 | } | 655 | } |
562 | } | 656 | } |
563 | } | 657 | } |
564 | - }), style !== 'ICON' ? name : null)); // } | 658 | + }), style !== 'ICON' || !item.icon ? name : null)); // } |
565 | }) : null); | 659 | }) : null); |
566 | } | 660 | } |
567 | }; | 661 | }; |
568 | 662 | ||
569 | - if (style === "ICON") { | ||
570 | - action.width = len * 26 + 16; | 663 | + if (style === "ICON" || props.originWidget === 'subform') { |
664 | + action.width = len * 32 + padding - 8; | ||
571 | } else { | 665 | } else { |
572 | var div = document.createElement('div'); | 666 | var div = document.createElement('div'); |
573 | div.style.position = 'absolute'; | 667 | div.style.position = 'absolute'; |
@@ -575,17 +669,17 @@ var VirtualList = function VirtualList(_ref) { | @@ -575,17 +669,17 @@ var VirtualList = function VirtualList(_ref) { | ||
575 | div.style.fontSize = '14px'; | 669 | div.style.fontSize = '14px'; |
576 | window.document.body.appendChild(div); | 670 | window.document.body.appendChild(div); |
577 | var leng = 0; | 671 | var leng = 0; |
578 | - buttons.map(function (item) { | 672 | + line.buttons.map(function (item) { |
579 | div.innerHTML = item.name; | 673 | div.innerHTML = item.name; |
580 | - leng += div.clientWidth + 16 + (style !== 'TEXT' && item.icon ? 22 : 0); | 674 | + leng += div.clientWidth + padding + (style !== 'TEXT' && item.icon ? 22 : 0); |
581 | }); | 675 | }); |
582 | - action.width = leng + 16; | 676 | + action.width = leng + padding - 8; |
583 | div.remove(); | 677 | div.remove(); |
584 | } | 678 | } |
585 | 679 | ||
586 | if (columns.findIndex(function (item) { | 680 | if (columns.findIndex(function (item) { |
587 | return item.key === '$action'; | 681 | return item.key === '$action'; |
588 | - }) === -1) { | 682 | + }) === -1 && len > 0 && action.title) { |
589 | if (top) { | 683 | if (top) { |
590 | columns.unshift(action); | 684 | columns.unshift(action); |
591 | } else { | 685 | } else { |
@@ -605,9 +699,9 @@ var VirtualList = function VirtualList(_ref) { | @@ -605,9 +699,9 @@ var VirtualList = function VirtualList(_ref) { | ||
605 | "percent": 0, | 699 | "percent": 0, |
606 | "status": "PROCESSING" | 700 | "status": "PROCESSING" |
607 | }); | 701 | }); |
608 | - queryParams = { | 702 | + queryParams = _defineProperty({ |
609 | dataId: props.dataId | 703 | dataId: props.dataId |
610 | - }; | 704 | + }, searchKey, keyWord); |
611 | appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; | 705 | appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; |
612 | _context.next = 5; | 706 | _context.next = 5; |
613 | return props.exportChild(appCode, funCode, fieldName, queryParams); | 707 | return props.exportChild(appCode, funCode, fieldName, queryParams); |
@@ -638,7 +732,8 @@ var VirtualList = function VirtualList(_ref) { | @@ -638,7 +732,8 @@ var VirtualList = function VirtualList(_ref) { | ||
638 | var exportData = function exportData(taskId) { | 732 | var exportData = function exportData(taskId) { |
639 | // const {appCode, funCode, viewCode} = qxProps | 733 | // const {appCode, funCode, viewCode} = qxProps |
640 | // taskType: UPLOAD || EXPORT | 734 | // taskType: UPLOAD || EXPORT |
641 | - props.childExportProgress(taskId).then(function (res) { | 735 | + if (!taskId && !exportTaskId.current) return; |
736 | + props.childExportProgress(taskId || exportTaskId.current).then(function (res) { | ||
642 | setProgressData(res || null); | 737 | setProgressData(res || null); |
643 | }); | 738 | }); |
644 | }; | 739 | }; |
@@ -724,6 +819,68 @@ var VirtualList = function VirtualList(_ref) { | @@ -724,6 +819,68 @@ var VirtualList = function VirtualList(_ref) { | ||
724 | setSubEdit(false); | 819 | setSubEdit(false); |
725 | }; | 820 | }; |
726 | 821 | ||
822 | + var barBtnClick = function barBtnClick(code, needConfirm, confirmContent, action, item) { | ||
823 | + setSelectedRowKeys([]); | ||
824 | + | ||
825 | + if (needConfirm && confirmContent) { | ||
826 | + if (!selectedRowKeys.length) { | ||
827 | + return _message2.default.warning('请选择数据'); | ||
828 | + } | ||
829 | + | ||
830 | + confirm({ | ||
831 | + title: confirmContent, | ||
832 | + icon: /*#__PURE__*/_react.default.createElement(_ExclamationCircleOutlined2.default, null), | ||
833 | + okText: '确认', | ||
834 | + okType: 'danger', | ||
835 | + cancelText: '取消', | ||
836 | + onOk: function onOk() { | ||
837 | + if (code === 'DELETE') { | ||
838 | + if (props.originWidget === 'subform') { | ||
839 | + batchDelete(selectedRowKeys); | ||
840 | + setSelectedRowKeys([]); | ||
841 | + } else { | ||
842 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
843 | + } | ||
844 | + } else if (code === 'EXPORT') { | ||
845 | + handleExport(); | ||
846 | + } else if (code === 'SELECT') { | ||
847 | + props.openRelSelect(schema.$id); | ||
848 | + } else if (code === 'ADD') { | ||
849 | + props.handleRelAdd(schema.$id); | ||
850 | + } else if (code === 'subformEdit') { | ||
851 | + props.handleBatchEdit(fieldName, schema.$id, selectedIds); | ||
852 | + } else if (action === 'CUSTOM') { | ||
853 | + props.handleCustom(item, selectedIds, schema.$id); | ||
854 | + } else { | ||
855 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
856 | + } | ||
857 | + }, | ||
858 | + onCancel: function onCancel() {} | ||
859 | + }); | ||
860 | + } else { | ||
861 | + if (code === 'DELETE') { | ||
862 | + if (props.originWidget === 'subform') { | ||
863 | + batchDelete(selectedRowKeys); | ||
864 | + setSelectedRowKeys([]); | ||
865 | + } else { | ||
866 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
867 | + } | ||
868 | + } else if (code === 'EXPORT') { | ||
869 | + handleExport(); | ||
870 | + } else if (code === 'SELECT') { | ||
871 | + props.openRelSelect(schema.$id); | ||
872 | + } else if (code === 'ADD') { | ||
873 | + props.handleRelAdd(schema.$id); | ||
874 | + } else if (code === 'subformEdit') { | ||
875 | + props.handleBatchEdit(fieldName, schema.$id, selectedIds); | ||
876 | + } else if (action === 'CUSTOM') { | ||
877 | + props.handleCustom(item, selectedIds, schema.$id); | ||
878 | + } else { | ||
879 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
880 | + } | ||
881 | + } | ||
882 | + }; | ||
883 | + | ||
727 | return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.editable ? isSubCanEdit ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_button.default, { | 884 | return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.editable ? isSubCanEdit ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_button.default, { |
728 | type: 'text', | 885 | type: 'text', |
729 | size: "small", | 886 | size: "small", |
@@ -769,7 +926,7 @@ var VirtualList = function VirtualList(_ref) { | @@ -769,7 +926,7 @@ var VirtualList = function VirtualList(_ref) { | ||
769 | 926 | ||
770 | setKeyWord(((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || ''); | 927 | setKeyWord(((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || ''); |
771 | } | 928 | } |
772 | - }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", null, barButtons.map(function (item) { | 929 | + }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", null, (barButtons.length > 4 ? barButtons.slice(0, 3) : barButtons.slice(0, 4)).map(function (item) { |
773 | var name = item.name, | 930 | var name = item.name, |
774 | code = item.code, | 931 | code = item.code, |
775 | needConfirm = item.needConfirm, | 932 | needConfirm = item.needConfirm, |
@@ -782,55 +939,18 @@ var VirtualList = function VirtualList(_ref) { | @@ -782,55 +939,18 @@ var VirtualList = function VirtualList(_ref) { | ||
782 | marginLeft: 8 | 939 | marginLeft: 8 |
783 | } | 940 | } |
784 | }, item, { | 941 | }, item, { |
785 | - icon: icon ? BUTTON_ICONS_MAP[icon] : null, | 942 | + icon: icon && bar.style !== 'TEXT' ? BUTTON_ICONS_MAP[icon] : null, |
786 | onClick: function onClick() { | 943 | onClick: function onClick() { |
787 | - if (code === 'DELETE') { | ||
788 | - if (!selectedRowKeys.length) { | ||
789 | - return _message2.default.warning('请选择数据'); | ||
790 | - } | ||
791 | - | ||
792 | - if (needConfirm && confirmContent) { | ||
793 | - confirm({ | ||
794 | - title: '批量删除确认', | ||
795 | - icon: /*#__PURE__*/_react.default.createElement(_ExclamationCircleOutlined2.default, null), | ||
796 | - content: confirmContent, | ||
797 | - okText: '确认', | ||
798 | - okType: 'danger', | ||
799 | - cancelText: '取消', | ||
800 | - onOk: function onOk() { | ||
801 | - if (props.originWidget === 'subform') { | ||
802 | - batchDelete(selectedRowKeys); | ||
803 | - setSelectedRowKeys([]); | ||
804 | - } else { | ||
805 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
806 | - } | ||
807 | - }, | ||
808 | - onCancel: function onCancel() {} | ||
809 | - }); | ||
810 | - } else { | ||
811 | - if (props.originWidget === 'subform') { | ||
812 | - batchDelete(selectedRowKeys); | ||
813 | - setSelectedRowKeys([]); | ||
814 | - } else { | ||
815 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
816 | - } | ||
817 | - } | ||
818 | - } else if (code === 'EXPORT') { | ||
819 | - handleExport(); | ||
820 | - } else if (code === 'SELECT') { | ||
821 | - props.openRelSelect(schema.$id); | ||
822 | - } else if (code === 'ADD') { | ||
823 | - props.handleRelAdd(schema.$id); | ||
824 | - } else if (code === 'subformEdit') { | ||
825 | - props.handleBatchEdit(fieldName, schema.$id, selectedIds); | ||
826 | - } else if (action === 'CUSTOM') { | ||
827 | - props.handleCustom(item, selectedIds, schema.$id); | ||
828 | - } else { | ||
829 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | ||
830 | - } | 944 | + barBtnClick(code, needConfirm, confirmContent, action, item); |
831 | } | 945 | } |
832 | }), name); // } | 946 | }), name); // } |
833 | - })), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | 947 | + }), barButtons.slice(4).length ? /*#__PURE__*/_react.default.createElement(_dropdown.default, { |
948 | + overlay: moreButtons | ||
949 | + }, /*#__PURE__*/_react.default.createElement(_button.default, { | ||
950 | + style: { | ||
951 | + marginLeft: 8 | ||
952 | + } | ||
953 | + }, /*#__PURE__*/_react.default.createElement(_space.default, null, "\u66F4\u591A\u64CD\u4F5C", /*#__PURE__*/_react.default.createElement(_DownOutlined2.default, null)))) : null), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | ||
834 | var callback = item.callback, | 954 | var callback = item.callback, |
835 | text = item.text, | 955 | text = item.text, |
836 | html = item.html; | 956 | html = item.html; |
@@ -885,10 +1005,10 @@ var VirtualList = function VirtualList(_ref) { | @@ -885,10 +1005,10 @@ var VirtualList = function VirtualList(_ref) { | ||
885 | x: '100%' | 1005 | x: '100%' |
886 | }, | 1006 | }, |
887 | components: vt, | 1007 | components: vt, |
888 | - size: "small", | 1008 | + size: size || 'small', |
889 | columns: columns, | 1009 | columns: columns, |
890 | dataSource: dataSource, | 1010 | dataSource: dataSource, |
891 | - pagination: props.originWidget === 'subform' ? false : pagination, | 1011 | + pagination: pagination, |
892 | style: { | 1012 | style: { |
893 | marginBottom: 25 | 1013 | marginBottom: 25 |
894 | }, | 1014 | }, |
@@ -931,7 +1051,7 @@ function _handleDownload() { | @@ -931,7 +1051,7 @@ function _handleDownload() { | ||
931 | switch (_context2.prev = _context2.next) { | 1051 | switch (_context2.prev = _context2.next) { |
932 | case 0: | 1052 | case 0: |
933 | // eslint-disable-next-line prefer-rest-params | 1053 | // eslint-disable-next-line prefer-rest-params |
934 | - isDownload = _args2[2]; | 1054 | + isDownload = _args2[3]; |
935 | 1055 | ||
936 | if (isDownload === null || Boolean(isDownload)) { | 1056 | if (isDownload === null || Boolean(isDownload)) { |
937 | _message2.default.warning('即将开始下载,请勿重复点击。'); | 1057 | _message2.default.warning('即将开始下载,请勿重复点击。'); |
@@ -25,6 +25,8 @@ var _DrawerList = _interopRequireDefault(require("./DrawerList")); | @@ -25,6 +25,8 @@ var _DrawerList = _interopRequireDefault(require("./DrawerList")); | ||
25 | 25 | ||
26 | var _VirtualList = _interopRequireDefault(require("./VirtualList")); | 26 | var _VirtualList = _interopRequireDefault(require("./VirtualList")); |
27 | 27 | ||
28 | +var _ListForMobile = _interopRequireDefault(require("./ListForMobile")); | ||
29 | + | ||
28 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | 30 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
29 | 31 | ||
30 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | 32 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } |
@@ -86,16 +88,19 @@ var RenderList = function RenderList(_ref) { | @@ -86,16 +88,19 @@ var RenderList = function RenderList(_ref) { | ||
86 | }; | 88 | }; |
87 | 89 | ||
88 | var addItem = function addItem() { | 90 | var addItem = function addItem() { |
89 | - var newList = [].concat(_toConsumableArray(displayList), [{}]); | 91 | + var newList = [].concat(_toConsumableArray(displayList), [{ |
92 | + _active: true | ||
93 | + }]); | ||
90 | var newIndex = newList.length - 1; | 94 | var newIndex = newList.length - 1; |
91 | onItemChange(dataPath, newList); | 95 | onItemChange(dataPath, newList); |
92 | return newIndex; | 96 | return newIndex; |
93 | }; | 97 | }; |
94 | 98 | ||
95 | var copyItem = function copyItem(idx) { | 99 | var copyItem = function copyItem(idx) { |
96 | - var newItem = displayList[idx]; | 100 | + var newItem = _.cloneDeep(displayList[idx]); |
101 | + | ||
97 | delete newItem.id; | 102 | delete newItem.id; |
98 | - var newList = [].concat(_toConsumableArray(displayList.slice(0, idx)), [newItem], _toConsumableArray(displayList.slice(idx))); | 103 | + var newList = [].concat(_toConsumableArray(displayList.slice(0, idx + 1)), [newItem], _toConsumableArray(displayList.slice(idx + 1))); |
99 | onItemChange(dataPath, JSON.parse(JSON.stringify(newList))); | 104 | onItemChange(dataPath, JSON.parse(JSON.stringify(newList))); |
100 | }; | 105 | }; |
101 | 106 | ||
@@ -208,6 +213,9 @@ var RenderList = function RenderList(_ref) { | @@ -208,6 +213,9 @@ var RenderList = function RenderList(_ref) { | ||
208 | case 'virtualList': | 213 | case 'virtualList': |
209 | return /*#__PURE__*/_react.default.createElement(_VirtualList.default, displayProps); | 214 | return /*#__PURE__*/_react.default.createElement(_VirtualList.default, displayProps); |
210 | 215 | ||
216 | + case 'listForMobile': | ||
217 | + return /*#__PURE__*/_react.default.createElement(_ListForMobile.default, displayProps); | ||
218 | + | ||
211 | default: | 219 | default: |
212 | return /*#__PURE__*/_react.default.createElement(_CardList.default, displayProps); | 220 | return /*#__PURE__*/_react.default.createElement(_CardList.default, displayProps); |
213 | } | 221 | } |
1 | .fr-container .fr-card-item { | 1 | .fr-container .fr-card-item { |
2 | - border: 1px solid rgba(0, 0, 0, 0.1); | ||
3 | - border-radius: 4px; | ||
4 | - padding: 10px 12px 4px 12px; | 2 | + border: 0.5px solid rgba(0, 0, 0, 0.1); |
3 | + padding: 10px 0 4px 0; | ||
5 | margin-bottom: 8px; | 4 | margin-bottom: 8px; |
6 | position: relative; | 5 | position: relative; |
7 | display: flex; | 6 | display: flex; |
@@ -50,3 +49,51 @@ | @@ -50,3 +49,51 @@ | ||
50 | .rowReverse { | 49 | .rowReverse { |
51 | flex-direction: row-reverse; | 50 | flex-direction: row-reverse; |
52 | } | 51 | } |
52 | +.ant-modal-body .qx-virtualList { | ||
53 | + margin-bottom: 0 !important; | ||
54 | +} | ||
55 | +.qx-card-mobile .adm-list-item-content-main { | ||
56 | + font-size: 14px; | ||
57 | +} | ||
58 | +.qx-card-mobile .adm-list-default .adm-list-body { | ||
59 | + border: none; | ||
60 | +} | ||
61 | +.qx-card-mobile .adm-list-item { | ||
62 | + padding-left: 15px; | ||
63 | +} | ||
64 | +.qx-card-mobile .adm-list-item .adm-list-item-content { | ||
65 | + padding-right: 15px; | ||
66 | +} | ||
67 | +.qx-card-mobile .adm-collapse-panel-header { | ||
68 | + margin: 0 15px; | ||
69 | + height: 40px; | ||
70 | + background: #f6f7f9; | ||
71 | + border-radius: 4px 4px 0 0; | ||
72 | +} | ||
73 | +.qx-card-mobile .adm-collapse-panel-header .adm-collapse-arrow { | ||
74 | + font-size: 16px; | ||
75 | +} | ||
76 | +.qx-card-mobile .adm-list-item-content { | ||
77 | + border-radius: 8px 8px 0 0; | ||
78 | + border-top: none; | ||
79 | +} | ||
80 | +.qx-card-mobile .adm-list-item-content .fr-content-column { | ||
81 | + padding: 0 15px 6px; | ||
82 | +} | ||
83 | +.qx-card-mobile-item { | ||
84 | + border-radius: unset; | ||
85 | + border-top: none; | ||
86 | +} | ||
87 | +.qx-card-mobile .adm-collapse-panel-content .adm-list-item-content-main { | ||
88 | + padding: 0; | ||
89 | +} | ||
90 | +.qx-card-mobile .adm-list-item-content-arrow { | ||
91 | + font-size: 15px; | ||
92 | + width: 15px; | ||
93 | + height: 15px; | ||
94 | +} | ||
95 | +.add-button { | ||
96 | + color: #3499ff; | ||
97 | + display: inline-block; | ||
98 | + margin: 15px; | ||
99 | +} |
1 | { | 1 | { |
2 | "name": "@qx/form-render", | 2 | "name": "@qx/form-render", |
3 | - "version": "0.0.18", | 3 | + "version": "0.0.28", |
4 | "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成", | 4 | "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成", |
5 | "repository": { | 5 | "repository": { |
6 | "type": "git", | 6 | "type": "git", |