vue2-client 1.15.131 → 1.15.133

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,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.15.131",
3
+ "version": "1.15.133",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -103,5 +103,195 @@ defineExpose({
103
103
  }
104
104
  }
105
105
 
106
+ // +号样式
107
+ &.h-buttons-table-height-button23 {
108
+ :deep(.ant-btn-group) {
109
+ display: inline-flex;
110
+ align-items: center;
111
+ height: 100%;
112
+
113
+ .ant-btn {
114
+ display: inline-flex;
115
+ align-items: center;
116
+ justify-content: center;
117
+ border: none;
118
+ padding: 0 !important;
119
+ color: #FFFFFF;
120
+ font-weight: normal;
121
+ letter-spacing: 0em;
122
+ font-size: 16px;
123
+ line-height: normal;
124
+ border-radius: 50%;
125
+ background-color: #1890FF;
126
+ margin-left: 10px;
127
+ width: 30px;
128
+ font-family: "Source Han Sans";
129
+ height: 30px;
130
+ /* 自适应上移:按按钮自身高度百分比位移 */
131
+ transform: translateY(-100%);
132
+ }
133
+ }
134
+ }
135
+
136
+ // 居中+悬停高亮的新样式
137
+ &.h-buttons-plus-center {
138
+ :deep(.ant-btn-group) {
139
+ display: flex;
140
+ align-items: center;
141
+ justify-content: center;
142
+ gap: 16px;
143
+
144
+ .ant-btn {
145
+ display: inline-flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ border: 1px solid #CDCDCD;
149
+ background-color: #FFFFFF;
150
+ color: #5D5C5C;
151
+ border-radius: 6px;
152
+ min-width: 110px;
153
+ height: 32px;
154
+ font-size: 16px;
155
+ font-family: "Source Han Sans";
156
+ transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
157
+
158
+ &:hover {
159
+ background-color: #0057FE;
160
+ border-color: #0057FE;
161
+ color: #FFFFFF;
162
+ }
163
+ }
164
+ }
165
+ }
166
+
167
+ // button-left样式 - 按钮从左到右排列
168
+ &.h-buttons-button-left {
169
+ :deep(.ant-btn-group) {
170
+ width: 100%;
171
+ display: flex;
172
+ flex-wrap: nowrap;
173
+ justify-content: flex-start;
174
+ gap: 12px;
175
+ .ant-btn {
176
+ border: 1px solid #CDCDCD;
177
+ color: #5D5C5C;
178
+ font-weight: normal;
179
+ letter-spacing: 0em;
180
+ font-size: 16px;
181
+ line-height: normal;
182
+ border-radius: 6px;
183
+ background-color: #FFFFFF;
184
+ font-family: "Source Han Sans";
185
+ height: 32px;
186
+ flex: 0 0 auto;
187
+ min-width: 110px;
188
+ width: auto;
189
+ white-space: nowrap;
190
+ overflow: hidden;
191
+ margin-right: 0px;
192
+ text-overflow: ellipsis;
193
+ }
194
+ }
195
+ }
196
+
197
+ // button-center样式 - 按钮居中排列
198
+ &.h-buttons-button-center {
199
+ :deep(.ant-btn-group) {
200
+ width: 100%;
201
+ display: flex;
202
+ flex-wrap: nowrap;
203
+ justify-content: center;
204
+ gap: 12px;
205
+ .ant-btn {
206
+ border: 1px solid #CDCDCD;
207
+ color: #5D5C5C;
208
+ font-weight: normal;
209
+ letter-spacing: 0em;
210
+ font-size: 16px;
211
+ line-height: normal;
212
+ border-radius: 6px;
213
+ background-color: #FFFFFF;
214
+ font-family: "Source Han Sans";
215
+ height: 32px;
216
+ flex: 0 0 auto;
217
+ min-width: 110px;
218
+ width: auto;
219
+ white-space: nowrap;
220
+ overflow: hidden;
221
+ margin-right: 0px;
222
+ text-overflow: ellipsis;
223
+ }
224
+ }
225
+ }
226
+
227
+ // button-right样式 - 按钮从右到左排列
228
+ &.h-buttons-button-right {
229
+ :deep(.ant-btn-group) {
230
+ width: 100%;
231
+ display: flex;
232
+ flex-wrap: nowrap;
233
+ justify-content: flex-end;
234
+ gap: 12px;
235
+ .ant-btn {
236
+ border: 1px solid #CDCDCD;
237
+ color: #5D5C5C;
238
+ font-weight: normal;
239
+ letter-spacing: 0em;
240
+ font-size: 16px;
241
+ line-height: normal;
242
+ border-radius: 6px;
243
+ background-color: #FFFFFF;
244
+ font-family: "Source Han Sans";
245
+ height: 32px;
246
+ flex: 0 0 auto;
247
+ width: auto;
248
+ min-width: 110px;
249
+ white-space: nowrap;
250
+ overflow: hidden;
251
+ margin-right: 0px;
252
+ text-overflow: ellipsis;
253
+ }
254
+ }
255
+ }
256
+
257
+ // button-space-between样式 - 按钮两端对齐(两个按钮时分布在两端)
258
+ &.h-buttons-button-space-between {
259
+ :deep(.ant-btn-group) {
260
+ width: 100%;
261
+ display: flex;
262
+ flex-wrap: nowrap;
263
+ justify-content: space-between;
264
+ .ant-btn {
265
+ border: 1px solid #CDCDCD;
266
+ color: #5D5C5C;
267
+ font-weight: normal;
268
+ letter-spacing: 0em;
269
+ font-size: 16px;
270
+ line-height: normal;
271
+ border-radius: 6px;
272
+ background-color: #FFFFFF;
273
+ font-family: "Source Han Sans";
274
+ height: 32px;
275
+ width: auto;
276
+ flex: 0 0 auto;
277
+ min-width: 110px;
278
+ white-space: nowrap;
279
+ overflow: hidden;
280
+ margin-right: 0px;
281
+ text-overflow: ellipsis;
282
+ }
283
+ }
284
+ }
285
+
286
+ // 水印图标与按钮容器布局调整
287
+ &.h-buttons-button-watermark-icon {
288
+ :deep(.watermark-icon) { transform: translate(-50%, -54%) !important; }
289
+ :deep(.x-button) { display: flex !important; }
290
+ :deep(.ant-btn-group) {
291
+ margin: 0 auto;
292
+ display: block;
293
+ }
294
+ }
295
+
106
296
  }
