vue2-client 1.16.87 → 1.16.88

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 (32) hide show
  1. package/package.json +112 -112
  2. package/src/assets/svg/female.svg +1 -1
  3. package/src/assets/svg/male.svg +1 -1
  4. package/src/base-client/components/common/HIS/HButtons/HButtons.vue +444 -412
  5. package/src/base-client/components/common/HIS/HForm/HForm.vue +361 -506
  6. package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
  7. package/src/base-client/components/common/HIS/HTab/HTab.vue +443 -443
  8. package/src/base-client/components/common/XCollapse/XCollapse.vue +833 -833
  9. package/src/base-client/components/common/XInput/XInput.vue +205 -194
  10. package/src/base-client/components/common/XTimeline/XTimeline.vue +477 -478
  11. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +705 -705
  12. package/src/base-client/components/his/XIcon/XIcon.vue +73 -73
  13. package/src/base-client/components/his/XIcon/index.js +3 -3
  14. package/src/base-client/components/his/XIcon/index.md +177 -177
  15. package/src/base-client/components/his/XList/XList.vue +829 -829
  16. package/src/base-client/components/his/XRadio/XRadio.vue +469 -389
  17. package/src/base-client/components/his/XSimpleTable/XSimpleTable.vue +159 -159
  18. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +383 -306
  19. package/src/base-client/components/his/XTitle/XTitle.vue +274 -274
  20. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +341 -341
  21. package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
  22. package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
  23. package/src-base-client/components/common/HIS/HForm/HForm.vue +347 -0
  24. package/src/assets/img/paymentMethod/icon1.png +0 -0
  25. package/src/assets/img/paymentMethod/icon2.png +0 -0
  26. package/src/assets/img/paymentMethod/icon3.png +0 -0
  27. package/src/assets/img/paymentMethod/icon4.png +0 -0
  28. package/src/assets/img/paymentMethod/icon5.png +0 -0
  29. package/src/assets/img/paymentMethod/icon6.png +0 -0
  30. package/src/base-client/components/common/XReport/XReportHospitalizationDemo.vue +0 -45
  31. package/src-base-client/components/his/XCharge/XCharge.vue +0 -0
  32. /package/src-base-client/components/{his/XCharge/README.md → common/XCollapse/XCollapse.vue} +0 -0
