linkmore-design 1.0.3 → 1.0.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.
Files changed (43) hide show
  1. package/dist/index.umd.js +478 -166
  2. package/dist/index.umd.min.js +5 -5
  3. package/es/ButtonTags/style/style.css +353 -8
  4. package/es/CkFilter/baseFilter/filterMenu.js +36 -6
  5. package/es/CkFilter/complexFilter/drawer.js +3 -2
  6. package/es/CkFilter/components/filterTypes.js +178 -76
  7. package/es/CkFilter/context.js +11 -2
  8. package/es/CkFilter/filter.js +50 -12
  9. package/es/CkFilter/style/style.css +408 -8
  10. package/es/CustomerService/style/style.css +353 -8
  11. package/es/EditTable/EditTable.js +177 -73
  12. package/es/EditTable/style/style.css +353 -8
  13. package/es/Filter/style/style.css +353 -8
  14. package/es/IconFont/index.js +1 -1
  15. package/es/LeftTable/style/style.css +353 -8
  16. package/es/Modal/exportModal.js +1 -1
  17. package/es/PopTable/style/style.css +353 -8
  18. package/es/ProTable/ImgList/cardCell.js +19 -6
  19. package/es/ProTable/style/style.css +378 -15
  20. package/es/styles/globalClass.css +63 -0
  21. package/es/styles/main.css +353 -8
  22. package/es/styles/resetAntd.css +15 -0
  23. package/lib/ButtonTags/style/style.css +353 -8
  24. package/lib/CkFilter/baseFilter/filterMenu.js +36 -6
  25. package/lib/CkFilter/complexFilter/drawer.js +3 -2
  26. package/lib/CkFilter/components/filterTypes.js +178 -76
  27. package/lib/CkFilter/context.js +11 -2
  28. package/lib/CkFilter/filter.js +50 -12
  29. package/lib/CkFilter/style/style.css +408 -8
  30. package/lib/CustomerService/style/style.css +353 -8
  31. package/lib/EditTable/EditTable.js +177 -73
  32. package/lib/EditTable/style/style.css +353 -8
  33. package/lib/Filter/style/style.css +353 -8
  34. package/lib/IconFont/index.js +1 -1
  35. package/lib/LeftTable/style/style.css +353 -8
  36. package/lib/Modal/exportModal.js +1 -1
  37. package/lib/PopTable/style/style.css +353 -8
  38. package/lib/ProTable/ImgList/cardCell.js +19 -6
  39. package/lib/ProTable/style/style.css +378 -15
  40. package/lib/styles/globalClass.css +63 -0
  41. package/lib/styles/main.css +353 -8
  42. package/lib/styles/resetAntd.css +15 -0
  43. package/package.json +4 -3
@@ -11,6 +11,21 @@
11
11
  .ant-table .row-active .ant-table-cell {
12
12
  background-color: #FEFFD3 !important;
13
13
  }
