@yxhl/specter-pui-vtk 1.0.0

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 (49) hide show
  1. package/README.md +122 -0
  2. package/dist/specter-pui-vtk.css +1 -0
  3. package/dist/specter-pui.es.js +3289 -0
  4. package/dist/specter-pui.es.js.map +1 -0
  5. package/dist/specter-pui.umd.js +2 -0
  6. package/dist/specter-pui.umd.js.map +1 -0
  7. package/package.json +65 -0
  8. package/src/assets/css/globals.scss +250 -0
  9. package/src/assets/css/index.scss +271 -0
  10. package/src/assets/css/settings.scss +10 -0
  11. package/src/assets/css/variables.scss +0 -0
  12. package/src/assets/icon/logo.svg +9 -0
  13. package/src/assets/img/background.png +0 -0
  14. package/src/assets/img/dtx.png +0 -0
  15. package/src/commons/filters/dictionary.js +75 -0
  16. package/src/commons/filters/format.js +112 -0
  17. package/src/commons/filters/mask.js +25 -0
  18. package/src/commons/index.js +17 -0
  19. package/src/commons/request.js +89 -0
  20. package/src/commons/storage.js +41 -0
  21. package/src/commons/themes.js +153 -0
  22. package/src/commons/validation.js +72 -0
  23. package/src/components/README.md +35 -0
  24. package/src/components/assembly/VtkArea.vue +259 -0
  25. package/src/components/assembly/VtkCheckbox.vue +168 -0
  26. package/src/components/assembly/VtkCount.vue +403 -0
  27. package/src/components/assembly/VtkDatePicker.vue +326 -0
  28. package/src/components/assembly/VtkEmpty.vue +107 -0
  29. package/src/components/assembly/VtkFab.vue +78 -0
  30. package/src/components/assembly/VtkFormItem.vue +166 -0
  31. package/src/components/assembly/VtkImg.vue +372 -0
  32. package/src/components/assembly/VtkPage.vue +156 -0
  33. package/src/components/assembly/VtkPdf.vue +424 -0
  34. package/src/components/assembly/VtkProj.vue +539 -0
  35. package/src/components/assembly/VtkRadio.vue +82 -0
  36. package/src/components/assembly/VtkSearch.vue +145 -0
  37. package/src/components/assembly/VtkSelect.vue +104 -0
  38. package/src/components/assembly/VtkStepper.vue +160 -0
  39. package/src/components/message/alert.vue +31 -0
  40. package/src/components/message/confirm.vue +44 -0
  41. package/src/components/message/index.js +55 -0
  42. package/src/components/message/loading.vue +33 -0
  43. package/src/components/message/prompt.vue +57 -0
  44. package/src/components/message/toast.vue +45 -0
  45. package/src/components/message/vtkMessage.vue +27 -0
  46. package/src/composables/useMixins.js +2 -0
  47. package/src/composables/usePage.js +311 -0
  48. package/src/index.js +109 -0
  49. package/src/stores/message.js +79 -0