@@ -1,306 +1,383 @@
1
- <template>
2
- <div class="x-time-select" :class="wrapperClassObject">
3
- <div class="time-select-container">
4
- <div v-if="type === 'range'" class="picker-wrapper">
5
- <span v-if="showCalendarIcon" class="left-calendar-icon"><a-icon type="calendar" /></span>
6
- <a-range-picker
7
- :value="dateRange"
8
- :placeholder="['开始日期', '结束日期']"
9
- :separator="rangeSeparator"
10
- :disabled="disabled"
11
- :allowClear="allowClear"
12
- :format="format"
13
- :showTime="showTime"
14
- @change="handleDateChange"
15
- />
16
- </div>
17
- <div v-if="type === 'date'" class="picker-wrapper">
18
- <span v-if="showCalendarIcon" class="left-calendar-icon"><a-icon type="calendar" /></span>
19
- <a-date-picker
20
- :value="dateRange[0]"
21
- :format="format"
22
- :disabled="disabled"
23
- :allowClear="allowClear"
24
- :showTime="showTime"
25
- @change="handleDateChange"
26
- />
27
- </div>
28
-
29
- </div>
30
- </div>
31
- </template>
32
-
33
- <script>
34
- import moment from 'moment'
35
- import { getConfigByName } from '@vue2-client/services/api/common'
36
-
37
- export default {
38
- name: 'XTimeSelect',
39
- inject: ['getComponentByName'],
40
- props: {
41
- queryParamsName: {
42
- type: String,
43
- default: null
44
- },
45
- value: {
46
- type: Array,
47
- default: () => []
48
- },
49
- defaultTime: {
50
- type: Array,
51
- default: () => []
52
- },
53
- disabled: {
54
- type: Boolean,
55
- default: false
56
- },
57
- allowClear: {
58
- type: Boolean,
59
- default: true
60
- },
61
- format: {
62
- type: String,
63
- default: 'YYYY-MM-DD'
64
- }
65
- },
66
- data () {
67
- return {
68
- dateRange: [],
69
- type: 'range',
70
- showCalendarIcon: false
71
- }
72
- },
73
- computed: {
74
- // XHDescriptions 一致的样式配置模式:通过 $attrs 映射布尔/尺寸类
75
- wrapperClassObject () {
76
- const attrs = this.$attrs || {}
77
- const classes = {}
78
- const booleanStyleKeys = [
79
- 'yizhu-date'
80
- ]
81
- booleanStyleKeys.forEach(key => {
82
- const val = attrs[key]
83
- const truthy = val === true || val === '' || val === 'true'
84
- if (truthy) classes[`xtime-${key}`] = true
85
- })
86
- const size = attrs.size
87
- if (size && typeof size === 'string') classes[`xtime-size-${size}`] = true
88
- return classes
89
- },
90
- showTime () {
91
- // 根据format判断是否需要显示时间选择器
92
- return this.format && (this.format.includes('HH:mm') || this.format.includes('hh:mm'))
93
- },
94
- rangeSeparator () {
95
- return this.type === 'range' ? '-' : '至'
96
- }
97
- },
98
- watch: {
99
- value: {
100
- handler (newVal) {
101
- this.convertValueToMoment(newVal)
102
- },
103
- immediate: true,
104
- deep: true
105
- },
106
- defaultTime: {
107
- handler (newVal) {
108
- // 只有在没有传入value时才使用defaultTime
109
- if (!this.value || this.value.length === 0) {
110
- this.convertValueToMoment(newVal)
111
- }
112
- },
113
- immediate: true,
114
- deep: true
115
- },
116
- type () {
117
- this.convertValueToMoment(this.value)
118
- }
119
-
120
- },
121
- created () {
122
- this.getData(this.queryParamsName)
123
- },
124
- methods: {
125
- convertValueToMoment (value) {
126
- // 如果没有传入value或value为空,则使用defaultTime
127
- const timeToUse = (value && value.length > 0) ? value : this.defaultTime
128
- if (this.type === 'range' && timeToUse?.length === 2) {
129
- this.dateRange = [
130
- timeToUse[0] ? moment(timeToUse[0]) : null,
131
- timeToUse[1] ? moment(timeToUse[1]) : null
132
- ]
133
- } else if (this.type === 'date' && timeToUse?.length === 1) {
134
- this.dateRange = [timeToUse[0] ? moment(timeToUse[0]) : null]
135
- } else {
136
- this.dateRange = []
137
- }
138
- },
139
- handleDateChange (dates, dateStrings) {
140
- if (this.type === 'date') {
141
- // 单个日期选择器,dates是一个moment对象或null
142
- this.dateRange = [dates]
143
- } else {
144
- // 范围选择器,dates是一个数组
145
- this.dateRange = dates
146
- }
147
- this.$emit('change', dateStrings)
148
- },
149
- async getData (data) {
150
- if (data) {
151
- getConfigByName(data, 'af-his', res => {
152
- if (['date', 'range'].includes(res.type)) {
153
- this.type = res.type
154
- }
155
- // 处理format配置
156
- if (res.format !== undefined) {
157
- this.format = res.format
158
- }
159
- // 处理图标开关配置(默认关闭)
160
- this.showCalendarIcon = res && res.showCalendarIcon === true
161
- // 处理defaultTime配置
162
- if (res.defaultTime !== undefined) {
163
- if (res.defaultTime === 'now') {
164
- // 如果配置为'now',设置当前时间
165
- const now = moment().format(this.format)
166
- if (this.type === 'range') {
167
- this.defaultTime = [now, now]
168
- } else if (this.type === 'date') {
169
- this.defaultTime = [now]
170
- }
171
- } else if (Array.isArray(res.defaultTime)) {
172
- // 如果配置为数组,直接使用
173
- this.defaultTime = res.defaultTime
174
- }
175
- }
176
- this.convertValueToMoment(this.value)
177
- })
178
- }
179
- }
180
- }
181
- }
182
- </script>
183
-
184
- <style scoped lang="less">
185
- .x-time-select {
186
- position: relative;
187
- width: 100%;
188
- box-sizing: border-box;
189
- display: block;
190
- }
191
-
192
- .time-select-container {
193
- display: flex;
194
- align-items: center;
195
- }
196
-
197
- .picker-wrapper {
198
- flex: 1;
199
- position: relative;
200
- }
201
-
202
- .x-time-select :deep(.ant-picker-range),
203
- .x-time-select :deep(.ant-picker) {
204
- width: 100%;
205
- height: 32px;
206
- border-radius: 7px;
207
- background: #FFFFFF;
208
- border: 1px solid #E5E9F0;
209
- box-sizing: border-box;
210
- opacity: 1;
211
- }
212
- .x-time-select :deep(.ant-calendar-picker) {
213
- width: 100%;
214
- display: block;
215
- }
216
- .x-time-select :deep(.ant-calendar-picker-input) {
217
- width: 100%;
218
- height: 32px;
219
- border-radius: 7px;
220
- background: #FFFFFF;
221
- border: 1px solid #E5E9F0;
222
- box-sizing: border-box;
223
- opacity: 1;
224
- }
225
-
226
- .x-time-select :deep(.ant-input) {
227
- width: 100%;
228
- }
229
-
230
- /* 左侧日历图标 */
231
- .left-calendar-icon {
232
- position: absolute;
233
- left: 10px;
234
- top: 1.8px;
235
- width: 18.2px;
236
- height: 91%;
237
- opacity: 1;
238
- color: #848484;
239
- z-index: 2;
240
- pointer-events: none;
241
- display: inline-flex;
242
- align-items: center;
243
- }
244
-
245
- /* 为日期输入增加左内边距,避免与图标重叠(兼容 ant 不同版本) */
246
- .x-time-select :deep(.ant-picker-input > input) {
247
- padding-left: 19px;
248
- padding-right: 19px;
249
- font-family: 'Source Han Sans';
250
- font-weight: normal;
251
- line-height: normal;
252
- text-align: center;
253
- color: #313131;
254
- }
255
- .x-time-select :deep(.ant-calendar-picker-input) {
256
- padding-left: 19px;
257
- padding-right: 19px;
258
- font-family: 'Source Han Sans';
259
- font-size: 16px;
260
- font-weight: normal;
261
- line-height: normal;
262
- text-align: center;
263
- color: #313131;
264
- }
265
-
266
- .x-time-select.xtime-yizhu-date {
267
- margin: 5px 11px auto 24px;
268
- width: 234px;
269
- height: 32px;
270
- border-radius: 7px;
271
- opacity: 1;
272
- background: #FFFFFF;
273
- box-sizing: border-box;
274
- border: 1px solid #E5E9F0;
275
- }
276
-
277
- /* 覆盖内部 antd 选择器在该样式下的尺寸与边框 */
278
- .x-time-select.xtime-yizhu-date :deep(.ant-picker-range),
279
- .x-time-select.xtime-yizhu-date :deep(.ant-picker),
280
- .x-time-select.xtime-yizhu-date :deep(.ant-calendar-picker),
281
- .x-time-select.xtime-yizhu-date :deep(.ant-calendar-picker-input) {
282
- width: 234px;
283
- height: 32px;
284
- border-radius: 7px;
285
- background: #FFFFFF;
286
- border: 1px solid #E5E9F0;
287
- }
288
-
289
- /* 范围选择时,避免分隔符遮挡文字:左输入靠右、右输入靠左,并在分隔符侧增加内边距 */
290
- .x-time-select.xtime-yizhu-date :deep(.ant-picker-range .ant-picker-input:first-child input) {
291
- text-align: right;
292
- padding-right: 28px;
293
- }
294
- .x-time-select.xtime-yizhu-date :deep(.ant-picker-range .ant-picker-input:last-child input) {
295
- text-align: left;
296
- padding-left: 28px;
297
- }
298
-
299
- /* 分隔符与清除按钮占位优化,减少遮挡概率 */
300
- .x-time-select.xtime-yizhu-date :deep(.ant-picker-range .ant-picker-separator) {
301
- margin: 0 4px;
302
- }
303
- .x-time-select.xtime-yizhu-date :deep(.ant-picker-clear) {
304
- right: 6px;
305
- }
306
- </style>
1
+ <template>
2
+ <div class="x-time-select" :class="[{ 'has-nav-arrows': navArrows }, wrapperClassObject]">
3
+ <div class="time-select-container">
4
+ <div v-if="type === 'range'" class="picker-wrapper">
5
+ <span v-if="showCalendarIcon" class="left-calendar-icon"><a-icon type="calendar" /></span>
6
+ <a-range-picker
7
+ :value="dateRange"
8
+ :placeholder="['开始日期', '结束日期']"
9
+ :separator="rangeSeparator"
10
+ :disabled="disabled"
11
+ :allowClear="allowClear"
12
+ :format="format"
13
+ :showTime="showTime"
14
+ @change="handleDateChange"
15
+ />
16
+ </div>
17
+ <div v-if="type === 'date' && !navArrows" class="picker-wrapper">
18
+ <span v-if="showCalendarIcon" class="left-calendar-icon"><a-icon type="calendar" /></span>
19
+ <a-date-picker
20
+ :value="dateRange[0]"
21
+ :format="format"
22
+ :disabled="disabled"
23
+ :allowClear="allowClear"
24
+ :showTime="showTime"
25
+ @change="handleDateChange"
26
+ />
27
+ </div>
28
+ <div v-if="type === 'date' && navArrows" class="picker-wrapper nav-arrows-wrapper">
29
+ <span
30
+ v-if="!disabled"
31
+ class="nav-arrow nav-arrow-left"
32
+ @mousedown.prevent.stop
33
+ @click.stop="handleShiftDay(-1)"
34
+ ><a-icon type="left" /></span>
35
+ <a-date-picker
36
+ :value="dateRange[0]"
37
+ :format="format"
38
+ :disabled="disabled"
39
+ :allowClear="allowClear"
40
+ :showTime="showTime"
41
+ :suffixIcon="null"
42
+ @change="handleDateChange"
43
+ />
44
+ <span
45
+ v-if="!disabled"
46
+ class="nav-arrow nav-arrow-right"
47
+ @mousedown.prevent.stop
48
+ @click.stop="handleShiftDay(1)"
49
+ ><a-icon type="right" /></span>
50
+ </div>
51
+
52
+ </div>
53
+ </div>
54
+ </template>
55
+
56
+ <script>
57
+ import moment from 'moment'
58
+ import { getConfigByName } from '@vue2-client/services/api/common'
59
+
60
+ export default {
61
+ name: 'XTimeSelect',
62
+ inject: ['getComponentByName'],
63
+ props: {
64
+ queryParamsName: {
65
+ type: String,
66
+ default: null
67
+ },
68
+ value: {
69
+ type: Array,
70
+ default: () => []
71
+ },
72
+ defaultTime: {
73
+ type: Array,
74
+ default: () => []
75
+ },
76
+ disabled: {
77
+ type: Boolean,
78
+ default: false
79
+ },
80
+ allowClear: {
81
+ type: Boolean,
82
+ default: true
83
+ },
84
+ format: {
85
+ type: String,
86
+ default: 'YYYY-MM-DD'
87
+ },
88
+ navArrows: {
89
+ type: Boolean,
90
+ default: false
91
+ }
92
+ },
93
+ data () {
94
+ return {
95
+ dateRange: [],
96
+ type: 'range',
97
+ showCalendarIcon: false
98
+ }
99
+ },
100
+ computed: {
101
+ // 与 XHDescriptions 一致的样式配置模式:通过 $attrs 映射布尔/尺寸类
102
+ wrapperClassObject () {
103
+ const attrs = this.$attrs || {}
104
+ const classes = {}
105
+ const booleanStyleKeys = [
106
+ 'yizhu-date'
107
+ ]
108
+ booleanStyleKeys.forEach(key => {
109
+ const val = attrs[key]
110
+ const truthy = val === true || val === '' || val === 'true'
111
+ if (truthy) classes[`xtime-${key}`] = true
112
+ })
113
+ const size = attrs.size
114
+ if (size && typeof size === 'string') classes[`xtime-size-${size}`] = true
115
+ return classes
116
+ },
117
+ showTime () {
118
+ // 根据format判断是否需要显示时间选择器
119
+ return this.format && (this.format.includes('HH:mm') || this.format.includes('hh:mm'))
120
+ },
121
+ rangeSeparator () {
122
+ return this.type === 'range' ? '-' : '至'
123
+ }
124
+ },
125
+ watch: {
126
+ value: {
127
+ handler (newVal) {
128
+ this.convertValueToMoment(newVal)
129
+ },
130
+ immediate: true,
131
+ deep: true
132
+ },
133
+ defaultTime: {
134
+ handler (newVal) {
135
+ // 只有在没有传入value时才使用defaultTime
136
+ if (!this.value || this.value.length === 0) {
137
+ this.convertValueToMoment(newVal)
138
+ }
139
+ },
140
+ immediate: true,
141
+ deep: true
142
+ },
143
+ type () {
144
+ this.convertValueToMoment(this.value)
145
+ }
146
+
147
+ },
148
+ created () {
149
+ this.getData(this.queryParamsName)
150
+ },
151
+ methods: {
152
+ convertValueToMoment (value) {
153
+ // 如果没有传入value或value为空,则使用defaultTime
154
+ const timeToUse = (value && value.length > 0) ? value : this.defaultTime
155
+ if (this.type === 'range' && timeToUse?.length === 2) {
156
+ this.dateRange = [
157
+ timeToUse[0] ? moment(timeToUse[0]) : null,
158
+ timeToUse[1] ? moment(timeToUse[1]) : null
159
+ ]
160
+ } else if (this.type === 'date' && timeToUse?.length === 1) {
161
+ this.dateRange = [timeToUse[0] ? moment(timeToUse[0]) : null]
162
+ } else {
163
+ this.dateRange = []
164
+ }
165
+ },
166
+ handleDateChange (dates, dateStrings) {
167
+ if (this.type === 'date') {
168
+ // 单个日期选择器,dates是一个moment对象或null
169
+ this.dateRange = [dates]
170
+ } else {
171
+ // 范围选择器,dates是一个数组
172
+ this.dateRange = dates
173
+ }
174
+ this.$emit('change', dateStrings)
175
+ },
176
+ async getData (data) {
177
+ if (data) {
178
+ getConfigByName(data, 'af-his', res => {
179
+ if (['date', 'range'].includes(res.type)) {
180
+ this.type = res.type
181
+ }
182
+ // 处理format配置
183
+ if (res.format !== undefined) {
184
+ this.format = res.format
185
+ }
186
+ // 处理图标开关配置(默认关闭)
187
+ this.showCalendarIcon = res && res.showCalendarIcon === true
188
+ // 处理左右箭头开关配置(默认关闭)
189
+ this.navArrows = !!(res && (res.navArrows === true || res.showNavArrows === true))
190
+ // 处理defaultTime配置
191
+ if (res.defaultTime !== undefined) {
192
+ if (res.defaultTime === 'now') {
193
+ // 如果配置为'now',设置当前时间
194
+ const now = moment().format(this.format)
195
+ if (this.type === 'range') {
196
+ this.defaultTime = [now, now]
197
+ } else if (this.type === 'date') {
198
+ this.defaultTime = [now]
199
+ }
200
+ } else if (Array.isArray(res.defaultTime)) {
201
+ // 如果配置为数组,直接使用
202
+ this.defaultTime = res.defaultTime
203
+ }
204
+ }
205
+ this.convertValueToMoment(this.value)
206
+ })
207
+ }
208
+ },
209
+ handleShiftDay (delta) {
210
+ if (this.type !== 'date') return
211
+ const current = this.dateRange && this.dateRange[0] ? this.dateRange[0].clone() : moment()
212
+ const unit = this.showTime ? 'day' : 'day'
213
+ const next = current.add(delta, unit)
214
+ this.dateRange = [next]
215
+ this.$emit('change', next ? next.format(this.format) : '')
216
+ }
217
+ }
218
+ }
219
+ </script>
220
+
221
+ <style scoped lang="less">
222
+ .x-time-select {
223
+ position: relative;
224
+ width: 100%;
225
+ box-sizing: border-box;
226
+ display: block;
227
+ }
228
+
229
+ .time-select-container {
230
+ display: flex;
231
+ align-items: center;
232
+ }
233
+
234
+ .picker-wrapper {
235
+ flex: 1;
236
+ position: relative;
237
+ }
238
+
239
+ .nav-arrows-wrapper {
240
+ position: relative;
241
+ }
242
+
243
+ .nav-arrow {
244
+ position: absolute;
245
+ top: 50%;
246
+ transform: translateY(-50%);
247
+ display: inline-flex;
248
+ align-items: center;
249
+ justify-content: center;
250
+ width: 24px;
251
+ height: 24px;
252
+ color: #848484;
253
+ cursor: pointer;
254
+ user-select: none;
255
+ z-index: 3;
256
+ }
257
+ .nav-arrow:hover {
258
+ color: #515151;
259
+ }
260
+ .nav-arrow-left {
261
+ left: 6px;
262
+ }
263
+ .nav-arrow-right {
264
+ right: 6px;
265
+ }
266
+
267
+ .x-time-select :deep(.ant-picker-range),
268
+ .x-time-select :deep(.ant-picker) {
269
+ width: 100%;
270
+ height: 32px;
271
+ border-radius: 7px;
272
+ background: #FFFFFF;
273
+ border: 1px solid #E5E9F0;
274
+ box-sizing: border-box;
275
+ opacity: 1;
276
+ }
277
+ .x-time-select.has-nav-arrows :deep(.ant-picker-suffix) {
278
+ display: none; /* 仅箭头模式隐藏后缀图标容器 */
279
+ }
280
+ .x-time-select :deep(.ant-calendar-picker) {
281
+ width: 100%;
282
+ display: block;
283
+ }
284
+ .x-time-select :deep(.ant-calendar-picker-input) {
285
+ width: 100%;
286
+ height: 32px;
287
+ border-radius: 7px;
288
+ background: #FFFFFF;
289
+ border: 1px solid #E5E9F0;
290
+ box-sizing: border-box;
291
+ opacity: 1;
292
+ }
293
+
294
+ .x-time-select :deep(.ant-input) {
295
+ width: 100%;
296
+ }
297
+
298
+ /* 左侧日历图标 */
299
+ .left-calendar-icon {
300
+ position: absolute;
301
+ left: 10px;
302
+ top: 1.8px;
303
+ width: 18.2px;
304
+ height: 91%;
305
+ opacity: 1;
306
+ color: #848484;
307
+ z-index: 2;
308
+ pointer-events: none;
309
+ display: inline-flex;
310
+ align-items: center;
311
+ }
312
+
313
+ /* 为日期输入增加左内边距,避免与图标重叠(兼容 ant 不同版本) */
314
+ .x-time-select :deep(.ant-picker-input > input) {
315
+ padding-left: 19px;
316
+ padding-right: 19px;
317
+ font-family: 'Source Han Sans';
318
+ font-weight: normal;
319
+ line-height: normal;
320
+ text-align: center;
321
+ color: #313131;
322
+ }
323
+ .x-time-select :deep(.ant-calendar-picker-input) {
324
+ padding-left: 19px;
325
+ padding-right: 19px;
326
+ font-family: 'Source Han Sans';
327
+ font-size: 16px;
328
+ font-weight: normal;
329
+ line-height: normal;
330
+ text-align: center;
331
+ color: #313131;
332
+ }
333
+ .x-time-select.has-nav-arrows :deep(.ant-calendar-picker-icon),
334
+ .x-time-select.has-nav-arrows :deep(.ant-calendar-picker-clear),
335
+ .x-time-select.has-nav-arrows :deep(.anticon-calendar) {
336
+ display: none; /* 仅箭头模式隐藏旧版图标节点 */
337
+ }
338
+
339
+ .x-time-select.xtime-yizhu-date {
340
+ margin: 5px 11px auto 24px;
341
+ width: 234px;
342
+ height: 32px;
343
+ border-radius: 7px;
344
+ opacity: 1;
345
+ background: #FFFFFF;
346
+ box-sizing: border-box;
347
+ border: 1px solid #E5E9F0;
348
+ }
349
+
350
+ /* 覆盖内部 antd 选择器在该样式下的尺寸与边框 */
351
+ .x-time-select.xtime-yizhu-date :deep(.ant-picker-range),
352
+ .x-time-select.xtime-yizhu-date :deep(.ant-picker),
353
+ .x-time-select.xtime-yizhu-date :deep(.ant-calendar-picker),
354
+ .x-time-select.xtime-yizhu-date :deep(.ant-calendar-picker-input) {
355
+ width: 234px;
356
+ height: 32px;
357
+ border-radius: 7px;
358
+ background: #FFFFFF;
359
+ border: 1px solid #E5E9F0;
360
+ }
361
+
362
+ /* 范围选择时,避免分隔符遮挡文字:左输入靠右、右输入靠左,并在分隔符侧增加内边距 */
363
+ .x-time-select.xtime-yizhu-date :deep(.ant-picker-range .ant-picker-input:first-child input) {
364
+ text-align: right;
365
+ padding-right: 28px;
366
+ }
367
+ .x-time-select.xtime-yizhu-date :deep(.ant-picker-range .ant-picker-input:last-child input) {
368
+ text-align: left;
369
+ padding-left: 28px;
370
+ }
371
+ /* 箭头模式下,让输入有左右内边距以避让箭头 */
372
+ .x-time-select.has-nav-arrows :deep(.ant-picker-input > input) {
373
+ padding-left: 30px;
374
+ padding-right: 30px;
375
+ }
376
+ /* 分隔符与清除按钮占位优化,减少遮挡概率 */
377
+ .x-time-select.xtime-yizhu-date :deep(.ant-picker-range .ant-picker-separator) {
378
+ margin: 0 4px;
379
+ }
380
+ .x-time-select.xtime-yizhu-date :deep(.ant-picker-clear) {
381
+ right: 6px;
382
+ }
383
+ </style>