uepay-mesh 3.0.12 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,8 @@ var _submitBtn = _interopRequireDefault(require("./options/submitBtn"));
21
21
 
22
22
  var _insertBtn = _interopRequireDefault(require("./options/insertBtn"));
23
23
 
24
+ var _deleteBtn = _interopRequireDefault(require("./options/deleteBtn"));
25
+
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
27
 
26
28
  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); }
@@ -68,7 +70,8 @@ const Classic = {
68
70
  Back: 'Back',
69
71
  Rollback: 'Rollback',
70
72
  Submit: 'Submit',
71
- Insert: 'Insert'
73
+ Insert: 'Insert',
74
+ Delete: 'Delete'
72
75
  };
73
76
  exports.Classic = Classic;
74
77
  const BtnComp = {
@@ -102,6 +105,7 @@ const BtnComp = {
102
105
  },
103
106
  Insert: _insertBtn.default,
104
107
  Submit: _submitBtn.default,
108
+ Delete: _deleteBtn.default,
105
109
  Rollback: class Rollback extends Btn {
106
110
  constructor() {
107
111
  super(...arguments);
@@ -148,6 +152,16 @@ const BtnComp = {
148
152
  }
149
153
  };
150
154
 
155
+ const getOptionsValue = opts => {
156
+ let opt = null,
157
+ del = null;
158
+ del = _serverEnums.OptionsFlag.DEL === (_serverEnums.OptionsFlag.DEL & options);
159
+ return {
160
+ opt,
161
+ del
162
+ };
163
+ };
164
+
151
165
  const processState = (deliverAuth, collect, state) => {
152
166
  const {
153
167
  options
@@ -156,36 +170,32 @@ const processState = (deliverAuth, collect, state) => {
156
170
  opts = options === (options & deliverAuth) ? options : deliverAuth;
157
171
  let btns = {};
158
172
 
159
- switch (opts) {
160
- //设置按钮权限
161
- case _serverEnums.OptionsFlag.ADD:
162
- btns = {
163
- Insert: BtnComp.Insert,
164
- Submit: BtnComp.Submit,
165
- Rollback: BtnComp.Rollback,
166
- Cancel: BtnComp.Cancel,
167
- Back: BtnComp.Back,
168
- Add: BtnComp.Add,
169
- Edit: BtnComp.Edit
170
- };
171
- break;
172
-
173
- case _serverEnums.OptionsFlag.EDIT:
174
- btns = {
175
- Submit: BtnComp.Submit,
176
- Rollback: BtnComp.Rollback,
177
- Cancel: BtnComp.Cancel,
178
- Edit: BtnComp.Edit,
179
- Back: BtnComp.Back
180
- };
181
- break;
173
+ if (_serverEnums.OptionsFlag.ADD === (_serverEnums.OptionsFlag.ADD & opts)) {
174
+ btns = {
175
+ Insert: BtnComp.Insert,
176
+ Submit: BtnComp.Submit,
177
+ Rollback: BtnComp.Rollback,
178
+ Cancel: BtnComp.Cancel,
179
+ Back: BtnComp.Back,
180
+ Add: BtnComp.Add,
181
+ Edit: BtnComp.Edit
182
+ };
183
+ } else if (_serverEnums.OptionsFlag.EDIT === (_serverEnums.OptionsFlag.EDIT & opts)) {
184
+ btns = {
185
+ Submit: BtnComp.Submit,
186
+ Rollback: BtnComp.Rollback,
187
+ Cancel: BtnComp.Cancel,
188
+ Edit: BtnComp.Edit,
189
+ Back: BtnComp.Back
190
+ };
191
+ } else {
192
+ btns = {
193
+ Back: BtnComp.Back
194
+ };
195
+ }
182
196
 
183
- case _serverEnums.OptionsFlag.QUERY:
184
- default:
185
- btns = {
186
- Back: BtnComp.Back
187
- };
188
- break;
197
+ if (_serverEnums.OptionsFlag.DEL === (_serverEnums.OptionsFlag.DEL & opts)) {
198
+ btns.Delete = BtnComp.Delete;
189
199
  }
190
200
 
191
201
  switch (state) {
@@ -196,6 +206,7 @@ const processState = (deliverAuth, collect, state) => {
196
206
  delete btns.Back;
197
207
  delete btns.Add;
198
208
  delete btns.Edit;
209
+ delete btns.Delete;
199
210
  break;
200
211
 
201
212
  case _serverEnums.OptionsState.EDIT:
@@ -203,6 +214,7 @@ const processState = (deliverAuth, collect, state) => {
203
214
  delete btns.Add;
204
215
  delete btns.Edit;
205
216
  delete btns.Back;
217
+ delete btns.Delete;
206
218
  break;
207
219
 
208
220
  case _serverEnums.OptionsState.VIEW:
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ require("core-js/modules/web.dom.iterable.js");
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -13,12 +15,35 @@ var _standardForm = _interopRequireDefault(require("./standardForm"));
13
15
 
14
16
  var _viewCellItem = _interopRequireDefault(require("./item/viewCellItem"));
15
17
 
18
+ var _antd = require("antd");
19
+
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
21
 
18
22
  /**
19
23
  * 表單視圖
20
24
  */
21
25
  class StandardViewForm extends _standardForm.default {
26
+ beginSubmit() {
27
+ const {
28
+ fieldList
29
+ } = this.props.collect,
30
+ {
31
+ data
32
+ } = this.props,
33
+ retData = [];
34
+
35
+ for (let column of fieldList) {
36
+ const value = data[column.label];
37
+ retData.push({
38
+ label: column.label,
39
+ origin: value,
40
+ value
41
+ });
42
+ }
43
+
44
+ return retData;
45
+ }
46
+
22
47
  endSubmit() {}
23
48
 
24
49
  render() {
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+
3
+ interface Props {}
4
+
5
+ /**
6
+ * 用于覆盖Collect的承接页面
7
+ */
8
+ declare class CollectEntry extends React.Component<Props> {}
9
+ export default CollectEntry
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _formQueryAbleTable = _interopRequireDefault(require("../table/formQueryAbleTable"));
11
+
12
+ var _uepayOps = require("uepay-ops2");
13
+
14
+ var _tool = require("uepay-ops2/lib/util/tool");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ /**
19
+ *
20
+ */
21
+ class CollectEntry extends _react.default.Component {
22
+ static getInitialProps(_ref) {
23
+ let {
24
+ query
25
+ } = _ref;
26
+
27
+ if (query) {
28
+ return {
29
+ mesh: query.mesh
30
+ };
31
+ } else {
32
+ return {};
33
+ }
34
+ }
35
+
36
+ render() {
37
+ const {
38
+ mesh
39
+ } = this.props,
40
+ {
41
+ id,
42
+ type,
43
+ flag
44
+ } = (0, _tool.decodeMeshPath)(mesh);
45
+ return /*#__PURE__*/_react.default.createElement(_formQueryAbleTable.default, {
46
+ deliverAuth: flag,
47
+ host: (0, _uepayOps.getHost)(),
48
+ collectId: id
49
+ });
50
+ }
51
+
52
+ }
53
+
54
+ var _default = CollectEntry;
55
+ exports.default = _default;
@@ -21,6 +21,8 @@ var _formBridging = _interopRequireDefault(require("./queryAbleTable/formBridgin
21
21
 
22
22
  var _excelBridging = _interopRequireDefault(require("./queryAbleTable/excelBridging"));
23
23
 
24
+ var _serverEnums = require("../config/serverEnums");
25
+
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
27
 
26
28
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -120,6 +122,7 @@ FormQueryAbleTable.propTypes = _objectSpread({}, _queryAbleTable.default.propTyp
120
122
  FormQueryAbleTable.defaultProps = _objectSpread(_objectSpread({}, _queryAbleTable.default.defaultProps), {}, {
121
123
  options: {
122
124
  add: true,
125
+ multiple: true,
123
126
  search: true,
124
127
  setting: true,
125
128
  excel: true,
@@ -23,6 +23,8 @@ var _queryAbleTableContext = require("./context/queryAbleTableContext");
23
23
 
24
24
  var _serverEnums = require("../config/serverEnums");
25
25
 
26
+ var _remove = require("../crud/remove");
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
29
 
28
30
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -171,6 +173,40 @@ class QueryAbleTable extends _react.default.Component {
171
173
 
172
174
  _defineProperty(this, "handleExcel", () => {});
173
175
 
176
+ _defineProperty(this, "handleBatchDelete", records => {
177
+ const {
178
+ host
179
+ } = this.props,
180
+ {
181
+ collect,
182
+ collectId
183
+ } = this,
184
+ _this = this;
185
+
186
+ _this.setState({
187
+ loading: true
188
+ });
189
+
190
+ (0, _remove.removeRecords)({
191
+ host,
192
+ collect,
193
+ collectId,
194
+ records,
195
+ bpm: {
196
+ isDraft: false
197
+ },
198
+ handle: (state, msg, sucPkList) => {
199
+ if ('SUC' === state) {
200
+ _this.flush();
201
+ } else {}
202
+
203
+ _this.setState({
204
+ loading: false
205
+ });
206
+ }
207
+ });
208
+ });
209
+
174
210
  _defineProperty(this, "flush", () => {
175
211
  this.tableDom.conditionSearch();
176
212
  });
@@ -341,6 +377,7 @@ class QueryAbleTable extends _react.default.Component {
341
377
  this.tableDom = dom;
342
378
  },
343
379
  deliverAuth: deliverAuth,
380
+ collectId: this.collectId,
344
381
  collect: this.collect,
345
382
  columns: fieldList,
346
383
  options: options,
@@ -350,6 +387,7 @@ class QueryAbleTable extends _react.default.Component {
350
387
  loading: loading,
351
388
  result: result,
352
389
  actionColumn: this.getActionColumn(),
390
+ onBatchDelete: this.handleBatchDelete,
353
391
  onAction: this.handleAction,
354
392
  pkLabel: pkName
355
393
  });
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("core-js/modules/web.dom.iterable.js");
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _uepayOps = require("uepay-ops2");
13
+
14
+ var _serverEnums = require("../../../config/serverEnums");
15
+
16
+ var _antd = require("antd");
17
+
18
+ var _DeleteOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons/DeleteOutlined"));
19
+
20
+ var _remove = require("../../../crud/remove");
21
+
22
+ var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons/LoadingOutlined"));
23
+
24
+ var _queryAbleTableContext = require("../../context/queryAbleTableContext");
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ const icon = /*#__PURE__*/_react.default.createElement(_LoadingOutlined.default, {
33
+ style: {
34
+ fontSize: 16
35
+ },
36
+ spin: true
37
+ });
38
+ /**
39
+ *
40
+ * @param collectId
41
+ * @param collect
42
+ * @param pkColumn
43
+ * @param deliverAuth
44
+ * @param text
45
+ * @param record
46
+ * @return {*}
47
+ * @constructor
48
+ */
49
+
50
+
51
+ function DeleteRow(_ref) {
52
+ let {
53
+ collectId,
54
+ collect,
55
+ pkColumn,
56
+ deliverAuth,
57
+ text,
58
+ record
59
+ } = _ref;
60
+ return /*#__PURE__*/_react.default.createElement(_queryAbleTableContext.Consumer, null, function (_ref2) {
61
+ let {
62
+ flush
63
+ } = _ref2;
64
+ return /*#__PURE__*/_react.default.createElement(DeleteOptions, {
65
+ collectId: collectId,
66
+ collect: collect,
67
+ pkColumn: pkColumn,
68
+ deliverAuth: deliverAuth,
69
+ flush: flush,
70
+ text: text,
71
+ record: record
72
+ });
73
+ });
74
+ }
75
+
76
+ var _default = DeleteRow;
77
+ exports.default = _default;
78
+ const ERR = {
79
+ color: 'red'
80
+ };
81
+
82
+ function DeleteOptions(_ref3) {
83
+ let {
84
+ collectId,
85
+ collect,
86
+ pkColumn,
87
+ deliverAuth,
88
+ flush,
89
+ text,
90
+ record
91
+ } = _ref3;
92
+ const {
93
+ options
94
+ } = collect,
95
+ [loading, setLoading] = (0, _react.useState)(false),
96
+ [err, setErr] = (0, _react.useState)(false);
97
+
98
+ function handleSubmit() {
99
+ setLoading(true);
100
+ (0, _remove.removeRecords)({
101
+ host: (0, _uepayOps.getHost)(),
102
+ collect,
103
+ collectId,
104
+ records: [record],
105
+ bpm: {
106
+ isDraft: false
107
+ },
108
+ //TODO 刪除暫時不考慮流程
109
+ handle: handleResult
110
+ });
111
+ }
112
+
113
+ function handleResult(state, msg, sucPkList) {
114
+ if ('SUC' === state) {
115
+ flush();
116
+ } else {
117
+ setErr(true);
118
+ }
119
+
120
+ setLoading(false);
121
+ }
122
+
123
+ return _serverEnums.OptionsFlag.DEL === (deliverAuth & _serverEnums.OptionsFlag.DEL) && _serverEnums.OptionsFlag.DEL === (options & _serverEnums.OptionsFlag.DEL) ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Divider, {
124
+ type: "vertical"
125
+ }), loading ? /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("a", null, /*#__PURE__*/_react.default.createElement(_antd.Spin, {
126
+ indicator: icon
127
+ }))) : /*#__PURE__*/_react.default.createElement(_antd.Popconfirm, {
128
+ title: "刪除後將無法恢復,確認刪除該行數據?",
129
+ onConfirm: handleSubmit,
130
+ okText: "\u786E\u8BA4",
131
+ cancelText: "\u53D6\u6D88"
132
+ }, /*#__PURE__*/_react.default.createElement("a", null, /*#__PURE__*/_react.default.createElement("span", {
133
+ style: err ? ERR : {}
134
+ }, /*#__PURE__*/_react.default.createElement(_DeleteOutlined.default, null))))) : null;
135
+ }
@@ -13,7 +13,9 @@ var _antd = require("antd");
13
13
 
14
14
  var _serverEnums = require("../../config/serverEnums");
15
15
 
16
- var _optionsFormQueryAbleTableContext = require("../context/optionsFormQueryAbleTableContext");
16
+ var _DeleteOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons/DeleteOutlined"));
17
+
18
+ var _deleteRow = _interopRequireDefault(require("./actionColumnForm/deleteRow"));
17
19
 
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
@@ -23,6 +25,7 @@ const {
23
25
  } = _antd.Table;
24
26
  /**
25
27
  *
28
+ * @param collectId 数据集ID,如果是预览模式该值不存在
26
29
  * @param collect
27
30
  * @param pkColumn
28
31
  * @param deliverAuth {Number} 传递权限
@@ -33,6 +36,7 @@ const {
33
36
 
34
37
  const actionColumnForm = _ref => {
35
38
  let {
39
+ collectId,
36
40
  collect,
37
41
  pkColumn,
38
42
  deliverAuth,
@@ -49,13 +53,20 @@ const actionColumnForm = _ref => {
49
53
  onClick: () => {
50
54
  onAction(_serverEnums.OptionsState.VIEW, record[pkColumn.label], record, text);
51
55
  }
52
- }, /*#__PURE__*/_react.default.createElement("a", null, /*#__PURE__*/_react.default.createElement(_icons.EyeOutlined, null))), deliverAuth >= _serverEnums.OptionsFlag.EDIT && options >= _serverEnums.OptionsFlag.EDIT && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Divider, {
56
+ }, /*#__PURE__*/_react.default.createElement("a", null, /*#__PURE__*/_react.default.createElement(_icons.EyeOutlined, null))), _serverEnums.OptionsFlag.EDIT === (deliverAuth & _serverEnums.OptionsFlag.EDIT) && _serverEnums.OptionsFlag.EDIT === (options & _serverEnums.OptionsFlag.EDIT) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Divider, {
53
57
  type: "vertical"
54
58
  }), /*#__PURE__*/_react.default.createElement("span", {
55
59
  onClick: () => {
56
60
  onAction(_serverEnums.OptionsState.EDIT, record[pkColumn.label], record, text);
57
61
  }
58
- }, /*#__PURE__*/_react.default.createElement("a", null, /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null)))));
62
+ }, /*#__PURE__*/_react.default.createElement("a", null, /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null)))), /*#__PURE__*/_react.default.createElement(_deleteRow.default, {
63
+ collectId: collectId,
64
+ collect: collect,
65
+ text: text,
66
+ record: record,
67
+ deliverAuth: deliverAuth,
68
+ pkColumn: pkColumn
69
+ }));
59
70
  }
60
71
  });
