htui-yllkbz 1.3.107 → 1.3.109
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/htui.common.js +70 -68
- package/lib/htui.common.js.gz +0 -0
- package/lib/htui.css +1 -1
- package/lib/htui.umd.js +70 -68
- package/lib/htui.umd.js.gz +0 -0
- package/lib/htui.umd.min.js +15 -15
- package/lib/htui.umd.min.js.gz +0 -0
- package/package.json +1 -1
- package/src/App.vue +11 -1
- package/src/main.ts +2 -2
- package/src/packages/HtBaseData/index.vue +16 -3
- package/src/packages/HtSelectCategory/index.vue +28 -28
- package/src/views/Index.vue +46 -44
package/lib/htui.umd.min.js.gz
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @Author: hutao
|
|
5
5
|
* @Date: 2021-11-15 14:41:40
|
|
6
6
|
* @LastEditors: hutao
|
|
7
|
-
* @LastEditTime: 2023-
|
|
7
|
+
* @LastEditTime: 2023-03-07 17:53:20
|
|
8
8
|
-->
|
|
9
9
|
<template>
|
|
10
10
|
<div id="app">
|
|
@@ -49,6 +49,16 @@
|
|
|
49
49
|
v-model="state.value"
|
|
50
50
|
data-type-id="SeverityLevel"
|
|
51
51
|
></ht-select-base-data> -->
|
|
52
|
+
<ht-select-base-data
|
|
53
|
+
:onlyParent="true"
|
|
54
|
+
v-model="state.value"
|
|
55
|
+
:dataTypeId="'TextList'"
|
|
56
|
+
></ht-select-base-data>
|
|
57
|
+
<ht-select-base-data
|
|
58
|
+
:parentId="state.value"
|
|
59
|
+
:dataTypeId="'TextList'"
|
|
60
|
+
></ht-select-base-data>
|
|
61
|
+
|
|
52
62
|
<router-view></router-view>
|
|
53
63
|
</div>
|
|
54
64
|
</template>
|
package/src/main.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @Author: hutao
|
|
5
5
|
* @Date: 2021-11-15 14:41:40
|
|
6
6
|
* @LastEditors: hutao
|
|
7
|
-
* @LastEditTime:
|
|
7
|
+
* @LastEditTime: 2023-03-07 17:47:41
|
|
8
8
|
*/
|
|
9
9
|
import Vue from "vue";
|
|
10
10
|
import App from "./App.vue";
|
|
@@ -61,7 +61,7 @@ _axios.get(`${process.env.BASE_URL}/baseConfig.json`).then((res: any) => {
|
|
|
61
61
|
next();
|
|
62
62
|
} else {
|
|
63
63
|
next(false);
|
|
64
|
-
next("/login");
|
|
64
|
+
//next("/login");
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
|
|
@@ -268,11 +268,19 @@
|
|
|
268
268
|
:value="`${item.value}`"
|
|
269
269
|
:title="`${item.name}(${item.value})`"
|
|
270
270
|
>
|
|
271
|
-
<span
|
|
271
|
+
<span
|
|
272
|
+
style="display: flex;
|
|
273
|
+
align-items: center;"
|
|
274
|
+
>
|
|
272
275
|
<b
|
|
273
276
|
class="item-origin"
|
|
274
277
|
:style="{
|
|
275
|
-
'
|
|
278
|
+
'background-color': `${item.color}`,
|
|
279
|
+
display: `inline-block`,
|
|
280
|
+
width: `6px`,
|
|
281
|
+
height: `6px`,
|
|
282
|
+
overflow: `hidden`,
|
|
283
|
+
'border-width': '0',
|
|
276
284
|
}"
|
|
277
285
|
></b>
|
|
278
286
|
{{ item.name }}
|
|
@@ -866,9 +874,14 @@ export default class CommonDatas extends Vue {
|
|
|
866
874
|
)
|
|
867
875
|
);
|
|
868
876
|
if (this.parentId) {
|
|
869
|
-
|
|
877
|
+
const arr = body[item.id || ''].filter(
|
|
870
878
|
(item) => item.id === this.parentId
|
|
871
879
|
);
|
|
880
|
+
body[item.id || ''] =
|
|
881
|
+
Array.isArray(arr) && arr.length
|
|
882
|
+
? (arr[0].children as BaseDataDto[])
|
|
883
|
+
: arr;
|
|
884
|
+
// console.log("body[item.id || '']", body[item.id || '']);
|
|
872
885
|
}
|
|
873
886
|
}
|
|
874
887
|
});
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @Author: hutao
|
|
5
5
|
* @Date: 2021-12-30 14:29:14
|
|
6
6
|
* @LastEditors: hutao
|
|
7
|
-
* @LastEditTime: 2023-
|
|
7
|
+
* @LastEditTime: 2023-03-07 17:49:04
|
|
8
8
|
-->
|
|
9
9
|
<template>
|
|
10
10
|
<span v-if="readonly">
|
|
@@ -140,18 +140,18 @@ export default class HtSelectUser extends Vue {
|
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
_axios
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
143
|
+
// _axios
|
|
144
|
+
// .get(`/asset_manage/api/asset-management/asset-categories/list`, {
|
|
145
|
+
// params: { Recursive: true, CurrentId: this.parentId },
|
|
146
|
+
// })
|
|
147
|
+
// .then((res) => {
|
|
148
|
+
// const data = res.data.items || [];
|
|
149
|
+
// this.state.dataSource = data;
|
|
150
|
+
// window.sessionStorage.setItem('assetCategory', JSON.stringify(data));
|
|
151
|
+
// if (this.readonly) {
|
|
152
|
+
// this.getName(data, val);
|
|
153
|
+
// }
|
|
154
|
+
// });
|
|
155
155
|
} else {
|
|
156
156
|
//设备分类
|
|
157
157
|
const sessStr = window.sessionStorage.getItem('deviceCategory');
|
|
@@ -160,21 +160,21 @@ export default class HtSelectUser extends Vue {
|
|
|
160
160
|
this.getName(JSON.parse(sessStr), val);
|
|
161
161
|
return;
|
|
162
162
|
}
|
|
163
|
-
_axios
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
163
|
+
// _axios
|
|
164
|
+
// .post(
|
|
165
|
+
// `/device_models/api/device-model-management/device-category/get-list-all`,
|
|
166
|
+
// {
|
|
167
|
+
// isTree: true,
|
|
168
|
+
// }
|
|
169
|
+
// )
|
|
170
|
+
// .then((res) => {
|
|
171
|
+
// const data = res.data.items || [];
|
|
172
|
+
// this.state.dataSource = data;
|
|
173
|
+
// window.sessionStorage.setItem('deviceCategory', JSON.stringify(data));
|
|
174
|
+
// if (this.readonly) {
|
|
175
|
+
// this.getName(data, val);
|
|
176
|
+
// }
|
|
177
|
+
// });
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
/** 获取名字 */
|
package/src/views/Index.vue
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="index">
|
|
3
|
-
<el-container style="height: 100vh"
|
|
4
|
-
class="index">
|
|
3
|
+
<el-container style="height: 100vh" class="index">
|
|
5
4
|
<el-header style="padding: 0; height: min-content">
|
|
6
|
-
<xhkj-layout02>
|
|
7
|
-
<router-link to="/login"
|
|
8
|
-
slot="navEnd">注销</router-link>
|
|
5
|
+
<xhkj-layout02 :hide="true">
|
|
6
|
+
<router-link to="/login" slot="navEnd">注销</router-link>
|
|
9
7
|
</xhkj-layout02>
|
|
10
8
|
</el-header>
|
|
11
9
|
<el-container class="body">
|
|
12
|
-
<el-aside :width="state.collapsed ? '66px' : '230px'"
|
|
13
|
-
class="left">
|
|
10
|
+
<el-aside :width="state.collapsed ? '66px' : '230px'" class="left">
|
|
14
11
|
<!--导航菜单-->
|
|
15
|
-
<el-menu
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
<el-menu
|
|
13
|
+
:default-active="state.defaultIndex"
|
|
14
|
+
router
|
|
15
|
+
:collapse="state.collapsed"
|
|
16
|
+
:collapse-transition="false"
|
|
17
|
+
>
|
|
19
18
|
<el-menu-item index="/">
|
|
20
19
|
<i class="el-icon-s-check"></i>
|
|
21
20
|
<span slot="title">导航1</span>
|
|
@@ -29,30 +28,33 @@
|
|
|
29
28
|
<span slot="title">导航3</span>
|
|
30
29
|
</el-menu-item>
|
|
31
30
|
</el-menu>
|
|
32
|
-
<el-button
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
<el-button
|
|
32
|
+
class="action-btn"
|
|
33
|
+
:title="state.collapsed ? '展开菜单' : '收起菜单'"
|
|
34
|
+
type="text"
|
|
35
|
+
size="medium"
|
|
36
|
+
:icon="state.collapsed ? 'el-icon-s-unfold' : 'el-icon-s-fold'"
|
|
37
|
+
@click="state.collapsed = !state.collapsed"
|
|
38
|
+
style="font-size: 16px"
|
|
39
|
+
></el-button>
|
|
39
40
|
</el-aside>
|
|
40
|
-
<el-main style="padding: 8px 0 0 15px"
|
|
41
|
-
class="cont">
|
|
41
|
+
<el-main style="padding: 8px 0 0 15px" class="cont">
|
|
42
42
|
<router-view v-if="state.loading"></router-view>
|
|
43
43
|
</el-main>
|
|
44
44
|
</el-container>
|
|
45
45
|
</el-container>
|
|
46
|
-
<div
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
<div
|
|
47
|
+
v-if="state.isLogin"
|
|
48
|
+
is="common-datas"
|
|
49
|
+
@commonDatas="commonDatas"
|
|
50
|
+
@error="error"
|
|
51
|
+
></div>
|
|
50
52
|
</div>
|
|
51
53
|
</template>
|
|
52
54
|
|
|
53
55
|
<script lang="ts">
|
|
54
|
-
import { Component, Vue, Watch } from
|
|
55
|
-
import { baseConfig } from
|
|
56
|
+
import { Component, Vue, Watch } from 'vue-property-decorator';
|
|
57
|
+
import { baseConfig } from 'vue-kst-auth';
|
|
56
58
|
interface State {
|
|
57
59
|
/** 数据状态 */
|
|
58
60
|
loading: boolean;
|
|
@@ -72,15 +74,15 @@ export default class App extends Vue {
|
|
|
72
74
|
state: State = {
|
|
73
75
|
loading: false,
|
|
74
76
|
isLogin: false,
|
|
75
|
-
defaultIndex:
|
|
77
|
+
defaultIndex: '/',
|
|
76
78
|
collapsed: true,
|
|
77
79
|
};
|
|
78
80
|
/** 生命周期 */
|
|
79
81
|
created() {
|
|
80
82
|
// 动态加载引用文件
|
|
81
|
-
const files = this.$store.getters.getBaseData(
|
|
83
|
+
const files = this.$store.getters.getBaseData('files');
|
|
82
84
|
const filesKeys: string[] = Object.keys(files);
|
|
83
|
-
let heatStr = document.getElementsByTagName(
|
|
85
|
+
let heatStr = document.getElementsByTagName('head')[0].innerHTML;
|
|
84
86
|
filesKeys.forEach((cur) => {
|
|
85
87
|
const src = files[cur];
|
|
86
88
|
if (src && /\.css$/.test(src.toString())) {
|
|
@@ -90,7 +92,7 @@ export default class App extends Vue {
|
|
|
90
92
|
heatStr += `<link rel="icon" href="${src}">`;
|
|
91
93
|
}
|
|
92
94
|
});
|
|
93
|
-
document.getElementsByTagName(
|
|
95
|
+
document.getElementsByTagName('head')[0].innerHTML = heatStr;
|
|
94
96
|
this.state.isLogin = baseConfig.getLoginState() || false;
|
|
95
97
|
}
|
|
96
98
|
mounted() {
|
|
@@ -107,36 +109,36 @@ export default class App extends Vue {
|
|
|
107
109
|
res.SessionState.auth &&
|
|
108
110
|
res.SessionState.auth.grantedPolicies
|
|
109
111
|
) {
|
|
110
|
-
this.$store.commit(
|
|
111
|
-
key:
|
|
112
|
+
this.$store.commit('setBaseDataApi', {
|
|
113
|
+
key: 'grantedPolicies',
|
|
112
114
|
value: res.SessionState.auth.grantedPolicies,
|
|
113
115
|
});
|
|
114
116
|
}
|
|
115
117
|
/** 部门人员数据 */
|
|
116
118
|
if (res.organizationUsers) {
|
|
117
|
-
this.$store.commit(
|
|
118
|
-
key:
|
|
119
|
+
this.$store.commit('setBaseDataApi', {
|
|
120
|
+
key: 'organizationUsers',
|
|
119
121
|
value: res.organizationUsers.items,
|
|
120
122
|
});
|
|
121
123
|
}
|
|
122
124
|
/** 部门数据 */
|
|
123
125
|
if (res.organizationUnit) {
|
|
124
|
-
this.$store.commit(
|
|
125
|
-
key:
|
|
126
|
+
this.$store.commit('setBaseDataApi', {
|
|
127
|
+
key: 'organizationUnit',
|
|
126
128
|
value: res.organizationUnit,
|
|
127
129
|
});
|
|
128
130
|
}
|
|
129
131
|
/** 人员数据 */
|
|
130
132
|
if (res.users) {
|
|
131
|
-
this.$store.commit(
|
|
132
|
-
key:
|
|
133
|
+
this.$store.commit('setBaseDataApi', {
|
|
134
|
+
key: 'users',
|
|
133
135
|
value: res.users.items,
|
|
134
136
|
});
|
|
135
137
|
}
|
|
136
138
|
/** 严重等级 */
|
|
137
139
|
if (res.severityLevel) {
|
|
138
|
-
this.$store.commit(
|
|
139
|
-
key:
|
|
140
|
+
this.$store.commit('setBaseDataApi', {
|
|
141
|
+
key: 'severityLevel',
|
|
140
142
|
value: res.severityLevel,
|
|
141
143
|
});
|
|
142
144
|
}
|
|
@@ -145,9 +147,9 @@ export default class App extends Vue {
|
|
|
145
147
|
this.state.loading = true;
|
|
146
148
|
}
|
|
147
149
|
/** 监听 */
|
|
148
|
-
@Watch(
|
|
150
|
+
@Watch('$route.path', { deep: true })
|
|
149
151
|
ondata(val: string) {
|
|
150
|
-
this.state.defaultIndex = val ||
|
|
152
|
+
this.state.defaultIndex = val || '/';
|
|
151
153
|
}
|
|
152
154
|
}
|
|
153
155
|
</script>
|
|
@@ -174,9 +176,9 @@ a {
|
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
178
|
.index {
|
|
177
|
-
background: url(
|
|
179
|
+
background: url('/publicData/images/bg.png ') center no-repeat;
|
|
178
180
|
background-size: 100% 100%;
|
|
179
|
-
font-family:
|
|
181
|
+
font-family: 'SourceHanSansCN-Normal', 'Avenir', Helvetica, Arial, sans-serif;
|
|
180
182
|
-webkit-font-smoothing: antialiased;
|
|
181
183
|
-moz-osx-font-smoothing: grayscale;
|
|
182
184
|
color: #333333;
|