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; | |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -2,18 +2,26 @@ import "antd/es/table/style"; |
| 2 | 2 | import _Table from "antd/es/table"; |
| 3 | 3 | import "antd/es/alert/style"; |
| 4 | 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 | 10 | import "antd/es/input/style"; |
| 8 | 11 | import _Input from "antd/es/input"; |
| 9 | 12 | import _SearchOutlined from "@ant-design/icons/es/icons/SearchOutlined"; |
| 10 | 13 | import _CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined"; |
| 11 | 14 | import _CheckOutlined from "@ant-design/icons/es/icons/CheckOutlined"; |
| 15 | +import "antd/es/message/style"; | |
| 16 | +import _message from "antd/es/message"; | |
| 12 | 17 | import "antd/es/tooltip/style"; |
| 13 | 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 | 22 | import "antd/es/button/style"; |
| 15 | 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 | 25 | import _SelectOutlined from "@ant-design/icons/es/icons/SelectOutlined"; |
| 18 | 26 | import _ExpandAltOutlined from "@ant-design/icons/es/icons/ExpandAltOutlined"; |
| 19 | 27 | import _EditOutlined from "@ant-design/icons/es/icons/EditOutlined"; |
| ... | ... | @@ -25,7 +33,7 @@ import _ImportOutlined from "@ant-design/icons/es/icons/ImportOutlined"; |
| 25 | 33 | import _ExportOutlined from "@ant-design/icons/es/icons/ExportOutlined"; |
| 26 | 34 | import "antd/es/modal/style"; |
| 27 | 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 | 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 | 55 | |
| 48 | 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 | 60 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 51 | 61 | |
| 52 | 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 | 87 | EyeOutlined: /*#__PURE__*/React.createElement(_EyeOutlined, null), |
| 78 | 88 | EditOutlined: /*#__PURE__*/React.createElement(_EditOutlined, null), |
| 79 | 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 | 93 | var FIELD_LENGTH = 170; |
| 83 | 94 | var EXPORT_STATUS = { |
| ... | ... | @@ -113,10 +124,11 @@ var VirtualList = function VirtualList(_ref) { |
| 113 | 124 | fieldName = schema.fieldName, |
| 114 | 125 | _schema$qxProps = schema.qxProps, |
| 115 | 126 | qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, |
| 116 | - subformMode = schema.subformMode; | |
| 127 | + subformMode = schema.subformMode, | |
| 128 | + pageType = schema.pageType; | |
| 117 | 129 | |
| 118 | 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 | 132 | _summary = props.summary, |
| 121 | 133 | batchKey = props.batchKey, |
| 122 | 134 | type = props.type, |
| ... | ... | @@ -126,6 +138,7 @@ var VirtualList = function VirtualList(_ref) { |
| 126 | 138 | line = _props$line === void 0 ? {} : _props$line, |
| 127 | 139 | searchKey = props.searchKey, |
| 128 | 140 | rowSelection = props.rowSelection, |
| 141 | + size = props.size, | |
| 129 | 142 | rest = _objectWithoutProperties(props, _excluded); |
| 130 | 143 | |
| 131 | 144 | var _useVT = useVT(function () { |
| ... | ... | @@ -171,6 +184,9 @@ var VirtualList = function VirtualList(_ref) { |
| 171 | 184 | searchName = _useState12[0], |
| 172 | 185 | setSearchName = _useState12[1]; |
| 173 | 186 | |
| 187 | + var padding = useMemo(function () { | |
| 188 | + return size === 'default' ? 32 : 16; | |
| 189 | + }, [size]); | |
| 174 | 190 | var newRowSelection = useMemo(function () { |
| 175 | 191 | var _bar$buttons; |
| 176 | 192 | |
| ... | ... | @@ -196,9 +212,10 @@ var VirtualList = function VirtualList(_ref) { |
| 196 | 212 | return _rowSelection; |
| 197 | 213 | }, [rowSelection, selectedRowKeys, bar]); |
| 198 | 214 | useEffect(function () { |
| 199 | - console.log(displayList); | |
| 200 | 215 | displayList.forEach(function (item, index) { |
| 201 | - item.orginIdx = index; | |
| 216 | + if (_typeof(item) === 'object') { | |
| 217 | + item.orginIdx = index; | |
| 218 | + } | |
| 202 | 219 | }); |
| 203 | 220 | }, [displayList]); |
| 204 | 221 | var _displayList = []; // 筛选展示的数据 |
| ... | ... | @@ -248,33 +265,39 @@ var VirtualList = function VirtualList(_ref) { |
| 248 | 265 | index: item.hasOwnProperty('orginIdx') ? item.orginIdx : idx |
| 249 | 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 | 286 | var pagination = useMemo(function () { |
| 252 | 287 | return { |
| 253 | 288 | total: dataSource.length, |
| 254 | 289 | position: ['bottomRight'], |
| 255 | 290 | pageSize: 10, |
| 256 | 291 | showTotal: function showTotal(total) { |
| 257 | - return "\u5171".concat(total, "\u6761\u8BB0\u5F55"); | |
| 292 | + return handleTotal(total); | |
| 258 | 293 | }, |
| 259 | 294 | defaultCurrent: 1, |
| 260 | 295 | size: 'default' |
| 261 | 296 | }; |
| 262 | 297 | }, [dataSource]); |
| 263 | 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 | 302 | if (props.originWidget === 'relSelector') { |
| 280 | 303 | ['IMPORT'].forEach(function (code) { |
| ... | ... | @@ -309,17 +332,65 @@ var VirtualList = function VirtualList(_ref) { |
| 309 | 332 | } |
| 310 | 333 | |
| 311 | 334 | if (props.originWidget === 'relSelector' && subformMode && type !== 'view') { |
| 312 | - _barButtons.push({ | |
| 335 | + _barButtons.unshift({ | |
| 313 | 336 | code: 'subformEdit', |
| 314 | 337 | icon: 'EditOutlined', |
| 315 | 338 | batch: true, |
| 316 | 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 | 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 | 394 | var columns = useMemo(function () { |
| 324 | 395 | return children.map(function (child, index) { |
| 325 | 396 | var _schema$props2; |
| ... | ... | @@ -342,12 +413,12 @@ var VirtualList = function VirtualList(_ref) { |
| 342 | 413 | var column = ((_schema$props2 = schema.props) === null || _schema$props2 === void 0 ? void 0 : _schema$props2.column) || {}; |
| 343 | 414 | return { |
| 344 | 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 | 417 | align: column.align || 'left', |
| 347 | 418 | fixed: column.fixed || props.fixed && index < props.fixed, |
| 348 | 419 | title: /*#__PURE__*/React.createElement("div", { |
| 349 | 420 | style: { |
| 350 | - width: (parseInt(column.width) || FIELD_LENGTH) + "px" | |
| 421 | + width: (parseInt(column.width) || FIELD_LENGTH) - padding + "px" | |
| 351 | 422 | } |
| 352 | 423 | }, schema.required ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", { |
| 353 | 424 | className: "fr-label-required" |
| ... | ... | @@ -382,6 +453,10 @@ var VirtualList = function VirtualList(_ref) { |
| 382 | 453 | |
| 383 | 454 | var handleState = function handleState(record, code, originWidget) { |
| 384 | 455 | if (originWidget === 'subform') { |
| 456 | + if (code === 'COPY' && !record.id) { | |
| 457 | + return 'none'; | |
| 458 | + } | |
| 459 | + | |
| 385 | 460 | return ''; |
| 386 | 461 | } else { |
| 387 | 462 | switch (code) { |
| ... | ... | @@ -398,33 +473,42 @@ var VirtualList = function VirtualList(_ref) { |
| 398 | 473 | return ''; |
| 399 | 474 | |
| 400 | 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 | 482 | var top = line.top, |
| 408 | 483 | _line$style = line.style, |
| 409 | 484 | style = _line$style === void 0 ? 'ICON' : _line$style, |
| 410 | 485 | fixed = line.fixed, |
| 411 | 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 | 512 | title: '操作', |
| 429 | 513 | key: '$action', |
| 430 | 514 | fixed: fixed ? top ? 'left' : 'right' : props.originWidget === 'subform' ? 'right' : false, |
| ... | ... | @@ -492,9 +576,10 @@ var VirtualList = function VirtualList(_ref) { |
| 492 | 576 | if (code === 'DELETE' && props.originWidget === 'subform') { |
| 493 | 577 | deleteItem(idx); |
| 494 | 578 | } else if (code === 'REMOVE') { |
| 495 | - deleteItem(idx); | |
| 579 | + deleteItem(record.orginIdx); | |
| 580 | + props.handleLineBtnClick(code, record, schema.$id); | |
| 496 | 581 | } else if (code === 'COPY') { |
| 497 | - copyItem(idx); | |
| 582 | + copyItem(record.orginIdx); | |
| 498 | 583 | } else if (item.action === 'CUSTOM') { |
| 499 | 584 | props.handleCustom(item, record, schema.$id); |
| 500 | 585 | } else { |
| ... | ... | @@ -507,9 +592,10 @@ var VirtualList = function VirtualList(_ref) { |
| 507 | 592 | if (code === 'DELETE' && props.originWidget === 'subform') { |
| 508 | 593 | deleteItem(idx); |
| 509 | 594 | } else if (code === 'REMOVE') { |
| 510 | - deleteItem(idx); | |
| 595 | + deleteItem(record.orginIdx); | |
| 596 | + props.handleLineBtnClick(code, record, schema.$id); | |
| 511 | 597 | } else if (code === 'COPY') { |
| 512 | - copyItem(idx); | |
| 598 | + copyItem(record.orginIdx); | |
| 513 | 599 | } else if (item.action === 'CUSTOM') { |
| 514 | 600 | props.handleCustom(item, record, schema.$id); |
| 515 | 601 | } else { |
| ... | ... | @@ -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 | 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 | 613 | } else { |
| 528 | 614 | var div = document.createElement('div'); |
| 529 | 615 | div.style.position = 'absolute'; |
| ... | ... | @@ -531,17 +617,17 @@ var VirtualList = function VirtualList(_ref) { |
| 531 | 617 | div.style.fontSize = '14px'; |
| 532 | 618 | window.document.body.appendChild(div); |
| 533 | 619 | var leng = 0; |
| 534 | - buttons.map(function (item) { | |
| 620 | + line.buttons.map(function (item) { | |
| 535 | 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 | 625 | div.remove(); |
| 540 | 626 | } |
| 541 | 627 | |
| 542 | 628 | if (columns.findIndex(function (item) { |
| 543 | 629 | return item.key === '$action'; |
| 544 | - }) === -1) { | |
| 630 | + }) === -1 && len > 0 && action.title) { | |
| 545 | 631 | if (top) { |
| 546 | 632 | columns.unshift(action); |
| 547 | 633 | } else { |
| ... | ... | @@ -561,9 +647,9 @@ var VirtualList = function VirtualList(_ref) { |
| 561 | 647 | "percent": 0, |
| 562 | 648 | "status": "PROCESSING" |
| 563 | 649 | }); |
| 564 | - queryParams = { | |
| 650 | + queryParams = _defineProperty({ | |
| 565 | 651 | dataId: props.dataId |
| 566 | - }; | |
| 652 | + }, searchKey, keyWord); | |
| 567 | 653 | appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; |
| 568 | 654 | _context.next = 5; |
| 569 | 655 | return props.exportChild(appCode, funCode, fieldName, queryParams); |
| ... | ... | @@ -594,7 +680,8 @@ var VirtualList = function VirtualList(_ref) { |
| 594 | 680 | var exportData = function exportData(taskId) { |
| 595 | 681 | // const {appCode, funCode, viewCode} = qxProps |
| 596 | 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 | 685 | setProgressData(res || null); |
| 599 | 686 | }); |
| 600 | 687 | }; |
| ... | ... | @@ -680,6 +767,68 @@ var VirtualList = function VirtualList(_ref) { |
| 680 | 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 | 832 | return /*#__PURE__*/React.createElement(React.Fragment, null, props.editable ? isSubCanEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, { |
| 684 | 833 | type: 'text', |
| 685 | 834 | size: "small", |
| ... | ... | @@ -725,7 +874,7 @@ var VirtualList = function VirtualList(_ref) { |
| 725 | 874 | |
| 726 | 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 | 878 | var name = item.name, |
| 730 | 879 | code = item.code, |
| 731 | 880 | needConfirm = item.needConfirm, |
| ... | ... | @@ -738,55 +887,18 @@ var VirtualList = function VirtualList(_ref) { |
| 738 | 887 | marginLeft: 8 |
| 739 | 888 | } |
| 740 | 889 | }, item, { |
| 741 | - icon: icon ? BUTTON_ICONS_MAP[icon] : null, | |
| 890 | + icon: icon && bar.style !== 'TEXT' ? BUTTON_ICONS_MAP[icon] : null, | |
| 742 | 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 | 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 | 902 | var callback = item.callback, |
| 791 | 903 | text = item.text, |
| 792 | 904 | html = item.html; |
| ... | ... | @@ -841,10 +953,10 @@ var VirtualList = function VirtualList(_ref) { |
| 841 | 953 | x: '100%' |
| 842 | 954 | }, |
| 843 | 955 | components: vt, |
| 844 | - size: "small", | |
| 956 | + size: size || 'small', | |
| 845 | 957 | columns: columns, |
| 846 | 958 | dataSource: dataSource, |
| 847 | - pagination: props.originWidget === 'subform' ? false : pagination, | |
| 959 | + pagination: pagination, | |
| 848 | 960 | style: { |
| 849 | 961 | marginBottom: 25 |
| 850 | 962 | }, |
| ... | ... | @@ -887,7 +999,7 @@ function _handleDownload() { |
| 887 | 999 | switch (_context2.prev = _context2.next) { |
| 888 | 1000 | case 0: |
| 889 | 1001 | // eslint-disable-next-line prefer-rest-params |
| 890 | - isDownload = _args2[2]; | |
| 1002 | + isDownload = _args2[3]; | |
| 891 | 1003 | |
| 892 | 1004 | if (isDownload === null || Boolean(isDownload)) { |
| 893 | 1005 | _message.warning('即将开始下载,请勿重复点击。'); | ... | ... |
| ... | ... | @@ -28,6 +28,7 @@ import CardList from './CardList'; |
| 28 | 28 | import TableList from './TableList'; |
| 29 | 29 | import DrawerList from './DrawerList'; |
| 30 | 30 | import VirtualList from './VirtualList'; |
| 31 | +import ListForMobile from "./ListForMobile"; | |
| 31 | 32 | |
| 32 | 33 | var RenderList = function RenderList(_ref) { |
| 33 | 34 | var parentId = _ref.parentId, |
| ... | ... | @@ -70,16 +71,19 @@ var RenderList = function RenderList(_ref) { |
| 70 | 71 | }; |
| 71 | 72 | |
| 72 | 73 | var addItem = function addItem() { |
| 73 | - var newList = [].concat(_toConsumableArray(displayList), [{}]); | |
| 74 | + var newList = [].concat(_toConsumableArray(displayList), [{ | |
| 75 | + _active: true | |
| 76 | + }]); | |
| 74 | 77 | var newIndex = newList.length - 1; |
| 75 | 78 | onItemChange(dataPath, newList); |
| 76 | 79 | return newIndex; |
| 77 | 80 | }; |
| 78 | 81 | |
| 79 | 82 | var copyItem = function copyItem(idx) { |
| 80 | - var newItem = displayList[idx]; | |
| 83 | + var newItem = _.cloneDeep(displayList[idx]); | |
| 84 | + | |
| 81 | 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 | 87 | onItemChange(dataPath, JSON.parse(JSON.stringify(newList))); |
| 84 | 88 | }; |
| 85 | 89 | |
| ... | ... | @@ -192,6 +196,9 @@ var RenderList = function RenderList(_ref) { |
| 192 | 196 | case 'virtualList': |
| 193 | 197 | return /*#__PURE__*/React.createElement(VirtualList, displayProps); |
| 194 | 198 | |
| 199 | + case 'listForMobile': | |
| 200 | + return /*#__PURE__*/React.createElement(ListForMobile, displayProps); | |
| 201 | + | |
| 195 | 202 | default: |
| 196 | 203 | return /*#__PURE__*/React.createElement(CardList, displayProps); |
| 197 | 204 | } | ... | ... |
| 1 | 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 | 4 | margin-bottom: 8px; |
| 6 | 5 | position: relative; |
| 7 | 6 | display: flex; |
| ... | ... | @@ -50,3 +49,51 @@ |
| 50 | 49 | .rowReverse { |
| 51 | 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; | |
| \ No newline at end of file | ... | ... |
| 1 | 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 | 3 | Object.defineProperty(exports, "__esModule", { |
| 6 | 4 | value: true |
| 7 | 5 | }); |
| ... | ... | @@ -15,9 +13,15 @@ require("antd/es/alert/style"); |
| 15 | 13 | |
| 16 | 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 | 26 | require("antd/es/input/style"); |
| 23 | 27 | |
| ... | ... | @@ -29,15 +33,25 @@ var _CloseOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icon |
| 29 | 33 | |
| 30 | 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 | 40 | require("antd/es/tooltip/style"); |
| 33 | 41 | |
| 34 | 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 | 50 | require("antd/es/button/style"); |
| 37 | 51 | |
| 38 | 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 | 56 | var _SelectOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/SelectOutlined")); |
| 43 | 57 | |
| ... | ... | @@ -67,7 +81,7 @@ var _index2 = _interopRequireDefault(require("../../index")); |
| 67 | 81 | |
| 68 | 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 | 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 | 109 | |
| 96 | 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 | 114 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 99 | 115 | |
| 100 | 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 | 137 | EyeOutlined: /*#__PURE__*/_react.default.createElement(_EyeOutlined2.default, null), |
| 122 | 138 | EditOutlined: /*#__PURE__*/_react.default.createElement(_EditOutlined2.default, null), |
| 123 | 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 | 143 | var FIELD_LENGTH = 170; |
| 127 | 144 | var EXPORT_STATUS = { |
| ... | ... | @@ -157,10 +174,11 @@ var VirtualList = function VirtualList(_ref) { |
| 157 | 174 | fieldName = schema.fieldName, |
| 158 | 175 | _schema$qxProps = schema.qxProps, |
| 159 | 176 | qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, |
| 160 | - subformMode = schema.subformMode; | |
| 177 | + subformMode = schema.subformMode, | |
| 178 | + pageType = schema.pageType; | |
| 161 | 179 | |
| 162 | 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 | 182 | _summary = props.summary, |
| 165 | 183 | batchKey = props.batchKey, |
| 166 | 184 | type = props.type, |
| ... | ... | @@ -170,6 +188,7 @@ var VirtualList = function VirtualList(_ref) { |
| 170 | 188 | line = _props$line === void 0 ? {} : _props$line, |
| 171 | 189 | searchKey = props.searchKey, |
| 172 | 190 | rowSelection = props.rowSelection, |
| 191 | + size = props.size, | |
| 173 | 192 | rest = _objectWithoutProperties(props, _excluded); |
| 174 | 193 | |
| 175 | 194 | var _useVT = (0, _virtualizedtableforantd.useVT)(function () { |
| ... | ... | @@ -215,6 +234,9 @@ var VirtualList = function VirtualList(_ref) { |
| 215 | 234 | searchName = _useState12[0], |
| 216 | 235 | setSearchName = _useState12[1]; |
| 217 | 236 | |
| 237 | + var padding = (0, _react.useMemo)(function () { | |
| 238 | + return size === 'default' ? 32 : 16; | |
| 239 | + }, [size]); | |
| 218 | 240 | var newRowSelection = (0, _react.useMemo)(function () { |
| 219 | 241 | var _bar$buttons; |
| 220 | 242 | |
| ... | ... | @@ -240,9 +262,10 @@ var VirtualList = function VirtualList(_ref) { |
| 240 | 262 | return _rowSelection; |
| 241 | 263 | }, [rowSelection, selectedRowKeys, bar]); |
| 242 | 264 | (0, _react.useEffect)(function () { |
| 243 | - console.log(displayList); | |
| 244 | 265 | displayList.forEach(function (item, index) { |
| 245 | - item.orginIdx = index; | |
| 266 | + if (_typeof(item) === 'object') { | |
| 267 | + item.orginIdx = index; | |
| 268 | + } | |
| 246 | 269 | }); |
| 247 | 270 | }, [displayList]); |
| 248 | 271 | var _displayList = []; // 筛选展示的数据 |
| ... | ... | @@ -292,34 +315,40 @@ var VirtualList = function VirtualList(_ref) { |
| 292 | 315 | index: item.hasOwnProperty('orginIdx') ? item.orginIdx : idx |
| 293 | 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 | 336 | var pagination = (0, _react.useMemo)(function () { |
| 296 | 337 | return { |
| 297 | 338 | total: dataSource.length, |
| 298 | 339 | position: ['bottomRight'], |
| 299 | 340 | pageSize: 10, |
| 300 | 341 | showTotal: function showTotal(total) { |
| 301 | - return "\u5171".concat(total, "\u6761\u8BB0\u5F55"); | |
| 342 | + return handleTotal(total); | |
| 302 | 343 | }, |
| 303 | 344 | defaultCurrent: 1, |
| 304 | 345 | size: 'default' |
| 305 | 346 | }; |
| 306 | 347 | }, [dataSource]); |
| 307 | 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 | 352 | if (props.originWidget === 'relSelector') { |
| 324 | 353 | ['IMPORT'].forEach(function (code) { |
| 325 | 354 | var _index = _barButtons.findIndex(function (item) { |
| ... | ... | @@ -353,17 +382,67 @@ var VirtualList = function VirtualList(_ref) { |
| 353 | 382 | } |
| 354 | 383 | |
| 355 | 384 | if (props.originWidget === 'relSelector' && subformMode && type !== 'view') { |
| 356 | - _barButtons.push({ | |
| 385 | + _barButtons.unshift({ | |
| 357 | 386 | code: 'subformEdit', |
| 358 | 387 | icon: 'EditOutlined', |
| 359 | 388 | batch: true, |
| 360 | 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 | 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 | 446 | var columns = (0, _react.useMemo)(function () { |
| 368 | 447 | return children.map(function (child, index) { |
| 369 | 448 | var _schema$props2; |
| ... | ... | @@ -386,12 +465,12 @@ var VirtualList = function VirtualList(_ref) { |
| 386 | 465 | var column = ((_schema$props2 = schema.props) === null || _schema$props2 === void 0 ? void 0 : _schema$props2.column) || {}; |
| 387 | 466 | return { |
| 388 | 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 | 469 | align: column.align || 'left', |
| 391 | 470 | fixed: column.fixed || props.fixed && index < props.fixed, |
| 392 | 471 | title: /*#__PURE__*/_react.default.createElement("div", { |
| 393 | 472 | style: { |
| 394 | - width: (parseInt(column.width) || FIELD_LENGTH) + "px" | |
| 473 | + width: (parseInt(column.width) || FIELD_LENGTH) - padding + "px" | |
| 395 | 474 | } |
| 396 | 475 | }, schema.required ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { |
| 397 | 476 | className: "fr-label-required" |
| ... | ... | @@ -426,6 +505,10 @@ var VirtualList = function VirtualList(_ref) { |
| 426 | 505 | |
| 427 | 506 | var handleState = function handleState(record, code, originWidget) { |
| 428 | 507 | if (originWidget === 'subform') { |
| 508 | + if (code === 'COPY' && !record.id) { | |
| 509 | + return 'none'; | |
| 510 | + } | |
| 511 | + | |
| 429 | 512 | return ''; |
| 430 | 513 | } else { |
| 431 | 514 | switch (code) { |
| ... | ... | @@ -442,33 +525,42 @@ var VirtualList = function VirtualList(_ref) { |
| 442 | 525 | return ''; |
| 443 | 526 | |
| 444 | 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 | 534 | var top = line.top, |
| 452 | 535 | _line$style = line.style, |
| 453 | 536 | style = _line$style === void 0 ? 'ICON' : _line$style, |
| 454 | 537 | fixed = line.fixed, |
| 455 | 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 | 564 | title: '操作', |
| 473 | 565 | key: '$action', |
| 474 | 566 | fixed: fixed ? top ? 'left' : 'right' : props.originWidget === 'subform' ? 'right' : false, |
| ... | ... | @@ -536,9 +628,10 @@ var VirtualList = function VirtualList(_ref) { |
| 536 | 628 | if (code === 'DELETE' && props.originWidget === 'subform') { |
| 537 | 629 | deleteItem(idx); |
| 538 | 630 | } else if (code === 'REMOVE') { |
| 539 | - deleteItem(idx); | |
| 631 | + deleteItem(record.orginIdx); | |
| 632 | + props.handleLineBtnClick(code, record, schema.$id); | |
| 540 | 633 | } else if (code === 'COPY') { |
| 541 | - copyItem(idx); | |
| 634 | + copyItem(record.orginIdx); | |
| 542 | 635 | } else if (item.action === 'CUSTOM') { |
| 543 | 636 | props.handleCustom(item, record, schema.$id); |
| 544 | 637 | } else { |
| ... | ... | @@ -551,9 +644,10 @@ var VirtualList = function VirtualList(_ref) { |
| 551 | 644 | if (code === 'DELETE' && props.originWidget === 'subform') { |
| 552 | 645 | deleteItem(idx); |
| 553 | 646 | } else if (code === 'REMOVE') { |
| 554 | - deleteItem(idx); | |
| 647 | + deleteItem(record.orginIdx); | |
| 648 | + props.handleLineBtnClick(code, record, schema.$id); | |
| 555 | 649 | } else if (code === 'COPY') { |
| 556 | - copyItem(idx); | |
| 650 | + copyItem(record.orginIdx); | |
| 557 | 651 | } else if (item.action === 'CUSTOM') { |
| 558 | 652 | props.handleCustom(item, record, schema.$id); |
| 559 | 653 | } else { |
| ... | ... | @@ -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 | 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 | 665 | } else { |
| 572 | 666 | var div = document.createElement('div'); |
| 573 | 667 | div.style.position = 'absolute'; |
| ... | ... | @@ -575,17 +669,17 @@ var VirtualList = function VirtualList(_ref) { |
| 575 | 669 | div.style.fontSize = '14px'; |
| 576 | 670 | window.document.body.appendChild(div); |
| 577 | 671 | var leng = 0; |
| 578 | - buttons.map(function (item) { | |
| 672 | + line.buttons.map(function (item) { | |
| 579 | 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 | 677 | div.remove(); |
| 584 | 678 | } |
| 585 | 679 | |
| 586 | 680 | if (columns.findIndex(function (item) { |
| 587 | 681 | return item.key === '$action'; |
| 588 | - }) === -1) { | |
| 682 | + }) === -1 && len > 0 && action.title) { | |
| 589 | 683 | if (top) { |
| 590 | 684 | columns.unshift(action); |
| 591 | 685 | } else { |
| ... | ... | @@ -605,9 +699,9 @@ var VirtualList = function VirtualList(_ref) { |
| 605 | 699 | "percent": 0, |
| 606 | 700 | "status": "PROCESSING" |
| 607 | 701 | }); |
| 608 | - queryParams = { | |
| 702 | + queryParams = _defineProperty({ | |
| 609 | 703 | dataId: props.dataId |
| 610 | - }; | |
| 704 | + }, searchKey, keyWord); | |
| 611 | 705 | appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; |
| 612 | 706 | _context.next = 5; |
| 613 | 707 | return props.exportChild(appCode, funCode, fieldName, queryParams); |
| ... | ... | @@ -638,7 +732,8 @@ var VirtualList = function VirtualList(_ref) { |
| 638 | 732 | var exportData = function exportData(taskId) { |
| 639 | 733 | // const {appCode, funCode, viewCode} = qxProps |
| 640 | 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 | 737 | setProgressData(res || null); |
| 643 | 738 | }); |
| 644 | 739 | }; |
| ... | ... | @@ -724,6 +819,68 @@ var VirtualList = function VirtualList(_ref) { |
| 724 | 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 | 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 | 885 | type: 'text', |
| 729 | 886 | size: "small", |
| ... | ... | @@ -769,7 +926,7 @@ var VirtualList = function VirtualList(_ref) { |
| 769 | 926 | |
| 770 | 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 | 930 | var name = item.name, |
| 774 | 931 | code = item.code, |
| 775 | 932 | needConfirm = item.needConfirm, |
| ... | ... | @@ -782,55 +939,18 @@ var VirtualList = function VirtualList(_ref) { |
| 782 | 939 | marginLeft: 8 |
| 783 | 940 | } |
| 784 | 941 | }, item, { |
| 785 | - icon: icon ? BUTTON_ICONS_MAP[icon] : null, | |
| 942 | + icon: icon && bar.style !== 'TEXT' ? BUTTON_ICONS_MAP[icon] : null, | |
| 786 | 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 | 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 | 954 | var callback = item.callback, |
| 835 | 955 | text = item.text, |
| 836 | 956 | html = item.html; |
| ... | ... | @@ -885,10 +1005,10 @@ var VirtualList = function VirtualList(_ref) { |
| 885 | 1005 | x: '100%' |
| 886 | 1006 | }, |
| 887 | 1007 | components: vt, |
| 888 | - size: "small", | |
| 1008 | + size: size || 'small', | |
| 889 | 1009 | columns: columns, |
| 890 | 1010 | dataSource: dataSource, |
| 891 | - pagination: props.originWidget === 'subform' ? false : pagination, | |
| 1011 | + pagination: pagination, | |
| 892 | 1012 | style: { |
| 893 | 1013 | marginBottom: 25 |
| 894 | 1014 | }, |
| ... | ... | @@ -931,7 +1051,7 @@ function _handleDownload() { |
| 931 | 1051 | switch (_context2.prev = _context2.next) { |
| 932 | 1052 | case 0: |
| 933 | 1053 | // eslint-disable-next-line prefer-rest-params |
| 934 | - isDownload = _args2[2]; | |
| 1054 | + isDownload = _args2[3]; | |
| 935 | 1055 | |
| 936 | 1056 | if (isDownload === null || Boolean(isDownload)) { |
| 937 | 1057 | _message2.default.warning('即将开始下载,请勿重复点击。'); | ... | ... |
| ... | ... | @@ -25,6 +25,8 @@ var _DrawerList = _interopRequireDefault(require("./DrawerList")); |
| 25 | 25 | |
| 26 | 26 | var _VirtualList = _interopRequireDefault(require("./VirtualList")); |
| 27 | 27 | |
| 28 | +var _ListForMobile = _interopRequireDefault(require("./ListForMobile")); | |
| 29 | + | |
| 28 | 30 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| 29 | 31 | |
| 30 | 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 | 88 | }; |
| 87 | 89 | |
| 88 | 90 | var addItem = function addItem() { |
| 89 | - var newList = [].concat(_toConsumableArray(displayList), [{}]); | |
| 91 | + var newList = [].concat(_toConsumableArray(displayList), [{ | |
| 92 | + _active: true | |
| 93 | + }]); | |
| 90 | 94 | var newIndex = newList.length - 1; |
| 91 | 95 | onItemChange(dataPath, newList); |
| 92 | 96 | return newIndex; |
| 93 | 97 | }; |
| 94 | 98 | |
| 95 | 99 | var copyItem = function copyItem(idx) { |
| 96 | - var newItem = displayList[idx]; | |
| 100 | + var newItem = _.cloneDeep(displayList[idx]); | |
| 101 | + | |
| 97 | 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 | 104 | onItemChange(dataPath, JSON.parse(JSON.stringify(newList))); |
| 100 | 105 | }; |
| 101 | 106 | |
| ... | ... | @@ -208,6 +213,9 @@ var RenderList = function RenderList(_ref) { |
| 208 | 213 | case 'virtualList': |
| 209 | 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 | 219 | default: |
| 212 | 220 | return /*#__PURE__*/_react.default.createElement(_CardList.default, displayProps); |
| 213 | 221 | } | ... | ... |
| 1 | 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 | 4 | margin-bottom: 8px; |
| 6 | 5 | position: relative; |
| 7 | 6 | display: flex; |
| ... | ... | @@ -50,3 +49,51 @@ |
| 50 | 49 | .rowReverse { |
| 51 | 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 | +} | ... | ... |