bl-common-vue3 3.8.81 → 3.8.83

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bl-common-vue3",
3
- "version": "3.8.81",
3
+ "version": "3.8.83",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "description": "bailing vue3 common components lib",
@@ -4,6 +4,7 @@
4
4
  :visible="visible"
5
5
  :destroyOnClose="true"
6
6
  :width="1200"
7
+ wrapClassName="column-setting-drawer-wrap"
7
8
  :body-style="{
8
9
  paddingBottom: '80px',
9
10
  boxSizing: 'border-box',
@@ -17,8 +18,8 @@
17
18
  <a-button type="primary" ghost @click="restoreDefault">{{ t('ColumnSetting.index.391089-1') }}</a-button>
18
19
  </a-space>
19
20
  </template>
20
- <div class="setting-content">
21
- <div class="fake-table">
21
+ <div class="setting-content beauty-scroller-bar">
22
+ <div class="fake-table" :style="{ minWidth: tableMinWidth }">
22
23
  <div class="fake-table-tr fake-table-title">
23
24
  <div class="draggable-icon-box"></div>
24
25
  <div class="column" :style="columnStyle('name')">{{ t('ColumnSetting.index.391089-2') }}</div>
@@ -260,6 +261,14 @@ export default defineComponent({
260
261
  loadLanguageAsync(newLang);
261
262
  });
262
263
 
