vue2-client 1.18.31 → 1.18.33

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 (109) hide show
  1. package/.eslintrc.js +90 -90
  2. package/Components.md +60 -60
  3. package/docs/index.md +30 -30
  4. package/index.js +31 -31
  5. package/jest-transform-stub.js +8 -8
  6. package/jest.setup.js +7 -7
  7. package/package.json +1 -1
  8. package/src/assets/img/querySlotDemo.svg +15 -15
  9. package/src/assets/svg/female.svg +1 -1
  10. package/src/assets/svg/male.svg +1 -1
  11. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  12. package/src/base-client/components/common/CitySelect/index.js +3 -3
  13. package/src/base-client/components/common/CitySelect/index.md +109 -109
  14. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  15. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  16. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  17. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  18. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  19. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  20. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  21. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  22. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  23. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  24. package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
  25. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  26. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  27. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  28. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  29. package/src/base-client/components/common/Tree/index.js +2 -2
  30. package/src/base-client/components/common/Upload/index.js +3 -3
  31. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  32. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  33. package/src/base-client/components/common/XCollapse/XCollapse.vue +830 -830
  34. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  35. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  36. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  37. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  38. package/src/base-client/components/common/XDescriptions/index.md +322 -322
  39. package/src/base-client/components/common/XForm/index.md +178 -178
  40. package/src/base-client/components/common/XFormTable/demo.vue +2 -1
  41. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +6 -3
  42. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  43. package/src/base-client/components/common/XStepView/index.js +3 -3
  44. package/src/base-client/components/common/XStepView/index.md +31 -31
  45. package/src/base-client/components/common/XTable/XTable.vue +1715 -1715
  46. package/src/base-client/components/common/XTable/XTableWrapper.vue +8 -0
  47. package/src/base-client/components/common/XTable/index.md +255 -255
  48. package/src/base-client/components/common/XTimeline/XTimeline.vue +477 -477
  49. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +705 -705
  50. package/src/base-client/components/his/XList/XList.vue +938 -938
  51. package/src/base-client/components/his/XSimpleTable/XSimpleTable.vue +443 -44
  52. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +354 -354
  53. package/src/base-client/components/his/XTitle/XTitle.vue +314 -314
  54. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +341 -341
  55. package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
  56. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  57. package/src/base-client/plugins/Config.js +19 -19
  58. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  59. package/src/components/Charts/Bar.vue +62 -62
  60. package/src/components/Charts/ChartCard.vue +134 -134
  61. package/src/components/Charts/Liquid.vue +67 -67
  62. package/src/components/Charts/MiniArea.vue +39 -39
  63. package/src/components/Charts/MiniBar.vue +39 -39
  64. package/src/components/Charts/MiniProgress.vue +75 -75
  65. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  66. package/src/components/Charts/Radar.vue +68 -68
  67. package/src/components/Charts/RankList.vue +77 -77
  68. package/src/components/Charts/TagCloud.vue +113 -113
  69. package/src/components/Charts/TransferBar.vue +64 -64
  70. package/src/components/Charts/Trend.vue +82 -82
  71. package/src/components/Charts/chart.less +12 -12
  72. package/src/components/Charts/smooth.area.less +13 -13
  73. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  74. package/src/components/NumberInfo/index.js +3 -3
  75. package/src/components/NumberInfo/index.less +54 -54
  76. package/src/components/NumberInfo/index.md +43 -43
  77. package/src/components/STable/index.js +1 -1
  78. package/src/components/card/ChartCard.vue +79 -79
  79. package/src/components/chart/Bar.vue +60 -60
  80. package/src/components/chart/MiniArea.vue +67 -67
  81. package/src/components/chart/MiniBar.vue +59 -59
  82. package/src/components/chart/MiniProgress.vue +57 -57
  83. package/src/components/chart/Radar.vue +80 -80
  84. package/src/components/chart/RankingList.vue +60 -60
  85. package/src/components/chart/Trend.vue +79 -79
  86. package/src/components/chart/index.less +9 -9
  87. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  88. package/src/components/input/IInput.vue +66 -66
  89. package/src/components/menu/SideMenu.vue +75 -75
  90. package/src/components/menu/menu.js +273 -273
  91. package/src/components/tool/AStepItem.vue +60 -60
  92. package/src/layouts/CommonLayout.vue +56 -56
  93. package/src/layouts/header/HeaderNotice.vue +177 -177
  94. package/src/lib.js +1 -1
  95. package/src/mock/extend/index.js +84 -84
  96. package/src/mock/goods/index.js +108 -108
  97. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  98. package/src/pages/system/dictionary/index.vue +44 -44
  99. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  100. package/src/pages/system/monitor/operLog/index.vue +37 -37
  101. package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
  102. package/src/router/async/router.map.js +2 -2
  103. package/src/services/api/cas.js +79 -79
  104. package/src/store/modules/setting.js +119 -119
  105. package/src/utils/authority-utils.js +85 -85
  106. package/src/utils/errorCode.js +6 -6
  107. package/src-base-client/components/common/HIS/HForm/HForm.vue +347 -0
  108. package/src-base-client/components/common/XCollapse/XCollapse.vue +0 -0
  109. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,314 +1,314 @@