14
+ .ant-table.ant-table-empty .ant-table-expanded-row-fixed {
15
+ padding: 0;
16
+ }
17
+ .ant-table.ant-table-empty .ant-table-expanded-row-fixed .ant-empty {
18
+ margin: 0;
19
+ }
20
+ .ant-table .ant-empty {
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ }
25
+ .ant-table .ant-empty .ant-empty-image {
26
+ height: 24px;
27
+ margin: var(--gap) 0;
28
+ }
14
29
  .ant-dropdown-menu-item {
15
30
  font-size: 12px;
16
31
  height: 32px;
@@ -75,31 +90,220 @@
75
90
  .icon_home::before {
76
91
  content: '\e7fc';
77
92
  }
93
+ .lm-font-small-bold {
94
+ font-size: var(--font-size-sm);
95
+ font-weight: 400;
96
+ line-height: 20px;
97
+ }
98
+ .lm-font-middle-bold {
99
+ font-size: var(--font-size-base);
100
+ font-weight: 500;
101
+ line-height: 22px;
102
+ }
103
+ .lm-font-large-bold {
104
+ font-size: var(--font-size-lg);
105
+ font-weight: 500;
106
+ line-height: 24px;
107
+ }
108
+ .lm-font-small {
109
+ font-size: var(--font-size-sm);
110
+ line-height: 20px;
111
+ }
112
+ .lm-font-middle {
113
+ font-size: var(--font-size-base);
114
+ line-height: 22px;
115
+ }
116
+ .lm-font-large {
117
+ font-size: var(--font-size-lg);
118
+ line-height: 24px;
119
+ }
120
+ .lm-shadown-level1-up {
121
+ box-shadow: 0px -1px 2px -2px rgba(0, 0, 0, 0.16), 0px -3px 6px 0px rgba(0, 0, 0, 0.12), 0px -5px 12px 4px rgba(0, 0, 0, 0.09);
122
+ }
123
+ .lm-shadown-level2-up {
124
+ box-shadow: 0px -3px 6px -4px rgba(0, 0, 0, 0.12), 0px -6px 16px 0px rgba(0, 0, 0, 0.08), 0px -9px 28px 8px rgba(0, 0, 0, 0.05);
125
+ }
126
+ .lm-shadown-level3-up {
127
+ box-shadow: 0px -6px 16px -8px rgba(0, 0, 0, 0.08), 0px -9px 28px 0px rgba(0, 0, 0, 0.05), 0px -12px 48px 16px rgba(0, 0, 0, 0.03);
128
+ }
129
+ .lm-shadown-level1-down {
130
+ box-shadow: 0px 1px 2px -2px rgba(0, 0, 0, 0.16), 0px 3px 6px 0px rgba(0, 0, 0, 0.12), 0px 5px 12px 4px rgba(0, 0, 0, 0.09);
131
+ }
132
+ .lm-shadown-level2-down {
133
+ box-shadow: 0px 3px 6px -4px rgba(0, 0, 0, 0.12), 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 9px 28px 8px rgba(0, 0, 0, 0.05);
134
+ }
135
+ .lm-shadown-level3-down {
136
+ box-shadow: 0px 6px 16px -8px rgba(0, 0, 0, 0.08), 0px 9px 28px 0px rgba(0, 0, 0, 0.05), 0px 12px 48px 16px rgba(0, 0, 0, 0.03);
137
+ }
138
+ .lm-shadown-level1-left {
139
+ box-shadow: -1px 0px 2px -2px rgba(0, 0, 0, 0.16), -3px 0px 6px 0px rgba(0, 0, 0, 0.12), -5px 0px 12px 4px rgba(0, 0, 0, 0.09);
140
+ }
141
+ .lm-shadown-level2-left {
142
+ box-shadow: -3px 0px 6px -4px rgba(0, 0, 0, 0.12), -6px 0px 16px 0px rgba(0, 0, 0, 0.08), -9px 0px 28px 8px rgba(0, 0, 0, 0.05);
143
+ }
144
+ .lm-shadown-level3-left {
145
+ box-shadow: -6px 0px 16px -8px rgba(0, 0, 0, 0.08), -9px 0px 28px 0px rgba(0, 0, 0, 0.05), -12px 0px 48px 16px rgba(0, 0, 0, 0.03);
146
+ }
147
+ .lm-shadown-level1-right {
148
+ box-shadow: 1px 0px 2px -2px rgba(0, 0, 0, 0.16), 3px 0px 6px 0px rgba(0, 0, 0, 0.12), 5px 0px 12px 4px rgba(0, 0, 0, 0.09);
149
+ }
150
+ .lm-shadown-level2-right {
151
+ box-shadow: 3px 0px 6px -4px rgba(0, 0, 0, 0.12), 6px 0px 16px 0px rgba(0, 0, 0, 0.08), 9px 0px 28px 8px rgba(0, 0, 0, 0.05);
152
+ }
153
+ .lm-shadown-level3-right {
154
+ box-shadow: 6px 0px 16px -8px rgba(0, 0, 0, 0.08), 9px 0px 28px 0px rgba(0, 0, 0, 0.05), 12px 0px 48px 16px rgba(0, 0, 0, 0.03);
155
+ }
78
156
  :root {
79
- --them-color: #1890fc;
80
- --main-color: #1890fc;
81
157
  --primary-color: #1890fc;
82
- --primary2-color: rgba(24, 144, 252, 0.08);
83
- --success-color: #56C22D;
84
- --warning-color: #FD9727;
85
- --error-color: #FA4F53;
158
+ --primary-select-color: #e6f7ff;
159
+ --primary-hover-color: #40a9ff;
160
+ --primary-click-color: #096dd9;
161
+ --success-color: #52c14a;
162
+ --warning-color: #fd9727;
163
+ --error-color: #fa4f53;
86
164
  --aside-bg-color: #022766;
87
165
  --font-color: rgba(0, 0, 0, 0.85);
88
- --font2-color: rgba(0, 0, 0, 0.65);
89
166
  --text-color: rgba(0, 0, 0, 0.45);
90
- --box-shadow-color: rgba(0, 0, 0, 0.15);
167
+ --tip-text-color: rgba(0, 0, 0, 0.25);
168
+ --stroke-color: rgba(0, 0, 0, 0.15);
169
+ --line-color: rgba(0, 0, 0, 0.06);
91
170
  --background-color: rgba(0, 0, 0, 0.04);
171
+ --table-header-color: rgba(0, 0, 0, 0.02);
172
+ --font2-color: rgba(0, 0, 0, 0.65);
92
173
  --background-color-hover: rgba(0, 0, 0, 0.08);
93
174
  --border-color: #f0f0f0;
94
175
  --stripe-color: #f5f5f5;
95
176
  --border-hover-color: #f2f5f7;
177
+ --box-shadow-color: rgba(0, 0, 0, 0.1);
178
+ --table-background-color: #fafafa;
179
+ --disabled-color: rgba(0, 0, 0, 0.25);
180
+ --font-size: 12px;
96
181
  --gap: 8px;
97
182
  --basic-height: 24px;
183
+ --font-size-base: 14px;
184
+ --font-size-lg: calc(var(--font-size-base) + 2px);
185
+ --font-size-sm: 12px;
186
+ --color-contrast: #fff;
187
+ --color-100: #000;
188
+ --color-85: #262626;
189
+ --color-65: #595959;
190
+ --color-45: #8c8c8c;
191
+ --color-25: #bfbfbf;
192
+ --color-15: #d9d9d9;
193
+ --color-6: #f0f0f0;
194
+ --color-4: #f5f5f5;
195
+ --color-2: #fafafa;
196
+ }
197
+ :root[theme='dark'] {
198
+ --font-color: rgba(255, 255, 255, 0.85);
199
+ --text-color: rgba(255, 255, 255, 0.45);
200
+ --tip-text-color: rgba(255, 255, 255, 0.25);
201
+ --stroke-color: rgba(255, 255, 255, 0.15);
202
+ --line-color: rgba(255, 255, 255, 0.06);
203
+ --background-color: rgba(255, 255, 255, 0.04);
204
+ --table-header-color: rgba(255, 255, 255, 0.02);
205
+ --font2-color: rgba(255, 255, 255, 0.65);
206
+ --background-color-hover: rgba(255, 255, 255, 0.08);
207
+ }
208
+ html {
209
+ background-color: #f0f2f5;
210
+ }
211
+ #app {
212
+ min-width: 1200px;
213
+ width: 100vw;
214
+ height: 100vh;
215
+ font-family: 'PingFang SC', 'Microsoft YaHei UI', '微软雅黑', Helvetica, Arial, sans-serif;
216
+ }
217
+ .ka-wrapper,
218
+ .ka-content {
219
+ height: 100%;
220
+ }
221
+ * {
222
+ list-style: none;
223
+ margin: 0;
224
+ padding: 0;
225
+ }
226
+ *::-webkit-scrollbar {
227
+ width: 8px;
228
+ height: 8px;
229
+ border-radius: 10px;
230
+ }
231
+ *::-webkit-scrollbar-button {
232
+ display: none;
233
+ }
234
+ *::-webkit-scrollbar-track {
235
+ background: transparent;
236
+ }
237
+ *::-webkit-scrollbar-thumb {
238
+ background: #d8d8d8;
239
+ border-radius: 6px;
240
+ }
241
+ *::-webkit-scrollbar-thumb:hover,
242
+ *::-webkit-scrollbar-thumb:active {
243
+ background: #bfbfbf;
98
244
  }