264
+ const tableMinWidth = computed(() => {
265
+ let width = 900;
266
+ if (props.hasExportSetting) width += 100;
267
+ if (props.hasSearchSetting) width += 100;
268
+ if (props.hasCountsSetting) width += 100;
269
+ return `${width}px`;
270
+ });
271
+
263
272
  const columnStyle = computed(() => {
264
273
  return (field) => {
265
274
  let _style = {
@@ -287,6 +296,7 @@ export default defineComponent({
287
296
  handleClose,
288
297
  onSubmit,
289
298
  restoreDefault,
299
+ tableMinWidth,
290
300
  columnStyle,
291
301
  isSystemAdmin
292
302
  };
@@ -303,6 +313,11 @@ export default defineComponent({
303
313
  .fake-table {
304
314
  border: 1px solid #f0f0f0;
305
315
  }
316
+ .setting-content {
317
+ width: 100%;
318
+ overflow-x: auto;
319
+ overflow-y: visible;
320
+ }
306
321
  .fake-table-title {
307
322
  background: #fafafa;
308
323
  position: sticky;
@@ -341,4 +356,66 @@ export default defineComponent({
341
356
  justify-content: space-between;
342
357
  align-items: center;
343
358
  }
359
+
360
+ :global(.column-setting-drawer-wrap .ant-drawer-content-wrapper) {
361
+ max-width: 100vw;
362
+ }
363
+
364
+ @media (max-width: 767px) {
365
+ :global(.column-setting-drawer-wrap .ant-drawer-body) {
366
+ padding: 12px 8px 72px !important;
367
+ overflow-y: auto;
368
+ overflow-x: hidden;
369
+ }
370
+
371
+ :global(.column-setting-drawer-wrap .ant-drawer-header) {
372
+ padding: 12px;
373
+ }
374
+
375
+ :global(.column-setting-drawer-wrap .ant-drawer-title) {
376
+ min-width: 0;
377
+ }
378
+
379
+ :global(.column-setting-drawer-wrap .ant-drawer-extra) {
380
+ margin-left: 8px;
381
+ }
382
+
383
+ .setting-content {
384
+ padding-bottom: 6px;
385
+ -webkit-overflow-scrolling: touch;
386
+ }
387
+
388
+ .fake-table-title {
389
+ top: -12px;
390
+ }
391
+
392
+ .fake-table-tr {
393
+ min-height: 42px;
394
+
395
+ .column {
396
+ padding: 0 8px;
397
+ white-space: nowrap;
398
+ }
399
+ }
400
+
401
+ .drawer-footer {
402
+ padding: 8px;
403
+ gap: 8px;
404
+ align-items: stretch;
405
+
406
+ > div {
407
+ min-width: 0;
408
+ }
409
+
410
+ .text-right {
411
+ display: flex;
412
+ justify-content: flex-end;
413
+ }
414
+
415
+ :deep(.ant-btn) {
416
+ padding-left: 8px;
417
+ padding-right: 8px;
418
+ }
419
+ }
420
+ }
344
421
  </style>
@@ -192,8 +192,8 @@
192
192
  <Form layout="vertical">
193
193
  <a-row :gutter="12">
194
194
  <a-col
195
- :sm="24"
196
- :xs="24"
195
+ :sm="12"
196
+ :xs="12"
197
197
  :md="filterColSpan"
198
198
  v-for="(filter, filterIndex) in filterList"
199
199
  :key="filterIndex">
@@ -638,9 +638,9 @@
638
638
  @customRequest="handleCustomRequest" />
639
639
  </FormItem>
640
640
  </a-col>
641
- <a-col :sm="24" :xs="24" :md="filterColSpan">
641
+ <a-col :sm="12" :xs="12" :md="filterColSpan">
642
642
  <FormItem label=" ">
643
- <a-space>
643
+ <a-space class="filter-action-space">
644
644
  <a-button type="primary" @click="handleSearch">
645
645
  <template #icon>
646
646
  <bl-icon type="sousuo" />
@@ -4158,6 +4158,46 @@ export default defineComponent({
4158
4158
  }
4159
4159
  }
4160
4160
 
4161
+ .filter-action-space {
4162
+ width: 100%;
4163
+ }
4164
+
4165
+ @media (max-width: 767px) {
4166
+ .filter-warp {
4167
+ padding: 8px;
4168
+
4169
+ :deep(.ant-form-item) {
4170
+ margin-bottom: 10px;
4171
+ }
4172
+
4173
+ :deep(.ant-form-item-label) {
4174
+ padding-bottom: 4px;
4175
+
4176
+ > label {
4177
+ max-width: 100%;
4178
+ overflow: hidden;
4179
+ text-overflow: ellipsis;
4180
+ white-space: nowrap;
4181
+ }
4182
+ }
4183
+ }
4184
+
4185
+ .filter-action-space {
4186
+ display: flex;
4187
+
4188
+ :deep(.ant-space-item) {
4189
+ flex: 1;
4190
+ min-width: 0;
4191
+ }
4192
+
4193
+ :deep(.ant-btn) {
4194
+ width: 100%;
4195
+ padding-left: 6px;
4196
+ padding-right: 6px;
4197
+ }
4198
+ }
4199
+ }
4200
+
4161
4201
  .ellipsisClamp {
4162
4202
  max-width: 100%;
4163
4203
  display: -webkit-box;
@@ -3,6 +3,7 @@
3
3
  :width="720"
4
4
  :visible="visible"
5
5
  :title="title"
6
+ wrapClassName="add-dictionary-modal-wrap"
6
7
  @cancel="handleClose"
7
8
  @ok="handleSubmit"
8
9
  :ok-text="t('common.button.ok')"
@@ -13,7 +14,7 @@
13
14
  width: '140px',
14
15
  },}">
15
16
  <a-row :wrap="true" :gutter="12">
16
- <a-col :span="12">
17
+ <a-col :span="12" :xs="24" :sm="12">
17
18
  <a-form-item :label="t('components.AddDictionary.031362-0')" v-bind="validateInfos.sort">
18
19
  <a-input-number
19
20
  v-model:value="formData.sort"
@@ -24,7 +25,7 @@
24
25
  />
25
26
  </a-form-item>
26
27
  </a-col>
27
- <a-col :span="24">
28
+ <a-col :span="24" :xs="24">
28
29
  <a-form-item :label="t('components.AddDictionary.031362-1')" v-bind="validateInfos.label">
29
30
  <a-input
30
31
  v-model:value="formData.label"
@@ -37,7 +38,7 @@
37
38
  </a-input>
38
39
  </a-form-item>
39
40
  </a-col>
40
- <a-col :span="24">
41
+ <a-col :span="24" :xs="24">
41
42
  <a-form-item :label="t('components.AddDictionary.031362-3')" v-bind="validateInfos.value">
42
43
  <a-input
43
44
  v-model:value="formData.value"
@@ -45,7 +46,7 @@
45
46
  />
46
47
  </a-form-item>
47
48
  </a-col>
48
- <a-col :span="24">
49
+ <a-col :span="24" :xs="24">
49
50
  <a-form-item :label="t('components.AddDictionary.031362-5')" v-bind="validateInfos.css_class">
50
51
  <a-input
51
52
  v-model:value="formData.css_class"
@@ -53,7 +54,7 @@
53
54
  />
54
55
  </a-form-item>
55
56
  </a-col>
56
- <a-col :span="12">
57
+ <a-col :span="12" :xs="24" :sm="12">
57
58
  <a-form-item :label="t('components.AddDictionary.031362-7')" v-bind="validateInfos.color_type">
58
59
  <a-select
59
60
  v-model:value="formData.color_type"
@@ -74,12 +75,12 @@
74
75
  </a-select>
75
76
  </a-form-item>
76
77
  </a-col>
77
- <a-col :span="12">
78
+ <a-col :span="12" :xs="24" :sm="12">
78
79
  <a-form-item :label="t('common.table.status')" v-bind="validateInfos.status">
79
80
  <a-radio-group v-model:value="formData.status" :options="statusOptions" />
80
81
  </a-form-item>
81
82
  </a-col>
82
- <a-col :span="24">
83
+ <a-col :span="24" :xs="24">
83
84
  <a-form-item :label="t('common.form.remarks')" v-bind="validateInfos.remark">
84
85
  <a-textarea
85
86
  :placeholder="t('common.please.enter')"
@@ -352,4 +353,41 @@ export default defineComponent({
352
353
  :deep(.ant-alert-with-description.ant-alert-no-icon) {
353
354
  padding: 6px 10px;
354
355
  }
356
+
357
+ :global(.add-dictionary-modal-wrap .ant-modal) {
358
+ max-width: calc(100vw - 24px);
359
+ }
360
+
361
+ @media (max-width: 768px) {
362
+ :global(.add-dictionary-modal-wrap .ant-modal) {
363
+ top: 8px;
364
+ max-width: calc(100vw - 16px);
365
+ margin: 0 auto;
366
+ padding-bottom: 8px;
367
+ }
368
+
369
+ :global(.add-dictionary-modal-wrap .ant-modal-content) {
370
+ max-height: calc(100vh - 16px);
371
+ display: flex;
372
+ flex-direction: column;
373
+ }
374
+
375
+ :global(.add-dictionary-modal-wrap .ant-modal-body) {
376
+ flex: 1;
377
+ min-height: 0;
378
+ overflow-y: auto;
379
+ }
380
+
381
+ :deep(.ant-form-item) {
382
+ margin-bottom: 14px;
383
+ }
384
+
385
+ :deep(.ant-form-item-label) {
386
+ flex: 0 0 96px !important;
387
+ }
388
+
389
+ :deep(.ant-form-item-control) {
390
+ min-width: 0;
391
+ }
392
+ }
355
393
  </style>
@@ -3,6 +3,7 @@
3
3
  :width="1000"
4
4
  :visible="visible"
5
5
  :title="t('DictionarySetting.index.757488-0')"
6
+ wrapClassName="dictionary-setting-modal-wrap"
6
7
  @cancel="handleCancel"
7
8
  :destroyOnClose="true"
8
9
  :footer="null"
@@ -10,10 +11,10 @@
10
11
  >
11
12
  <a-spin :spinning="spinning">
12
13
  <div class="content-box">
13
- <div style="background: #f0f2f5">
14
- <a-row style="padding: 10px; background: #fff; margin-bottom: 4px">
15
- <a-space>
16
- <Input :placeholder="t('DictionarySetting.index.734314-0')" v-model:value="keyWord" style="width: 340px"></Input>
14
+ <div class="search-box">
15
+ <a-row class="search-row">
16
+ <a-space class="search-space" :wrap="true">
17
+ <Input class="search-input" :placeholder="t('DictionarySetting.index.734314-0')" v-model:value="keyWord"></Input>
17
18
  <a-button type="primary" @click="handleSearch">
18
19
  <template #icon>
19
20
  <bl-icon
@@ -356,9 +357,26 @@ export default defineComponent({
356
357
  <style lang="less" scoped>
357
358
  .content-box {
358
359
  height: 695px;
360
+ max-height: calc(100vh - 120px);
359
361
  display: flex;
360
362
  flex-direction: column;
361
363
  }
364
+
365
+ .search-box {
366
+ background: #f0f2f5;
367
+ }
368
+
369
+ .search-row {
370
+ padding: 10px;
371
+ background: #fff;
372
+ margin-bottom: 4px;
373
+ }
374
+
375
+ .search-input {
376
+ width: 340px;
377
+ max-width: 100%;
378
+ }
379
+
362
380
  .setting-box {
363
381
  width: 100%;
364
382
  flex: 1;
@@ -385,4 +403,76 @@ export default defineComponent({
385
403
  white-space: nowrap;
386
404
  word-break: break-all;
387
405
  }
406
+
407
+ :global(.dictionary-setting-modal-wrap .ant-modal) {
408
+ max-width: calc(100vw - 24px);
409
+ }
410
+
411
+ @media (max-width: 768px) {
412
+ :global(.dictionary-setting-modal-wrap) {
413
+ overflow: hidden;
414
+ }
415
+
416
+ :global(.dictionary-setting-modal-wrap .ant-modal) {
417
+ top: 8px;
418
+ max-width: calc(100vw - 16px);
419
+ margin: 0 auto;
420
+ padding-bottom: 8px;
421
+ }
422
+
423
+ :global(.dictionary-setting-modal-wrap .ant-modal-content) {
424
+ max-height: calc(100vh - 16px);
425
+ display: flex;
426
+ flex-direction: column;
427
+ }
428
+
429
+ :global(.dictionary-setting-modal-wrap .ant-modal-body) {
430
+ flex: 1;
431
+ min-height: 0;
432
+ overflow: hidden;
433
+ }
434
+
435
+ .content-box {
436
+ height: calc(100vh - 72px);
437
+ max-height: calc(100vh - 72px);
438
+ }
439
+
440
+ .search-row {
441
+ padding: 8px;
442
+ }
443
+
444
+ .search-space {
445
+ width: 100%;
446
+
447
+ :deep(.ant-space-item) {
448
+ &:first-child {
449
+ width: 100%;
450
+ }
451
+ }
452
+ }
453
+
454
+ .search-input {
455
+ width: 100%;
456
+ }
457
+
458
+ .setting-box {
459
+ flex-direction: column;
460
+
461
+ .setting-name {
462
+ width: 100%;
463
+ height: auto;
464
+ max-height: 156px;
465
+ padding-right: 0;
466
+ overflow-y: auto;
467
+ border-right: 0;
468
+ border-bottom: 1px solid #f0f0f0;
469
+ }
470
+
471
+ .types-content {
472
+ flex: 1;
473
+ min-height: 0;
474
+ padding-bottom: 8px;
475
+ }
476
+ }
477
+ }
388
478
  </style>