107
297
  </style>
@@ -7,6 +7,16 @@ defineProps({
7
7
  hasTopMargin: {
8
8
  type: Boolean,
9
9
  default: true
10
+ },
11
+ // 是否启用 style7 样式(细下划线、自适应)
12
+ useStyle7: {
13
+ type: Boolean,
14
+ default: false
15
+ },
16
+ // 是否叠加圆点样式(仅在 useStyle7 为 true 时生效)
17
+ useCycle: {
18
+ type: Boolean,
19
+ default: false
10
20
  }
11
21
  })
12
22
 
@@ -21,7 +31,7 @@ defineExpose({
21
31
  </script>
22
32
 
23
33
  <template>
24
- <div class="h-tab-wrapper" :class="{ 'h-tab-has-top-margin': hasTopMargin }">
34
+ <div class="h-tab-wrapper" :class="{ 'h-tab-has-top-margin': hasTopMargin, 'h-tab-style7': useStyle7, 'h-tab-cycle': useStyle7 && useCycle }">
25
35
  <x-tab
26
36
  ref="xTabRef"
27
37
  v-bind="$attrs"
@@ -107,5 +117,78 @@ defineExpose({
107
117
  }
108
118
  }
109
119
  }
120
+
121
+ // 通用样式7:细下划线、透明背景、可配置宽度
122
+ &.h-tab-style7 {
123
+ :deep(.ant-tabs-tab-next),
124
+ :deep(.ant-tabs-tab-prev-icon-target),
125
+ :deep(.ant-tabs-tab-next-icon) { display: none; }
126
+
127
+ :deep(.ant-tabs-bar) { border-bottom: 2px solid transparent; }
128
+
129
+ :deep(.ant-tabs-ink-bar) {
130
+ display: block;
131
+ background-color: #0057FE;
132
+ bottom: 8px;
133
+ height: 2px;
134
+ /* 宽度交给 antd 自身计算,避免固定值影响自适应 */
135
+ margin-left: 0;
136
+ }
137
+
138
+ :deep(.ant-tabs-nav) {
139
+ display: flex;
140
+ flex-wrap: wrap;
141
+ gap: 8px;
142
+ .ant-tabs-tab {
143
+ background-color: transparent;
144
+ border-radius: 0;
145
+ color: #333333;
146
+ font-weight: 500;
147
+ /* 自适应宽度,允许通过变量覆盖最小宽度 */
148
+ min-width: var(--tab-min-width, 96px);
149
+ width: auto;
150
+ padding: 0 12px;
151
+ font-size: 16px;
152
+ line-height: 10px;
153
+ font-family: "Source Han Sans";
154
+ transition: all 0.3s;
155
+ height: 40px;
156
+ text-align: center;
157
+ margin-right: 0 !important;
158
+ }
159
+ .ant-tabs-tab-active {
160
+ background-color: transparent;
161
+ color: #0057FE;
162
+ font-weight: 600;
163
+ width: auto;
164
+ line-height: 10px;
165
+ height: 40px;
166
+ text-align: center;
167
+ }
168
+ }
169
+
170
+ // 可选:标签左侧圆点
171
+ &.h-tab-cycle {
172
+ :deep(.ant-tabs-tab) {
173
+ position: relative;
174
+ padding-left: 18px !important;
175
+ margin-right: 20px !important;
176
+ }
177
+ :deep(.ant-tabs-tab::before) {
178
+ content: "" !important;
179
+ position: absolute !important;
180
+ left: 0 !important;
181
+ top: 50% !important;
182
+ transform: translateY(-50%) !important;
183
+ width: 8px !important;
184
+ height: 8px !important;
185
+ background: #0057FE !important;
186
+ border-radius: 50% !important;
187
+ display: block !important;
188
+ }
189
+ :deep(.ant-tabs-nav) { display: flex !important; flex-wrap: nowrap !important; }
190
+ }
191
+ }
192
+
110
193
  }
