@tddc/assign-modal 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,6 +25,8 @@ Object.defineProperty(exports, '__esModule', {
25
25
  exports.default = void 0;
26
26
  require('antd/lib/checkbox/style');
27
27
  var _checkbox = _interopRequireDefault(require('antd/lib/checkbox'));
28
+ require('antd/lib/input/style');
29
+ var _input = _interopRequireDefault(require('antd/lib/input'));
28
30
  require('antd/lib/tree/style');
29
31
  var _tree = _interopRequireDefault(require('antd/lib/tree'));
30
32
  var _react = _interopRequireWildcard(require('react'));
@@ -162,6 +164,7 @@ function _arrayWithHoles(arr) {
162
164
  if (Array.isArray(arr)) return arr;
163
165
  }
164
166
  var TreeNode = _tree.default.TreeNode;
167
+ var Search = _input.default.Search;
165
168
  var path = []; // 上级机构到当前机构的路径
166
169
 
167
170
  var AssignModal = function AssignModal(props) {
@@ -175,18 +178,32 @@ var AssignModal = function AssignModal(props) {
175
178
  onChange = props.onChange,
176
179
  orgTitle = props.orgTitle,
177
180
  appTitle = props.appTitle,
181
+ userTitle = props.userTitle,
178
182
  orgCheckboxTitle = props.orgCheckboxTitle,
179
- appCheckboxTitle = props.appCheckboxTitle;
183
+ appCheckboxTitle = props.appCheckboxTitle,
184
+ userCheckboxTitle = props.userCheckboxTitle,
185
+ _props$userList = props.userList,
186
+ userList = _props$userList === void 0 ? [] : _props$userList,
187
+ showUser = props.showUser;
180
188
  var _dataItem$appCodes = dataItem.appCodes,
181
189
  appCodes = _dataItem$appCodes === void 0 ? [] : _dataItem$appCodes,
182
190
  _dataItem$orgCodes = dataItem.orgCodes,
183
191
  orgCodes = _dataItem$orgCodes === void 0 ? [] : _dataItem$orgCodes,
184
192
  orgCode = dataItem.orgCode,
185
- appCode = dataItem.appCode;
193
+ appCode = dataItem.appCode,
194
+ _dataItem$accounts = dataItem.accounts,
195
+ accounts = _dataItem$accounts === void 0 ? [] : _dataItem$accounts,
196
+ account = dataItem.account;
186
197
  var allOrg = (0, _utils.preorder)(orgList[0]);
187
198
  var allApp = appList.map(function (item) {
188
199
  return item.value;
189
200
  });
201
+ var allUser =
202
+ (userList === null || userList === void 0
203
+ ? void 0
204
+ : userList.map(function (item) {
205
+ return item.account;
206
+ })) || [];
190
207
  var _useState = (0, _react.useState)([]),
191
208
  _useState2 = _slicedToArray(_useState, 2),
192
209
  checkedKeys = _useState2[0],
@@ -195,14 +212,26 @@ var AssignModal = function AssignModal(props) {
195
212
  _useState4 = _slicedToArray(_useState3, 2),
196
213
  appKeys = _useState4[0],
197
214
  setAppKeys = _useState4[1];
198
- var _useState5 = (0, _react.useState)(false),
215
+ var _useState5 = (0, _react.useState)(accounts || []),
199
216
  _useState6 = _slicedToArray(_useState5, 2),
200
- allOrgChecked = _useState6[0],
201
- setAllOrgChecked = _useState6[1];
217
+ userKeys = _useState6[0],
218
+ setUserKeys = _useState6[1];
202
219
  var _useState7 = (0, _react.useState)(false),
203
220
  _useState8 = _slicedToArray(_useState7, 2),
204
- allAppChecked = _useState8[0],
205
- setAllAppChecked = _useState8[1];
221
+ allOrgChecked = _useState8[0],
222
+ setAllOrgChecked = _useState8[1];
223
+ var _useState9 = (0, _react.useState)(false),
224
+ _useState10 = _slicedToArray(_useState9, 2),
225
+ allAppChecked = _useState10[0],
226
+ setAllAppChecked = _useState10[1];
227
+ var _useState11 = (0, _react.useState)(false),
228
+ _useState12 = _slicedToArray(_useState11, 2),
229
+ allUserChecked = _useState12[0],
230
+ setAllUserChecked = _useState12[1];
231
+ var _useState13 = (0, _react.useState)(),
232
+ _useState14 = _slicedToArray(_useState13, 2),
233
+ filterUser = _useState14[0],
234
+ setFilterUser = _useState14[1];
206
235
  if (!((_orgList$ = orgList[0]) === null || _orgList$ === void 0 ? void 0 : _orgList$.path)) {
207
236
  (0, _utils.addPath)(orgList[0], []); // 添加 上级机构到子机构的路径
208
237
  }
@@ -213,6 +242,7 @@ var AssignModal = function AssignModal(props) {
213
242
  path = (0, _utils.findSameCodePath)(orgList[0], orgCode);
214
243
  var initOrgs = [];
215
244
  var initApps = [];
245
+ var initAccounts = [];
216
246
  if (orgCodes.includes('all')) {
217
247
  setAllOrgChecked(orgCodes.includes('all'));
218
248
  initOrgs = allOrg;
@@ -227,20 +257,31 @@ var AssignModal = function AssignModal(props) {
227
257
  } else {
228
258
  initApps = Array.from(new Set([].concat(_toConsumableArray(appCodes || []), [appCode])));
229
259
  }
260
+ if (showUser) {
261
+ if (accounts.includes('all')) {
262
+ setAllUserChecked(true);
263
+ initAccounts = allUser;
264
+ } else {
265
+ initAccounts = Array.from(
266
+ new Set([].concat(_toConsumableArray(accounts || []), [account])),
267
+ );
268
+ }
269
+ }
230
270
  setCheckedKeys(initOrgs);
231
271
  setAppKeys(initApps || []);
232
- console.log({
233
- initApps: initApps,
234
- });
272
+ setUserKeys(initAccounts || []);
235
273
  onChange &&
236
274
  onChange({
237
275
  appKeys: appCodes.includes('all') ? ['all'] : initApps,
238
276
  checkedKeys: orgCodes.includes('all') ? ['all'] : initOrgs,
277
+ userKeys: accounts.includes('all') ? ['all'] : initAccounts,
239
278
  appCheckAll: appCodes.includes('all'),
240
279
  orgCheckAll: orgCodes.includes('all'),
280
+ userCheckAll: accounts.includes('all'),
241
281
  checkData: {
242
282
  apps: initApps,
243
283
  orgs: initOrgs,
284
+ accounts: initAccounts,
244
285
  },
245
286
  });
246
287
  },
@@ -314,9 +355,12 @@ var AssignModal = function AssignModal(props) {
314
355
  checkedKeys: checked,
315
356
  appCheckAll: allAppChecked,
316
357
  orgCheckAll: allOrgChecked,
358
+ userKeys: allUserChecked ? ['all'] : userKeys,
359
+ userCheckAll: allUserChecked,
317
360
  checkData: {
318
361
  apps: appKeys,
319
362
  orgs: checked,
363
+ accounts: userKeys,
320
364
  },
321
365
  });
322
366
  };
@@ -341,9 +385,42 @@ var AssignModal = function AssignModal(props) {
341
385
  checkedKeys: allOrgChecked ? ['all'] : checkedKeys,
342
386
  appCheckAll: allAppChecked,
343
387
  orgCheckAll: allOrgChecked,
388
+ userKeys: allUserChecked ? ['all'] : userKeys,
389
+ userCheckAll: allUserChecked,
344
390
  checkData: {
345
391
  apps: newAppKeys,
346
392
  orgs: checkedKeys,
393
+ accounts: userKeys,
394
+ },
395
+ });
396
+ };
397
+ var assignUser = function assignUser(e) {
398
+ var value = '';
399
+ var newUserKeys = [];
400
+ if (e.target.checked) {
401
+ value = e.target.value;
402
+ newUserKeys = [].concat(_toConsumableArray(userKeys), [value]);
403
+ } else {
404
+ value = e.target.value;
405
+ newUserKeys = (0, _lodash.cloneDeep)(userKeys);
406
+ newUserKeys.map(function (item, index) {
407
+ if (value === item) {
408
+ newUserKeys.splice(index, 1);
409
+ }
410
+ });
411
+ }
412
+ setUserKeys(newUserKeys);
413
+ onChange({
414
+ appKeys: appKeys,
415
+ checkedKeys: allOrgChecked ? ['all'] : checkedKeys,
416
+ appCheckAll: allAppChecked,
417
+ orgCheckAll: allOrgChecked,
418
+ userKeys: userKeys,
419
+ userCheckAll: allUserChecked,
420
+ checkData: {
421
+ apps: appKeys,
422
+ orgs: checkedKeys,
423
+ accounts: newUserKeys,
347
424
  },
348
425
  });
349
426
  };
@@ -360,9 +437,12 @@ var AssignModal = function AssignModal(props) {
360
437
  checkedKeys: ['all'],
361
438
  appCheckAll: allAppChecked,
362
439
  orgCheckAll: true,
440
+ userKeys: allUserChecked ? ['all'] : userKeys,
441
+ userCheckAll: allUserChecked,
363
442
  checkData: {
364
443
  apps: appKeys,
365
444
  orgs: checkedKeys,
445
+ accounts: accounts,
366
446
  },
367
447
  });
368
448
  } else {
@@ -377,9 +457,12 @@ var AssignModal = function AssignModal(props) {
377
457
  checkedKeys: orgChecks,
378
458
  appCheckAll: allAppChecked,
379
459
  orgCheckAll: false,
460
+ userKeys: allUserChecked ? ['all'] : userKeys,
461
+ userCheckAll: allUserChecked,
380
462
  checkData: {
381
463
  apps: appKeys,
382
464
  orgs: orgChecks,
465
+ accounts: accounts,
383
466
  },
384
467
  });