@@ -0,0 +1,250 @@
1
+ /* 公共css样式 */
2
+
3
+ /* ==================
4
+ 初始化
5
+ ==================== */
6
+ a {
7
+ text-decoration: none;
8
+ }
9
+ /* ==================
10
+ 鼠标样式
11
+ ==================== */
12
+ .g-cursor-pointer {
13
+ cursor: pointer;
14
+ }
15
+ .g-cursor-not {
16
+ cursor: not-allowed;
17
+ }
18
+ .g-cursor-default {
19
+ cursor: default;
20
+ }
21
+
22
+ /* ==================
23
+ 内边距
24
+ ==================== */
25
+ @for $i from 17 through 20 {
26
+ .g-pa-#{$i} {
27
+ padding: ($i * 4) px;
28
+ }
29
+ .g-px-#{$i} {
30
+ padding: 0 ($i * 4) px;
31
+ }
32
+ .g-py-#{$i} {
33
+ padding: ($i * 4) px 0;
34
+ }
35
+ .g-pl-#{$i} {
36
+ padding-left: ($i * 4) px;
37
+ }
38
+ .g-pr-#{$i} {
39
+ padding-right: ($i * 4) px;
40
+ }
41
+ }
42
+
43
+ /* ==================
44
+ 外边距
45
+ ==================== */
46
+ @for $i from 17 through 20 {
47
+ .g-ma-#{$i} {
48
+ margin: ($i * 4) px;
49
+ }
50
+ .g-mx-#{$i} {
51
+ margin: 0 ($i * 4) px;
52
+ }
53
+ .g-my-#{$i} {
54
+ margin: ($i * 4) px 0;
55
+ }
56
+ .g-ml-#{$i} {
57
+ margin-left: ($i * 4) px;
58
+ }
59
+ .g-mr-#{$i} {
60
+ margin-right: ($i * 4) px;
61
+ }
62
+ }
63
+
64
+ /* ==================
65
+ 高度+宽度
66
+ ==================== */
67
+ .g-height {
68
+ height: 100%;
69
+ }
70
+ .g-width {
71
+ width: 100%;
72
+ }
73
+ .g-wh {
74
+ width: 100%;
75
+ height: 100%;
76
+ }
77
+ .g-wh-v {
78
+ width: 100vw;
79
+ height: 100vh;
80
+ }
81
+ @for $i from 1 through 10 {
82
+ .g-width-#{$i} {
83
+ width: $i * 10%;
84
+ }
85
+ }
86
+ .g-width-nav {
87
+ max-width: 260px !important;
88
+ }
89
+ /* ==================
90
+ 颜色
91
+ ==================== */
92
+ .g-white{
93
+ background: white;
94
+ }
95
+ .theme--dark.g-white{
96
+ background: #1E1E1E;
97
+ }
98
+ //渐变色
99
+ .g-grad-blue {
100
+ background: linear-gradient(226deg, #3eddff 0%, #008ef0 100%);
101
+ }
102
+ .g-grad-cyan {
103
+ background: linear-gradient(226deg, #31e1c0 0%, #19a090 100%);
104
+ }
105
+ .g-grad-green {
106
+ background: linear-gradient(226deg, #79dd43 0%, #00a23d 100%);
107
+ }
108
+ .g-grad-orange {
109
+ background: linear-gradient(226deg, #ffc042 0%, #fa7414 100%);
110
+ }
111
+ .g-grad-yellow {
112
+ background: linear-gradient(226deg, #ffdd33 0%, #faa700 100%);
113
+ }
114
+ .g-grad-red {
115
+ background: linear-gradient(226deg, #ff7d7d 0%, #ca0000 100%);
116
+ }
117
+ .g-grad-indigo {
118
+ background: linear-gradient(226deg, #00b0d6 0%, #000bc0 100%);
119
+ }
120
+
121
+ /* ==================
122
+ 文本
123
+ ==================== */
124
+ @for $i from 5 through 30 {
125
+ .g-size-#{$i} {
126
+ font-size: ($i * 2) px;
127
+ }
128
+ }
129
+ .g-text-indent {
130
+ text-indent: 2em;
131
+ }
132
+ //文本超出隐藏并显示省略号
133
+ .g-text-overflow {
134
+ white-space: nowrap;
135
+ text-overflow: ellipsis;
136
+ overflow: hidden;
137
+ word-break: break-all;
138
+ }
139
+ @for $i from 5 through 30 {
140
+ .g-text-overflow-#{$i} {
141
+ text-overflow: -o-ellipsis-lastline;
142
+ overflow: hidden;
143
+ text-overflow: ellipsis;
144
+ display: -webkit-box;
145
+ -webkit-line-clamp: $i;
146
+ line-clamp: $i;
147
+ -webkit-box-orient: vertical;
148
+ }
149
+ }
150
+ /* ==================
151
+ 对齐方式
152
+ ==================== */
153
+ .g-v-align-sub {
154
+ vertical-align: sub;
155
+ }
156
+ .g-v-align-super {
157
+ vertical-align: super;
158
+ }
159
+ .g-v-align-top {
160
+ vertical-align: top;
161
+ }
162
+ .g-v-align-middle {
163
+ vertical-align: middle;
164
+ }
165
+ .g-v-align-bottom {
166
+ vertical-align: bottom;
167
+ }
168
+
169
+ /* ==================
170
+ 滚动条样式
171
+ ==================== */
172
+ .g-scrollbar {
173
+ overflow-x: hidden;
174
+ overflow: hidden;
175
+ overflow-y: scroll;
176
+ &::-webkit-scrollbar {
177
+ /*滚动条整体样式*/
178
+ width: 4px; /*高宽分别对应横竖滚动条的尺寸*/
179
+ height: 1px;
180
+ }
181
+ &::-webkit-scrollbar-thumb {
182
+ /*滚动条里面小方块*/
183
+ border-radius: 10px;
184
+ background-color: rgb(212, 212, 212);
185
+ background-image: -webkit-linear-gradient(
186
+ 45deg,
187
+ rgba(255, 255, 255, 0) 25%,
188
+ transparent 25%,
189
+ transparent 50%,
190
+ rgba(255, 255, 255, 0) 50%,
191
+ rgba(255, 255, 255, 0) 75%,
192
+ transparent 75%,
193
+ transparent
194
+ );
195
+ }
196
+ &::-webkit-scrollbar-track {
197
+ /*滚动条里面轨道*/
198
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0);
199
+ background: #ededed00;
200
+ border-radius: 10px;
201
+ }
202
+ }
203
+
204
+ /* ==================
205
+ 边框
206
+ ==================== */
207
+ .g-border-dotted {
208
+ border: rgb(228, 228, 228) 1px dotted;
209
+ }
210
+ .g-border-dashed {
211
+ border: rgb(228, 228, 228) 1px dashed;
212
+ }
213
+ .g-border-solid {
214
+ border: rgb(228, 228, 228) 1px solid;
215
+ }
216
+
217
+ /* ==================
218
+ 背景
219
+ ==================== */
220
+ .g-shadow {
221
+ box-shadow: #3333331a 1px 1px 8px !important;
222
+ }
223
+
224
+ /* ==================
225
+ 图片
226
+ ==================== */
227
+
228
+ /* ==================
229
+ 头像
230
+ ==================== */
231
+
232
+ /* ==================
233
+ 加载
234
+ ==================== */
235
+
236
+ /* ==================
237
+ 列表
238
+ ==================== */
239
+
240
+ /* ==================
241
+ 表单
242
+ ==================== */
243
+
244
+ /* ==================
245
+ 模态窗口
246
+ ==================== */
247
+
248
+ /* ==================
249
+ 步骤条
250
+ ==================== */
@@ -0,0 +1,271 @@
1
+ @charset "UTF-8";
2
+ html {
3
+ height: 100%;
4
+ overflow-y: auto !important;
5
+ }
6
+ .v-bottom-black-bar {
7
+ // 适应底部小黑条
8
+ margin-bottom: constant(safe-area-inset-bottom);
9
+ margin-bottom: env(safe-area-inset-bottom);
10
+ }
11
+
12
+ // 去除Google游览器自动填充账号出现的背景
13
+ input {
14
+ background-color: transparent !important;
15
+ }
16
+ input:-webkit-autofill {
17
+ transition: background-color 1s ease-in-out 6000s;
18
+ -webkit-transition: background-color 1s ease-in-out 6000s;
19
+ -webkit-text-fill-color: #fff !important;
20
+ }
21
+
22
+ // 清除vuetify的默认pre下的code伪元素和阴影
23
+ .v-application pre > code {
24
+ box-shadow: none;
25
+ &::before,
26
+ &::after {
27
+ content: none;
28
+ }
29
+ }
30
+ .container,
31
+ footer,
32
+ .v-application--wrap,
33
+ header {
34
+ min-width: 1200px !important;
35
+ }
36
+ pre[class*="language-"] {
37
+ margin: auto 0 !important;
38
+ }
39
+ // 分页
40
+ .v-pagination .v-pagination__item {
41
+ outline: none;
42
+ }
43
+ .title_icon {
44
+ width: 5px;
45
+ height: 28px;
46
+ border-radius: 8px;
47
+ margin-right: 12px;
48
+ vertical-align: bottom;
49
+ margin-bottom: 2px;
50
+ }
51
+
52
+ //渐变色样式
53
+ .grad_blue {
54
+ background: linear-gradient(226deg, #3eddff 0%, #008ef0 100%);
55
+ }
56
+ .grad_cyan {
57
+ background: linear-gradient(226deg, #31e1c0 0%, #19a090 100%);
58
+ }
59
+ .grad_green {
60
+ background: linear-gradient(226deg, #79dd43 0%, #00a23d 100%);
61
+ }
62
+ .grad_amber {
63
+ background: linear-gradient(226deg, #ffca51 0%, #ff9400 100%);
64
+ }
65
+ .grad_red {
66
+ background: linear-gradient(226deg, #ff7d7d 0%, #ca0000 100%);
67
+ }
68
+ .v-theme--light.grad_darkBlue {
69
+ color: white !important;
70
+ background: linear-gradient(90deg, #1b87fd 0%, #3147c9 100%) !important;
71
+ }
72
+ .v-theme--dark.grad_darkBlue{
73
+ background: linear-gradient(90deg, #030092 0%, #020c4d 100%) !important;
74
+ }
75
+ //宽高
76
+ .height_100 {
77
+ height: 100%;
78
+ }
79
+ .width_100 {
80
+ width: 100%;
81
+ }
82
+ .width_65 {
83
+ width: 65%;
84
+ }
85
+ .width_60 {
86
+ width: 60%;
87
+ }
88
+ .width_40 {
89
+ width: 40%;
90
+ }
91
+ .width_30 {
92
+ width: 30%;
93
+ }
94
+ .width_20 {
95
+ width: 20%;
96
+ }
97
+ .wh_100 {
98
+ width: 100%;
99
+ height: 100%;
100
+ }
101
+
102
+ //边距
103
+ .pa_15 {
104
+ padding: 60px !important;
105
+ }
106
+ .pa_20 {
107
+ padding: 80px !important;
108
+ }
109
+ .px_20 {
110
+ padding: 0 80px !important;
111
+ }
112
+ .mt_n24 {
113
+ margin-top: -96px !important;
114
+ }
115
+
116
+ //字体大小
117
+ .size_28 {
118
+ font-size: 28px !important;
119
+ }
120
+ .size_24 {
121
+ font-size: 24px !important;
122
+ }
123
+ .size_20 {
124
+ font-size: 20px !important;
125
+ }
126
+ .size_16 {
127
+ font-size: 16px !important;
128
+ }
129
+
130
+ //定位
131
+ .position_f_top {
132
+ position: fixed !important;
133
+ top: 0;
134
+ }
135
+
136
+ //对齐方式
137
+ .v_align_top {
138
+ vertical-align: top;
139
+ }
140
+ .v_align_middle {
141
+ vertical-align: middle;
142
+ }
143
+
144
+ //初始化基本样式
145
+ a {
146
+ text-decoration: none;
147
+ }
148
+ .pointer {
149
+ cursor: pointer;
150
+ }
151
+ .shadow {
152
+ box-shadow: #3333331a 1px 1px 8px !important;
153
+ }
154
+ .text-overflow {
155
+ white-space: nowrap;
156
+ text-overflow: ellipsis;
157
+ overflow: hidden;
158
+ word-break: break-all;
159
+ }
160
+ .text-overflow-1 {
161
+ text-overflow: -o-ellipsis-lastline;
162
+ overflow: hidden;
163
+ text-overflow: ellipsis;
164
+ display: -webkit-box;
165
+ -webkit-line-clamp: 1;
166
+ line-clamp: 1;
167
+ -webkit-box-orient: vertical;
168
+ }
169
+ .text-overflow-2 {
170
+ text-overflow: -o-ellipsis-lastline;
171
+ overflow: hidden;
172
+ text-overflow: ellipsis;
173
+ display: -webkit-box;
174
+ -webkit-line-clamp: 2;
175
+ height: 3em;
176
+ line-clamp: 2;
177
+ -webkit-box-orient: vertical;
178
+ }
179
+ .text-overflow-3 {
180
+ text-overflow: -o-ellipsis-lastline;
181
+ overflow: hidden;
182
+ text-overflow: ellipsis;
183
+ display: -webkit-box;
184
+ -webkit-line-clamp: 3;
185
+ line-clamp: 3;
186
+ -webkit-box-orient: vertical;
187
+ }
188
+
189
+ //标题
190
+ .g_title_bg {
191
+ position: absolute;
192
+ top: 36px;
193
+ font-variant: all-petite-caps;
194
+ &::before {
195
+ content: "";
196
+ width: 60px;
197
+ height: 6px;
198
+ background: #2973ff40;
199
+ border-radius: 6px;
200
+ position: absolute;
201
+ top: -5px;
202
+ z-index: 0;
203
+ }
204
+ }
205
+ //标题前小圆柱
206
+ .g_title_icon {
207
+ display: inline-block;
208
+ margin-right: 8px;
209
+ width: 4px;
210
+ height: 100%;
211
+ min-height: 18px;
212
+ background: linear-gradient(180deg, #1b87fd 0%, #3147c9 100%);
213
+ border-radius: 2px;
214
+ }
215
+
216
+ //文本颜色
217
+ .text_color {
218
+ .black_text {
219
+ color: #000 !important;
220
+ }
221
+ }
222
+
223
+ //顶部叠层
224
+ .g_card_fold {
225
+ &::before {
226
+ content: "";
227
+ width: 98%;
228
+ border-radius: 8px 8px 0 0;
229
+ display: inline-block;
230
+ height: 14px;
231
+ background: #fff;
232
+ position: absolute;
233
+ top: -14px;
234
+ left: 1%;
235
+ opacity: 0.3;
236
+ }
237
+ &::after {
238
+ content: "";
239
+ width: 96%;
240
+ border-radius: 8px 8px 0 0;
241
+ display: inline-block;
242
+ height: 26px;
243
+ background: #fff;
244
+ position: absolute;
245
+ top: -26px;
246
+ left: 2%;
247
+ opacity: 0.1;
248
+ }
249
+ }
250
+
251
+
252
+ div::-webkit-scrollbar {
253
+ width: 6px;
254
+ }
255
+ /* 滚动条轨道 */
256
+ div::-webkit-scrollbar-track {
257
+ background: rgb(239, 239, 239);
258
+ border-radius: 2px;
259
+ }
260
+ /* 小滑块 */
261
+ div::-webkit-scrollbar-thumb {
262
+ background: #676767c3;
263
+ border-radius: 10px;
264
+ }
265
+ div::-webkit-scrollbar-thumb:hover {
266
+ background: #40a0ff;
267
+ }
268
+
269
+ .v-container {
270
+ padding: 0 24px;
271
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * src/styles/settings.scss
3
+ *
4
+ * Configures SASS variables and Vuetify overwrites
5
+ */
6
+
7
+ // https://vuetifyjs.com/features/sass-variables/`
8
+ // @use 'vuetify/settings' with (
9
+ // $color-pack: false
10
+ // );
File without changes