61
72
  };
@@ -25,6 +25,10 @@ var _ClearOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons
25
25
 
26
26
  var _withReduxSearch = require("../../hoc/withReduxSearch");
27
27
 
28
+ var _OrderedListOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons/OrderedListOutlined"));
29
+
30
+ var _multiOptions = _interopRequireDefault(require("./tableOptons/multiOptions"));
31
+
28
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
33
 
30
34
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -80,11 +84,13 @@ const initOptions = collectId => {
80
84
  return retOptions;
81
85
  };
82
86
  /**
87
+ * @param props.multiple
83
88
  * @param props.reduxSearch {ReduxSearch}
84
89
  * @param props.onSearch {Function}
85
90
  * @param props.deliverAuth {Number} 授权权限
86
91
  * @param props.collect {Object} 数据集对象
87
92
  * @param props.columns {Array} 已经过滤的列表显示字段
93
+ * @param props.onMultiple {Function} (multiVisible)=>{是否激活多选}
88
94
  * @param props.onModify {Function} (options:{tableSize, columnRelation, pageSize, excludeKeys})=>{}
89
95
  * @example options:{
90
96
  * excel: 显示Excel操作框
@@ -159,6 +165,14 @@ class TableOptions extends _react.default.Component {
159
165
  });
160
166
  });
161
167
 
168
+ _defineProperty(this, "handleMultiple", () => {
169
+ this.props.onMultiple(true);
170
+ });
171
+
172
+ _defineProperty(this, "handleMultipleCancel", () => {
173
+ this.props.onMultiple(false);
174
+ });
175
+
162
176
  _defineProperty(this, "handleAddFile", () => {
163
177
  this.props.onAction(_serverEnums.OptionsState.ADD);
164
178
  });
@@ -184,8 +198,27 @@ class TableOptions extends _react.default.Component {
184
198
  };
185
199
  }
186
200
 
201
+ /**
202
+ * 检查是否具有新增权限
203
+ * @param opt
204
+ * @param auth
205
+ * @param deliverAuth
206
+ * @return {*|boolean}
207
+ */
187
208
  static checkAddAuth(opt, auth, deliverAuth) {
188
- return opt && deliverAuth >= _serverEnums.OptionsFlag.ADD && auth >= _serverEnums.OptionsFlag.ADD;
209
+ return opt && deliverAuth >= _serverEnums.OptionsFlag.ADD && _serverEnums.OptionsFlag.ADD === (auth & _serverEnums.OptionsFlag.ADD);
210
+ }
211
+ /**
212
+ * 检查是否具有删除权限
213
+ * @param opt
214
+ * @param auth
215
+ * @param deliverAuth
216
+ * @return {*|boolean}
217
+ */
218
+
219
+
220
+ static checkDeleteAuth(opt, auth, deliverAuth) {
221
+ return opt && deliverAuth >= _serverEnums.OptionsFlag.DEL && _serverEnums.OptionsFlag.DEL === (auth & _serverEnums.OptionsFlag.DEL);
189
222
  }