385
468
  }
@@ -399,9 +482,12 @@ var AssignModal = function AssignModal(props) {
399
482
  checkedKeys: allOrgChecked ? ['all'] : checkedKeys,
400
483
  appCheckAll: true,
401
484
  orgCheckAll: allOrgChecked,
485
+ userKeys: allUserChecked ? ['all'] : userKeys,
486
+ userCheckAll: allUserChecked,
402
487
  checkData: {
403
488
  apps: appChecks,
404
489
  orgs: checkedKeys,
490
+ accounts: accounts,
405
491
  },
406
492
  });
407
493
  } else {
@@ -414,13 +500,65 @@ var AssignModal = function AssignModal(props) {
414
500
  checkedKeys: allOrgChecked ? ['all'] : checkedKeys,
415
501
  appCheckAll: false,
416
502
  orgCheckAll: allOrgChecked,
503
+ userKeys: allUserChecked ? ['all'] : userKeys,
504
+ userCheckAll: allUserChecked,
417
505
  checkData: {
418
506
  apps: appChecks,
419
507
  orgs: checkedKeys,
508
+ accounts: accounts,
509
+ },
510
+ });
511
+ }
512
+ };
513
+
514
+ // account全局授权
515
+ var checkedAllUser = function checkedAllUser(e) {
516
+ var userChecks = [];
517
+ if (e.target.checked) {
518
+ setAllUserChecked(true);
519
+ userChecks = userList.map(function (item) {
520
+ return item.account;
521
+ });
522
+ setUserKeys(userChecks);
523
+ onChange({
524
+ appKeys: allAppChecked ? ['all'] : appKeys,
525
+ appCheckAll: allAppChecked,
526
+ checkedKeys: allOrgChecked ? ['all'] : checkedKeys,
527
+ orgCheckAll: allOrgChecked,
528
+ userKeys: ['all'],
529
+ userCheckAll: true,
530
+ checkData: {
531
+ apps: appKeys,
532
+ orgs: checkedKeys,
533
+ accounts: userChecks,
534
+ },
535
+ });
536
+ } else {
537
+ setAllUserChecked(false);
538
+ var arr = accounts.includes('all') ? allUser : accounts;
539
+ userChecks = Array.from(new Set([].concat(_toConsumableArray(arr || []), [account])));
540
+ setUserKeys(userChecks);
541
+ onChange({
542
+ appKeys: allAppChecked ? ['all'] : appKeys,
543
+ appCheckAll: allAppChecked,
544
+ checkedKeys: allOrgChecked ? ['all'] : checkedKeys,
545
+ orgCheckAll: allOrgChecked,
546
+ userKeys: userChecks,
547
+ userCheckAll: false,
548
+ checkData: {
549
+ apps: appKeys,
550
+ orgs: checkedKeys,
551
+ accounts: userChecks,
420
552
  },
421
553
  });
422
554
  }
423
555
  };
