vue2-client 1.18.65 → 1.18.67

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 (95) hide show
  1. package/.claude/settings.local.json +28 -28
  2. package/.eslintrc.js +74 -74
  3. package/Components.md +60 -60
  4. package/docs/index.md +30 -30
  5. package/index.js +31 -31
  6. package/jest-transform-stub.js +8 -8
  7. package/jest.setup.js +7 -7
  8. package/package.json +1 -1
  9. package/src/assets/img/querySlotDemo.svg +15 -15
  10. package/src/assets/svg/female.svg +1 -1
  11. package/src/assets/svg/male.svg +1 -1
  12. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  13. package/src/base-client/components/common/CitySelect/index.js +3 -3
  14. package/src/base-client/components/common/CitySelect/index.md +109 -109
  15. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  16. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  17. package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
  18. package/src/base-client/components/common/HIS/HTab/HTab.vue +23 -11
  19. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  20. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  21. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  22. package/src/base-client/components/common/Tree/index.js +2 -2
  23. package/src/base-client/components/common/Upload/index.js +3 -3
  24. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  25. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  26. package/src/base-client/components/common/XCollapse/XCollapse.vue +830 -830
  27. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  28. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  29. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  30. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  31. package/src/base-client/components/common/XDescriptions/index.md +322 -322
  32. package/src/base-client/components/common/XForm/index.md +178 -178
  33. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  34. package/src/base-client/components/common/XStepView/index.js +3 -3
  35. package/src/base-client/components/common/XStepView/index.md +31 -31
  36. package/src/base-client/components/common/XTable/XTable.vue +1715 -1715
  37. package/src/base-client/components/common/XTable/XTableWrapper.vue +786 -786
  38. package/src/base-client/components/common/XTable/index.md +255 -255
  39. package/src/base-client/components/common/XTimeline/XTimeline.vue +477 -477
  40. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +217 -4
  41. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +354 -354
  42. package/src/base-client/components/his/XTitle/XTitle.vue +13 -3
  43. package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
  44. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  45. package/src/base-client/plugins/Config.js +19 -19
  46. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  47. package/src/components/Charts/Bar.vue +62 -62
  48. package/src/components/Charts/ChartCard.vue +134 -134
  49. package/src/components/Charts/Liquid.vue +67 -67
  50. package/src/components/Charts/MiniArea.vue +39 -39
  51. package/src/components/Charts/MiniBar.vue +39 -39
  52. package/src/components/Charts/MiniProgress.vue +75 -75
  53. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  54. package/src/components/Charts/Radar.vue +68 -68
  55. package/src/components/Charts/RankList.vue +77 -77
  56. package/src/components/Charts/TagCloud.vue +113 -113
  57. package/src/components/Charts/TransferBar.vue +64 -64
  58. package/src/components/Charts/Trend.vue +82 -82
  59. package/src/components/Charts/chart.less +12 -12
  60. package/src/components/Charts/smooth.area.less +13 -13
  61. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  62. package/src/components/NumberInfo/index.js +3 -3
  63. package/src/components/NumberInfo/index.less +54 -54
  64. package/src/components/NumberInfo/index.md +43 -43
  65. package/src/components/card/ChartCard.vue +79 -79
  66. package/src/components/chart/Bar.vue +60 -60
  67. package/src/components/chart/MiniArea.vue +67 -67
  68. package/src/components/chart/MiniBar.vue +59 -59
  69. package/src/components/chart/MiniProgress.vue +57 -57
  70. package/src/components/chart/Radar.vue +80 -80
  71. package/src/components/chart/RankingList.vue +60 -60
  72. package/src/components/chart/Trend.vue +79 -79
  73. package/src/components/chart/index.less +9 -9
  74. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  75. package/src/components/input/IInput.vue +66 -66
  76. package/src/components/menu/SideMenu.vue +75 -75
  77. package/src/components/menu/menu.js +273 -273
  78. package/src/components/tool/AStepItem.vue +60 -60
  79. package/src/layouts/CommonLayout.vue +56 -56
  80. package/src/layouts/header/HeaderNotice.vue +177 -177
  81. package/src/lib.js +1 -1
  82. package/src/mock/extend/index.js +84 -84
  83. package/src/mock/goods/index.js +108 -108
  84. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  85. package/src/pages/system/dictionary/index.vue +44 -44
  86. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  87. package/src/pages/system/monitor/operLog/index.vue +37 -37
  88. package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
  89. package/src/services/api/cas.js +79 -79
  90. package/src/store/modules/setting.js +119 -119
  91. package/src/utils/authority-utils.js +85 -85
  92. package/src/utils/errorCode.js +6 -6
  93. package/src-base-client/components/common/HIS/HForm/HForm.vue +347 -0
  94. package/src-base-client/components/common/XCollapse/XCollapse.vue +0 -0
  95. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,120 +1,120 @@
