vue2-client 1.15.133 → 1.15.135
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 +111 -111
- package/src/base-client/components/common/HIS/HButtons/HButtons.vue +78 -4
- package/src/base-client/components/common/HIS/HTab/HTab.vue +88 -1
- package/src/components/FileImageItem/FileItem.vue +320 -320
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1766 -1766
- package/src/router/async/router.map.js +2 -2
- package/src/base-client/components/his/XCharge/XChargeDemo.vue +0 -32
package/package.json
CHANGED
@@ -1,111 +1,111 @@
|
|
1
|
-
{
|
2
|
-
"name": "vue2-client",
|
3
|
-
"version": "1.15.
|
4
|
-
"private": false,
|
5
|
-
"scripts": {
|
6
|
-
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
|
7
|
-
"serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
|
8
|
-
"serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
|
9
|
-
"serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
|
10
|
-
"serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
|
11
|
-
"serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
|
12
|
-
"serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
|
13
|
-
"serve:runtime": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode runtime",
|
14
|
-
"serve:message": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode message",
|
15
|
-
"serve:apply": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode apply",
|
16
|
-
"mac-serve": "vue-cli-service serve --no-eslint --mode his",
|
17
|
-
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
18
|
-
"test:unit": "vue-cli-service test:unit",
|
19
|
-
"lint": "vue-cli-service lint",
|
20
|
-
"build:preview": "vue-cli-service build --mode preview",
|
21
|
-
"lint:nofix": "vue-cli-service lint --no-fix",
|
22
|
-
"test": "jest"
|
23
|
-
},
|
24
|
-
"dependencies": {
|
25
|
-
"@afwenming123/vue-easy-tree": "^1.0.1",
|
26
|
-
"@afwenming123/vue-plugin-hiprint": "^0.0.70",
|
27
|
-
"@amap/amap-jsapi-loader": "^1.0.1",
|
28
|
-
"@antv/data-set": "^0.11.8",
|
29
|
-
"@antv/g2plot": "^2.4.31",
|
30
|
-
"@hufe921/canvas-editor": "^0.9.49",
|
31
|
-
"@microsoft/fetch-event-source": "^2.0.1",
|
32
|
-
"@vue/babel-preset-jsx": "^1.4.0",
|
33
|
-
"animate.css": "^4.1.1",
|
34
|
-
"ant-design-vue": "^1.7.8",
|
35
|
-
"axios": "^0.27.2",
|
36
|
-
"clipboard": "^2.0.11",
|
37
|
-
"core-js": "^3.33.0",
|
38
|
-
"crypto-js": "^4.1.1",
|
39
|
-
"date-fns": "^2.29.3",
|
40
|
-
"default-passive-events": "^2.0.0",
|
41
|
-
"dotenv": "^16.3.1",
|
42
|
-
"echarts": "^5.5.0",
|
43
|
-
"enquire.js": "^2.1.6",
|
44
|
-
"file-saver": "^2.0.5",
|
45
|
-
"highlight.js": "^11.7.0",
|
46
|
-
"html2canvas": "^1.4.1",
|
47
|
-
"js-base64": "^3.7.5",
|
48
|
-
"js-cookie": "^2.2.1",
|
49
|
-
"jsencrypt": "^3.3.2",
|
50
|
-
"jspdf": "^2.5.1",
|
51
|
-
"lodash.clonedeep": "^4.5.0",
|
52
|
-
"lodash.debounce": "^4",
|
53
|
-
"lodash.get": "^4.4.2",
|
54
|
-
"marked": "^4",
|
55
|
-
"mockjs": "^1.1.0",
|
56
|
-
"nprogress": "^0.2.0",
|
57
|
-
"qs": "^6.11.2",
|
58
|
-
"regenerator-runtime": "^0.14.0",
|
59
|
-
"videojs-contrib-hls": "^5.15.0",
|
60
|
-
"viser-vue": "^2.4.8",
|
61
|
-
"vue": "^2.7.14",
|
62
|
-
"vue-codemirror": "4.0.6",
|
63
|
-
"vue-color": "2.7.0",
|
64
|
-
"vue-draggable-resizable": "^2.3.0",
|
65
|
-
"vue-i18n": "^8.28.2",
|
66
|
-
"vue-json-viewer": "^2.2.22",
|
67
|
-
"vue-router": "^3.6.5",
|
68
|
-
"vue-video-player": "^5.0.2",
|
69
|
-
"vue-virtual-scroller": "^1.1.2",
|
70
|
-
"vuedraggable": "^2.24.3",
|
71
|
-
"vuex": "^3.6.2",
|
72
|
-
"xlsx": "0.18.5"
|
73
|
-
},
|
74
|
-
"devDependencies": {
|
75
|
-
"@ant-design/colors": "^7.0.0",
|
76
|
-
"@babel/core": "^7.22.20",
|
77
|
-
"@babel/eslint-parser": "^7.22.15",
|
78
|
-
"@babel/preset-env": "^7.22.20",
|
79
|
-
"@vue/cli-plugin-babel": "^5.0.8",
|
80
|
-
"@vue/cli-plugin-eslint": "^5.0.8",
|
81
|
-
"@vue/cli-service": "^5.0.8",
|
82
|
-
"@vue/eslint-config-standard": "^8.0.1",
|
83
|
-
"@vue/test-utils": "^1.3.6",
|
84
|
-
"babel-plugin-transform-remove-console": "^6.9.4",
|
85
|
-
"compression-webpack-plugin": "^10.0.0",
|
86
|
-
"css-minimizer-webpack-plugin": "^5.0.1",
|
87
|
-
"deepmerge": "^4.3.1",
|
88
|
-
"eslint": "^8.51.0",
|
89
|
-
"eslint-plugin-vue": "^9.17.0",
|
90
|
-
"fast-deep-equal": "^3.1.3",
|
91
|
-
"ignore-loader": "^0.1.2",
|
92
|
-
"jest": "^29.7.0",
|
93
|
-
"jest-environment-jsdom": "^29.7.0",
|
94
|
-
"jest-transform-stub": "^2.0.0",
|
95
|
-
"less-loader": "^6.2.0",
|
96
|
-
"script-loader": "^0.7.2",
|
97
|
-
"style-resources-loader": "^1.5.0",
|
98
|
-
"vue-cli-plugin-style-resources-loader": "^0.1.5",
|
99
|
-
"vue-jest": "^4.0.1",
|
100
|
-
"vue-template-compiler": "^2.7.14",
|
101
|
-
"webpack": "^5.88.2",
|
102
|
-
"webpack-theme-color-replacer": "^1.4.7",
|
103
|
-
"whatwg-fetch": "^3.6.19"
|
104
|
-
},
|
105
|
-
"browserslist": [
|
106
|
-
"> 1%",
|
107
|
-
"last 2 versions",
|
108
|
-
"not dead",
|
109
|
-
"not ie 11"
|
110
|
-
]
|
111
|
-
}
|
1
|
+
{
|
2
|
+
"name": "vue2-client",
|
3
|
+
"version": "1.15.135",
|
4
|
+
"private": false,
|
5
|
+
"scripts": {
|
6
|
+
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
|
7
|
+
"serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
|
8
|
+
"serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
|
9
|
+
"serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
|
10
|
+
"serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
|
11
|
+
"serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
|
12
|
+
"serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
|
13
|
+
"serve:runtime": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode runtime",
|
14
|
+
"serve:message": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode message",
|
15
|
+
"serve:apply": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode apply",
|
16
|
+
"mac-serve": "vue-cli-service serve --no-eslint --mode his",
|
17
|
+
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
18
|
+
"test:unit": "vue-cli-service test:unit",
|
19
|
+
"lint": "vue-cli-service lint",
|
20
|
+
"build:preview": "vue-cli-service build --mode preview",
|
21
|
+
"lint:nofix": "vue-cli-service lint --no-fix",
|
22
|
+
"test": "jest"
|
23
|
+
},
|
24
|
+
"dependencies": {
|
25
|
+
"@afwenming123/vue-easy-tree": "^1.0.1",
|
26
|
+
"@afwenming123/vue-plugin-hiprint": "^0.0.70",
|
27
|
+
"@amap/amap-jsapi-loader": "^1.0.1",
|
28
|
+
"@antv/data-set": "^0.11.8",
|
29
|
+
"@antv/g2plot": "^2.4.31",
|
30
|
+
"@hufe921/canvas-editor": "^0.9.49",
|
31
|
+
"@microsoft/fetch-event-source": "^2.0.1",
|
32
|
+
"@vue/babel-preset-jsx": "^1.4.0",
|
33
|
+
"animate.css": "^4.1.1",
|
34
|
+
"ant-design-vue": "^1.7.8",
|
35
|
+
"axios": "^0.27.2",
|
36
|
+
"clipboard": "^2.0.11",
|
37
|
+
"core-js": "^3.33.0",
|
38
|
+
"crypto-js": "^4.1.1",
|
39
|
+
"date-fns": "^2.29.3",
|
40
|
+
"default-passive-events": "^2.0.0",
|
41
|
+
"dotenv": "^16.3.1",
|
42
|
+
"echarts": "^5.5.0",
|
43
|
+
"enquire.js": "^2.1.6",
|
44
|
+
"file-saver": "^2.0.5",
|
45
|
+
"highlight.js": "^11.7.0",
|
46
|
+
"html2canvas": "^1.4.1",
|
47
|
+
"js-base64": "^3.7.5",
|
48
|
+
"js-cookie": "^2.2.1",
|
49
|
+
"jsencrypt": "^3.3.2",
|
50
|
+
"jspdf": "^2.5.1",
|
51
|
+
"lodash.clonedeep": "^4.5.0",
|
52
|
+
"lodash.debounce": "^4",
|
53
|
+
"lodash.get": "^4.4.2",
|
54
|
+
"marked": "^4",
|
55
|
+
"mockjs": "^1.1.0",
|
56
|
+
"nprogress": "^0.2.0",
|
57
|
+
"qs": "^6.11.2",
|
58
|
+
"regenerator-runtime": "^0.14.0",
|
59
|
+
"videojs-contrib-hls": "^5.15.0",
|
60
|
+
"viser-vue": "^2.4.8",
|
61
|
+
"vue": "^2.7.14",
|
62
|
+
"vue-codemirror": "4.0.6",
|
63
|
+
"vue-color": "2.7.0",
|
64
|
+
"vue-draggable-resizable": "^2.3.0",
|
65
|
+
"vue-i18n": "^8.28.2",
|
66
|
+
"vue-json-viewer": "^2.2.22",
|
67
|
+
"vue-router": "^3.6.5",
|
68
|
+
"vue-video-player": "^5.0.2",
|
69
|
+
"vue-virtual-scroller": "^1.1.2",
|
70
|
+
"vuedraggable": "^2.24.3",
|
71
|
+
"vuex": "^3.6.2",
|
72
|
+
"xlsx": "0.18.5"
|
73
|
+
},
|
74
|
+
"devDependencies": {
|
75
|
+
"@ant-design/colors": "^7.0.0",
|
76
|
+
"@babel/core": "^7.22.20",
|
77
|
+
"@babel/eslint-parser": "^7.22.15",
|
78
|
+
"@babel/preset-env": "^7.22.20",
|
79
|
+
"@vue/cli-plugin-babel": "^5.0.8",
|
80
|
+
"@vue/cli-plugin-eslint": "^5.0.8",
|
81
|
+
"@vue/cli-service": "^5.0.8",
|
82
|
+
"@vue/eslint-config-standard": "^8.0.1",
|
83
|
+
"@vue/test-utils": "^1.3.6",
|
84
|
+
"babel-plugin-transform-remove-console": "^6.9.4",
|
85
|
+
"compression-webpack-plugin": "^10.0.0",
|
86
|
+
"css-minimizer-webpack-plugin": "^5.0.1",
|
87
|
+
"deepmerge": "^4.3.1",
|
88
|
+
"eslint": "^8.51.0",
|
89
|
+
"eslint-plugin-vue": "^9.17.0",
|
90
|
+
"fast-deep-equal": "^3.1.3",
|
91
|
+
"ignore-loader": "^0.1.2",
|
92
|
+
"jest": "^29.7.0",
|
93
|
+
"jest-environment-jsdom": "^29.7.0",
|
94
|
+
"jest-transform-stub": "^2.0.0",
|
95
|
+
"less-loader": "^6.2.0",
|
96
|
+
"script-loader": "^0.7.2",
|
97
|
+
"style-resources-loader": "^1.5.0",
|
98
|
+
"vue-cli-plugin-style-resources-loader": "^0.1.5",
|
99
|
+
"vue-jest": "^4.0.1",
|
100
|
+
"vue-template-compiler": "^2.7.14",
|
101
|
+
"webpack": "^5.88.2",
|
102
|
+
"webpack-theme-color-replacer": "^1.4.7",
|
103
|
+
"whatwg-fetch": "^3.6.19"
|
104
|
+
},
|
105
|
+
"browserslist": [
|
106
|
+
"> 1%",
|
107
|
+
"last 2 versions",
|
108
|
+
"not dead",
|
109
|
+
"not ie 11"
|
110
|
+
]
|
111
|
+
}
|
@@ -184,7 +184,7 @@ defineExpose({
|
|
184
184
|
font-family: "Source Han Sans";
|
185
185
|
height: 32px;
|
186
186
|
flex: 0 0 auto;
|
187
|
-
min-width:
|
187
|
+
min-width: 124px;
|
188
188
|
width: auto;
|
189
189
|
white-space: nowrap;
|
190
190
|
overflow: hidden;
|
@@ -214,7 +214,7 @@ defineExpose({
|
|
214
214
|
font-family: "Source Han Sans";
|
215
215
|
height: 32px;
|
216
216
|
flex: 0 0 auto;
|
217
|
-
min-width:
|
217
|
+
min-width: 124px;
|
218
218
|
width: auto;
|
219
219
|
white-space: nowrap;
|
220
220
|
overflow: hidden;
|
@@ -245,7 +245,7 @@ defineExpose({
|
|
245
245
|
height: 32px;
|
246
246
|
flex: 0 0 auto;
|
247
247
|
width: auto;
|
248
|
-
min-width:
|
248
|
+
min-width: 124px;
|
249
249
|
white-space: nowrap;
|
250
250
|
overflow: hidden;
|
251
251
|
margin-right: 0px;
|
@@ -274,7 +274,7 @@ defineExpose({
|
|
274
274
|
height: 32px;
|
275
275
|
width: auto;
|
276
276
|
flex: 0 0 auto;
|
277
|
-
min-width:
|
277
|
+
min-width: 124px;
|
278
278
|
white-space: nowrap;
|
279
279
|
overflow: hidden;
|
280
280
|
margin-right: 0px;
|
@@ -283,6 +283,57 @@ defineExpose({
|
|
283
283
|
}
|
284
284
|
}
|
285
285
|
|
286
|
+
// button-icon-tiles样式 - 左侧彩色图标块 + 右侧文字
|
287
|
+
&.h-buttons-button-icon-tiles {
|
288
|
+
:deep(.ant-btn-group) {
|
289
|
+
width: 100%;
|
290
|
+
display: flex;
|
291
|
+
flex-wrap: wrap; // 允许自动换行
|
292
|
+
justify-content: flex-start; // 左对齐
|
293
|
+
gap: 0; // 取消统一间距
|
294
|
+
|
295
|
+
.ant-btn {
|
296
|
+
position: relative;
|
297
|
+
display: inline-flex;
|
298
|
+
align-items: center;
|
299
|
+
gap: 10px; // 控制图标与文字间距
|
300
|
+
border: 1px solid #E6E8EB;
|
301
|
+
background-color: #FFFFFF;
|
302
|
+
color: #313131;
|
303
|
+
font-size: 14px;
|
304
|
+
height: 44px;
|
305
|
+
padding: 0 10px 0 10px;
|
306
|
+
border-radius: 8px;
|
307
|
+
min-width: 116px;
|
308
|
+
box-shadow: 0 2px 0 rgba(0,0,0,0.02);
|
309
|
+
margin-right: 12px; // 用margin控制横向间距,末尾一排自然换行
|
310
|
+
}
|
311
|
+
|
312
|
+
.ant-btn .anticon {
|
313
|
+
width: 26px;
|
314
|
+
height: 26px;
|
315
|
+
display: inline-flex;
|
316
|
+
align-items: center;
|
317
|
+
justify-content: center;
|
318
|
+
border-radius: 6px;
|
319
|
+
color: #fff;
|
320
|
+
font-size: 14px;
|
321
|
+
flex: 0 0 26px; // 固定正方形,防止随文本挤压变形
|
322
|
+
box-sizing: border-box;
|
323
|
+
}
|
324
|
+
|
325
|
+
/* 默认蓝色,支持通过 data-type 改变色块(success/warning/error/default)*/
|
326
|
+
.ant-btn .anticon { background: #3FA7FF; }
|
327
|
+
.ant-btn[data-type='success'] .anticon { background: #34C76E; }
|
328
|
+
.ant-btn[data-type='warning'] .anticon { background: #FFA940; }
|
329
|
+
.ant-btn[data-type='error'] .anticon { background: #FF7875; }
|
330
|
+
.ant-btn[disabled] .anticon { background: #BFBFBF; }
|
331
|
+
|
332
|
+
/* 图标与文字间距在有图标时更自然 */
|
333
|
+
.ant-btn > .anticon + span { margin-left: 10px; }
|
334
|
+
}
|
335
|
+
}
|
336
|
+
|
286
337
|
// 水印图标与按钮容器布局调整
|
287
338
|
&.h-buttons-button-watermark-icon {
|
288
339
|
:deep(.watermark-icon) { transform: translate(-50%, -54%) !important; }
|
@@ -292,6 +343,29 @@ defineExpose({
|
|
292
343
|
display: block;
|
293
344
|
}
|
294
345
|
}
|
346
|
+
&.h-buttons-0padding-button {
|
347
|
+
padding: 0px 4px;
|
348
|
+
}
|
349
|
+
// button25样式 用于会诊申请侧边栏按钮样式
|
350
|
+
&.h-buttons-button25 {
|
351
|
+
:deep(.x-buttons) {
|
352
|
+
margin: -20px 3px -20px 3px;
|
295
353
|
|
354
|
+
.ant-btn-group {
|
355
|
+
width: 173px;
|
356
|
+
justify-content: space-between;
|
357
|
+
|
358
|
+
.ant-btn {
|
359
|
+
border-radius: 6px;
|
360
|
+
border: 1px solid #9499A0;
|
361
|
+
font-size: 16px;
|
362
|
+
height: 32px;
|
363
|
+
background-color: #FFFFFF;
|
364
|
+
color: #313131;
|
365
|
+
width: 173px;
|
366
|
+
}
|
367
|
+
}
|
368
|
+
}
|
369
|
+
}
|
296
370
|
}
|
297
371
|
</style>
|
@@ -17,6 +17,10 @@ defineProps({
|
|
17
17
|
useCycle: {
|
18
18
|
type: Boolean,
|
19
19
|
default: false
|
20
|
+
},
|
21
|
+
useStyle8: {
|
22
|
+
type: Boolean,
|
23
|
+
default: false
|
20
24
|
}
|
21
25
|
})
|
22
26
|
|
@@ -31,7 +35,10 @@ defineExpose({
|
|
31
35
|
</script>
|
32
36
|
|
33
37
|
<template>
|
34
|
-
<div class="h-tab-wrapper" :class="{ 'h-tab-has-top-margin': hasTopMargin,
|
38
|
+
<div class="h-tab-wrapper" :class="{ 'h-tab-has-top-margin': hasTopMargin,
|
39
|
+
'h-tab-style7': useStyle7,
|
40
|
+
'h-tab-cycle': useStyle7 && useCycle,
|
41
|
+
'h-tab-style8': useStyle8}">
|
35
42
|
<x-tab
|
36
43
|
ref="xTabRef"
|
37
44
|
v-bind="$attrs"
|
@@ -189,6 +196,86 @@ defineExpose({
|
|
189
196
|
:deep(.ant-tabs-nav) { display: flex !important; flex-wrap: nowrap !important; }
|
190
197
|
}
|
191
198
|
}
|
199
|
+
// 用户词条使用样式
|
200
|
+
&.h-tab-style8 {
|
201
|
+
:deep(.ant-tabs-tab-next),
|
202
|
+
:deep(.ant-tabs-tab-prev-icon-target),
|
203
|
+
:deep(.ant-tabs-tab-next-icon) { display: none; }
|
204
|
+
|
205
|
+
// Make the main Ant Design tabs container a flex column to arrange tab bar and content vertically
|
206
|
+
:deep(.ant-tabs) {
|
207
|
+
display: flex !important;
|
208
|
+
flex-direction: column !important; // 确保选项卡栏在顶部,内容区域在下方
|
209
|
+
height: auto !important; // 高度自适应
|
210
|
+
}
|
211
|
+
|
212
|
+
:deep(.ant-tabs-bar) {
|
213
|
+
border-bottom: 1px solid #d9d9d9; // 底部边框
|
214
|
+
border-right: none; // 移除右侧边框
|
215
|
+
margin-right: 0 !important; // 移除重叠修复
|
216
|
+
flex-shrink: 1 !important; // 允许收缩
|
217
|
+
height: auto !important; // 高度自适应
|
218
|
+
// Important: if the tabPosition is 'top', the default margin-bottom of ant-tabs-bar is 16px, need to remove it to make border connect well
|
219
|
+
margin-bottom: 0px !important;
|
220
|
+
}
|
221
|
+
|
222
|
+
// Ensure tab content takes remaining space
|
223
|
+
:deep(.ant-tabs-content) {
|
224
|
+
flex: none !important; // 移除 flex: 1,允许内容区域自然流淌
|
225
|
+
}
|
226
|
+
|
227
|
+
// Apply flex properties directly to the div containing tabs within ant-tabs-nav
|
228
|
+
:deep(.ant-tabs-nav) {
|
229
|
+
.ant-tabs-nav-container,
|
230
|
+
.ant-tabs-nav-wrap,
|
231
|
+
.ant-tabs-nav-scroll,
|
232
|
+
& > div:first-child { // Target the direct div child of ant-tabs-nav
|
233
|
+
display: flex !important;
|
234
|
+
flex-direction: row !important;
|
235
|
+
flex-wrap: nowrap !important; // 确保不换行
|
236
|
+
width: 100% !important; // 占据全部宽度
|
237
|
+
height: auto !important;
|
238
|
+
}
|
192
239
|
|
240
|
+
// These properties are applied to ant-tabs-nav itself, not its direct div child.
|
241
|
+
// Since the flex properties are moved to the inner div, ant-tabs-nav can be left as default or adjusted if needed.
|
242
|
+
// For now, removing the redundant flex properties from ant-tabs-nav.
|
243
|
+
height: auto !important; // 高度自适应内容
|
244
|
+
width: 100% !important; // 确保容器占据全部宽度
|
245
|
+
|
246
|
+
.ant-tabs-tab {
|
247
|
+
flex: 1 !important; // 宽度等分布局
|
248
|
+
margin-right: 0 !important;
|
249
|
+
margin-bottom: 0 !important; // 移除底部间距
|
250
|
+
border-top: 1px solid #d9d9d9;
|
251
|
+
border-left: 1px solid #d9d9d9;
|
252
|
+
border-bottom: 1px solid #d9d9d9; // 所有选项卡都有底部边框
|
253
|
+
border-right: none; // 默认没有右边框
|
254
|
+
&:last-child {
|
255
|
+
border-right: 1px solid #d9d9d9; // 最后一个选项卡有右边框
|
256
|
+
}
|
257
|
+
border-radius: 0;
|
258
|
+
background-color: #f5f5f5;
|
259
|
+
color: #333333;
|
260
|
+
font-weight: 500;
|
261
|
+
font-size: 16px;
|
262
|
+
height: 40px; // 固定高度
|
263
|
+
width: auto !important; // 移除固定宽度,以便等分
|
264
|
+
display: flex;
|
265
|
+
justify-content: center;
|
266
|
+
align-items: center;
|
267
|
+
padding: 0;
|
268
|
+
}
|
269
|
+
.ant-tabs-tab-active {
|
270
|
+
border-bottom: 1px solid transparent; // 激活时隐藏底部边框,与 ant-tabs-bar 的边框衔接
|
271
|
+
background-color: #ffffff;
|
272
|
+
color: #0057FE;
|
273
|
+
font-weight: 600;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
:deep(.ant-tabs-ink-bar) {
|
277
|
+
display: none; // 隐藏下划线
|
278
|
+
}
|
279
|
+
}
|
193
280
|
}
|
194
281
|
</style>
|