556
+ var debouncedSearch = (0, _react.useCallback)(
557
+ (0, _lodash.debounce)(function (nextValue) {
558
+ setFilterUser(nextValue);
559
+ }, 200),
560
+ [],
561
+ );
424
562
  return /*#__PURE__*/ _react.default.createElement(
425
563
  'div',
426
564
  {
@@ -545,6 +683,139 @@ var AssignModal = function AssignModal(props) {
545
683
  }),
546
684
  ),
547
685
  ),
686
+ !!showUser &&
687
+ /*#__PURE__*/ _react.default.createElement(
688
+ 'div',
689
+ {
690
+ className: 'user',
691
+ },
692
+ /*#__PURE__*/ _react.default.createElement(
693
+ 'div',
694
+ {
695
+ className: 'menu-header',
696
+ },
697
+ userTitle ||
698
+ (0, _locale.getText)(
699
+ 'authorizesUserList',
700
+ props === null || props === void 0 ? void 0 : props.lang,
701
+ ),
702
+ /*#__PURE__*/ _react.default.createElement(
703
+ 'div',
704
+ {
705
+ className: 'menu-all-checked',
706
+ },
707
+ /*#__PURE__*/ _react.default.createElement(
708
+ _checkbox.default,
709
+ {
710
+ onChange: checkedAllUser,
711
+ checked: allUserChecked,
712
+ disabled: disabled,
713
+ },
714
+ userCheckboxTitle ||
715
+ (0, _locale.getText)(
716
+ 'allUserAvailable',
717
+ props === null || props === void 0 ? void 0 : props.lang,
718
+ ),
719
+ ),
720
+ ),
721
+ ),
722
+ /*#__PURE__*/ _react.default.createElement(
723
+ 'div',
724
+ {
725
+ className: 'menu-body',
726
+ },
727
+ /*#__PURE__*/ _react.default.createElement(
728
+ 'div',
729
+ {
730
+ className: 'assign-search-wrap',
731
+ },
732
+ /*#__PURE__*/ _react.default.createElement(Search, {
733
+ size: 'small',
734
+ allowClear: true,
735
+ placeholder: (0, _locale.getText)(
736
+ 'search',
737
+ props === null || props === void 0 ? void 0 : props.lang,
738
+ ),
739
+ onChange: function onChange(e) {
740
+ debouncedSearch(e.target.value);
741
+ },
742
+ onSearch: function onSearch(v) {
743
+ setFilterUser(v);
744
+ },
745
+ style: {
746
+ width: '90%',
747
+ },
748
+ }),
749
+ ),
750
+ userList === null || userList === void 0
751
+ ? void 0
752
+ : userList
753
+ .filter(function (item) {
754
+ if (filterUser) {
755
+ var _item$account, _item$userName;
756
+ return (
757
+ (item === null || item === void 0
758
+ ? void 0
759
+ : (_item$account = item.account) === null || _item$account === void 0
760
+ ? void 0
761
+ : _item$account
762
+ .toLocaleLowerCase()
763
+ .includes(
764
+ filterUser === null || filterUser === void 0
765
+ ? void 0
766
+ : filterUser.toLocaleLowerCase(),
767
+ )) ||
768
+ (item === null || item === void 0
769
+ ? void 0
770
+ : (_item$userName = item.userName) === null || _item$userName === void 0
771
+ ? void 0
772
+ : _item$userName
773
+ .toLocaleLowerCase()
774
+ .includes(
775
+ filterUser === null || filterUser === void 0
776
+ ? void 0
777
+ : filterUser.toLocaleLowerCase(),
778
+ ))
779
+ );
780
+ } else {
781
+ return item;
782
+ }
783
+ })
784
+ .map(function (item, index) {
785
+ var isCheck =
786
+ userKeys === null || userKeys === void 0
787
+ ? void 0
788
+ : userKeys.includes(item.account);
789
+ var isOwnAccount = account === item.account;
790
+ return /*#__PURE__*/ _react.default.createElement(
791
+ 'div',
792
+ null,
793
+ /*#__PURE__*/ _react.default.createElement(
794
+ _checkbox.default,
795
+ {
796
+ checked: isCheck,
797
+ disabled: disabled || isOwnAccount || allUserChecked,
798
+ onChange: assignUser,
799
+ value: item.account,
800
+ key: index,
801
+ },
802
+ /*#__PURE__*/ _react.default.createElement(
803
+ 'span',
804
+ {
805
+ style: {
806
+ display: 'inline-block',
807
+ },
808
+ },
809
+ /*#__PURE__*/ _react.default.createElement(_tntd.Ellipsis, {
810
+ widthLimit: 240,
811
+ title: item.userName,
812
+ }),
813
+ ),
814
+ ),
815
+ );
816
+ }),
817
+ ),
818
+ ),
548
819
  );