190
223
 
191
224
  render() {
@@ -197,16 +230,26 @@ class TableOptions extends _react.default.Component {
197
230
  excludeKeys
198
231
  } = this.state,
199
232
  {
233
+ loading,
200
234
  collect,
201
235
  columns,
202
236
  options,
203
237
  deliverAuth,
204
- reduxSearch
238
+ multiple,
239
+ reduxSearch,
240
+ onMultiDelete
205
241
  } = this.props;
206
- return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(ButtonGroup, null, options.excel && /*#__PURE__*/_react.default.createElement(_antd.Button, {
242
+ return /*#__PURE__*/_react.default.createElement("span", null, multiple ? /*#__PURE__*/_react.default.createElement(_multiOptions.default, {
243
+ loading: loading,
244
+ onBatchCancel: this.handleMultipleCancel,
245
+ onBatchDelete: onMultiDelete
246
+ }) : /*#__PURE__*/_react.default.createElement(ButtonGroup, null, options.excel && /*#__PURE__*/_react.default.createElement(_antd.Button, {
207
247
  icon: /*#__PURE__*/_react.default.createElement(_icons.FileExcelOutlined, null),
208
248
  onClick: this.props.onExcel
209
- }, "Excel"), TableOptions.checkAddAuth(options.add, collect.options, deliverAuth) && /*#__PURE__*/_react.default.createElement(_antd.Button, {
249
+ }, "Excel"), TableOptions.checkDeleteAuth(options.multiple, collect.options, deliverAuth) && /*#__PURE__*/_react.default.createElement(_antd.Button, {
250
+ icon: /*#__PURE__*/_react.default.createElement(_OrderedListOutlined.default, null),
251
+ onClick: this.handleMultiple
252
+ }, "\u591A\u9078"), TableOptions.checkAddAuth(options.add, collect.options, deliverAuth) && /*#__PURE__*/_react.default.createElement(_antd.Button, {
210
253
  icon: /*#__PURE__*/_react.default.createElement(_icons.PlusOutlined, null),
211
254
  onClick: this.handleAddFile
212
255
  }, "\u65B0\u589E"), options.search && /*#__PURE__*/_react.default.createElement(_antd.Button, {
@@ -260,8 +303,12 @@ class TableOptions extends _react.default.Component {
260
303
  }
261
304
 
262
305
  TableOptions.propTypes = {
306
+ loading: _propTypes.default.bool,
263
307
  collect: _propTypes.default.object.isRequired,
264
308
  options: _propTypes.default.object.isRequired,
309
+ multiple: _propTypes.default.bool.isRequired,
310
+ onMultiDelete: _propTypes.default.func.isRequired,
311
+ onMultiple: _propTypes.default.func.isRequired,
265
312
  onSearch: _propTypes.default.func.isRequired,
266
313
  onModify: _propTypes.default.func.isRequired,
267
314
  onExcel: _propTypes.default.func,
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _antd = require("antd");
11
+
12
+ var _DeleteOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons/DeleteOutlined"));
13
+
14
+ var _RollbackOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons/RollbackOutlined"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const ButtonGroup = _antd.Button.Group;
19
+
20
+ function MultiOptions(_ref) {
21
+ let {
22
+ loading,
23
+ onBatchDelete,
24
+ onBatchCancel
25
+ } = _ref;
26
+ return /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_antd.Popconfirm, {
27
+ title: "\u5220\u9664\u540E\u6570\u636E\u5C07\u7121\u6CD5\u6062\u5FA9\uFF0C\u78BA\u8A8D\u522A\u9664?",
28
+ onConfirm: onBatchDelete
29
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
30
+ loading: loading,
31
+ icon: /*#__PURE__*/_react.default.createElement(_DeleteOutlined.default, null)
32
+ }, "\u522A\u9664")), /*#__PURE__*/_react.default.createElement(_antd.Popconfirm, {
33
+ title: "\u4FEE\u6539\u6578\u64DA\u5C1A\u672A\u63D0\u4EA4\uFF0C\u78BA\u8A8D\u53D6\u6D88?",
34
+ onConfirm: onBatchCancel
35
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
36
+ loading: loading,
37
+ icon: /*#__PURE__*/_react.default.createElement(_RollbackOutlined.default, null)
38
+ }, "\u53D6\u6D88")));
39
+ }
40
+
41
+ var _default = MultiOptions;
42
+ exports.default = _default;
@@ -56,6 +56,12 @@ export interface Options {
56
56
  }
57
57
 
58
58
  interface Props {
59
+
60
+ /**
61
+ * 数据集ID
62
+ */
63
+ collectId?: number;
64
+
59
65
  /**
60
66
  * 传递权限
61
67
  */