@zgfe/modules-settings 1.2.11 → 1.2.13

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.
Files changed (47) hide show
  1. package/es/components/settingTabs/index.less +3 -0
  2. package/es/constants/api.d.ts +2 -1
  3. package/es/constants/api.js +2 -1
  4. package/es/constants/icons/demo.css +0 -0
  5. package/es/constants/icons/demo_index.html +0 -0
  6. package/es/constants/icons/iconfont.css +0 -0
  7. package/es/constants/icons/iconfont.js +0 -0
  8. package/es/constants/icons/iconfont.json +0 -0
  9. package/es/constants/icons/iconfont.ttf +0 -0
  10. package/es/constants/icons/iconfont.woff +0 -0
  11. package/es/constants/icons/iconfont.woff2 +0 -0
  12. package/es/modules/appSettings/demo/index.d.ts +3 -1
  13. package/es/modules/appSettings/demo/index.js +16 -12
  14. package/es/modules/appSettings/index.js +6 -7
  15. package/es/modules/appSettings/member/index.js +75 -82
  16. package/es/modules/appSettings/member/index.less +4 -1
  17. package/es/modules/appSettings/member/modal.js +1 -1
  18. package/es/modules/companySetting/appList/index.js +23 -20
  19. package/es/modules/companySetting/appList/index.less +22 -0
  20. package/es/modules/companySetting/cost/index.less +7 -0
  21. package/es/modules/companySetting/demo.js +3 -4
  22. package/es/modules/companySetting/department/index.js +104 -46
  23. package/es/modules/companySetting/department/index.less +57 -4
  24. package/es/modules/companySetting/index.d.ts +0 -2
  25. package/es/modules/companySetting/index.js +135 -137
  26. package/es/modules/companySetting/index.less +30 -4
  27. package/es/modules/companySetting/info/index.js +6 -1
  28. package/es/modules/companySetting/info/index.less +7 -0
  29. package/es/modules/companySetting/operationLog/index.js +10 -4
  30. package/es/modules/companySetting/operationLog/index.less +6 -0
  31. package/es/modules/companySetting/role/index.js +242 -87
  32. package/es/modules/companySetting/role/index.less +62 -2
  33. package/es/modules/companySetting/style/common.less +13 -2
  34. package/es/modules/companySetting/user/index.d.ts +1 -0
  35. package/es/modules/companySetting/user/index.js +75 -32
  36. package/es/modules/companySetting/user/index.less +90 -3
  37. package/es/modules/companySetting/user/invite.d.ts +1 -0
  38. package/es/modules/companySetting/user/invite.js +112 -27
  39. package/es/modules/companySetting/wechatBinding/index.less +10 -0
  40. package/es/modules/systemSetting/demo.d.ts +3 -0
  41. package/es/modules/systemSetting/demo.js +10 -0
  42. package/es/modules/systemSetting/notice/configItem/index.js +5 -1
  43. package/es/requests/role.d.ts +12 -3
  44. package/es/requests/role.js +6 -6
  45. package/es/types/companySetting.d.ts +1 -0
  46. package/es/utils/util.d.ts +7 -1
  47. package/package.json +4 -4
@@ -1,9 +1,11 @@
1
1
  @import './reset.less';