549
820
  };
550
821
  var _default = AssignModal;
@@ -15,7 +15,7 @@
15
15
 
16
16
  .left {
17
17
  position: relative;
18
- z-index: 1;
18
+ z-index: 3;
19
19
  width: 430px;
20
20
  background: #ffffff;
21
21
  box-shadow: 0px 0px 6px 0px rgba(58, 48, 48, 0.12);
@@ -66,6 +66,7 @@
66
66
  }
67
67
 
68
68
  .right {
69
+ z-index: 2;
69
70
  flex: 1;
70
71
  overflow: scroll;
71
72
  background: #fcfcfc;
@@ -77,4 +78,22 @@
77
78
  }
78
79
  }
79
80
  }
81
+
82
+ .user {
83
+ position: relative;
84
+ z-index: 1;
85
+ width: 320px;
86
+ overflow: auto;
87
+ background: #ffffff;
88
+ box-shadow: 0px 0px 6px 0px rgba(58, 48, 48, 0.12);
89
+ .menu-body {
90
+ margin: 20px;
91
+ .ant-checkbox-wrapper {
92
+ margin: 0 4px !important;
93
+ }
94
+ }
95
+ }
96
+ .assign-search-wrap {
97
+ margin: -8px 0 10px 0;
98
+ }
80
99
  }