99
245
  .ant-input,
100
246
  .ant-select {
101
247
  font-size: 12px;
102
248
  }
249
+ .page-content {
250
+ margin: 12px;
251
+ padding: 16px;
252
+ background: #fff;
253
+ }
254
+ .addModal .ant-modal-header {
255
+ padding: 0 24px;
256
+ height: 46px;
257
+ display: flex;
258
+ align-items: center;
259
+ }
260
+ .addModal .ant-modal-close-x {
261
+ width: 46px;
262
+ height: 46px;
263
+ line-height: 44px;
264
+ }
265
+ .addModal .ant-modal-body {
266
+ padding: 24px 24px 21px;
267
+ }
268
+ .addModal .ant-modal-body .ant-tabs-nav {
269
+ margin: 0 10px;
270
+ }
271
+ .addModal .ant-modal-body .ant-tabs-content-holder {
272
+ max-height: 800px;
273
+ overflow-y: auto;
274
+ padding: 16px 10px;
275
+ }
276
+ .addModal .ant-modal-footer {
277
+ padding: 11px 24px;
278
+ }
279
+ .addModal .ant-modal-footer .ant-btn + .ant-btn:not(.ant-dropdown-trigger) {
280
+ margin-left: 10px;
281
+ }
282
+ .editModal .ant-modal-header {
283
+ padding: 0 24px;
284
+ height: 46px;
285
+ display: flex;
286
+ align-items: center;
287
+ }
288
+ .editModal .ant-modal-close-x {
289
+ width: 46px;
290
+ height: 46px;
291
+ line-height: 44px;
292
+ }
293
+ .editModal .ant-modal-body {
294
+ padding: 24px 24px 21px;
295
+ max-height: 600px;
296
+ overflow-y: auto;
297
+ }
298
+ .editModal .ant-modal-body .ant-form-item {
299
+ margin-bottom: 16px;
300
+ }
301
+ .editModal .ant-modal-footer {
302
+ padding: 11px 24px;
303
+ }
304
+ .editModal .ant-modal-footer .ant-btn + .ant-btn:not(.ant-dropdown-trigger) {
305
+ margin-left: 10px;
306
+ }
103
307
  .ant-select-dropdown .ant-select-item {
104
308
  font-size: 12px;
105
309
  align-items: center;
@@ -147,6 +351,147 @@
147
351
  width: 5px;
148
352
  z-index: 2;
149
353
  }