111
194
  </style>
@@ -0,0 +1,32 @@
1
+ <script>
2
+ import XCharge from './XCharge.vue'
3
+ export default {
4
+ name: 'XChargeDemo',
5
+ components: {
6
+ XCharge,
7
+ },
8
+ data () {
9
+ return {
10
+ queryParamsName: '收费组件Config'
11
+ }
12
+ },
13
+ methods: {
14
+ change1 (e, item) {
15
+ console.log(e, item)
16
+ },
17
+ method (value) {
18
+ console.log(value)
19
+ }
20
+ }
21
+ }
22
+ </script>
23
+
24
+ <template>
25
+ <x-charge :queryParamsName="queryParamsName" @method="method" @change="change1"></x-charge>
26
+ </template>
27
+
28
+ <style scoped>
29
+ .test{
30
+ margin-right: 10px;
31
+ }
32
+ </style>
@@ -60,7 +60,7 @@ path: 'example',
60
60
  // component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
61
61
  // component: () => import('@vue2-client/base-client/components/common/XFormGroup/demo.vue'),
62
62
  // component: () => import('@vue2-client/base-client/components/common/XReport/XReportDemo.vue'),
63
- component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
63
+ // component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
64
64
  // component: () => import('@vue2-client/base-client/components/common/XDatePicker/demo.vue'),
65
65
  // component: () => import('@vue2-client/base-client/components/common/XTab/XTabDemo.vue'),
66
66
  // component: () => import('@vue2-client/base-client/components/common/XRate/demo.vue'),
@@ -79,7 +79,7 @@ path: 'example',
79
79
  // component: () => import('@vue2-client/pages/LogicCallExample/index.vue'),
80
80
  // component: () => import('@vue2-client/components/FilePreview/FilePreviewDemo.vue'),
81
81
  // component: () => import('@vue2-client/pages/ReportGrid/index.vue'),
82
- // component: () => import('@vue2-client/base-client/components/common/HIS/demo.vue'),
82
+ component: () => import('@vue2-client/base-client/components/common/HIS/demo.vue'),
83
83
  }
84
84
  // routerResource.example = () =>
85
85
  // import('@vue2-client/pages/Example')