@@ -44,6 +44,8 @@ var _excluded = [
44
44
  'title',
45
45
  'onSubmit',
46
46
  'appList',
47
+ 'userList',
48
+ 'showUser',
47
49
  ];
48
50
  function _getRequireWildcardCache(nodeInterop) {
49
51
  if (typeof WeakMap !== 'function') return null;
@@ -205,6 +207,8 @@ var AssignModal = function AssignModal(props) {
205
207
  title = _props$title === void 0 ? '' : _props$title,
206
208
  onSubmit = props.onSubmit,
207
209
  appList = props.appList,
210
+ userList = props.userList,
211
+ showUser = props.showUser,
208
212
  restProps = _objectWithoutProperties(props, _excluded);
209
213
  var _useState = (0, _react.useState)({}),
210
214
  _useState2 = _slicedToArray(_useState, 2),
@@ -222,7 +226,7 @@ var AssignModal = function AssignModal(props) {
222
226
  className: 'modelTool-assign',
223
227
  title: title,
224
228
  visible: visible,
225
- width: '65%',
229
+ width: showUser ? '80%' : '65%',
226
230
  onCancel: close,
227
231
  onOk: submit,
228
232
  maskClosable: false,
@@ -238,6 +242,7 @@ var AssignModal = function AssignModal(props) {
238
242
  dataItem: dataItem,
239
243
  orgList: orgList,
240
244
  appList: appList,
245
+ userList: userList,
241
246
  onChange: function onChange(data) {
242
247
  setAssignData(data);
243
248
  },
@@ -246,6 +251,7 @@ var AssignModal = function AssignModal(props) {
246
251
  (props === null || props === void 0 ? void 0 : props.lang) ||
247
252
  cookies.get('lang') ||
248
253
  'cn',
254
+ showUser: showUser,
249
255
  },
250
256
  restProps,
251
257
  ),
package/lib/locale.js CHANGED
@@ -10,17 +10,23 @@ function _interopRequireDefault(obj) {
10
10
  }
11
11
  var cookies = new _universalCookie.default();
12
12
  var zh_CN = {
13
- authorizesOrgList: '授权可用机构列表',
14
- allOrgAvailable: '全部机构可用',
15
- authorizesAppList: '授权可用渠道列表',
16
- allAppAvailable: '全部渠道可用',
13
+ authorizesOrgList: '机构列表',
14
+ allOrgAvailable: '全部机构',
15
+ authorizesAppList: '渠道列表',
16
+ allAppAvailable: '全部渠道',
17
+ authorizesUserList: '用户列表',
18
+ allUserAvailable: '全部用户',
19
+ search: '查询',
17
20
  };
18
21
  exports.zh_CN = zh_CN;
19
22
  var en_US = {
20
- authorizesOrgList: 'Authorizes the list of organization available',
21
- allOrgAvailable: 'All organization are available',
22
- authorizesAppList: 'Authorizes the list of application available',
23
- allAppAvailable: 'All application are available',
23
+ authorizesOrgList: 'Organization List',
24
+ allOrgAvailable: 'All Organizations',
25
+ authorizesAppList: 'Channel List',
26
+ allAppAvailable: 'All Channels',
27
+ authorizesUserList: 'Account List',
28
+ allUserAvailable: 'All Accounts',
29
+ search: 'Search',
24
30
  };
25
31
  exports.en_US = en_US;
26
32
  var getText = function getText(key, language) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tddc/assign-modal",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "Layout",
5
5
  "author": "zj <jun.zhang002383@tongdun.net>",
6
6
  "license": "ISC",