354
+ .card_cell_content {
355
+ display: flex;
356
+ flex-flow: column;
357
+ height: 100%;
358
+ overflow: hidden;
359
+ border: 1px solid transparent;
360
+ border-radius: 2px;
361
+ transition: 0.3s;
362
+ }
363
+ .card_cell_content .card_cell_body {
364
+ position: relative;
365
+ flex: 1;
366
+ display: flex;
367
+ flex-flow: column;
368
+ background: rgba(0, 0, 0, 0.02);
369
+ padding: 16px;
370
+ cursor: pointer;
371
+ }
372
+ .card_cell_content .card_cell_body .card_cell_checkbox {
373
+ position: absolute;
374
+ left: 8px;
375
+ top: 8px;
376
+ line-height: 1;
377
+ opacity: 0;
378
+ transition: 0.3s;
379
+ }
380
+ .card_cell_content .card_cell_body .card_cell_checkbox .ant-checkbox {
381
+ border: 8px solid rgba(255, 255, 255, 0.624);
382
+ border-radius: 2px;
383
+ }
384
+ .card_cell_content .card_cell_body .card_cell_info .title {
385
+ display: flex;
386
+ align-items: center;
387
+ justify-content: space-between;
388
+ gap: 8px;
389
+ }
390
+ .card_cell_content .card_cell_body .card_cell_info .title .label {
391
+ flex: 1;
392
+ font-size: 14px;
393
+ font-weight: 500;
394
+ text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.08);
395
+ text-overflow: ellipsis;
396
+ overflow: hidden;
397
+ white-space: nowrap;
398
+ }
399
+ .card_cell_content .card_cell_body .card_cell_info .title .icon {
400
+ display: inline-flex;
401
+ align-items: center;
402
+ gap: 4px;
403
+ font-size: 12px;
404
+ line-height: 1;
405
+ height: 22px;
406
+ background: var(--background-color);
407
+ padding: 0 8px;
408
+ }
409
+ .card_cell_content .card_cell_body .card_cell_info .code .ant-typography {
410
+ color: var(--text-color);
411
+ text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.08);
412
+ margin: 0;
413
+ }
414
+ .card_cell_content .card_cell_body .card_cell_info .code .ant-typography .ant-typography-copy {
415
+ color: inherit;
416
+ }
417
+ .card_cell_content .card_cell_body .card_cell_info .expand {
418
+ display: flex;
419
+ flex-wrap: wrap;
420
+ gap: 16px;
421
+ font-size: 12px;
422
+ color: var(--text-color);
423
+ text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.08);
424
+ padding: 6px 0 2px;
425
+ }
426
+ .card_cell_content .card_cell_body .card_cell_info .expand > div {
427
+ padding: 2px 0;
428
+ }
429
+ .card_cell_content .card_cell_body .card_cell_center {
430
+ display: flex;
431
+ align-items: center;
432
+ flex: 1;
433
+ }
434
+ .card_cell_content .card_cell_body .card_cell_center .list {
435
+ display: flex;
436
+ align-items: center;
437
+ justify-content: space-between;
438
+ text-align: center;
439
+ width: 100%;
440
+ margin: auto 0;
441
+ }
442
+ .card_cell_content .card_cell_body .card_cell_center .list .item {
443
+ display: inline-flex;
444
+ align-items: center;
445
+ gap: 4px;
446
+ line-height: 1;
447
+ }
448
+ .card_cell_content .card_cell_body .card_cell_center .list .item .num {
449
+ font-size: 20px;
450
+ font-weight: 500;
451
+ color: var(--font-color);
452
+ }
453
+ .card_cell_content .card_cell_body .card_cell_center .list .item .text {
454
+ font-size: 12px;
455
+ color: var(--text-color);
456
+ }
457
+ .card_cell_content .card_cell_footer {
458
+ display: flex;
459
+ align-items: center;
460
+ height: 40px;
461
+ background: #F7F7F7;
462
+ }
463
+ .card_cell_content .card_cell_footer > * {
464
+ flex: 1;
465
+ }
466
+ .card_cell_content .card_cell_footer > *::after {
467
+ content: '';
468
+ position: absolute;
469
+ right: 0;
470
+ top: 50%;
471
+ transform: translateY(-50%);
472
+ height: 18px;
473
+ width: 1px;
474
+ background-color: #E8E8E8;
475
+ }
476
+ .card_cell_content .card_cell_footer button:last-child {
477
+ border: none;
478
+ }
479
+ .card_cell_content .card_cell_footer button:last-child::after {
480
+ display: none;
481
+ }
482
+ .card_cell_content .card_cell_footer .footer_expand {
483
+ font-size: 16px;
484
+ text-align: center;
485
+ border: none;
486
+ }
487
+ .card_cell_content.checked,
488
+ .card_cell_content:hover {
489
+ border-color: var(--primary-color);
490
+ }
491
+ .card_cell_content.checked .card_cell_body .card_cell_checkbox,
492
+ .card_cell_content:hover .card_cell_body .card_cell_checkbox {
493
+ opacity: 1;
494
+ }
150
495
  .lm_base_button_tag_Group {
151
496
  position: relative;
152
497
  display: flex;
@@ -37,6 +37,8 @@ var FilterMenu = function FilterMenu(props) {
37
37
  title = props.title,
38
38
  _props$type = props.type,
39
39
  type = _props$type === void 0 ? 'checkbox' : _props$type,
40
+ _props$dateType = props.dateType,
41
+ dateType = _props$dateType === void 0 ? 'date' : _props$dateType,
40
42
  data = props.data,
41
43
  comProps = props.props;
42
44
 
@@ -55,20 +57,42 @@ var FilterMenu = function FilterMenu(props) {
55
57
  }, [state.filterValues]); // 判断是否正在过滤
56
58
 
57
59
  var isFiltering = (0, _react.useMemo)(function () {
58
- return (0, _utils.getIsHas)(filterValue);
60
+ return (0, _utils.getIsHas)(filterValue) || (0, _utils.getIsHas)(state.nestedFilterValues[field]);
59
61
  }, [filterValue]); // 设置过滤的内容 filterType: 'single' 存在时 单个勾选时触发, 默认按钮触发
60
62
 
61
63
  var setFilterValue = (0, _react.useCallback)(function (val, filterType) {
62
- var _state$instance$onCha, _state$instance;
64
+ var _state$instance$onCha, _state$instance2;
65
+
66
+ // 嵌套结构时触发
67
+ if (filterType === 'children') {
68
+ var _state$instance$onNes, _state$instance;
69
+
70
+ (_state$instance$onNes = (_state$instance = state.instance).onNested) === null || _state$instance$onNes === void 0 ? void 0 : _state$instance$onNes.call(_state$instance, val);
71
+ setVisible(false);
72
+ return;
73
+ }
74
+
75
+ var nValue = (0, _objectSpread2.default)({}, state.filterValues); // 嵌套结构单选时删除嵌套数据
76
+
77
+ if (type === 'nested') {
78
+ data.forEach(function (element) {
79
+ delete nValue[element.value];
80
+ });
81
+ var resetValue = (0, _objectSpread2.default)({}, state.nestedFilterValues);
82
+ delete resetValue[field];
83
+ dispatch({
84
+ type: 'changeNestedFilterValues',
85
+ nestedFilterValues: resetValue
86
+ });
87
+ }
63
88
 
64
- var nValue = (0, _objectSpread2.default)({}, state.filterValues);
65
89
  (0, _utils.getIsHas)(val) ? nValue[field] = val : delete nValue[field];
66
90
  dispatch({
67
91
  type: 'changeFilterValues',
68
92
  filterValues: nValue
69
93
  }); // 触发外部查询, 单击时不关闭菜单
70
94
 
71
- (_state$instance$onCha = (_state$instance = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance, nValue, state.customFilterValues);
95
+ (_state$instance$onCha = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance2, nValue, state.customFilterValues);
72
96
  !filterType && setVisible(false);
73
97
  }, [dispatch, field, state.filterValues, state.instance]); // 展示的内容
74
98
 
@@ -76,17 +100,23 @@ var FilterMenu = function FilterMenu(props) {
76
100
  if (type === 'date') {
77
101
  var obj = {
78
102
  props: comProps,
103
+ dateType: dateType,
79
104
  getFilterValue: filterValue,
80
105
  setFilterValue: setFilterValue
81
106
  };
82
107
  return /*#__PURE__*/_react.default.createElement(_filterTypes.default, (0, _extends2.default)({
83
108
  type: "datePicker"
84
109
  }, obj));
110
+ } // 是否存在嵌套结构
111
+
112
+
113
+ if ((0, _utils.getIsHas)(state.nestedFilterValues[field])) {
114
+ return state.nestedFilterValues[field].label;
85
115
  }
86
116
 
87
117
  if (!isFiltering) return '全部'; // select & checkbox
88
118
 
89
- if (['select', 'checkbox'].includes(type)) {
119
+ if (['select', 'checkbox', 'nested'].includes(type)) {
90
120
  var findItem = data.find(function (v) {
91
121
  return Array.isArray(filterValue) ? filterValue.includes(v.value) : filterValue === v.value;
92
122
  });
@@ -110,7 +140,7 @@ var FilterMenu = function FilterMenu(props) {
110
140
  }
111
141
 
112
142
  return filterValue;
113
- }, [comProps, data, isFiltering, setFilterValue, type, filterValue]); // 下拉组件渲染
143
+ }, [comProps, data, isFiltering, setFilterValue, type, filterValue, state.nestedFilterValues, field]); // 下拉组件渲染
114
144
 
115
145
  var FilterControl = (0, _react.useCallback)(function () {
116
146
  var obj = {
@@ -247,7 +247,8 @@ var Index = function Index() {
247
247
  state = _useStore3.state,
248
248
  dispatch = _useStore3.dispatch;
249
249
 
250
- var _state$complexDrawer = state.complexDrawer,
250
+ var instance = state.instance,
251
+ _state$complexDrawer = state.complexDrawer,
251
252
  visible = _state$complexDrawer.visible,
252
253
  data = _state$complexDrawer.data,
253
254
  complexFilterValues = state.complexFilterValues;
@@ -308,7 +309,7 @@ var Index = function Index() {
308
309
  extra: /*#__PURE__*/_react.default.createElement(_space.default, null, /*#__PURE__*/_react.default.createElement(_button.default, {
309
310
  onClick: onClose,
310
311
  size: "small"
311
- }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_button.default, {
312
+ }, "\u53D6\u6D88"), !!instance.custom && /*#__PURE__*/_react.default.createElement(_button.default, {
312
313
  onClick: onSave,
313
314
  size: "small"
314
315
  }, "\u4FDD\u5B58\u67E5\u8BE2"), /*#__PURE__*/_react.default.createElement(_button.default, {