n20-common-lib 3.2.5 → 3.2.6

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": "n20-common-lib",
3
- "version": "3.2.5",
3
+ "version": "3.2.6",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -59,6 +59,7 @@
59
59
  @import './v3/radioCard.scss';
60
60
  @import './v3/collapse.scss';
61
61
  @import './v3/anchor.scss';
62
+ @import './info-card.scss';
62
63
 
63
64
  //临时引入
64
65
  @import '../../components/ChildRange/style.scss';
@@ -0,0 +1,168 @@
1
+ /**
2
+ * InfoCard 模块样式
3
+ * 信息卡片组件,支持折叠展开、装饰logo等
4
+ */
5
+
6
+ .info-card + .info-card {
7
+ margin-top: 8px;
8
+ }
9
+ .info-card {
10
+ display: flex;
11
+ flex-direction: column;
12
+ align-items: flex-start;
13
+ position: relative;
14
+ width: 100%;
15
+ height: 100%;
16
+ padding: 12px 16px;
17
+ border-radius: 4px;
18
+ box-sizing: border-box;
19
+
20
+ // 右下角装饰logo - 相对于整个卡片定位
21
+ .corner-logo {
22
+ position: absolute;
23
+ bottom: 0;
24
+ right: -16px;
25
+ width: 120px;
26
+ height: 120px;
27
+ pointer-events: none;
28
+ z-index: 0;
29
+ }
30
+
31
+ .info-card-header {
32
+ display: flex;
33
+ flex-direction: column;
34
+ gap: 12px;
35
+ align-items: flex-start;
36
+ position: relative;
37
+ width: 100%;
38
+ flex-shrink: 0;
39
+ z-index: 1;
40
+
41
+ .header-left {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: 4px;
45
+ position: relative;
46
+ flex-shrink: 0;
47
+
48
+ .header-logo {
49
+ width: 16px;
50
+ height: 16px;
51
+ flex-shrink: 0;
52
+ position: relative;
53
+ }
54
+
55
+ .header-title {
56
+ font-family: 'PingFang SC', 'Medium', sans-serif;
57
+ font-size: 14px;
58
+ font-weight: 500;
59
+ line-height: 22px;
60
+ color: #1d2129;
61
+ white-space: nowrap;
62
+ position: relative;
63
+ flex-shrink: 0;
64
+ }
65
+ }
66
+
67
+ .header-right {
68
+ position: absolute;
69
+ top: 0;
70
+ right: 0;
71
+ display: flex;
72
+ align-items: center;
73
+ gap: 4px;
74
+ padding: 4px;
75
+ cursor: pointer;
76
+ border-radius: 2px;
77
+ overflow: hidden;
78
+ transition: background-color 0.2s;
79
+
80
+ &:hover {
81
+ background-color: rgba(0, 122, 255, 0.06);
82
+ }
83
+
84
+ .collapse-text {
85
+ font-family: 'PingFang SC', 'Regular', sans-serif;
86
+ font-size: 14px;
87
+ font-weight: 400;
88
+ line-height: 22px;
89
+ color: #007aff;
90
+ white-space: nowrap;
91
+ }
92
+
93
+ .collapse-arrow {
94
+ width: 14px;
95
+ height: 14px;
96
+ position: relative;
97
+ flex-shrink: 0;
98
+ transition: transform 0.3s ease;
99
+
100
+ &::before,
101
+ &::after {
102
+ content: '';
103
+ position: absolute;
104
+ width: 8px;
105
+ height: 2px;
106
+ background-color: #007aff;
107
+ border-radius: 1px;
108
+ top: 50%;
109
+ left: 50%;
110
+ transition: all 0.3s ease;
111
+ }
112
+
113
+ &::before {
114
+ transform: translate(-50%, -50%) rotate(45deg);
115
+ margin-left: -2px;
116
+ }
117
+
118
+ &::after {
119
+ transform: translate(-50%, -50%) rotate(-45deg);
120
+ margin-left: 2px;
121
+ }
122
+
123
+ &.expanded {
124
+ &::before {
125
+ transform: translate(-50%, -50%) rotate(-45deg);
126
+ margin-left: -3px;
127
+ }
128
+
129
+ &::after {
130
+ transform: translate(-50%, -50%) rotate(45deg);
131
+ margin-left: 3px;
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ .info-card-content {
139
+ display: flex;
140
+ flex-wrap: wrap;
141
+ align-items: flex-start;
142
+ position: relative;
143
+ width: 100%;
144
+ flex: 1;
145
+ z-index: 1;
146
+ }
147
+
148
+ // 折叠动画(Vue 2.6 transition 类名:无 -from/-to 后缀)
149
+ .collapse-enter-active,
150
+ .collapse-leave-active {
151
+ transition: all 0.3s ease;
152
+ overflow: hidden;
153
+ }
154
+
155
+ .collapse-enter,
156
+ .collapse-leave-to {
157
+ max-height: 0;
158
+ opacity: 0;
159
+ transform: translateY(-10px);
160
+ }
161
+
162
+ .collapse-enter-to,
163
+ .collapse-leave {
164
+ max-height: 2000px;
165
+ opacity: 1;
166
+ transform: translateY(0);
167
+ }
168
+ }
@@ -23,9 +23,10 @@
23
23
  </template>
24
24
 
25
25
  <script>
26
+ import axios from '../../utils/axios.js'
26
27
  import Dialog from '../Dialog/index.vue'
27
28
  import clUpload from '../Upload/index.vue'
28
- import axios from '../../utils/axios.js'
29
+
29
30
  let dayjs = undefined
30
31
  import('../../index.js').then((res) => {
31
32
  dayjs = res.dayjs
@@ -99,4 +100,3 @@ export default {
99
100
  }
100
101
  }
101
102
  </script>
102
- <style lang="scss" scoped></style>
@@ -282,5 +282,3 @@ export default {
282
282
  }
283
283
  }
284
284
  </script>
285
-
286
- <style lang="scss" scoped></style>
@@ -81,169 +81,3 @@ export default {
81
81
  }
82
82
  }
83
83
  </script>
84
-
85
- <style lang="scss" scoped>
86
- .info-card + .info-card {
87
- margin-top: 8px;
88
- }
89
- .info-card {
90
- display: flex;
91
- flex-direction: column;
92
- align-items: flex-start;
93
- position: relative;
94
- width: 100%;
95
- height: 100%;
96
- padding: 12px 16px;
97
- border-radius: 4px;
98
- box-sizing: border-box;
99
-
100
- // 右下角装饰logo - 相对于整个卡片定位
101
- .corner-logo {
102
- position: absolute;
103
- bottom: 0;
104
- right: -16px;
105
- width: 120px;
106
- height: 120px;
107
- pointer-events: none;
108
- z-index: 0;
109
- }
110
-
111
- .info-card-header {
112
- display: flex;
113
- flex-direction: column;
114
- gap: 12px;
115
- align-items: flex-start;
116
- position: relative;
117
- width: 100%;
118
- flex-shrink: 0;
119
- z-index: 1;
120
-
121
- .header-left {
122
- display: flex;
123
- align-items: center;
124
- gap: 4px;
125
- position: relative;
126
- flex-shrink: 0;
127
-
128
- .header-logo {
129
- width: 16px;
130
- height: 16px;
131
- flex-shrink: 0;
132
- position: relative;
133
- }
134
-
135
- .header-title {
136
- font-family: 'PingFang SC', 'Medium', sans-serif;
137
- font-size: 14px;
138
- font-weight: 500;
139
- line-height: 22px;
140
- color: #1d2129;
141
- white-space: nowrap;
142
- position: relative;
143
- flex-shrink: 0;
144
- }
145
- }
146
-
147
- .header-right {
148
- position: absolute;
149
- top: 0;
150
- right: 0;
151
- display: flex;
152
- align-items: center;
153
- gap: 4px;
154
- padding: 4px;
155
- cursor: pointer;
156
- border-radius: 2px;
157
- overflow: hidden;
158
- transition: background-color 0.2s;
159
-
160
- &:hover {
161
- background-color: rgba(0, 122, 255, 0.06);
162
- }
163
-
164
- .collapse-text {
165
- font-family: 'PingFang SC', 'Regular', sans-serif;
166
- font-size: 14px;
167
- font-weight: 400;
168
- line-height: 22px;
169
- color: #007aff;
170
- white-space: nowrap;
171
- }
172
-
173
- .collapse-arrow {
174
- width: 14px;
175
- height: 14px;
176
- position: relative;
177
- flex-shrink: 0;
178
- transition: transform 0.3s ease;
179
-
180
- &::before,
181
- &::after {
182
- content: '';
183
- position: absolute;
184
- width: 8px;
185
- height: 2px;
186
- background-color: #007aff;
187
- border-radius: 1px;
188
- top: 50%;
189
- left: 50%;
190
- transition: all 0.3s ease;
191
- }
192
-
193
- &::before {
194
- transform: translate(-50%, -50%) rotate(45deg);
195
- margin-left: -2px;
196
- }
197
-
198
- &::after {
199
- transform: translate(-50%, -50%) rotate(-45deg);
200
- margin-left: 2px;
201
- }
202
-
203
- &.expanded {
204
- &::before {
205
- transform: translate(-50%, -50%) rotate(-45deg);
206
- margin-left: -3px;
207
- }
208
-
209
- &::after {
210
- transform: translate(-50%, -50%) rotate(45deg);
211
- margin-left: 3px;
212
- }
213
- }
214
- }
215
- }
216
- }
217
-
218
- .info-card-content {
219
- display: flex;
220
- flex-wrap: wrap;
221
- align-items: flex-start;
222
- position: relative;
223
- width: 100%;
224
- flex: 1;
225
- z-index: 1;
226
- }
227
-
228
- // 折叠动画(Vue 2.6 transition 类名:无 -from/-to 后缀)
229
- .collapse-enter-active,
230
- .collapse-leave-active {
231
- transition: all 0.3s ease;
232
- overflow: hidden;
233
- }
234
-
235
- .collapse-enter,
236
- .collapse-leave-to {
237
- max-height: 0;
238
- opacity: 0;
239
- transform: translateY(-10px);
240
- }
241
-
242
- .collapse-enter-to,
243
- .collapse-leave {
244
- max-height: 2000px;
245
- opacity: 1;
246
- transform: translateY(0);
247
- }
248
- }
249
- </style>
@@ -1540,8 +1540,4 @@ export default {
1540
1540
  }
1541
1541
  }
1542
1542
  }
1543
- </script>
1544
-
1545
- <style lang="scss">
1546
- @import '../../assets/css/pivot.scss';
1547
- </style>
1543
+ </script>