2
+
2
3
  .setting {
3
4
  height: 100%;
4
- overflow-y: hidden;
5
+ overflow-y: auto;
5
6
  font-size: 14px;
6
- background: #eef0f3;
7
+ background: #fafafb;
8
+
7
9
  .disabled {
8
10
  background: #ccc !important;
9
11
  border-color: #ccc !important;
@@ -13,24 +15,30 @@
13
15
 
14
16
  .setting-content {
15
17
  padding: 0px;
18
+
16
19
  .setting-title {
17
20
  display: flex;
18
21
  align-items: center;
19
22
  margin-bottom: 0px;
23
+
20
24
  .icon-set,
21
25
  .icon-company {
22
26
  margin-right: 10px;
23
27
  }
28
+
24
29
  .app-name {
25
30
  margin-left: 3px;
26
31
  font-size: 14px;
27
32
  }
28
33
  }
34
+
29
35
  .setting-body {
30
36
  display: flex;
31
37
  align-items: flex-start;
38
+
32
39
  .setting-tab {
33
40
  border-top: 1px solid #dadada;
41
+
34
42
  li > a {
35
43
  z-index: 1;
36
44
  display: inline-block;
@@ -46,17 +54,20 @@
46
54
  border: 1px solid #dadada;
47
55
  border-top: none;
48
56
  cursor: pointer;
57
+
49
58
  &:hover {
50
59
  color: #000;
51
60
  font-weight: bold;
52
61
  }
53
62
  }
63
+
54
64
  .router-link-active {
55
65
  color: #000;
56
66
  font-weight: bold;
57
67
  }
58
68
  }
59
69
  }
70
+
60
71
  .setting-component {
61
72
  width: 914px;
62
73
  height: calc(100vh - 130px);
@@ -12,6 +12,7 @@ declare const User: React.FC<{
12
12
  leftMenus: LeftMenusItem[];
13
13
  isAdmin: boolean;
14
14
  serviceType: number;
15
+ companyId: number;
15
16
  removeUserCallback: (delIndex: number) => void;
16
17
  changeUserAuthCallback: (id: number) => void;
17
18
  createMembersCallback: (res: ApiResult<void>, userConfig?: AllMembersItem | false) => void;
@@ -10,15 +10,16 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
10
10
  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; }
11
11
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- import React, { useEffect, useState } from 'react';
13
+ import React, { useEffect, useState, useContext } from 'react';
14
14
  import './index.less';
15
15
  import { Button, notification, Switch, Tooltip } from 'antd';
16
16
  import request from './../../../utils/ajax';
17
17
  import api from './../../../constants/api';
18
18
  import Invite from './invite';
19
- import { BizTable, BizDialog, BizSelect } from '@zgfe/business-lib';
19
+ import { BizTable, BizDialog, BizSelect, BizGlobalDataContext } from '@zgfe/business-lib';
20
20
  import moment from 'moment';
21
21
  import apis from './../../../constants/api';
22
+ import { queryCompanyUser } from '../../../requests/role';
22
23
  var splitString = function splitString(str) {
23
24
  var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
24
25
  return str.length > len ? "".concat(str.substring(0, len), "...") : str;
@@ -27,6 +28,7 @@ var User = function User(props) {
27
28
  var id = props.id,
28
29
  allGroupInfos = props.allGroupInfos,
29
30
  isAdmin = props.isAdmin,
31
+ companyId = props.companyId,
30
32
  removeUserCallback = props.removeUserCallback,
31
33
  _createMembersCallback = props.createMembersCallback,
32
34
  changeAdminCallback = props.changeAdminCallback;
@@ -41,6 +43,8 @@ var User = function User(props) {
41
43
  _useState6 = _slicedToArray(_useState5, 2),
42
44
  adminOptionValue = _useState6[0],
43
45
  setAdminOptionValue = _useState6[1];
46
+ var _useContext = useContext(BizGlobalDataContext),
47
+ authority = _useContext.authority;
44
48
  var _useState7 = useState(''),
45
49
  _useState8 = _slicedToArray(_useState7, 1),
46
50
  filter = _useState8[0];
@@ -86,29 +90,54 @@ var User = function User(props) {
86
90
  _useState28 = _slicedToArray(_useState27, 2),
87
91
  showMembers = _useState28[0],
88
92
  setShowMembers = _useState28[1];
93
+ var _useState29 = useState(0),
94
+ _useState30 = _slicedToArray(_useState29, 2),
95
+ total = _useState30[0],
96
+ setTotal = _useState30[1];
97
+ var _useState31 = useState({
98
+ pageNo: 1,
99
+ pageSize: 10
100
+ }),
101
+ _useState32 = _slicedToArray(_useState31, 2),
102
+ pageData = _useState32[0],
103
+ setPageData = _useState32[1];
89
104
  useEffect(function () {
90
105
  getMenbers();
91
- }, []);
106
+ queryRoleUserList(null);
107
+ }, [pageData]);
92
108
  var getMenbers = function getMenbers(params) {
93
109
  request(api.setting.queryUserPage, {
94
110
  method: 'post',
95
111
  data: _objectSpread(_objectSpread({}, params), {}, {
96
- pageNo: 1,
97
- pageSize: 10
112
+ pageNo: pageData.pageNo,
113
+ pageSize: pageData.pageSize
98
114
  })
99
115
  }).then(function (res) {
100
- var _res$data2;
101
116
  if (res && res.code === '101000' && res.data) {
102
- var _res$data;
117
+ var _res$data, _res$data2;
103
118
  setShowMembers(res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.list);
119
+ setTotal(res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.total);
104
120
  }
105
- setAdminOptionList(res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.list.filter(function (item) {
106
- return item.id !== id;
107
- }));
108
121
  }).catch(function (err) {
109
122
  console.log(err);
110
123
  });
111
124
  };
125
+ // 成员下拉数据
126
+ var queryRoleUserList = function queryRoleUserList(ids) {
127
+ queryCompanyUser({
128
+ id: ids
129
+ }).then(function (res) {
130
+ if (res === null || res === void 0 ? void 0 : res.data) {
131
+ var _res$data3;
132
+ setAdminOptionList(res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.filter(function (item) {
133
+ return item.id !== id;
134
+ }));
135
+ }
136
+ }).catch(function (err) {
137
+ setAdminOptionList([]);
138
+ console.error(err);
139
+ });
140
+ };
112
141
  useEffect(function () {
113
142
  setShowMembers(allMembers.filter(function (member) {
114
143
  if (!filter || new RegExp(filter.trim().toLowerCase()).test((member.email || '').toLowerCase()) || new RegExp(filter.trim().toLowerCase()).test((member.username || '').toLowerCase())) return true;
@@ -281,12 +310,14 @@ var User = function User(props) {
281
310
  });
282
311
  };
283
312
  var columns = [{
313
+ with: 334,
284
314
  title: '账号',
285
315
  dataIndex: 'email',
286
316
  render: function render(email) {
287
317
  return /*#__PURE__*/React.createElement("div", null, email);
288
318
  }
289
319
  }, {
320
+ with: 334,
290
321
  title: '姓名',
291
322
  render: function render(data) {
292
323
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
@@ -344,8 +375,9 @@ var User = function User(props) {
344
375
  }, {
345
376
  title: '状态',
346
377
  render: function render(data) {
347
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Switch, {
378
+ return /*#__PURE__*/React.createElement("div", null, !data.isAdmin && /*#__PURE__*/React.createElement(Switch, {
348
379
  size: "default",
380
+ disabled: !authority[10089],
349
381
  checked: data.accountStatus === 1 ? true : false,
350
382
  onChange: function onChange(checked) {
351
383
  return onSwitchChange(checked, data);
@@ -354,20 +386,22 @@ var User = function User(props) {
354
386
  }
355
387
  }, {
356
388
  title: '创建时间',
357
- dataIndex: 'createDateTime',
358
- render: function render(createDateTime) {
359
- return /*#__PURE__*/React.createElement("div", null, moment(createDateTime).format('YYYY-MM-DD HH:mm:ss'));
389
+ ellipsis: true,
390
+ render: function render(data) {
391
+ return /*#__PURE__*/React.createElement("div", null, moment(data === null || data === void 0 ? void 0 : data.createDateTime).format('YYYY-MM-DD HH:mm:ss'));
360
392
  }
361
393
  }, {
362
394
  title: '操作',
395
+ with: 334,
396
+ fixed: 'right',
363
397
  render: function render(data) {
364
398
  return /*#__PURE__*/React.createElement("div", {
365
399
  className: "operate"
366
- }, /*#__PURE__*/React.createElement("a", {
400
+ }, authority[10090] && /*#__PURE__*/React.createElement("a", {
367
401
  onClick: function onClick() {
368
402
  return showUserEditAuthEvent(data);
369
403
  }
370
- }, "\u7F16\u8F91"), /*#__PURE__*/React.createElement("a", {
404
+ }, "\u7F16\u8F91"), authority[10091] && /*#__PURE__*/React.createElement("a", {
371
405
  title: "\u79FB\u51FA\u516C\u53F8",
372
406
  style: {
373
407
  visibility: data.id !== id && !data.isAdmin ? 'visible' : 'hidden'
@@ -375,7 +409,7 @@ var User = function User(props) {
375
409
  onClick: function onClick() {
376
410
  return removeUser(data);
377
411
  }
378
- }, "\u5220\u9664"), /*#__PURE__*/React.createElement("a", {
412
+ }, "\u5220\u9664"), authority[10092] && /*#__PURE__*/React.createElement("a", {
379
413
  style: {
380
414
  visibility: data.id !== id && !data.isAdmin ? 'visible' : 'hidden'
381
415
  },
@@ -385,10 +419,18 @@ var User = function User(props) {
385
419
  }, "\u91CD\u7F6E\u5BC6\u7801"));
386
420
  }
387
421
  }];
422
+ // 监听分页变化,如果页码发生变化则调用合并行方法
423
+ var onChangeTable = function onChangeTable(pagination) {
424
+ setPageData({
425
+ pageSize: pagination === null || pagination === void 0 ? void 0 : pagination.pageSize,
426
+ pageNo: pagination === null || pagination === void 0 ? void 0 : pagination.current
427
+ });
428
+ };
388
429
  return /*#__PURE__*/React.createElement("div", {
389
430
  className: "company-user"
390
431
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Invite, {
391
432
  queryPanel: queryPanel,
433
+ companyId: companyId,
392
434
  userEditAuthData: userEditAuthData,
393
435
  allGroupInfos: allGroupInfos,
394
436
  createMembersCallback: function createMembersCallback(res, userConfig) {
@@ -400,40 +442,37 @@ var User = function User(props) {
400
442
  }, /*#__PURE__*/React.createElement(BizTable, {
401
443
  dataSource: showMembers,
402
444
  columns: columns,
403
- total: showMembers.length,
445
+ total: total,
446
+ onChange: onChangeTable,
404
447
  rowKey: "id",
405
448
  scroll: {
406
- x: 1000,
449
+ x: 1200,
407
450
  y: 550
408
451
  }
409
- }), /*#__PURE__*/React.createElement("div", null, isAdmin ? /*#__PURE__*/React.createElement("div", {
410
- style: {
411
- top: !showMembers.length ? 6 : -34
412
- },
452
+ }), isAdmin ? /*#__PURE__*/React.createElement("div", {
413
453
  className: "over-hand"
414
454
  }, /*#__PURE__*/React.createElement("span", null, "\u79FB\u4EA4\u8D85\u7EA7\u7BA1\u7406\u5458\u6743\u9650\u7ED9"), /*#__PURE__*/React.createElement(BizSelect, {
455
+ enableSearch: true,
415
456
  overlayWidth: 200,
416
457
  options: adminOptionList,
417
458
  value: adminOptionValue,
418
459
  labelField: "email",
419
460
  keyField: "id",
420
461
  onChange: changeAdmin
421
- })) : null)), /*#__PURE__*/React.createElement(BizDialog, {
462
+ })) : null), /*#__PURE__*/React.createElement(BizDialog, {
422
463
  title: dialogTitle,
423
464
  open: showDialog,
424
465
  closable: true,
466
+ className: "setting-bizDialog",
425
467
  onOk: function onOk() {
426
468
  dialogConfirmFunc && dialogConfirmFunc();
427
469
  },
428
470
  onCancel: dialogCancelFunc || void 0
429
- }, /*#__PURE__*/React.createElement("p", {
430
- style: {
431
- width: 400
432
- }
433
- }, dialogContent)), /*#__PURE__*/React.createElement(BizDialog, {
471
+ }, /*#__PURE__*/React.createElement("p", null, dialogContent)), /*#__PURE__*/React.createElement(BizDialog, {
434
472
  title: pwdPanelUserConfig && pwdPanelUserConfig.id ? '创建成功' : '密码已生成',
435
473
  open: showPasswordPanel,
436
474
  closable: true,
475
+ className: "setting-bizDialog",
437
476
  onCancel: closePwdPanel,
438
477
  footer: [pwdPanelUserConfig && pwdPanelUserConfig.id ? /*#__PURE__*/React.createElement(Button, {
439
478
  style: {
@@ -450,9 +489,13 @@ var User = function User(props) {
450
489
  onClick: copyTxt
451
490
  }, "\u590D\u5236")]
452
491
  }, /*#__PURE__*/React.createElement("ul", {
492
+ className: "setting-bizDialog-zh"
493
+ }, /*#__PURE__*/React.createElement("li", null, "\u8D26\u53F7\uFF1A", pwdPanelAccount), /*#__PURE__*/React.createElement("li", null, "\u5BC6\u7801\uFF1A", pwdPanelPassword), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("i", {
453
494
  style: {
454
- width: 400
455
- }
456
- }, /*#__PURE__*/React.createElement("li", null, "\u8D26\u53F7\uFF1A", pwdPanelAccount), /*#__PURE__*/React.createElement("li", null, "\u5BC6\u7801\uFF1A", pwdPanelPassword), /*#__PURE__*/React.createElement("li", null, "\u8BF7\u5C06\u4FE1\u606F\u590D\u5236\u53D1\u9001\u7ED9\u76F8\u5E94\u6210\u5458")))));
495
+ fontSize: 16,
496
+ marginRight: '8px'
497
+ },
498
+ className: "bsicon tishi"
499
+ }), "\u8BF7\u5C06\u4FE1\u606F\u590D\u5236\u53D1\u9001\u7ED9\u76F8\u5E94\u6210\u5458")))));
457
500
  };
458
501
  export default User;
@@ -29,7 +29,6 @@
29
29
  font-family: PingFang SC;
30
30
  font-style: normal;
31
31
  line-height: 24px;
32
- /* 150% */
33
32
  }
34
33
  }
35
34
  }
@@ -44,6 +43,7 @@
44
43
  gap: 24px;
45
44
  align-items: center;
46
45
  justify-content: flex-start;
46
+ margin-top: 8px;
47
47
 
48
48
  .biz-select-handle-input {
49
49
  width: 248px;
@@ -51,13 +51,17 @@
51
51
 
52
52
  .ant-input {
53
53
  width: 248px;
54
- border-color: @background-color-base !important;
54
+ border: 1px solid #fafafb;
55
55
 
56
56
  &:focus {
57
57
  border-color: @primary-color !important;
58
58
  }
59
59
  }
60
60
 
61
+ .ant-select-selector {
62
+ border-color: @background-color-base !important;
63
+ }
64
+
61
65
  > div {
62
66
  display: flex;
63
67
  gap: 12px;
@@ -195,10 +199,11 @@
195
199
 
196
200
  .over-hand {
197
201
  position: relative;
202
+ bottom: 18px;
198
203
  display: flex;
199
204
  align-items: center;
200
205
  width: 300px;
201
- // margin-top: 80px;
206
+ height: 0;
202
207
 
203
208
  > span {
204
209
  margin-right: 12px;
@@ -252,6 +257,24 @@
252
257
  }
253
258
  }
254
259
 
260
+ .setting-bizDialog-zh {
261
+ display: grid;
262
+ gap: 16px;
263
+ width: 400px;
264
+
265
+ li {
266
+ height: 20px;
267
+ }
268
+
269
+ li:nth-child(3) {
270
+ display: flex;
271
+ align-items: center;
272
+ margin-top: 8px;
273
+ color: var(--unnamed, #fd9f41);
274
+ line-height: 20px;
275
+ }
276
+ }
277
+
255
278
  .user-dialog-content {
256
279
  .ant-input {
257
280
  border-color: @background-color-base !important;
@@ -260,5 +283,69 @@
260
283
  border-color: @primary-color !important;
261
284
  }
262
285
  }
286
+
287
+ .ant-select-selector {
288
+ border-color: @background-color-base !important;
289
+ }
290
+
291
+ .biz-select-handle-input {
292
+ .ant-input {
293
+ border-color: @background-color-base !important;
294
+
295
+ &:focus {
296
+ border-color: @background-color-base !important;
297
+ }
298
+ }
299
+
300
+ &:focus {
301
+ border-color: @primary-color !important;
302
+ }
303
+ }
304
+
305
+ .ant-input-status-error {
306
+ border: 1px solid #fb5547 !important;
307
+
308
+ &:focus {
309
+ border-color: #fb5547 !important;
310
+ }
311
+ }
312
+
313
+ .account-status {
314
+ .ant-form-item-row {
315
+ height: 24px;
316
+ }
317
+ }
318
+
319
+ .ant-select-status-error {
320
+ border: none !important;
321
+
322
+ &:focus {
323
+ box-shadow: 0 0 0 2px rgba(251, 85, 71, 0.2) !important;
324
+ }
325
+ }
326
+
327
+ .biz-select-handle-status-error.active:not(.disable) {
328
+ box-shadow: 0 0 0 2px rgba(251, 85, 71, 0.2) !important;
329
+ }
330
+
331
+ .biz-select-handle-status-error {
332
+ .ant-input.ant-input-status-error:focus:not(.ant-input-disable):not(.ant-input-borderless),
333
+ .ant-input.ant-input-status-error-focused:not(.ant-input-disable):not(.ant-input-borderless) {
334
+ box-shadow: none !important;
335
+ }
336
+ }
337
+
338
+ .ant-form-item:last-of-type {
339
+ margin-bottom: 0;
340
+ }
341
+
342
+ .no-rules-label {
343
+ margin-bottom: 20px;
344
+
345
+ .ant-form-item-label {
346
+ width: 50px !important;
347
+ }
348
+ }
349
+
263
350
  color: #5f6085;
264
351
  }
@@ -5,6 +5,7 @@ declare const UserGroup: React.FC<{
5
5
  allGroupInfos: AllGroupInfosItem[];
6
6
  queryPanel: (params: queryPanelItem) => void;
7
7
  userEditAuthData: AllMembersItem;
8
+ companyId: number;
8
9
  createMembersCallback: (res: ApiResult<void>, userConfig: AllMembersItem | false) => void;
9
10
  }>;
10
11
  export default UserGroup;