1
- <template >
2
- <div id="amap_point_rendering_map" :style="mapStyle">
3
- <div v-show="false">
4
- <div id="amap_point_rendering_template">
5
- <a-descriptions :column="1">
6
- <a-descriptions-item v-for="(des, index) in describeList" :key="index" :label="des.describe" >{{ markers[des.field] }}</a-descriptions-item>
7
- </a-descriptions>
8
- </div>
9
- </div>
10
- </div>
11
- </template>
12
- <script>
13
- import { GetGDMap } from '@vue2-client/utils/map-utils'
14
- import { mapState } from 'vuex'
15
- export default {
16
- name: 'AmapPointRendering',
17
- props: {
18
- // 选中点位后需要展示的信息描述
19
- describeList: {
20
- type: Array,
21
- // eslint-disable-next-line vue/require-valid-default-prop
22
- default: () => { return [] } // lng:描述信息 lat:描述信息对应的值的字段名 { describe: '用户名称', field: 'name' }
23
- },
24
- // 需要渲染的点位数据
25
- markers: {
26
- type: String,
27
- default: null // lng:经度值 lat:纬度值
28
- },
29
- // 渲染点位的图片
30
- imgurl: {
31
- type: String,
32
- default: () => {
33
- return 'https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png'
34
- }
35
- },
36
- mapStyle: {
37
- type: Object,
38
- default: () => {
39
- return {
40
- width: '100%',
41
- height: '85vh',
42
- border: '2px solid lightgray',
43
- 'border-radius': '5px'
44
- }
45
- }
46
- }
47
- },
48
- computed: {
49
- ...mapState('setting', ['isMobile', 'gaode_key', 'gaode_secret_key'])
50
- },
51
- data () {
52
- return {
53
- map: null,
54
- geocoder: null, // 逆地理编码
55
- infoWindow: null,
56
- selectrow: {}
57
- }
58
- },
59
- created () {
60
- },
61
- mounted () {
62
- GetGDMap(this.gaode_secret_key, this.gaode_key).then(aMap => {
63
- this.initMap(aMap)
64
- this.initData(aMap)
65
- })
66
- },
67
- methods: {
68
- initMap (aMap) {
69
- this.map = new (aMap).Map('amap_point_rendering_map', { // 设置地图容器id
70
- resizeEnable: true, // 是否监控地图容器尺寸变化
71
- zoom: 10, // 初始化地图层级
72
- })
73
- this.geocoder = new (aMap).Geocoder({
74
- radius: 500 // 范围,默认:500
75
- })
76
- this.map.addControl(new (aMap).ToolBar()) // 初始化工具插件
77
- // 初始化窗体
78
- this.infoWindow = new (aMap).InfoWindow({
79
- anchor: 'bottom-center',
80
- isCustom: false, // 使用自定义窗体
81
- autoMove: true,
82
- content: '',
83
- showShadow: true,
84
- offset: new (aMap).Pixel(0, -25)
85
- })
86
- },
87
- initData (aMap) {
88
- // 创建一个 Marker 实例:
89
- if (this.markers) {
90
- const lngLat = this.markers.split(',')
91
- const lng = lngLat[0]
92
- const lat = lngLat[1]
93
- const marker = new (aMap).Marker({
94
- // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
95
- position: new (aMap).LngLat(lng, lat),
96
- icon: new (aMap).Icon({
97
- // 图标大小
98
- size: new (aMap).Size(26, 28),
99
- imageSize: new (aMap).Size(26, 28),
100
- // 报警图标URL
101
- image: this.imgurl,
102
- // 图标偏移位置
103
- anchor: new (aMap).Pixel(0, 0),
104
- }),
105
- extData: this.markers
106
- })
107
- marker.on('click', (e) => {
108
- if (e.target.getExtData() && e.target.getExtData().lng) {
109
- this.infoWindow.setContent(document.getElementById('amap_point_rendering_template'))
110
- this.infoWindow.open(this.map, [e.target.getExtData().lng, e.target.getExtData().lat])
111
- }
112
- })
113
- // 将创建的点标记添加到已有的地图实例:
114
- this.map.add(marker)
115
- this.map.setFitView()
116
- }
117
- }
118
- }
119
- }
120
- </script>
1
+ <template >
2
+ <div id="amap_point_rendering_map" :style="mapStyle">
3
+ <div v-show="false">
4
+ <div id="amap_point_rendering_template">
5
+ <a-descriptions :column="1">
6
+ <a-descriptions-item v-for="(des, index) in describeList" :key="index" :label="des.describe" >{{ markers[des.field] }}</a-descriptions-item>
7
+ </a-descriptions>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </template>
12
+ <script>
13
+ import { GetGDMap } from '@vue2-client/utils/map-utils'
14
+ import { mapState } from 'vuex'
15
+ export default {
16
+ name: 'AmapPointRendering',
17
+ props: {
18
+ // 选中点位后需要展示的信息描述
19
+ describeList: {
20
+ type: Array,
21
+ // eslint-disable-next-line vue/require-valid-default-prop
22
+ default: () => { return [] } // lng:描述信息 lat:描述信息对应的值的字段名 { describe: '用户名称', field: 'name' }
23
+ },
24
+ // 需要渲染的点位数据
25
+ markers: {
26
+ type: String,
27
+ default: null // lng:经度值 lat:纬度值
28
+ },
29
+ // 渲染点位的图片
30
+ imgurl: {
31
+ type: String,
32
+ default: () => {
33
+ return 'https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png'
34
+ }
35
+ },
36
+ mapStyle: {
37
+ type: Object,
38
+ default: () => {
39
+ return {
40
+ width: '100%',
41
+ height: '85vh',
42
+ border: '2px solid lightgray',
43
+ 'border-radius': '5px'
44
+ }
45
+ }
46
+ }
47
+ },
48
+ computed: {
49
+ ...mapState('setting', ['isMobile', 'gaode_key', 'gaode_secret_key'])
50
+ },
51
+ data () {
52
+ return {
53
+ map: null,
54
+ geocoder: null, // 逆地理编码
55
+ infoWindow: null,
56
+ selectrow: {}
57
+ }
58
+ },
59
+ created () {
60
+ },
61
+ mounted () {
62
+ GetGDMap(this.gaode_secret_key, this.gaode_key).then(aMap => {
63
+ this.initMap(aMap)
64
+ this.initData(aMap)
65
+ })
66
+ },
67
+ methods: {
68
+ initMap (aMap) {
69
+ this.map = new (aMap).Map('amap_point_rendering_map', { // 设置地图容器id
70
+ resizeEnable: true, // 是否监控地图容器尺寸变化
71
+ zoom: 10, // 初始化地图层级
72
+ })
73
+ this.geocoder = new (aMap).Geocoder({
74
+ radius: 500 // 范围,默认:500
75
+ })
76
+ this.map.addControl(new (aMap).ToolBar()) // 初始化工具插件
77
+ // 初始化窗体
78
+ this.infoWindow = new (aMap).InfoWindow({
79
+ anchor: 'bottom-center',
80
+ isCustom: false, // 使用自定义窗体
81
+ autoMove: true,
82
+ content: '',
83
+ showShadow: true,
84
+ offset: new (aMap).Pixel(0, -25)
85
+ })
86
+ },
87
+ initData (aMap) {
88
+ // 创建一个 Marker 实例:
89
+ if (this.markers) {
90
+ const lngLat = this.markers.split(',')
91
+ const lng = lngLat[0]
92
+ const lat = lngLat[1]
93
+ const marker = new (aMap).Marker({
94
+ // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
95
+ position: new (aMap).LngLat(lng, lat),
96
+ icon: new (aMap).Icon({
97
+ // 图标大小
98
+ size: new (aMap).Size(26, 28),
99
+ imageSize: new (aMap).Size(26, 28),
100
+ // 报警图标URL
101
+ image: this.imgurl,
102
+ // 图标偏移位置
103
+ anchor: new (aMap).Pixel(0, 0),
104
+ }),
105
+ extData: this.markers
106
+ })
107
+ marker.on('click', (e) => {
108
+ if (e.target.getExtData() && e.target.getExtData().lng) {
109
+ this.infoWindow.setContent(document.getElementById('amap_point_rendering_template'))
110
+ this.infoWindow.open(this.map, [e.target.getExtData().lng, e.target.getExtData().lat])
111
+ }
112
+ })
113
+ // 将创建的点标记添加到已有的地图实例:
114
+ this.map.add(marker)
115
+ this.map.setFitView()
116
+ }
117
+ }
118
+ }
119
+ }
120
+ </script>
@@ -1,3 +1,3 @@
1
- import CitySelect from './CitySelect'
2
-
3
- export default CitySelect
1
+ import CitySelect from './CitySelect'
2
+
3
+ export default CitySelect
@@ -1,109 +1,109 @@
1
- # 省市区修改组件
2
-
3
- > 下拉框数据从库里查询 divisions_of_china 表
4
- > 省市区数据存储格式
5
-
6
- +---------+-----+------------+--------+--------+----------+
7
- |code |name |provinceCode|cityCode|areaCode|parentCode|
8
- +---------+-----+------------+--------+--------+----------+
9
- |11 |北京市 |NULL |NULL |NULL |NULL |
10
- |1101 |市辖区 |11 |NULL |NULL |11 |
11
- |110101 |东城区 |11 |1101 |NULL |1101 |
12
- |110101001|东华门街道|11 |1101 |110101 |1101 |
13
- |110101002|景山街道 |11 |1101 |110101 |1101 |
14
- +---------+-----+------------+--------+--------+----------+
15
-
16
-
17
- 查询出来之后转成tree 作为数据 (截取了一段数据)
18
-
19
- ```json
20
- [
21
- {
22
- "code": "11",
23
- "name": "北京",
24
- "label": "北京",
25
- "value": "北京",
26
- "children":
27
- [
28
- {
29
- "code": "1101",
30
- "parentcode": "11",
31
- "name": "辖区",
32
- "label": "辖区",
33
- "value": "辖区",
34
- "children":
35
- [
36
- {
37
- "code": "110101",
38
- "parentcode": "1101",
39
- "name": "东城区",
40
- "label": "东城区",
41
- "value": "东城区"
42
- }
43
- ]}]}]
44
- ```
45
-
46
- 可传递参数
47
- ```js
48
- props = {
49
- // 页面渲染内容 默认 省市区街道 四个 所以是4
50
- contexts: {
51
- type: Number,
52
- default: 3
53
- },
54
- placeholder: {
55
- type: String,
56
- default: '请选择省市区'
57
- },
58
- // small lage 输入框大小
59
- size: {
60
- type: String,
61
- default: undefined
62
- },
63
- // 类型 simple / undefined
64
- // simple 就是用的 cascader 不穿就是用的 自己封装的
65
- type: {
66
- type: String,
67
- default: undefined
68
- },
69
- // 框的样式
70
- inputStyle: {
71
- type: Object,
72
- default: () => {
73
- }
74
- },
75
- // 下拉框的样式
76
- dropdownStyle: {
77
- type: Object,
78
- default: () => {
79
- return {
80
- width: '35rem',
81
- padding: '1%'
82
- }
83
- }
84
- },
85
- // 标签的样式
86
- tagStyle: {
87
- type: Object,
88
- default: () => {
89
- return {
90
- fontSize: '0.88rem',
91
- width: '23%',
92
- textAlign: 'left',
93
- margin: '0.5%',
94
- cursor: 'pointer'
95
- }
96
- }
97
- },
98
- // 用于v-model 绑定
99
- value: {
100
- type: String,
101
- default: undefined
102
- },
103
- // 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
104
- valueType: {
105
- type: String,
106
- default: 'address'
107
- }
108
- }
109
- ```
1
+ # 省市区修改组件
2
+
3
+ > 下拉框数据从库里查询 divisions_of_china 表
4
+ > 省市区数据存储格式
5
+
6
+ +---------+-----+------------+--------+--------+----------+
7
+ |code |name |provinceCode|cityCode|areaCode|parentCode|
8
+ +---------+-----+------------+--------+--------+----------+
9
+ |11 |北京市 |NULL |NULL |NULL |NULL |
10
+ |1101 |市辖区 |11 |NULL |NULL |11 |
11
+ |110101 |东城区 |11 |1101 |NULL |1101 |
12
+ |110101001|东华门街道|11 |1101 |110101 |1101 |
13
+ |110101002|景山街道 |11 |1101 |110101 |1101 |
14
+ +---------+-----+------------+--------+--------+----------+
15
+
16
+
17
+ 查询出来之后转成tree 作为数据 (截取了一段数据)
18
+
19
+ ```json
20
+ [
21
+ {
22
+ "code": "11",
23
+ "name": "北京",
24
+ "label": "北京",
25
+ "value": "北京",
26
+ "children":
27
+ [
28
+ {
29
+ "code": "1101",
30
+ "parentcode": "11",
31
+ "name": "辖区",
32
+ "label": "辖区",
33
+ "value": "辖区",
34
+ "children":
35
+ [
36
+ {
37
+ "code": "110101",
38
+ "parentcode": "1101",
39
+ "name": "东城区",
40
+ "label": "东城区",
41
+ "value": "东城区"
42
+ }
43
+ ]}]}]
44
+ ```
45
+
46
+ 可传递参数
47
+ ```js
48
+ props = {
49
+ // 页面渲染内容 默认 省市区街道 四个 所以是4
50
+ contexts: {
51
+ type: Number,
52
+ default: 3
53
+ },
54
+ placeholder: {
55
+ type: String,
56
+ default: '请选择省市区'
57
+ },
58
+ // small lage 输入框大小
59
+ size: {
60
+ type: String,
61
+ default: undefined
62
+ },
63
+ // 类型 simple / undefined
64
+ // simple 就是用的 cascader 不穿就是用的 自己封装的
65
+ type: {
66
+ type: String,
67
+ default: undefined
68
+ },
69
+ // 框的样式
70
+ inputStyle: {
71
+ type: Object,
72
+ default: () => {
73
+ }
74
+ },
75
+ // 下拉框的样式
76
+ dropdownStyle: {
77
+ type: Object,
78
+ default: () => {
79
+ return {
80
+ width: '35rem',
81
+ padding: '1%'
82
+ }
83
+ }
84
+ },
85
+ // 标签的样式
86
+ tagStyle: {
87
+ type: Object,
88
+ default: () => {
89
+ return {
90
+ fontSize: '0.88rem',
91
+ width: '23%',
92
+ textAlign: 'left',
93
+ margin: '0.5%',
94
+ cursor: 'pointer'
95
+ }
96
+ }
97
+ },
98
+ // 用于v-model 绑定
99
+ value: {
100
+ type: String,
101
+ default: undefined
102
+ },
103
+ // 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
104
+ valueType: {
105
+ type: String,
106
+ default: 'address'
107
+ }
108
+ }
109
+ ```
@@ -1,3 +1,3 @@
1
- import FormGroupEdit from './FormGroupEdit'
2
-
3
- export default FormGroupEdit
1
+ import FormGroupEdit from './FormGroupEdit'
2
+
3
+ export default FormGroupEdit
@@ -1,43 +1,43 @@
1
- # FormGroupEdit 表单参数组配置编辑
2
-
3
- 提供表单参数组配置编辑的快捷组件
4
-
5
-
6
-
7
- ## 何时使用
8
-
9
- 允许通过表单参数组编辑参数
10
-
11
-
12
-
13
- 引用方式:
14
-
15
- ```javascript
16
- import FormGroupEdit from '@vue2-client/base-client/components/FormGroupEdit'
17
-
18
- export default {
19
- components: {
20
- FormGroupEdit
21
- }
22
- }
23
- ```
24
-
25
-
26
-
27
- ## 代码演示
28
-
29
- ```html
30
- <form-group-edit
31
- @getColumnJson="getColumnJson"
32
- :visible.sync="createQueryVisible"
33
- @saveQueryParams="saveQueryParams"
34
- />
35
- ```
36
-
37
- ## API
38
-
39
- | 参数 | 说明 | 类型 | 默认值 |
40
- |------------------|------------|---------|-------|
41
- | visible | 是否显示 | Boolean | false |
42
- | @getColumnJson | 获取表单配置方法 | event | - |
43
- | @saveQueryParams | 存储查询配置信息事件 | event | - |
1
+ # FormGroupEdit 表单参数组配置编辑
2
+
3
+ 提供表单参数组配置编辑的快捷组件
4
+
5
+
6
+
7
+ ## 何时使用
8
+
9
+ 允许通过表单参数组编辑参数
10
+
11
+
12
+
13
+ 引用方式:
14
+
15
+ ```javascript
16
+ import FormGroupEdit from '@vue2-client/base-client/components/FormGroupEdit'
17
+
18
+ export default {
19
+ components: {
20
+ FormGroupEdit
21
+ }
22
+ }
23
+ ```
24
+
25
+
26
+
27
+ ## 代码演示
28
+
29
+ ```html
30
+ <form-group-edit
31
+ @getColumnJson="getColumnJson"
32
+ :visible.sync="createQueryVisible"
33
+ @saveQueryParams="saveQueryParams"
34
+ />
35
+ ```
36
+
37
+ ## API
38
+
39
+ | 参数 | 说明 | 类型 | 默认值 |
40
+ |------------------|------------|---------|-------|
41
+ | visible | 是否显示 | Boolean | false |
42
+ | @getColumnJson | 获取表单配置方法 | event | - |
43
+ | @saveQueryParams | 存储查询配置信息事件 | event | - |
@@ -1,3 +1,3 @@
1
- import HFormGroup from './HFormGroup.vue'
2
-
3
- export default HFormGroup
1
+ import HFormGroup from './HFormGroup.vue'
2
+
3
+ export default HFormGroup
@@ -131,8 +131,8 @@ defineExpose({
131
131
  display: none;
132
132
  }
133
133
  :deep(.ant-tabs-nav-wrap) {
134
- margin-top: 18px !important;
135
- margin-bottom: 0 !important;
134
+ margin-top: 18px;
135
+ margin-bottom: 0;
136
136
  }
137
137
  :deep(.ant-tabs-nav) {
138
138
  // 去除导航容器默认左右内边距,避免收缩时左侧多出一截
@@ -235,12 +235,23 @@ defineExpose({
235
235
  :deep(.ant-tabs-bar) { border-bottom: 2px solid transparent; }
236
236
 
237
237
  :deep(.ant-tabs-ink-bar) {
238
- display: block;
239
- background-color: #0057FE;
240
- bottom: 8px;
241
- height: 2px;
242
- /* 宽度交给 antd 自身计算,避免固定值影响自适应 */
243
- margin-left: 0;
238
+ display: block !important;
239
+ background-color: #0057FE !important;
240
+ bottom: 3px !important;
241
+ height: 2px !important;
242
+ /* antd 自身计算宽度,与页签宽度匹配 */
243
+ margin-left: 0 !important;
244
+ }
245
+
246
+ :deep(.ant-tabs-nav-wrap) {
247
+ margin-top: 0;
248
+ padding-left: 0 !important; // 消除整个Tab的左间距
249
+ padding-right: 0 !important; // 消除整个Tab的右间距
250
+ }
251
+
252
+ :deep(.ant-tabs-nav-container) {
253
+ padding-left: 0 !important; // 确保容器也没有左右间距
254
+ padding-right: 0 !important;
244
255
  }
245
256
 
246
257
  :deep(.ant-tabs-nav) {
@@ -255,7 +266,7 @@ defineExpose({
255
266
  /* 自适应宽度,允许通过变量覆盖最小宽度 */
256
267
  min-width: var(--tab-min-width, 96px);
257
268
  width: auto;
258
- padding: 0 12px;
269
+ padding: 0 12px 6px;
259
270
  font-size: 16px;
260
271
  line-height: 10px;
261
272
  font-family: "Source Han Sans";
@@ -269,6 +280,7 @@ defineExpose({
269
280
  color: #0057FE;
270
281
  font-weight: 600;
271
282
  width: auto;
283
+ padding: 0 12px 6px;
272
284
  line-height: 10px;
273
285
  height: 40px;
274
286
  text-align: center;
@@ -292,8 +304,8 @@ defineExpose({
292
304
  left: 0 !important;
293
305
  top: 50% !important;
294
306
  transform: translateY(-50%) !important;
295
- width: 8px !important;
296
- height: 8px !important;
307
+ width: 12px !important;
308
+ height: 12px !important;
297
309
  background: #0057FE !important;
298
310
  border-radius: 50% !important;
299
311
  display: block !important;