tianheng-ui 0.0.3 → 0.0.4

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/index.html DELETED
@@ -1,11 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <title>tianheng-ui</title>
6
- </head>
7
- <body>
8
- <div id="app"></div>
9
- <script src="/dist/tianheng-ui.js"></script>
10
- </body>
11
- </html>
@@ -1,8 +0,0 @@
1
- import Cell from "./index.vue";
2
-
3
- /* istanbul ignore next */
4
- Cell.install = function(Vue) {
5
- Vue.component(Cell.name, Cell);
6
- };
7
-
8
- export default Cell;
@@ -1,144 +0,0 @@
1
- <template>
2
- <div>
3
- <el-skeleton :loading="loading" animated>
4
- <template slot="template">
5
- <div class="skeleton">
6
- <el-skeleton-item class="skeleton-icon" variant="image" />
7
- <div class="skeleton-content">
8
- <el-skeleton-item class="skeleton-title" variant="h4" />
9
- <el-skeleton-item class="skeleton-label" variant="text" />
10
- </div>
11
- <el-skeleton-item class="skeleton-value" variant="text" />
12
- </div>
13
- </template>
14
- </el-skeleton>
15
- <div v-if="!loading" class="th-cell" :style="customStyle">
16
- <i v-if="icon" class="th-cell-icon" :class="icon"></i>
17
- <slot v-else name="icon" />
18
- <div class="th-cell-content">
19
- <div v-if="title" class="th-cell-title">{{ title }}</div>
20
- <slot v-else name="title" />
21
- <div v-if="label" class="th-cell-label">{{ label }}</div>
22
- <slot v-else name="label" />
23
- </div>
24
- <div v-if="value" class="th-cell-value">{{ value }}</div>
25
- <slot v-else />
26
- </div>
27
- </div>
28
- </template>
29
-
30
- <script>
31
- export default {
32
- name:'ThCell',
33
- props: {
34
- title: {
35
- type: String,
36
- default: () => {
37
- return "";
38
- },
39
- },
40
- value: {
41
- type: String,
42
- default: () => {
43
- return "";
44
- },
45
- },
46
- label: {
47
- type: String,
48
- default: () => {
49
- return "";
50
- },
51
- },
52
- icon: {
53
- type: String,
54
- default: () => {
55
- return "";
56
- },
57
- },
58
- customStyle: {
59
- type: String,
60
- default: () => {
61
- return "";
62
- },
63
- },
64
- loading: {
65
- type: Boolean,
66
- default: () => {
67
- return false;
68
- },
69
- },
70
- },
71
- };
72
- </script>
73
-
74
- <style lang="less" scoped>
75
- .th-cell {
76
- position: relative;
77
- display: flex;
78
- align-items: center;
79
- padding: 10px 15px;
80
- border-radius: 4px;
81
- border: 1px solid #ebeef5;
82
- background-color: white;
83
- overflow: hidden;
84
- transition: 0.3s;
85
- .th-cell-icon {
86
- margin-right: 10px;
87
- font-size: 18px;
88
- }
89
- .th-cell-content {
90
- flex: 1;
91
- }
92
- &-title {
93
- font-size: 16px;
94
- color: #333333;
95
- }
96
- &-label {
97
- margin-top: 5px;
98
- font-size: 14px;
99
- color: #666666;
100
- word-wrap: break-word;
101
- word-break: break-all;
102
- }
103
- &-value {
104
- margin-left: 10px;
105
- max-width: 50%;
106
- font-size: 14px;
107
- color: #999999;
108
- word-wrap: break-word;
109
- word-break: break-all;
110
- }
111
- }
112
- .th-cell:hover {
113
- box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
114
- }
115
-
116
- .skeleton {
117
- display: flex;
118
- align-items: center;
119
- // height: 64px;
120
- margin-bottom: 20px;
121
- padding: 10px 15px;
122
- border-radius: 4px;
123
- border: 1px solid #ebeef5;
124
- &-icon {
125
- width: 30px;
126
- height: 30px;
127
- margin-right: 10px;
128
- font-size: 18px;
129
- }
130
- &-content {
131
- flex: 1;
132
- }
133
- &-title {
134
- width: 100px;
135
- }
136
- &-label {
137
- margin-top: 5px;
138
- }
139
- &-value {
140
- margin-left: 10px;
141
- width: 100px;
142
- }
143
- }
144
- </style>
@@ -1,8 +0,0 @@
1
- import Icons from "./index.vue";
2
-
3
- /* istanbul ignore next */
4
- Icons.install = function(Vue) {
5
- Vue.component(Icons.name, Icons);
6
- };
7
-
8
- export default Icons;
@@ -1,360 +0,0 @@
1
- <template>
2
- <div>
3
- <el-popover
4
- placement="bottom-start"
5
- title="Element图标库"
6
- :width="width || 400"
7
- trigger="click"
8
- >
9
- <el-input
10
- slot="reference"
11
- :value="value"
12
- placeholder="请选择图标"
13
- clearable
14
- @clear="handleInputClear"
15
- >
16
- <div v-if="value" class="input-prefix" slot="prefix">
17
- <i :class="value" class="icon"> </i>
18
- </div>
19
- </el-input>
20
-
21
- <div class="th-icons">
22
- <i
23
- class="icon"
24
- v-for="(icon, index) in icons"
25
- :key="index"
26
- :class="icon"
27
- @click="handleIconClick(icon)"
28
- ></i>
29
- </div>
30
- </el-popover>
31
- </div>
32
- </template>
33
-
34
- <script>
35
- export default {
36
- name:'ThIcons',
37
- props: ["value", "width"],
38
- data() {
39
- return {
40
- icons: [
41
- "el-icon-platform-eleme",
42
- "el-icon-eleme",
43
- "el-icon-delete-solid",
44
- "el-icon-delete",
45
- "el-icon-s-tools",
46
- "el-icon-setting",
47
- "el-icon-user-solid",
48
- "el-icon-user",
49
- "el-icon-phone",
50
- "el-icon-phone-outline",
51
- "el-icon-more",
52
- "el-icon-more-outline",
53
- "el-icon-star-on",
54
- "el-icon-star-off",
55
- "el-icon-s-goods",
56
- "el-icon-goods",
57
- "el-icon-warning",
58
- "el-icon-warning-outline",
59
- "el-icon-question",
60
- "el-icon-info",
61
- "el-icon-remove",
62
- "el-icon-circle-plus",
63
- "el-icon-success",
64
- "el-icon-error",
65
- "el-icon-zoom-in",
66
- "el-icon-zoom-out",
67
- "el-icon-remove-outline",
68
- "el-icon-circle-plus-outline",
69
- "el-icon-circle-check",
70
- "el-icon-circle-close",
71
- "el-icon-s-help",
72
- "el-icon-help",
73
- "el-icon-minus",
74
- "el-icon-plus",
75
- "el-icon-check",
76
- "el-icon-close",
77
- "el-icon-picture",
78
- "el-icon-picture-outline",
79
- "el-icon-picture-outline-round",
80
- "el-icon-upload",
81
- "el-icon-upload2",
82
- "el-icon-download",
83
- "el-icon-camera-solid",
84
- "el-icon-camera",
85
- "el-icon-video-camera-solid",
86
- "el-icon-video-camera",
87
- "el-icon-message-solid",
88
- "el-icon-bell",
89
- "el-icon-s-cooperation",
90
- "el-icon-s-order",
91
- "el-icon-s-platform",
92
- "el-icon-s-fold",
93
- "el-icon-s-unfold",
94
- "el-icon-s-operation",
95
- "el-icon-s-promotion",
96
- "el-icon-s-home",
97
- "el-icon-s-release",
98
- "el-icon-s-ticket",
99
- "el-icon-s-management",
100
- "el-icon-s-open",
101
- "el-icon-s-shop",
102
- "el-icon-s-marketing",
103
- "el-icon-s-flag",
104
- "el-icon-s-comment",
105
- "el-icon-s-finance",
106
- "el-icon-s-claim",
107
- "el-icon-s-custom",
108
- "el-icon-s-opportunity",
109
- "el-icon-s-data",
110
- "el-icon-s-check",
111
- "el-icon-s-grid",
112
- "el-icon-menu",
113
- "el-icon-share",
114
- "el-icon-d-caret",
115
- "el-icon-caret-left",
116
- "el-icon-caret-right",
117
- "el-icon-caret-bottom",
118
- "el-icon-caret-top",
119
- "el-icon-bottom-left",
120
- "el-icon-bottom-right",
121
- "el-icon-back",
122
- "el-icon-right",
123
- "el-icon-bottom",
124
- "el-icon-top",
125
- "el-icon-top-left",
126
- "el-icon-top-right",
127
- "el-icon-arrow-left",
128
- "el-icon-arrow-right",
129
- "el-icon-arrow-down",
130
- "el-icon-arrow-up",
131
- "el-icon-d-arrow-left",
132
- "el-icon-d-arrow-right",
133
- "el-icon-video-pause",
134
- "el-icon-video-play",
135
- "el-icon-refresh",
136
- "el-icon-refresh-right",
137
- "el-icon-refresh-left",
138
- "el-icon-finished",
139
- "el-icon-sort",
140
- "el-icon-sort-up",
141
- "el-icon-sort-down",
142
- "el-icon-rank",
143
- "el-icon-loading",
144
- "el-icon-view",
145
- "el-icon-c-scale-to-original",
146
- "el-icon-date",
147
- "el-icon-edit",
148
- "el-icon-edit-outline",
149
- "el-icon-folder",
150
- "el-icon-folder-opened",
151
- "el-icon-folder-add",
152
- "el-icon-folder-remove",
153
- "el-icon-folder-delete",
154
- "el-icon-folder-checked",
155
- "el-icon-tickets",
156
- "el-icon-document-remove",
157
- "el-icon-document-delete",
158
- "el-icon-document-copy",
159
- "el-icon-document-checked",
160
- "el-icon-document",
161
- "el-icon-document-add",
162
- "el-icon-printer",
163
- "el-icon-paperclip",
164
- "el-icon-takeaway-box",
165
- "el-icon-search",
166
- "el-icon-monitor",
167
- "el-icon-attract",
168
- "el-icon-mobile",
169
- "el-icon-scissors",
170
- "el-icon-umbrella",
171
- "el-icon-headset",
172
- "el-icon-brush",
173
- "el-icon-mouse",
174
- "el-icon-coordinate",
175
- "el-icon-magic-stick",
176
- "el-icon-reading",
177
- "el-icon-data-line",
178
- "el-icon-data-board",
179
- "el-icon-pie-chart",
180
- "el-icon-data-analysis",
181
- "el-icon-collection-tag",
182
- "el-icon-film",
183
- "el-icon-suitcase",
184
- "el-icon-suitcase-1",
185
- "el-icon-receiving",
186
- "el-icon-collection",
187
- "el-icon-files",
188
- "el-icon-notebook-1",
189
- "el-icon-notebook-2",
190
- "el-icon-toilet-paper",
191
- "el-icon-office-building",
192
- "el-icon-school",
193
- "el-icon-table-lamp",
194
- "el-icon-house",
195
- "el-icon-no-smoking",
196
- "el-icon-smoking",
197
- "el-icon-shopping-cart-full",
198
- "el-icon-shopping-cart-1",
199
- "el-icon-shopping-cart-2",
200
- "el-icon-shopping-bag-1",
201
- "el-icon-shopping-bag-2",
202
- "el-icon-sold-out",
203
- "el-icon-sell",
204
- "el-icon-present",
205
- "el-icon-box",
206
- "el-icon-bank-card",
207
- "el-icon-money",
208
- "el-icon-coin",
209
- "el-icon-wallet",
210
- "el-icon-discount",
211
- "el-icon-price-tag",
212
- "el-icon-news",
213
- "el-icon-guide",
214
- "el-icon-male",
215
- "el-icon-female",
216
- "el-icon-thumb",
217
- "el-icon-cpu",
218
- "el-icon-link",
219
- "el-icon-connection",
220
- "el-icon-open",
221
- "el-icon-turn-off",
222
- "el-icon-set-up",
223
- "el-icon-chat-round",
224
- "el-icon-chat-line-round",
225
- "el-icon-chat-square",
226
- "el-icon-chat-dot-round",
227
- "el-icon-chat-dot-square",
228
- "el-icon-chat-line-square",
229
- "el-icon-message",
230
- "el-icon-postcard",
231
- "el-icon-position",
232
- "el-icon-turn-off-microphone",
233
- "el-icon-microphone",
234
- "el-icon-close-notification",
235
- "el-icon-bangzhu",
236
- "el-icon-time",
237
- "el-icon-odometer",
238
- "el-icon-crop",
239
- "el-icon-aim",
240
- "el-icon-switch-button",
241
- "el-icon-full-screen",
242
- "el-icon-copy-document",
243
- "el-icon-mic",
244
- "el-icon-stopwatch",
245
- "el-icon-medal-1",
246
- "el-icon-medal",
247
- "el-icon-trophy",
248
- "el-icon-trophy-1",
249
- "el-icon-first-aid-kit",
250
- "el-icon-discover",
251
- "el-icon-place",
252
- "el-icon-location",
253
- "el-icon-location-outline",
254
- "el-icon-location-information",
255
- "el-icon-add-location",
256
- "el-icon-delete-location",
257
- "el-icon-map-location",
258
- "el-icon-alarm-clock",
259
- "el-icon-timer",
260
- "el-icon-watch-1",
261
- "el-icon-watch",
262
- "el-icon-lock",
263
- "el-icon-unlock",
264
- "el-icon-key",
265
- "el-icon-service",
266
- "el-icon-mobile-phone",
267
- "el-icon-bicycle",
268
- "el-icon-truck",
269
- "el-icon-ship",
270
- "el-icon-basketball",
271
- "el-icon-football",
272
- "el-icon-soccer",
273
- "el-icon-baseball",
274
- "el-icon-wind-power",
275
- "el-icon-light-rain",
276
- "el-icon-lightning",
277
- "el-icon-heavy-rain",
278
- "el-icon-sunrise",
279
- "el-icon-sunrise-1",
280
- "el-icon-sunset",
281
- "el-icon-sunny",
282
- "el-icon-cloudy",
283
- "el-icon-partly-cloudy",
284
- "el-icon-cloudy-and-sunny",
285
- "el-icon-moon",
286
- "el-icon-moon-night",
287
- "el-icon-dish",
288
- "el-icon-dish-1",
289
- "el-icon-food",
290
- "el-icon-chicken",
291
- "el-icon-fork-spoon",
292
- "el-icon-knife-fork",
293
- "el-icon-burger",
294
- "el-icon-tableware",
295
- "el-icon-sugar",
296
- "el-icon-dessert",
297
- "el-icon-ice-cream",
298
- "el-icon-hot-water",
299
- "el-icon-water-cup",
300
- "el-icon-coffee-cup",
301
- "el-icon-cold-drink",
302
- "el-icon-goblet",
303
- "el-icon-goblet-full",
304
- "el-icon-goblet-square",
305
- "el-icon-goblet-square-full",
306
- "el-icon-refrigerator",
307
- "el-icon-grape",
308
- "el-icon-watermelon",
309
- "el-icon-cherry",
310
- "el-icon-apple",
311
- "el-icon-pear",
312
- "el-icon-orange",
313
- "el-icon-coffee",
314
- "el-icon-ice-tea",
315
- "el-icon-ice-drink",
316
- "el-icon-milk-tea",
317
- "el-icon-potato-strips",
318
- "el-icon-lollipop",
319
- "el-icon-ice-cream-square",
320
- "el-icon-ice-cream-round"
321
- ]
322
- };
323
- },
324
- created() {},
325
- methods: {
326
- handleIconClick(icon) {
327
- this.$emit("input", icon);
328
- },
329
- handleInputClear() {
330
- this.$emit("input", "");
331
- }
332
- }
333
- };
334
- </script>
335
-
336
- <style lang="less" scoped>
337
- .input-prefix {
338
- height: 100%;
339
- width: 32px;
340
- display: flex;
341
- align-items: center;
342
- .icon {
343
- font-size: 20px;
344
- }
345
- }
346
- .th-icons {
347
- height: 300px;
348
- overflow-y: scroll;
349
- .icon {
350
- padding: 8px;
351
- font-size: 20px;
352
- border-radius: 2px;
353
- }
354
- .icon:hover {
355
- cursor: pointer;
356
- background-color: #f2f2f2;
357
- // transition: .3s;
358
- }
359
- }
360
- </style>
@@ -1,126 +0,0 @@
1
- <template>
2
- <div>
3
- <template v-for="(item, index) in actions">
4
- <el-button
5
- v-if="item.act_type === 'edit'"
6
- :key="index"
7
- :style="{ color: item.btn_disabled ? '' : item.btn_color }"
8
- :type="item.btn_type"
9
- :icon="item.btn_icon"
10
- :disabled="item.btn_disabled"
11
- @click="doEdit(item)"
12
- >{{ item.btn_name }}</el-button
13
- >
14
- <el-button
15
- v-else-if="item.act_type === 'look'"
16
- :key="index"
17
- :style="{ color: item.btn_disabled ? '' : item.btn_color }"
18
- :type="item.btn_type"
19
- :icon="item.btn_icon"
20
- :disabled="item.btn_disabled"
21
- @click="doLook(item)"
22
- >{{ item.btn_name }}</el-button
23
- >
24
- <el-popover
25
- class="action-popover"
26
- v-else-if="item.act_type === 'delete'"
27
- :key="index"
28
- v-model="pop"
29
- placement="top"
30
- title=""
31
- width="180"
32
- trigger="manual"
33
- >
34
- <p>{{ item.btn_delmsg || msg }}</p>
35
- <div style="text-align: right; margin: 0">
36
- <el-button type="text" :disabled="loadingDel" @click="doCancel"
37
- >取消</el-button
38
- >
39
- <el-button
40
- :loading="loadingDel"
41
- type="primary"
42
- @click="doDelete(item)"
43
- >确定</el-button
44
- >
45
- </div>
46
- <el-button
47
- :style="{ color: item.btn_disabled ? '' : item.btn_color }"
48
- slot="reference"
49
- :disabled="loadingDel || item.btn_disabled"
50
- :type="item.btn_type"
51
- :icon="item.btn_icon"
52
- @click="toDelete"
53
- >{{ item.btn_name }}</el-button
54
- >
55
- </el-popover>
56
- <el-button
57
- v-else
58
- :key="index"
59
- :style="{ color: item.btn_color }"
60
- :type="item.btn_type"
61
- :icon="item.btn_icon"
62
- :disabled="item.btn_disabled"
63
- @click="doEval(item)"
64
- >{{ item.btn_name }}</el-button
65
- >
66
- </template>
67
- </div>
68
- </template>
69
-
70
- <script>
71
- export default {
72
- props: {
73
- actions: {
74
- type: Array,
75
- default: () => {
76
- return [];
77
- },
78
- },
79
- permission: {
80
- type: Object,
81
- required: false,
82
- },
83
- msg: {
84
- type: String,
85
- default: "确定删除本条数据吗?",
86
- },
87
- },
88
- data() {
89
- return {
90
- pop: false,
91
- loadingDel: false,
92
- };
93
- },
94
- methods: {
95
- toDelete() {
96
- this.pop = true;
97
- },
98
- doCancel() {
99
- this.pop = false;
100
- },
101
- doEval(item) {
102
- this.$emit("on-eval", item);
103
- },
104
- doEdit(item) {
105
- this.$emit("on-edit", item);
106
- },
107
- doLook(item) {
108
- this.$emit("on-look", item);
109
- },
110
- doDelete(item) {
111
- this.loadingDel = true;
112
- const callback = (bool) => {
113
- this.loadingDel = false;
114
- this.pop = !bool;
115
- };
116
- this.$emit("on-delete", item, callback);
117
- },
118
- },
119
- };
120
- </script>
121
-
122
- <style lang="less">
123
- .el-button + .action-popover {
124
- margin-left: 10px !important;
125
- }
126
- </style>