htui-yllkbz 1.5.7 → 1.5.11
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/lib/fonts/fontello.068ca2b3.ttf +0 -0
- package/lib/fonts/fontello.8d4a4e6f.woff2 +0 -0
- package/lib/fonts/fontello.a782baa8.woff +0 -0
- package/lib/fonts/fontello.e73a0647.eot +0 -0
- package/lib/htui.common.js +4257 -95
- package/lib/htui.common.js.gz +0 -0
- package/lib/htui.css +1 -1
- package/lib/htui.umd.js +4257 -95
- package/lib/htui.umd.js.gz +0 -0
- package/lib/htui.umd.min.js +114 -114
- package/lib/htui.umd.min.js.gz +0 -0
- package/lib/img/fontello.9354499c.svg +72 -0
- package/package.json +4 -2
- package/src/App.vue +37 -5
- package/src/packages/HtMd/index.vue +8 -7
- package/src/packages/HtRealTime/index.ts +15 -0
- package/src/packages/HtRealTime/index.vue +272 -0
- package/src/packages/HtShowBaseData/index.vue +40 -34
- package/src/packages/HtTimeLine/index.ts +14 -0
- package/src/packages/HtTimeLine/index.vue +123 -0
- package/src/packages/HtTimeLine.zip +0 -0
- package/src/packages/HtTimeLineItem/index.ts +14 -0
- package/src/packages/HtTimeLineItem/index.vue +112 -0
- package/src/packages/index.ts +7 -4
- package/src/plugins/oidc-client.ts +38 -30
- package/src/views/About.vue +15 -17
- package/src/views/Index.vue +58 -53
|
@@ -8,25 +8,32 @@
|
|
|
8
8
|
</template>
|
|
9
9
|
<!-- 部门 -->
|
|
10
10
|
<template v-if="departmentId">
|
|
11
|
-
<span class="item"
|
|
11
|
+
<span class="item"
|
|
12
|
+
v-for="item in departmentData"
|
|
13
|
+
:key="item">
|
|
12
14
|
{{ getorgById(item).displayName || empty }}
|
|
13
15
|
</span>
|
|
14
16
|
</template>
|
|
15
17
|
<!-- 用户 -->
|
|
16
18
|
<template v-if="userId">
|
|
17
|
-
<span class="item"
|
|
19
|
+
<span class="item"
|
|
20
|
+
v-for="item in userData"
|
|
21
|
+
:key="item.id">
|
|
18
22
|
{{ item.value || empty }}
|
|
19
23
|
</span>
|
|
20
24
|
</template>
|
|
21
25
|
<!-- 角色 -->
|
|
22
26
|
<template v-if="roleId">
|
|
23
|
-
<span class="item"
|
|
27
|
+
<span class="item"
|
|
28
|
+
v-for="item in roleData"
|
|
29
|
+
:key="item.id">
|
|
24
30
|
{{ item.name || empty }}
|
|
25
31
|
</span>
|
|
26
32
|
</template>
|
|
27
33
|
<!-- 基础数据,以id查找 -->
|
|
28
34
|
<template v-if="baseDataId !== undefined && baseDataId !== null">
|
|
29
|
-
<span class="item"
|
|
35
|
+
<span class="item"
|
|
36
|
+
v-if="baseDataItem[baseDataId]">
|
|
30
37
|
<!-- {{ baseDataItem[baseDataId].name || empty }}
|
|
31
38
|
<span v-if="baseDataInfo&&!hideCode">
|
|
32
39
|
({{ baseDataItem[baseDataId].value || empty }})
|
|
@@ -37,16 +44,15 @@
|
|
|
37
44
|
</template>
|
|
38
45
|
<!-- 基础数据,以value查找 -->
|
|
39
46
|
<template v-if="baseDataValue">
|
|
40
|
-
<span
|
|
41
|
-
|
|
42
|
-
v-if="dataTypeId && baseDataItem[`${dataTypeId}_${baseDataValue}`]"
|
|
43
|
-
>
|
|
47
|
+
<span class="item"
|
|
48
|
+
v-if="dataTypeId && baseDataItem[`${dataTypeId}_${baseDataValue}`]">
|
|
44
49
|
{{ baseDataItem[`${dataTypeId}_${baseDataValue}`].name || empty }}
|
|
45
50
|
<!-- <span v-if="baseDataInfo && !hideCode">
|
|
46
51
|
({{ baseDataItem[baseDataValue].value || empty }})
|
|
47
52
|
</span> -->
|
|
48
53
|
</span>
|
|
49
|
-
<span class="item"
|
|
54
|
+
<span class="item"
|
|
55
|
+
v-else-if="baseDataItem[baseDataValue]">
|
|
50
56
|
{{ baseDataItem[baseDataValue].name || empty }}
|
|
51
57
|
<span v-if="baseDataInfo && !hideCode">
|
|
52
58
|
({{ baseDataItem[baseDataValue].value || empty }})
|
|
@@ -56,7 +62,8 @@
|
|
|
56
62
|
</template>
|
|
57
63
|
<!-- 基础数据,以namg查找 -->
|
|
58
64
|
<template v-if="baseDataName">
|
|
59
|
-
<span class="item"
|
|
65
|
+
<span class="item"
|
|
66
|
+
v-if="baseDataItem[baseDataName]">
|
|
60
67
|
{{ baseDataItem[baseDataName].name || empty }}
|
|
61
68
|
<span v-if="baseDataInfo && !hideCode">
|
|
62
69
|
({{ baseDataItem[baseDataName].value || empty }})
|
|
@@ -68,8 +75,8 @@
|
|
|
68
75
|
</template>
|
|
69
76
|
|
|
70
77
|
<script lang="ts">
|
|
71
|
-
import { Vue, Prop, Component, Watch } from
|
|
72
|
-
import { baseConfig } from
|
|
78
|
+
import { Vue, Prop, Component, Watch } from "vue-property-decorator";
|
|
79
|
+
import { baseConfig } from "vue-kst-auth";
|
|
73
80
|
interface Inuser {
|
|
74
81
|
concurrencyStamp: string;
|
|
75
82
|
email: string;
|
|
@@ -125,11 +132,11 @@ interface State {
|
|
|
125
132
|
}
|
|
126
133
|
|
|
127
134
|
@Component({
|
|
128
|
-
name:
|
|
135
|
+
name: "HtShowBaseData",
|
|
129
136
|
})
|
|
130
137
|
export default class CommonDatas extends Vue {
|
|
131
138
|
/** 查找不到为空时显示 */
|
|
132
|
-
@Prop({ default:
|
|
139
|
+
@Prop({ default: "" }) empty?: string;
|
|
133
140
|
/** 显示用户信息 */
|
|
134
141
|
@Prop() userId?: string;
|
|
135
142
|
/** 是否展示所有关联节点 */
|
|
@@ -157,7 +164,7 @@ export default class CommonDatas extends Vue {
|
|
|
157
164
|
/** 人员 */
|
|
158
165
|
/** 数据 */
|
|
159
166
|
state: State = {
|
|
160
|
-
text:
|
|
167
|
+
text: "",
|
|
161
168
|
resData: {
|
|
162
169
|
baseData: {
|
|
163
170
|
items: [],
|
|
@@ -172,7 +179,7 @@ export default class CommonDatas extends Vue {
|
|
|
172
179
|
users: {
|
|
173
180
|
items: [],
|
|
174
181
|
},
|
|
175
|
-
SessionState:
|
|
182
|
+
SessionState: "",
|
|
176
183
|
userInOrganiza: [],
|
|
177
184
|
organizationUsers: {},
|
|
178
185
|
roleList: [],
|
|
@@ -184,7 +191,7 @@ export default class CommonDatas extends Vue {
|
|
|
184
191
|
if (!baseConfig.getLoginState()) {
|
|
185
192
|
return;
|
|
186
193
|
}
|
|
187
|
-
const data = window.localStorage.getItem(
|
|
194
|
+
const data = window.localStorage.getItem("commonDatas");
|
|
188
195
|
if (data) {
|
|
189
196
|
this.state.resData = Object.assign(this.state.resData, JSON.parse(data));
|
|
190
197
|
}
|
|
@@ -202,23 +209,22 @@ export default class CommonDatas extends Vue {
|
|
|
202
209
|
/** 递归处理基础数据 */
|
|
203
210
|
getBaseDataItem(list: any[]) {
|
|
204
211
|
// const list = this.state.resData.baseData.items || []
|
|
205
|
-
if (this.dataTypeId ===
|
|
212
|
+
if (this.dataTypeId === "SeverityLevel") {
|
|
206
213
|
this.SeverityLevel.forEach((item) => {
|
|
207
214
|
this.state.baseDataItem[`${this.dataTypeId}_${item.value}`] = item;
|
|
208
215
|
});
|
|
209
216
|
}
|
|
210
217
|
|
|
211
218
|
list.forEach((item) => {
|
|
212
|
-
this.state.baseDataItem[item.id ||
|
|
213
|
-
|
|
219
|
+
this.state.baseDataItem[item.id || ""] = item;
|
|
214
220
|
if (this.dataTypeId && this.dataTypeId === item.category) {
|
|
215
|
-
this.state.baseDataItem[`${item.category}_${item.
|
|
221
|
+
this.state.baseDataItem[`${item.category}_${item.value}`] = item;
|
|
216
222
|
}
|
|
217
223
|
if (!this.dataTypeId) {
|
|
218
|
-
this.state.baseDataItem[item.value ||
|
|
224
|
+
this.state.baseDataItem[item.value || ""] = item;
|
|
219
225
|
}
|
|
220
226
|
|
|
221
|
-
this.state.baseDataItem[item.name ||
|
|
227
|
+
this.state.baseDataItem[item.name || ""] = item;
|
|
222
228
|
if (item.children) {
|
|
223
229
|
this.getBaseDataItem(item.children);
|
|
224
230
|
}
|
|
@@ -228,38 +234,38 @@ export default class CommonDatas extends Vue {
|
|
|
228
234
|
setAllLevel(id: any) {
|
|
229
235
|
const { baseDataItem } = this.state;
|
|
230
236
|
const hideCode = this.hideCode;
|
|
231
|
-
let text =
|
|
237
|
+
let text = "";
|
|
232
238
|
|
|
233
239
|
if (baseDataItem[id]) {
|
|
234
240
|
if (hideCode) {
|
|
235
|
-
text = `${baseDataItem[id].name ||
|
|
241
|
+
text = `${baseDataItem[id].name || ""}`;
|
|
236
242
|
} else {
|
|
237
|
-
text = `${baseDataItem[id].name ||
|
|
243
|
+
text = `${baseDataItem[id].name || ""}(${baseDataItem[id].value})`;
|
|
238
244
|
}
|
|
239
245
|
if (baseDataItem[id].parentId && this.showAllLevel) {
|
|
240
|
-
const tempText = this.setAllLevel(baseDataItem[id][
|
|
246
|
+
const tempText = this.setAllLevel(baseDataItem[id]["parentId"]);
|
|
241
247
|
text = `${tempText}/${text}`;
|
|
242
248
|
}
|
|
243
249
|
}
|
|
244
250
|
|
|
245
251
|
return text;
|
|
246
252
|
}
|
|
247
|
-
@Watch(
|
|
253
|
+
@Watch("baseDataItem")
|
|
248
254
|
setText() {
|
|
249
255
|
if (this.baseDataId !== undefined && this.baseDataId !== null) {
|
|
250
256
|
const tempText = this.setAllLevel(this.baseDataId);
|
|
251
257
|
this.state.text = tempText;
|
|
252
258
|
} else {
|
|
253
|
-
this.state.text =
|
|
259
|
+
this.state.text = "";
|
|
254
260
|
}
|
|
255
261
|
}
|
|
256
|
-
@Watch(
|
|
262
|
+
@Watch("baseDataId")
|
|
257
263
|
getText(val: string) {
|
|
258
264
|
if (val !== undefined && val !== null && this.baseDataItem) {
|
|
259
265
|
const tempText = this.setAllLevel(val);
|
|
260
266
|
this.state.text = tempText;
|
|
261
267
|
} else {
|
|
262
|
-
this.state.text =
|
|
268
|
+
this.state.text = "";
|
|
263
269
|
}
|
|
264
270
|
}
|
|
265
271
|
|
|
@@ -303,7 +309,7 @@ export default class CommonDatas extends Vue {
|
|
|
303
309
|
const ids: string[] = JSON.parse(this.roleId);
|
|
304
310
|
|
|
305
311
|
const data = this.state.resData.roleList.filter((val) =>
|
|
306
|
-
ids.includes(val.id ||
|
|
312
|
+
ids.includes(val.id || "")
|
|
307
313
|
);
|
|
308
314
|
return data;
|
|
309
315
|
} else {
|
|
@@ -321,10 +327,10 @@ export default class CommonDatas extends Vue {
|
|
|
321
327
|
}
|
|
322
328
|
/** 时间格式 */
|
|
323
329
|
get timeFormat() {
|
|
324
|
-
if (this.timeStr && this.timeStr.startsWith(
|
|
330
|
+
if (this.timeStr && this.timeStr.startsWith("0")) {
|
|
325
331
|
return this.empty;
|
|
326
332
|
} else {
|
|
327
|
-
return this.timeStr?.replace(/T/,
|
|
333
|
+
return this.timeStr?.replace(/T/, " ").slice(0, 19) || this.empty;
|
|
328
334
|
}
|
|
329
335
|
}
|
|
330
336
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Descripttion:选择资产单位
|
|
3
|
+
* @version:
|
|
4
|
+
* @Author: hutao
|
|
5
|
+
* @Date: 2021-11-15 15:00:57
|
|
6
|
+
* @LastEditors: hutao
|
|
7
|
+
* @LastEditTime: 2023-06-01 17:24:53
|
|
8
|
+
*/
|
|
9
|
+
import HtTimeLine from "./index.vue";
|
|
10
|
+
(HtTimeLine as any).install = function (Vue: any) {
|
|
11
|
+
|
|
12
|
+
Vue.component("HtTimeLine", HtTimeLine);
|
|
13
|
+
};
|
|
14
|
+
export default HtTimeLine;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* @Descripttion:部门选择
|
|
3
|
+
* @version:
|
|
4
|
+
* @Author: hutao
|
|
5
|
+
* @Date: 2021-12-30 14:29:14
|
|
6
|
+
* @LastEditors: hutao
|
|
7
|
+
* @LastEditTime: 2023-06-02 11:01:40
|
|
8
|
+
-->
|
|
9
|
+
<template>
|
|
10
|
+
<div class="ht-time-line">
|
|
11
|
+
<ul class="ht-time-line-ul">
|
|
12
|
+
<slot></slot>
|
|
13
|
+
</ul>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
<script lang="ts">
|
|
17
|
+
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
|
|
18
|
+
import { _axios } from 'vue-kst-auth';
|
|
19
|
+
interface State {
|
|
20
|
+
/** 数据状态 */
|
|
21
|
+
loading: boolean;
|
|
22
|
+
}
|
|
23
|
+
@Component({
|
|
24
|
+
name: 'HtTimeLine',
|
|
25
|
+
})
|
|
26
|
+
export default class HtTimeLine extends Vue {
|
|
27
|
+
@Prop() value!: string;
|
|
28
|
+
|
|
29
|
+
/** 数据 */
|
|
30
|
+
state: State = {
|
|
31
|
+
loading: false,
|
|
32
|
+
};
|
|
33
|
+
/** 生命周期 */
|
|
34
|
+
created() {
|
|
35
|
+
//
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
</script>
|
|
39
|
+
<style lang="scss">
|
|
40
|
+
$color: #cacecb;
|
|
41
|
+
.ht-time-line-ul {
|
|
42
|
+
list-style: none;
|
|
43
|
+
.ht-time-line-li {
|
|
44
|
+
list-style: none;
|
|
45
|
+
display: flex;
|
|
46
|
+
.ht-time-line-li-left {
|
|
47
|
+
padding: 0 20px;
|
|
48
|
+
margin-top: -4px;
|
|
49
|
+
width: 120px;
|
|
50
|
+
text-align: right;
|
|
51
|
+
}
|
|
52
|
+
.ht-time-line-li-right {
|
|
53
|
+
border-left: 2px solid $color;
|
|
54
|
+
padding: 0 8px;
|
|
55
|
+
position: relative;
|
|
56
|
+
flex: 1;
|
|
57
|
+
.ht-timeline-item-icon {
|
|
58
|
+
position: absolute;
|
|
59
|
+
background: #fff;
|
|
60
|
+
display: flex;
|
|
61
|
+
}
|
|
62
|
+
.ht-timeline-item-icon_normal {
|
|
63
|
+
left: -5px;
|
|
64
|
+
background-color: $color;
|
|
65
|
+
border-radius: 50%;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
align-items: center;
|
|
68
|
+
.normal-icon {
|
|
69
|
+
width: 8px;
|
|
70
|
+
height: 8px;
|
|
71
|
+
border-radius: 50%;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
.ht-timeline-item-icon_large {
|
|
75
|
+
left: -8px;
|
|
76
|
+
.large-icon {
|
|
77
|
+
width: 10px;
|
|
78
|
+
height: 10px;
|
|
79
|
+
background: #ffffff;
|
|
80
|
+
border-radius: 50%;
|
|
81
|
+
opacity: 1;
|
|
82
|
+
border: 2px solid $color;
|
|
83
|
+
text-align: center;
|
|
84
|
+
div {
|
|
85
|
+
width: 6px;
|
|
86
|
+
height: 6px;
|
|
87
|
+
border-radius: 50%;
|
|
88
|
+
background: $color;
|
|
89
|
+
margin: 2px;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.ht-icon {
|
|
94
|
+
font-size: 20px;
|
|
95
|
+
|
|
96
|
+
color: $color;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.time-line-right-title {
|
|
101
|
+
height: 20px;
|
|
102
|
+
margin-top: -4px;
|
|
103
|
+
.time-line-time {
|
|
104
|
+
color: #969c98;
|
|
105
|
+
float: left;
|
|
106
|
+
padding-left: 8px;
|
|
107
|
+
}
|
|
108
|
+
.time-line-content {
|
|
109
|
+
float: left;
|
|
110
|
+
margin-left: 16px;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
.time-line-right-content {
|
|
114
|
+
background: #f7f9f8;
|
|
115
|
+
border-radius: 4px 4px 4px 4px;
|
|
116
|
+
opacity: 1;
|
|
117
|
+
text-align: left;
|
|
118
|
+
margin: 8px 0 20px 8px;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
</style>
|
|
Binary file
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Descripttion:选择资产单位
|
|
3
|
+
* @version:
|
|
4
|
+
* @Author: hutao
|
|
5
|
+
* @Date: 2021-11-15 15:00:57
|
|
6
|
+
* @LastEditors: hutao
|
|
7
|
+
* @LastEditTime: 2023-06-02 09:26:55
|
|
8
|
+
*/
|
|
9
|
+
import HtTimeLineItem from "./index.vue";
|
|
10
|
+
(HtTimeLineItem as any).install = function (Vue: any) {
|
|
11
|
+
|
|
12
|
+
Vue.component("HtTimeLineItem", HtTimeLineItem);
|
|
13
|
+
};
|
|
14
|
+
export default HtTimeLineItem;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* @Descripttion:部门选择
|
|
3
|
+
* @version:
|
|
4
|
+
* @Author: hutao
|
|
5
|
+
* @Date: 2021-12-30 14:29:14
|
|
6
|
+
* @LastEditors: hutao
|
|
7
|
+
* @LastEditTime: 2023-06-02 10:54:56
|
|
8
|
+
-->
|
|
9
|
+
<template>
|
|
10
|
+
<div>
|
|
11
|
+
<li class="ht-time-line-li">
|
|
12
|
+
<div class="ht-time-line-li-left" :style="{ width: leftWidth }">
|
|
13
|
+
<slot name="title">
|
|
14
|
+
<span
|
|
15
|
+
:style="{
|
|
16
|
+
'font-size':
|
|
17
|
+
type === 'large'
|
|
18
|
+
? 'var(--font-size-title)'
|
|
19
|
+
: 'var(--font-size-content)',
|
|
20
|
+
'font-weight': type === 'large' ? 'bold' : undefined,
|
|
21
|
+
}"
|
|
22
|
+
>{{ title }}</span
|
|
23
|
+
></slot
|
|
24
|
+
>
|
|
25
|
+
</div>
|
|
26
|
+
<div
|
|
27
|
+
class="ht-time-line-li-right"
|
|
28
|
+
:style="{
|
|
29
|
+
'border-color': borderNone ? 'transparent' : color,
|
|
30
|
+
}"
|
|
31
|
+
>
|
|
32
|
+
<div
|
|
33
|
+
class="ht-timeline-item-icon"
|
|
34
|
+
:style="iconStyle"
|
|
35
|
+
:class="`ht-timeline-item-icon_${type || 'normal'} ${iconClass}`"
|
|
36
|
+
>
|
|
37
|
+
<slot name="icon">
|
|
38
|
+
<div
|
|
39
|
+
v-if="type === 'large'"
|
|
40
|
+
class="large-icon"
|
|
41
|
+
:style="{ 'border-color': color }"
|
|
42
|
+
>
|
|
43
|
+
<div :style="{ background: color }"></div>
|
|
44
|
+
</div>
|
|
45
|
+
<div
|
|
46
|
+
class="normal-icon"
|
|
47
|
+
:style="{ background: color }"
|
|
48
|
+
v-else
|
|
49
|
+
></div>
|
|
50
|
+
</slot>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="ht-timeline-item__tail"></div>
|
|
53
|
+
<div class="time-line-right-title">
|
|
54
|
+
<div class="time-line-time">
|
|
55
|
+
<slot name="time">{{ time }}</slot>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="time-line-content">
|
|
58
|
+
<slot name="titleContent">{{ titleContent }}</slot>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="time-line-right-content">
|
|
62
|
+
<slot>{{ content }}</slot>
|
|
63
|
+
</div>
|
|
64
|
+
<div>
|
|
65
|
+
<slot name="other">{{ other }}</slot>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</li>
|
|
69
|
+
</div>
|
|
70
|
+
</template>
|
|
71
|
+
<script lang="ts">
|
|
72
|
+
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
|
|
73
|
+
import { _axios } from 'vue-kst-auth';
|
|
74
|
+
interface State {
|
|
75
|
+
/** 数据状态 */
|
|
76
|
+
loading: boolean;
|
|
77
|
+
}
|
|
78
|
+
@Component({
|
|
79
|
+
name: 'HtTimeLineItem',
|
|
80
|
+
})
|
|
81
|
+
export default class HtTimeLineItem extends Vue {
|
|
82
|
+
/** 文字类型大小 default large*/
|
|
83
|
+
@Prop({ default: 'normal' }) type?: string;
|
|
84
|
+
/** 左侧标题的宽度 */
|
|
85
|
+
@Prop({ default: '100px' }) leftWidth?: string;
|
|
86
|
+
/** 自定义图标时候的class */
|
|
87
|
+
@Prop({ default: '' }) iconClass?: string;
|
|
88
|
+
/** 自定义图标时候的样式 */
|
|
89
|
+
@Prop() iconStyle?: string;
|
|
90
|
+
/** 时间显示 */
|
|
91
|
+
@Prop() time?: string;
|
|
92
|
+
/** 线条和icon的样色状态 */
|
|
93
|
+
@Prop({ default: '#cacecb' }) color?: string;
|
|
94
|
+
/** 左侧标题 */
|
|
95
|
+
@Prop() title?: string;
|
|
96
|
+
/** 右侧标题内容 */
|
|
97
|
+
@Prop() titleContent?: string;
|
|
98
|
+
/** 背景色里面的内容 */
|
|
99
|
+
@Prop() content?: string;
|
|
100
|
+
/** 额外显示的内容 */
|
|
101
|
+
@Prop() other?: string;
|
|
102
|
+
@Prop() borderNone?: string;
|
|
103
|
+
/** 数据 */
|
|
104
|
+
state: State = {
|
|
105
|
+
loading: false,
|
|
106
|
+
};
|
|
107
|
+
/** 生命周期 */
|
|
108
|
+
created() {
|
|
109
|
+
//
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
</script>
|
package/src/packages/index.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @Author: hutao
|
|
5
5
|
* @Date: 2021-10-21 10:08:41
|
|
6
6
|
* @LastEditors: hutao
|
|
7
|
-
* @LastEditTime: 2023-
|
|
7
|
+
* @LastEditTime: 2023-11-28 15:08:11
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
// 导入组件
|
|
@@ -39,6 +39,9 @@ import HtCol from './HtCol'
|
|
|
39
39
|
import HtModel from "./HtModel"
|
|
40
40
|
import HtBread from './HtBread'
|
|
41
41
|
import HtPopover from './HtPopover'
|
|
42
|
+
import HtTimeLine from './HtTimeLine'
|
|
43
|
+
import HtTimeLineItem from './HtTimeLineItem'
|
|
44
|
+
import HtRealTime from './HtRealTime'
|
|
42
45
|
|
|
43
46
|
|
|
44
47
|
|
|
@@ -46,7 +49,7 @@ import HtPopover from './HtPopover'
|
|
|
46
49
|
|
|
47
50
|
|
|
48
51
|
// 存储组件列表
|
|
49
|
-
const components = [HtRow, HtCol, HtBread, HtPopover, HtModel, HtMenu, HtSelectCategory, HtSelectUnit, HtSelectPosition, HtMore, HtSelectTimeSlot, HtSelectCron, HtBaseData, HtDrawer, HtShowBaseType, HtSelectTable, HtPagination, HtTable, HtExport, HtUpload, HtMd, HtCountDown, HtUploadFiles, HtSelectBaseData, HtSelectOrg, HtSelectUser, HtShowBaseData, HtOrgInfo]
|
|
52
|
+
const components = [HtRealTime, HtRow, HtTimeLineItem, HtCol, HtTimeLine, HtBread, HtPopover, HtModel, HtMenu, HtSelectCategory, HtSelectUnit, HtSelectPosition, HtMore, HtSelectTimeSlot, HtSelectCron, HtBaseData, HtDrawer, HtShowBaseType, HtSelectTable, HtPagination, HtTable, HtExport, HtUpload, HtMd, HtCountDown, HtUploadFiles, HtSelectBaseData, HtSelectOrg, HtSelectUser, HtShowBaseData, HtOrgInfo]
|
|
50
53
|
// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册
|
|
51
54
|
const install = function (Vue: any) {
|
|
52
55
|
// 判断是否安装
|
|
@@ -62,9 +65,9 @@ export default {
|
|
|
62
65
|
// 导出的对象必须具有 install,才能被 Vue.use() 方法安装
|
|
63
66
|
install,
|
|
64
67
|
// 以下是具体的组件列表
|
|
65
|
-
HtRow, HtCol, HtModel, HtBread, HtPopover,
|
|
68
|
+
HtRow, HtCol, HtRealTime, HtModel, HtBread, HtPopover,
|
|
66
69
|
HtSelectTable, HtSelectPosition, HtPagination, HtShowBaseType, HtTable, HtExport, HtUpload, HtMd, HtCountDown, HtUploadFiles, HtMore,
|
|
67
70
|
HtSelectUnit, HtSelectCategory, HtMenu,
|
|
68
|
-
HtSelectBaseData, HtSelectOrg, HtSelectUser, HtShowBaseData, HtOrgInfo, HtBaseData, HtDrawer, HtSelectCron, HtSelectTimeSlot
|
|
71
|
+
HtSelectBaseData, HtSelectOrg, HtTimeLine, HtTimeLineItem, HtSelectUser, HtShowBaseData, HtOrgInfo, HtBaseData, HtDrawer, HtSelectCron, HtSelectTimeSlot
|
|
69
72
|
}
|
|
70
73
|
|
|
@@ -1,37 +1,45 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/camelcase */
|
|
2
1
|
/*
|
|
3
|
-
* @Descripttion:
|
|
4
|
-
* @version:
|
|
2
|
+
* @Descripttion:
|
|
3
|
+
* @version:
|
|
5
4
|
* @Author: hutao
|
|
6
5
|
* @Date: 2022-05-06 17:56:08
|
|
7
6
|
* @LastEditors: hutao
|
|
8
|
-
* @LastEditTime: 2023-
|
|
7
|
+
* @LastEditTime: 2023-06-07 17:10:52
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
9
|
+
// /* eslint-disable @typescript-eslint/camelcase */
|
|
10
|
+
// /*
|
|
11
|
+
// * @Descripttion:
|
|
12
|
+
// * @version:
|
|
13
|
+
// * @Author: hutao
|
|
14
|
+
// * @Date: 2022-05-06 17:56:08
|
|
15
|
+
// * @LastEditors: hutao
|
|
16
|
+
// * @LastEditTime: 2023-04-09 16:02:30
|
|
17
|
+
// */
|
|
18
|
+
// import Oidc from "oidc-client";
|
|
19
|
+
// function getCurrentUrl() {
|
|
20
|
+
// let href = window.location.pathname;
|
|
21
|
+
// if (href.charAt(href.length - 1) === '/') {
|
|
22
|
+
// href = href.substring(0, href.length - 1)
|
|
23
|
+
// }
|
|
24
|
+
// //console.log('href', href, window.location);
|
|
25
|
+
// ///console.log('window.location.host + href', window.location.origin + href);
|
|
26
|
+
// return window.location.origin + href
|
|
27
|
+
// }
|
|
28
|
+
// export const mgr = new Oidc.UserManager({
|
|
29
|
+
// // authority: "oauth2/api",//认证服务器
|
|
30
|
+
// authority: "http://192.168.3.237:44318",//认证服务器
|
|
31
|
+
// client_id: "AuthServer_App", //表示客户端的ID,必选项
|
|
32
|
+
// //redirect_uri: "http://192.168.3.113:8082/product_architecture", //表示重定向URI,认证服务器回调的客户端页面。可选项
|
|
33
|
+
// redirect_uri: getCurrentUrl(), //表示重定向URI,认证服务器回调的客户端页面。可选项
|
|
34
|
+
// // redirect_uri: "http://192.168.3.252:4200", //表示重定向URI,认证服务器回调的客户端页面。可选项
|
|
35
|
+
// response_type: "code", // response_type:表示授权类型,必选项
|
|
36
|
+
// userStore: new Oidc.WebStorageStateStore({ store: window.localStorage }),
|
|
37
|
+
// scope: "offline_access AuthServer", //scope:表示申请的权限范围,可选项
|
|
38
|
+
// post_logout_redirect_uri: getCurrentUrl(),
|
|
39
|
+
// automaticSilentRenew: false,
|
|
32
40
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
// extraQueryParams: {
|
|
42
|
+
// _tenant: 'default'
|
|
43
|
+
// }
|
|
36
44
|
|
|
37
|
-
});
|
|
45
|
+
// });
|