1
- <template>
2
- <div>
3
- <div
4
- v-if="isShowTopLine">
5
- <hr class="top-line"/>
6
- </div>
7
- <div class="x-title-container" :class="wrapperClassObject">
8
- <div
9
- v-if="config.type === 'title'"
10
- class="x-title"
11
- :class="{ 'with-underline': config.line === 'line' }">
12
- <div class="title-content">
13
- <div class="title-dot"></div>
14
- <a-icon v-if="attrs.icon && !attrs.customIcon" :type="attrs.icon" class="title-icon" />
15
- <XIcon v-if="attrs.customIcon" :name="attrs.customIcon" class="title-icon" />
16
- <span>{{ config.label }}</span>
17
- </div>
18
- <div
19
- v-if="config.line === 'line'"
20
- class="underline"
21
- :style="lineStyle">
22
- </div>
23
- </div>
24
- <div v-else-if="config.type === 'button'" class="x-button-container">
25
- <a-button type="primary" @click="handleClick">{{ config.label }}</a-button>
26
- </div>
27
- </div>
28
- <div
29
- v-if="isShowBottomLine">
30
- <hr class="top-line"/>
31
- </div>
32
- </div>
33
- </template>
34
-
35
- <script setup>
36
- import { ref, computed, onMounted, useAttrs } from 'vue'
37
- import XIcon from '../XIcon/XIcon.vue'
38
-
39
- const props = defineProps({
40
- queryParamsName: {
41
- type: String,
42
- default: ''
43
- },
44
- // 新增:直接设置标题文本,优先级高于queryParamsName
45
- title: {
46
- type: String,
47
- default: ''
48
- }
49
- })
50
-
51
- const emit = defineEmits([])
52
-
53
- const config = ref({
54
- label: '',
55
- type: 'title',
56
- clickName: '',
57
- line: '',
58
- color: '',
59
- lineLength: ''
60
- })
61
-
62
- const lineStyle = computed(() => {
63
- const style = {}
64
-
65
- // 设置线条颜色
66
- style.backgroundColor = config.value.color || '#5D5C5C'
67
-
68
- // 设置线条宽度
69
- style.width = config.value.lineLength ? `${config.value.lineLength}px` : '800px'
70
-
71
- return style
72
- })
73
-
74
- // 动态样式开关:通过 $attrs 生成 xtitle-* 类(布尔开关 + size 派生类)
75
- const attrs = useAttrs()
76
- const wrapperClassObject = computed(() => {
77
- const classes = {}
78
- const booleanStyleKeys = [
79
- 'center',
80
- 'littlefont',
81
- 'dot',
82
- 'nodot',
83
- 'yizhu-title',
84
- 'left-title',
85
- 'line-style', // 分割线样式
86
- 'compact' // 紧凑样式高23 字体大小16
87
- ]
88
- booleanStyleKeys.forEach(key => {
89
- const val = attrs[key]
90
- const truthy = val === true || val === '' || val === 'true'
91
- if (truthy) classes[`x-title-${key}`] = true
92
- })
93
- return classes
94
- })
95
- // 是否显示顶部分割线
96
- const isShowTopLine = computed(() => {
97
- return attrs.showTopLine === 'true' || attrs.showTopLine === true
98
- })
99
- // 是否显示底部分割线
100
- const isShowBottomLine = computed(() => {
101
- return attrs.showBottomLine === 'true' || attrs.showBottomLine === true
102
- })
103
- const handleClick = () => {
104
- if (config.value.clickName) {
105
- emit(config.value.clickName)
106
- }
107
- }
108
- const parseConfig = (data) => {
109
- // 如果设置了title属性,直接使用title作为标签
110
- if (props.title) {
111
- config.value.label = props.title
112
- config.value.type = 'title'
113
- config.value.line = ''
114
- config.value.color = ''
115
- config.value.lineLength = ''
116
- config.value.clickName = ''
117
- return
118
- }
119
-
120
- if (!data) return
121
-
122
- const parts = data.includes('-') ? data.split('-') : data === 'line' ? ['', 'title', 'line'] : [data]
123
-
124
- // 基本设置 - 标签和类型
125
- config.value.label = parts[0] || ''
126
- config.value.type = parts[1] || 'title'
127
-
128
- // 根据类型采用不同的参数格式解析
129
- if (config.value.type === 'title') {
130
- // 标题类型格式: aa-title-line-red-800
131
- // parts[0]: 标签
132
- // parts[1]: title
133
- // parts[2]: line (下划线样式)
134
- // parts[3]: 颜色
135
- // parts[4]: 长度
136
- config.value.line = parts[2] || ''
137
- config.value.color = parts[3] || ''
138
- config.value.lineLength = parts[4] || ''
139
- } else if (config.value.type === 'button') {
140
- // 按钮类型格式: aa-button-cc
141
- // parts[0]: 标签
142
- // parts[1]: button
143
- // parts[2]: 点击事件名称
144
- config.value.clickName = parts[2] || ''
145
- }
146
- }
147
-
148
- onMounted(() => {
149
- parseConfig(props.queryParamsName)
150
- })
151
- </script>
152
-
153
- <style scoped lang="less">
154
- .x-title-container {
155
- display: flex;
156
- align-items: center;
157
- justify-content: space-between;
158
- }
159
-
160
- .x-title {
161
- font-size: 18px;
162
- font-weight: 700;
163
- height: 26px;
164
- width: 100%;
165
- text-align: left;
166
- font-family: "Source Han Sans";
167
- color: #313131;
168
- position: relative;
169
- white-space: nowrap;
170
- overflow: hidden;
171
- text-overflow: ellipsis;
172
- }
173
- .underline {
174
- position: absolute;
175
- bottom: 0;
176
- left: 0;
177
- height: 1px;
178
- width: 100%;
179
- background-color: #5D5C5C;
180
- }
181
-
182
- .x-button-container {
183
- text-align: right;
184
- }
185
- .x-title-center {
186
- &.x-title-container,
187
- .x-title-container {
188
- :deep(.x-title) {
189
- text-align: center;
190
- }
191
- }
192
- }
193
- .x-title-littlefont {
194
- &.x-title-container,
195
- .x-title-container {
196
- :deep(.x-title) {
197
- font-size: 16px;
198
- }
199
- }
200
- }
201
-
202
- .title-icon {
203
- font-size: 16px;
204
- flex-shrink: 0;
205
- display: inline-flex;
206
- align-items: center;
207
- justify-content: center;
208
- vertical-align: baseline;
209
- line-height: 1;
210
- color: #5D5C5C;
211
- margin-right: 8px;
212
- transform: translateY(0.1em);
213
- }
214
-
215
- // title-content 默认样式 - 只保留右侧间距
216
- .x-title-container {
217
- :deep(.title-content) {
218
- display: flex;
219
- align-items: baseline;
220
- }
221
- }
222
- // 顶部分割线
223
- .top-line {
224
- width: 100%;
225
- height: 2px;
226
- background-color: #0057FE;
227
- border: none;
228
- margin: 8px 0;
229
- opacity: 1;
230
- }
231
- .x-title-dot,
232
- .x-title-nodot {
233
- &.x-title-container,
234
- .x-title-container {
235
- :deep(.title-dot) {
236
- width: 14px;
237
- height: 14px;
238
- margin-right: 8px;
239
- flex-shrink: 0;
240
- }
241
- }
242
- }
243
-
244
- // dot 样式特有部分
245
- .x-title-dot {
246
- &.x-title-container,
247
- .x-title-container {
248
- :deep(.title-dot) {
249
- border-radius: 50%;
250
- background-color: #3362DA;
251
- }
252
- }
253
- }
254
- .x-title-yizhu-title {
255
- &.x-title-container,
256
- .x-title-container {
257
- margin-top: 3px;
258
- margin-left: 6px;
259
- margin-bottom: 7px;
260
- :deep(.x-title) {
261
- height: 26px;
262
- opacity: 1;
263
- font-family: "Source Han Sans";
264
- font-size: 18px;
265
- font-weight: bold;
266
- line-height: normal;
267
- letter-spacing: 0em;
268
- font-feature-settings: "kern" on;
269
- color: #5D5C5C;
270
- }
271
- }
272
- }
273
- .x-title-left-title {
274
- &.x-title-container,
275
- .x-title-container {
276
- margin: 15px auto 15px 6px;
277
- :deep(.x-title) {
278
- height: 26px;
279
- opacity: 1;
280
- font-family: "Source Han Sans";
281
- font-size: 18px;
282
- font-weight: bold;
283
- line-height: normal;
284
- }
285
- }
286
- }
287
- // nodot 样式特有部分
288
- .x-title-nodot {
289
- &.x-title-container,
290
- .x-title-container {
291
- :deep(.title-dot) {
292
- /* 透明圆点,保持占位但不显示 */
293
- background-color: transparent;
294
- }
295
- }
296
- }
297
- .x-title-line-style {
298
- background: #0057FE;
299
- height: 2px;
300
- }
301
- .x-title-compact {
302
- :deep(.x-title){
303
- height: 23px;
304
- opacity: 1;
305
- font-family: "Source Han Sans";
306
- font-size: 16px !important;
307
- font-weight: 600;
308
- line-height: normal;
309
- letter-spacing: 0em;
310
- font-feature-settings: "kern" on;
311
- color: #313131;
312
- }
313
- }
314
- </style>
1
+ <template>
2
+ <div>
3
+ <div
4
+ v-if="isShowTopLine">
5
+ <hr class="top-line"/>
6
+ </div>
7
+ <div class="x-title-container" :class="wrapperClassObject">
8
+ <div
9
+ v-if="config.type === 'title'"
10
+ class="x-title"
11
+ :class="{ 'with-underline': config.line === 'line' }">
12
+ <div class="title-content">
13
+ <div class="title-dot"></div>
14
+ <a-icon v-if="attrs.icon && !attrs.customIcon" :type="attrs.icon" class="title-icon" />
15
+ <XIcon v-if="attrs.customIcon" :name="attrs.customIcon" class="title-icon" />
16
+ <span>{{ config.label }}</span>
17
+ </div>
18
+ <div
19
+ v-if="config.line === 'line'"
20
+ class="underline"
21
+ :style="lineStyle">
22
+ </div>
23
+ </div>
24
+ <div v-else-if="config.type === 'button'" class="x-button-container">
25
+ <a-button type="primary" @click="handleClick">{{ config.label }}</a-button>
26
+ </div>
27
+ </div>
28
+ <div
29
+ v-if="isShowBottomLine">
30
+ <hr class="top-line"/>
31
+ </div>
32
+ </div>
33
+ </template>
34
+
35
+ <script setup>
36
+ import { ref, computed, onMounted, useAttrs } from 'vue'
37
+ import XIcon from '../XIcon/XIcon.vue'
38
+
39
+ const props = defineProps({
40
+ queryParamsName: {
41
+ type: String,
42
+ default: ''
43
+ },
44
+ // 新增:直接设置标题文本,优先级高于queryParamsName
45
+ title: {
46
+ type: String,
47
+ default: ''
48
+ }
49
+ })
50
+
51
+ const emit = defineEmits([])
52
+
53
+ const config = ref({
54
+ label: '',
55
+ type: 'title',
56
+ clickName: '',
57
+ line: '',
58
+ color: '',
59
+ lineLength: ''
60
+ })
61
+
62
+ const lineStyle = computed(() => {
63
+ const style = {}
64
+
65
+ // 设置线条颜色
66
+ style.backgroundColor = config.value.color || '#5D5C5C'
67
+
68
+ // 设置线条宽度
69
+ style.width = config.value.lineLength ? `${config.value.lineLength}px` : '800px'
70
+
71
+ return style
72
+ })
73
+
74
+ // 动态样式开关:通过 $attrs 生成 xtitle-* 类(布尔开关 + size 派生类)
75
+ const attrs = useAttrs()
76
+ const wrapperClassObject = computed(() => {
77
+ const classes = {}
78
+ const booleanStyleKeys = [
79
+ 'center',
80
+ 'littlefont',
81
+ 'dot',
82
+ 'nodot',
83
+ 'yizhu-title',
84
+ 'left-title',
85
+ 'line-style', // 分割线样式
86
+ 'compact' // 紧凑样式高23 字体大小16
87
+ ]
88
+ booleanStyleKeys.forEach(key => {
89
+ const val = attrs[key]
90
+ const truthy = val === true || val === '' || val === 'true'
91
+ if (truthy) classes[`x-title-${key}`] = true
92
+ })
93
+ return classes
94
+ })
95
+ // 是否显示顶部分割线
96
+ const isShowTopLine = computed(() => {
97
+ return attrs.showTopLine === 'true' || attrs.showTopLine === true
98
+ })
99
+ // 是否显示底部分割线
100
+ const isShowBottomLine = computed(() => {
101
+ return attrs.showBottomLine === 'true' || attrs.showBottomLine === true
102
+ })
103
+ const handleClick = () => {
104
+ if (config.value.clickName) {
105
+ emit(config.value.clickName)
106
+ }
107
+ }
108
+ const parseConfig = (data) => {
109
+ // 如果设置了title属性,直接使用title作为标签
110
+ if (props.title) {
111
+ config.value.label = props.title
112
+ config.value.type = 'title'
113
+ config.value.line = ''
114
+ config.value.color = ''
115
+ config.value.lineLength = ''
116
+ config.value.clickName = ''
117
+ return
118
+ }
119
+
120
+ if (!data) return
121
+
122
+ const parts = data.includes('-') ? data.split('-') : data === 'line' ? ['', 'title', 'line'] : [data]
123
+
124
+ // 基本设置 - 标签和类型
125
+ config.value.label = parts[0] || ''
126
+ config.value.type = parts[1] || 'title'
127
+
128
+ // 根据类型采用不同的参数格式解析
129
+ if (config.value.type === 'title') {
130
+ // 标题类型格式: aa-title-line-red-800
131
+ // parts[0]: 标签
132
+ // parts[1]: title
133
+ // parts[2]: line (下划线样式)
134
+ // parts[3]: 颜色
135
+ // parts[4]: 长度
136
+ config.value.line = parts[2] || ''
137
+ config.value.color = parts[3] || ''
138
+ config.value.lineLength = parts[4] || ''
139
+ } else if (config.value.type === 'button') {
140
+ // 按钮类型格式: aa-button-cc
141
+ // parts[0]: 标签
142
+ // parts[1]: button
143
+ // parts[2]: 点击事件名称
144
+ config.value.clickName = parts[2] || ''
145
+ }
146
+ }
147
+
148
+ onMounted(() => {
149
+ parseConfig(props.queryParamsName)
150
+ })
151
+ </script>
152
+
153
+ <style scoped lang="less">
154
+ .x-title-container {
155
+ display: flex;
156
+ align-items: center;
157
+ justify-content: space-between;
158
+ }
159
+
160
+ .x-title {
161
+ font-size: 18px;
162
+ font-weight: 700;
163
+ height: 26px;
164
+ width: 100%;
165
+ text-align: left;
166
+ font-family: "Source Han Sans";
167
+ color: #313131;
168
+ position: relative;
169
+ white-space: nowrap;
170
+ overflow: hidden;
171
+ text-overflow: ellipsis;
172
+ }
173
+ .underline {
174
+ position: absolute;
175
+ bottom: 0;
176
+ left: 0;
177
+ height: 1px;
178
+ width: 100%;
179
+ background-color: #5D5C5C;
180
+ }
181
+
182
+ .x-button-container {
183
+ text-align: right;
184
+ }
185
+ .x-title-center {
186
+ &.x-title-container,
187
+ .x-title-container {
188
+ :deep(.x-title) {
189
+ text-align: center;
190
+ }
191
+ }
192
+ }
193
+ .x-title-littlefont {
194
+ &.x-title-container,
195
+ .x-title-container {
196
+ :deep(.x-title) {
197
+ font-size: 16px;
198
+ }
199
+ }
200
+ }
201
+
202
+ .title-icon {
203
+ font-size: 16px;
204
+ flex-shrink: 0;
205
+ display: inline-flex;
206
+ align-items: center;
207
+ justify-content: center;
208
+ vertical-align: baseline;
209
+ line-height: 1;
210
+ color: #5D5C5C;
211
+ margin-right: 8px;
212
+ transform: translateY(0.1em);
213
+ }
214
+
215
+ // title-content 默认样式 - 只保留右侧间距
216
+ .x-title-container {
217
+ :deep(.title-content) {
218
+ display: flex;
219
+ align-items: baseline;
220
+ }
221
+ }
222
+ // 顶部分割线
223
+ .top-line {
224
+ width: 100%;
225
+ height: 2px;
226
+ background-color: #0057FE;
227
+ border: none;
228
+ margin: 8px 0;
229
+ opacity: 1;
230
+ }
231
+ .x-title-dot,
232
+ .x-title-nodot {
233
+ &.x-title-container,
234
+ .x-title-container {
235
+ :deep(.title-dot) {
236
+ width: 14px;
237
+ height: 14px;
238
+ margin-right: 8px;
239
+ flex-shrink: 0;
240
+ }
241
+ }
242
+ }
243
+
244
+ // dot 样式特有部分
245
+ .x-title-dot {
246
+ &.x-title-container,
247
+ .x-title-container {
248
+ :deep(.title-dot) {
249
+ border-radius: 50%;
250
+ background-color: #3362DA;
251
+ }
252
+ }
253
+ }
254
+ .x-title-yizhu-title {
255
+ &.x-title-container,
256
+ .x-title-container {
257
+ margin-top: 3px;
258
+ margin-left: 6px;
259
+ margin-bottom: 7px;
260
+ :deep(.x-title) {
261
+ height: 26px;
262
+ opacity: 1;
263
+ font-family: "Source Han Sans";
264
+ font-size: 18px;
265
+ font-weight: bold;
266
+ line-height: normal;
267
+ letter-spacing: 0em;
268
+ font-feature-settings: "kern" on;
269
+ color: #5D5C5C;
270
+ }
271
+ }
272
+ }
273
+ .x-title-left-title {
274
+ &.x-title-container,
275
+ .x-title-container {
276
+ margin: 15px auto 15px 6px;
277
+ :deep(.x-title) {
278
+ height: 26px;
279
+ opacity: 1;
280
+ font-family: "Source Han Sans";
281
+ font-size: 18px;
282
+ font-weight: bold;
283
+ line-height: normal;
284
+ }
285
+ }
286
+ }
287
+ // nodot 样式特有部分
288
+ .x-title-nodot {
289
+ &.x-title-container,
290
+ .x-title-container {
291
+ :deep(.title-dot) {
292
+ /* 透明圆点,保持占位但不显示 */
293
+ background-color: transparent;
294
+ }
295
+ }
296
+ }
297
+ .x-title-line-style {
298
+ background: #0057FE;
299
+ height: 2px;
300
+ }
301
+ .x-title-compact {
302
+ :deep(.x-title){
303
+ height: 23px;
304
+ opacity: 1;
305
+ font-family: "Source Han Sans";
306
+ font-size: 16px !important;
307
+ font-weight: 600;
308
+ line-height: normal;
309
+ letter-spacing: 0em;
310
+ font-feature-settings: "kern" on;
311
+ color: #313131;
312
+ }
313
+ }
314
+ </style>