af-mobile-client-vue3 1.1.33 → 1.1.35

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,7 +1,7 @@
1
1
  {
2
2
  "name": "af-mobile-client-vue3",
3
3
  "type": "module",
4
- "version": "1.1.33",
4
+ "version": "1.1.35",
5
5
  "description": "Vue + Vite component lib",
6
6
  "license": "MIT",
7
7
  "engines": {
@@ -1,160 +1,160 @@
1
- <script setup lang="ts">
2
- import { deleteFile } from '@af-mobile-client-vue3/services/api/common'
3
- import { mobileUtil } from '@af-mobile-client-vue3/utils/mobileUtil'
4
- import {
5
- Button as vanButton,
6
- Uploader as vanUploader,
7
- } from 'vant'
8
- import { ref, watch } from 'vue'
9
-
10
- const props = defineProps({
11
- imageList: Array<any>,
12
- outerIndex: { default: undefined },
13
- authority: { default: 'user' },
14
- uploadMode: { default: 'server' },
15
- attr: { type: Object as () => { addOrEdit?: string }, default: () => ({}) },
16
- })
17
- const emit = defineEmits(['updateFileList'])
18
-
19
- const imageList = ref<Array<any>>(props.imageList ?? [])
20
-
21
- // 同步 props.imageList 到内部 imageList,保证每次变化都响应
22
- watch(() => props.imageList, (newVal) => {
23
- imageList.value = Array.isArray(newVal) ? [...newVal] : []
24
- }, { immediate: true })
25
-
26
- // 触发拍照
27
- function triggerCamera() {
28
- console.log('>>>> uploader 上传111')
29
- mobileUtil.execute({
30
- funcName: 'takePicture',
31
- param: {},
32
- callbackFunc: (result: any) => {
33
- if (result.status === 'success') {
34
- handlePhotoUpload(result.data)
35
- }
36
- },
37
- })
38
- }
39
-
40
- // 处理拍照后的上传
41
- function handlePhotoUpload(photoData: any) {
42
- const formData = new FormData()
43
- formData.append('resUploadMode', props.uploadMode)
44
- formData.append('pathKey', 'Default')
45
- formData.append('formType', 'image')
46
- formData.append('useType', 'Default')
47
- formData.append('resUploadStock', '1')
48
- formData.append('filename', photoData.name)
49
- formData.append('filesize', (photoData.size / 1024 / 1024).toFixed(4))
50
- formData.append('f_operator', 'server')
51
- formData.append('imgPath', photoData.filePath)
52
- formData.append('urlPath', `/api/${import.meta.env.VITE_APP_SYSTEM_NAME}/resource/upload`)
53
-
54
- // 添加临时预览
55
- const tempFile = {
56
- uid: Date.now() + Math.random().toString(36).substr(2, 5),
57
- name: photoData.name,
58
- status: 'uploading',
59
- message: '上传中...',
60
- url: `data:image/png;base64,${photoData.content}`,
61
- }
62
-
63
- if (!imageList.value) {
64
- imageList.value = [tempFile]
65
- }
66
- else {
67
- imageList.value.push(tempFile)
68
- }
69
-
70
- const param = {
71
- resUploadMode: props.uploadMode,
72
- pathKey: 'Default',
73
- formType: 'image',
74
- useType: 'Default',
75
- resUploadStock: '1',
76
- filename: photoData.name,
77
- filesize: photoData.size,
78
- f_operator: 'server',
79
- imgPath: photoData.filePath,
80
- urlPath: `/api/${import.meta.env.VITE_APP_SYSTEM_NAME}/resource/upload`,
81
- }
82
- // 上传到服务器
83
- mobileUtil.execute({
84
- funcName: 'uploadResource',
85
- param,
86
- callbackFunc: (result: any) => {
87
- if (result.status === 'success') {
88
- const index = imageList.value.findIndex(item => item.uid === tempFile.uid)
89
- if (index !== -1) {
90
- imageList.value[index].uid = result.data.id
91
- imageList.value[index].id = result.data.id
92
- delete imageList.value[index].message
93
- imageList.value[index].status = 'done'
94
- imageList.value[index].url = result.data.f_downloadpath
95
- }
96
- }
97
- else {
98
- const index = imageList.value.findIndex(item => item.uid === tempFile.uid)
99
- if (index !== -1) {
100
- imageList.value[index].status = 'failed'
101
- imageList.value[index].message = '上传失败'
102
- }
103
- }
104
-
105
- if (props.outerIndex !== undefined)
106
- emit('updateFileList', imageList.value.filter(item => item.status === 'done'), props.outerIndex)
107
- else
108
- emit('updateFileList', imageList.value.filter(item => item.status === 'done'))
109
- },
110
- })
111
- }
112
-
113
- // 删除图片
114
- function deleteFileFunction(file: any) {
115
- if (file.id) {
116
- deleteFile({ ids: [file.id], f_state: '删除' }).then((res: any) => {
117
- if (res.msg !== undefined) {
118
- const targetIndex = imageList.value.findIndex(item => item.id === file.id)
119
- if (targetIndex !== -1) {
120
- imageList.value.splice(targetIndex, 1)
121
- if (props.outerIndex !== undefined)
122
- emit('updateFileList', imageList.value.filter(item => item.status === 'done'), props.outerIndex)
123
- else
124
- emit('updateFileList', imageList.value.filter(item => item.status === 'done'))
125
- }
126
- }
127
- })
128
- }
129
- }
130
- </script>
131
-
132
- <template>
133
- <div class="uploader-container">
134
- <van-button
135
- v-if="props.attr?.addOrEdit !== 'readonly'"
136
- icon="photograph"
137
- type="primary"
138
- @click="triggerCamera"
139
- >
140
- 拍照
141
- </van-button>
142
-
143
- <van-uploader
144
- v-model="imageList"
145
- :show-upload="false"
146
- :deletable="props.attr?.addOrEdit !== 'readonly' && props.authority === 'admin'"
147
- :multiple="props.authority === 'admin'"
148
- :preview-image="true"
149
- :before-delete="props.attr?.addOrEdit !== 'readonly' && props.authority === 'admin' ? deleteFileFunction : undefined"
150
- />
151
- </div>
152
- </template>
153
-
154
- <style scoped lang="less">
155
- .uploader-container {
156
- display: flex;
157
- flex-direction: column;
158
- gap: 16px;
159
- }
160
- </style>
1
+ <script setup lang="ts">
2
+ import { deleteFile } from '@af-mobile-client-vue3/services/api/common'
3
+ import { mobileUtil } from '@af-mobile-client-vue3/utils/mobileUtil'
4
+ import {
5
+ Button as vanButton,
6
+ Uploader as vanUploader,
7
+ } from 'vant'
8
+ import { ref, watch } from 'vue'
9
+
10
+ const props = defineProps({
11
+ imageList: Array<any>,
12
+ outerIndex: { default: undefined },
13
+ authority: { default: 'user' },
14
+ uploadMode: { default: 'server' },
15
+ attr: { type: Object as () => { addOrEdit?: string }, default: () => ({}) },
16
+ })
17
+ const emit = defineEmits(['updateFileList'])
18
+
19
+ const imageList = ref<Array<any>>(props.imageList ?? [])
20
+
21
+ // 同步 props.imageList 到内部 imageList,保证每次变化都响应
22
+ watch(() => props.imageList, (newVal) => {
23
+ imageList.value = Array.isArray(newVal) ? [...newVal] : []
24
+ }, { immediate: true })
25
+
26
+ // 触发拍照
27
+ function triggerCamera() {
28
+ console.log('>>>> uploader 上传111')
29
+ mobileUtil.execute({
30
+ funcName: 'takePicture',
31
+ param: {},
32
+ callbackFunc: (result: any) => {
33
+ if (result.status === 'success') {
34
+ handlePhotoUpload(result.data)
35
+ }
36
+ },
37
+ })
38
+ }
39
+
40
+ // 处理拍照后的上传
41
+ function handlePhotoUpload(photoData: any) {
42
+ const formData = new FormData()
43
+ formData.append('resUploadMode', props.uploadMode)
44
+ formData.append('pathKey', 'Default')
45
+ formData.append('formType', 'image')
46
+ formData.append('useType', 'Default')
47
+ formData.append('resUploadStock', '1')
48
+ formData.append('filename', photoData.name)
49
+ formData.append('filesize', (photoData.size / 1024 / 1024).toFixed(4))
50
+ formData.append('f_operator', 'server')
51
+ formData.append('imgPath', photoData.filePath)
52
+ formData.append('urlPath', `/api/${import.meta.env.VITE_APP_SYSTEM_NAME}/resource/upload`)
53
+
54
+ // 添加临时预览
55
+ const tempFile = {
56
+ uid: Date.now() + Math.random().toString(36).substr(2, 5),
57
+ name: photoData.name,
58
+ status: 'uploading',
59
+ message: '上传中...',
60
+ url: `data:image/png;base64,${photoData.content}`,
61
+ }
62
+
63
+ if (!imageList.value) {
64
+ imageList.value = [tempFile]
65
+ }
66
+ else {
67
+ imageList.value.push(tempFile)
68
+ }
69
+
70
+ const param = {
71
+ resUploadMode: props.uploadMode,
72
+ pathKey: 'Default',
73
+ formType: 'image',
74
+ useType: 'Default',
75
+ resUploadStock: '1',
76
+ filename: photoData.name,
77
+ filesize: photoData.size,
78
+ f_operator: 'server',
79
+ imgPath: photoData.filePath,
80
+ urlPath: `/api/${import.meta.env.VITE_APP_SYSTEM_NAME}/resource/upload`,
81
+ }
82
+ // 上传到服务器
83
+ mobileUtil.execute({
84
+ funcName: 'uploadResource',
85
+ param,
86
+ callbackFunc: (result: any) => {
87
+ if (result.status === 'success') {
88
+ const index = imageList.value.findIndex(item => item.uid === tempFile.uid)
89
+ if (index !== -1) {
90
+ imageList.value[index].uid = result.data.id
91
+ imageList.value[index].id = result.data.id
92
+ delete imageList.value[index].message
93
+ imageList.value[index].status = 'done'
94
+ imageList.value[index].url = result.data.f_downloadpath
95
+ }
96
+ }
97
+ else {
98
+ const index = imageList.value.findIndex(item => item.uid === tempFile.uid)
99
+ if (index !== -1) {
100
+ imageList.value[index].status = 'failed'
101
+ imageList.value[index].message = '上传失败'
102
+ }
103
+ }
104
+
105
+ if (props.outerIndex !== undefined)
106
+ emit('updateFileList', imageList.value.filter(item => item.status === 'done'), props.outerIndex)
107
+ else
108
+ emit('updateFileList', imageList.value.filter(item => item.status === 'done'))
109
+ },
110
+ })
111
+ }
112
+
113
+ // 删除图片
114
+ function deleteFileFunction(file: any) {
115
+ if (file.id) {
116
+ deleteFile({ ids: [file.id], f_state: '删除' }).then((res: any) => {
117
+ if (res.msg !== undefined) {
118
+ const targetIndex = imageList.value.findIndex(item => item.id === file.id)
119
+ if (targetIndex !== -1) {
120
+ imageList.value.splice(targetIndex, 1)
121
+ if (props.outerIndex !== undefined)
122
+ emit('updateFileList', imageList.value.filter(item => item.status === 'done'), props.outerIndex)
123
+ else
124
+ emit('updateFileList', imageList.value.filter(item => item.status === 'done'))
125
+ }
126
+ }
127
+ })
128
+ }
129
+ }
130
+ </script>
131
+
132
+ <template>
133
+ <div class="uploader-container">
134
+ <van-button
135
+ v-if="props.attr?.addOrEdit !== 'readonly'"
136
+ icon="photograph"
137
+ type="primary"
138
+ @click="triggerCamera"
139
+ >
140
+ 拍照
141
+ </van-button>
142
+
143
+ <van-uploader
144
+ v-model="imageList"
145
+ :show-upload="false"
146
+ :deletable="props.attr?.addOrEdit !== 'readonly' && props.authority === 'admin'"
147
+ :multiple="props.authority === 'admin'"
148
+ :preview-image="true"
149
+ :before-delete="props.attr?.addOrEdit !== 'readonly' && props.authority === 'admin' ? deleteFileFunction : undefined"
150
+ />
151
+ </div>
152
+ </template>
153
+
154
+ <style scoped lang="less">
155
+ .uploader-container {
156
+ display: flex;
157
+ flex-direction: column;
158
+ gap: 16px;
159
+ }
160
+ </style>
@@ -481,21 +481,17 @@ function evaluateCustomFunction(funcString: string | undefined, record: any, ind
481
481
  }
482
482
  }
483
483
 
484
- // 更新查询条件并刷新
484
+ /**
485
+ * 函数描述: 传入自定义条件进行查询(传入字段必须在琉璃中配置生成查询项才会生效)
486
+ * @param {string} params - 查询条件map 例: { os_id:1 }
487
+ * // 小提示:此处传入的条件会覆盖掉fixQueryForm(固定查询条件参数)
488
+ */
485
489
  function updateConditionAndRefresh(params: any) {
486
- // 更新 conditionParams
487
- if (!conditionParams.value) {
488
- conditionParams.value = {}
489
- }
490
490
  if (params) {
491
491
  // 遍历参数,更新对应的表单值
492
492
  Object.entries(params).forEach(([key, value]) => {
493
493
  // 找到对应的表单项
494
- const formItem = formQueryList.value.find(item => item.model === key)
495
- if (formItem) {
496
- // 更新表单项的值
497
- conditionParams.value[key] = value
498
- }
494
+ conditionParams.value[key] = value
499
495
  })
500
496
  }
501
497
 
@@ -562,7 +558,7 @@ defineExpose({
562
558
  v-model:loading="loading"
563
559
  class="list_main"
564
560
  :finished="finished"
565
- finished-text="本来无一物,何处惹尘埃"
561
+ finished-text="已加载全部内容"
566
562
  :immediate-check="isInitQuery"
567
563
  @load="onLoad"
568
564
  >
@@ -647,7 +643,12 @@ defineExpose({
647
643
  </div>
648
644
  </VanCol>
649
645
  </VanRow>
650
- <VanRow gutter="20" class="card_item_footer" @click="emit('toDetail', item)">
646
+ <VanRow
647
+ v-if="footColumns && footColumns.length > 0"
648
+ gutter="20"
649
+ class="card_item_footer"
650
+ @click="emit('toDetail', item)"
651
+ >
651
652
  <VanCol v-for="column of footColumns" :key="`foot_${column.dataIndex}`" :span="12">
652
653
  <p>
653
654
  <span :style="handleFunctionStyle(column.styleFunctionForTitle, item)">
@@ -664,6 +665,7 @@ defineExpose({
664
665
  <VanRow v-if="allActions.length > 0" gutter="20" class="card_item_bottom">
665
666
  <VanCol span="4">
666
667
  <VanPopover
668
+ v-if="otherActions && otherActions.length !== 0 && otherActions.some(action => evaluateCustomFunction(action.customFunction, item, index))"
667
669
  v-model:show="showPopover[index]"
668
670
  placement="bottom-start"
669
671
  :actions="otherActions.filter(action => evaluateCustomFunction(action.customFunction, item, index))"
@@ -671,7 +673,6 @@ defineExpose({
671
673
  >
672
674
  <template #reference>
673
675
  <div
674
- v-show="otherActions && otherActions.length !== 0 && otherActions.some(action => evaluateCustomFunction(action.customFunction, item, index))"
675
676
  class="more-button"
676
677
  >
677
678
  <span>⋯</span>
@@ -733,6 +734,14 @@ defineExpose({
733
734
  border-radius: var(--van-radius-lg);
734
735
  margin: 0 0 var(--van-padding-xs) 0;
735
736
  padding: var(--van-padding-sm);
737
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
738
+ transition: all 0.3s ease;
739
+ border: 1px solid rgba(0, 0, 0, 0.04);
740
+
741
+ &:active {
742
+ transform: scale(0.98);
743
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
744
+ }
736
745
 
737
746
  .card_item_header {
738
747
  margin-bottom: var(--van-padding-base);
@@ -740,7 +749,7 @@ defineExpose({
740
749
  .title-row {
741
750
  display: flex;
742
751
  align-items: center;
743
- margin-bottom: 8px;
752
+ margin-bottom: 2px;
744
753
  width: 100%;
745
754
 
746
755
  .main-title {
@@ -748,6 +757,8 @@ defineExpose({
748
757
  align-items: center;
749
758
  .card_item_title {
750
759
  font-size: var(--van-font-size-lg);
760
+ font-weight: 500;
761
+ color: var(--van-text-color);
751
762
  margin: 0;
752
763
  }
753
764
  }
@@ -755,7 +766,7 @@ defineExpose({
755
766
  .sub-title {
756
767
  display: inline-flex;
757
768
  align-items: center;
758
- margin-left: 4px;
769
+ margin-left: 8px;
759
770
  .card_item_subtitle {
760
771
  font-size: var(--van-font-size-xs);
761
772
  color: var(--van-text-color-2);
@@ -768,21 +779,23 @@ defineExpose({
768
779
  align-items: center;
769
780
  margin-left: auto;
770
781
  .action-button {
771
- margin-left: 4px;
772
- width: 36px;
773
- height: 36px;
782
+ margin-left: 6px;
783
+ width: 32px;
784
+ height: 32px;
774
785
  padding: 0;
775
786
  border: none;
776
787
  color: var(--van-primary-color);
777
- background-color: rgba(25, 137, 250, 0.3);
778
- border-radius: 4px;
779
- font-size: 20px;
788
+ background-color: rgba(25, 137, 250, 0.1);
789
+ border-radius: 6px;
790
+ font-size: 18px;
780
791
  display: flex;
781
792
  align-items: center;
782
793
  justify-content: center;
794
+ transition: all 0.2s ease;
783
795
  &:active {
784
796
  opacity: 0.7;
785
- background-color: rgba(25, 137, 250, 0.5);
797
+ background-color: rgba(25, 137, 250, 0.2);
798
+ transform: scale(0.95);
786
799
  }
787
800
  }
788
801
  }
@@ -801,13 +814,13 @@ defineExpose({
801
814
  padding: 0 !important;
802
815
  align-items: center;
803
816
  width: 100%;
804
- margin: 0 -8px;
817
+ margin: 0 -4px;
805
818
 
806
819
  .tag-col {
807
820
  display: flex;
808
821
  align-items: center;
809
- padding: 0 8px;
810
- min-height: 32px;
822
+ padding: 0 4px;
823
+ min-height: 28px;
811
824
  }
812
825
 
813
826
  .tag-item {
@@ -816,12 +829,14 @@ defineExpose({
816
829
  font-size: var(--van-font-size-xs);
817
830
  display: flex;
818
831
  align-items: center;
819
- margin: 4px 0;
832
+ margin: 2px 0;
820
833
  justify-content: center;
821
834
  :deep(.van-tag) {
822
835
  width: fit-content;
823
836
  display: inline-flex;
824
837
  align-items: center;
838
+ padding: 2px 8px;
839
+ border-radius: 4px;
825
840
  }
826
841
  .tag-content {
827
842
  display: flex;
@@ -842,19 +857,38 @@ defineExpose({
842
857
  }
843
858
 
844
859
  .card_item_details {
845
- margin-bottom: var(--van-padding-base);
846
860
  font-size: var(--van-font-size-sm);
847
- color: #666;
861
+ color: var(--van-text-color-2);
862
+ padding: 8px 0;
848
863
 
849
864
  .van-col {
850
- margin-bottom: 2px;
865
+ margin-bottom: 4px;
866
+ p {
867
+ display: flex;
868
+ align-items: center;
869
+ gap: 4px;
870
+
871
+ span {
872
+ flex: 1;
873
+ min-width: 0;
874
+ overflow: hidden;
875
+ text-overflow: ellipsis;
876
+ white-space: nowrap;
877
+ }
878
+
879
+ :deep(.van-badge) {
880
+ flex-shrink: 0;
881
+ }
882
+ }
851
883
  }
852
884
  }
853
885
 
854
886
  .card_item_footer {
855
887
  font-size: var(--van-font-size-sm);
856
888
  color: var(--van-text-color-2);
857
- margin-bottom: 15px;
889
+ margin-bottom: 12px;
890
+ padding: 8px 0;
891
+ border-top: 1px solid rgba(0, 0, 0, 0.04);
858
892
 
859
893
  .van-col:last-child {
860
894
  text-align: right;
@@ -864,6 +898,45 @@ defineExpose({
864
898
  text-align: left;
865
899
  }
866
900
  }
901
+
902
+ .card_item_bottom {
903
+ margin-top: 4px;
904
+
905
+ .more-button {
906
+ width: 28px;
907
+ height: 28px;
908
+ display: flex;
909
+ align-items: center;
910
+ justify-content: center;
911
+ color: var(--van-text-color-2);
912
+ cursor: pointer;
913
+ font-size: 18px;
914
+ background-color: var(--van-background);
915
+ border-radius: 6px;
916
+ transition: all 0.2s ease;
917
+ border: 1px solid rgba(0, 0, 0, 0.06);
918
+ span {
919
+ line-height: 1;
920
+ margin-top: -2px;
921
+ }
922
+ &:active {
923
+ opacity: 0.7;
924
+ background-color: var(--van-background-2);
925
+ transform: scale(0.95);
926
+ }
927
+ }
928
+
929
+ .action-btn {
930
+ min-width: 76px;
931
+ height: 32px;
932
+ border-radius: 16px;
933
+ font-size: 14px;
934
+ transition: all 0.2s ease;
935
+ &:active {
936
+ transform: scale(0.95);
937
+ }
938
+ }
939
+ }
867
940
  }
868
941
  }
869
942
 
@@ -872,25 +945,30 @@ defineExpose({
872
945
  align-items: center;
873
946
  padding: 8px 12px;
874
947
  background-color: #fff;
875
- gap: 5px;
948
+ gap: 8px;
949
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
950
+ position: sticky;
951
+ top: 0;
952
+ z-index: 10;
876
953
  :deep(.van-search) {
877
954
  width: 100%;
878
955
  padding: var(--van-search-padding);
879
956
  background-color: transparent;
880
957
  }
881
958
  :deep(.van-search__content) {
882
- border-radius: 5px;
883
- background-color: #f5f5f5;
884
- padding: 4px 8px;
959
+ border-radius: 8px;
960
+ background-color: var(--van-background);
961
+ padding: 4px 12px;
962
+ border: 1px solid rgba(0, 0, 0, 0.01);
885
963
  }
886
964
  :deep(.van-field__left-icon) {
887
- color: #999;
965
+ color: var(--van-text-color-2);
888
966
  }
889
967
  :deep(.van-cell) {
890
968
  background-color: transparent;
891
969
  }
892
970
  :deep(.van-field__control::placeholder) {
893
- color: #999;
971
+ color: var(--van-text-color-2);
894
972
  font-size: 14px;
895
973
  }
896
974
  .van-col {
@@ -909,48 +987,20 @@ defineExpose({
909
987
  display: flex;
910
988
  align-items: center;
911
989
  justify-content: center;
912
- width: 40px;
913
- height: 40px;
914
- border-radius: 10px;
915
- background-color: rgba(245,245,245);
990
+ width: 36px;
991
+ height: 36px;
992
+ border-radius: 8px;
993
+ background-color: var(--van-background);
916
994
  cursor: pointer;
917
995
  position: relative;
918
996
  z-index: 1;
997
+ border: 1px solid rgba(0, 0, 0, 0.06);
998
+ transition: all 0.2s ease;
919
999
  &:active {
920
1000
  opacity: 0.7;
1001
+ transform: scale(0.95);
921
1002
  }
922
1003
  }
923
1004
  }
924
-
925
- .custom-button {
926
- border: none !important;
927
- box-shadow: none !important;
928
- }
929
-
930
- .more-button {
931
- width: 24px;
932
- height: 24px;
933
- display: flex;
934
- align-items: center;
935
- justify-content: center;
936
- color: #666;
937
- cursor: pointer;
938
- font-size: 20px;
939
- background-color: #f7f8fa;
940
- border-radius: 4px;
941
- span {
942
- line-height: 1;
943
- margin-top: -2px;
944
- }
945
- &:active {
946
- opacity: 0.7;
947
- background-color: #ebedf0;
948
- }
949
- }
950
- .action-btn {
951
- min-width: 80px;
952
- border-radius: 20px;
953
- font-size: 14px;
954
- }
955
1005
  }
956
1006
  </style>
@@ -501,7 +501,7 @@ function handleCloseScanButton() {
501
501
  font-size: 13px;
502
502
  font-weight: 600;
503
503
  line-height: 2rem;
504
- margin: 5px 5px 1px 8px;
504
+ margin: 5px 5px 1px 0px;
505
505
  color: black;
506
506
  }
507
507
  .range-picker-list {