htui-yllkbz 1.3.96 → 1.3.98
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 +162 -89
- package/lib/htui.common.js.gz +0 -0
- package/lib/htui.css +1 -1
- package/lib/htui.umd.js +162 -89
- package/lib/htui.umd.js.gz +0 -0
- package/lib/htui.umd.min.js +4 -4
- package/lib/htui.umd.min.js.gz +0 -0
- package/package.json +1 -1
- package/src/App.vue +25 -3
- package/src/packages/HtSelectBaseData/index.vue +2 -1
- package/src/packages/HtSelectCategory/index.vue +107 -47
- package/src/packages/HtShowBaseData/index.vue +26 -2
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-02-
|
|
7
|
+
* @LastEditTime: 2023-02-13 15:15:28
|
|
8
8
|
-->
|
|
9
9
|
<template>
|
|
10
10
|
<div id="app">
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<HtSelectPosition :readonly="true" v-model="state.value"></HtSelectPosition> -->
|
|
18
18
|
<!-- <HtSelectCategory :multiple="true" v-model="state.value"></HtSelectCategory>
|
|
19
19
|
<HtSelectCategory :readonly="true" v-model="state.value"></HtSelectCategory> -->
|
|
20
|
-
<HtSelectBaseData
|
|
20
|
+
<!-- <HtSelectBaseData
|
|
21
21
|
:onlyParent="true"
|
|
22
22
|
v-model="state.value"
|
|
23
23
|
dataTypeId="MeasureUnit"
|
|
@@ -26,7 +26,29 @@
|
|
|
26
26
|
:parentId="state.value"
|
|
27
27
|
v-model="state.timeValue"
|
|
28
28
|
dataTypeId="MeasureUnit"
|
|
29
|
-
></HtSelectBaseData>
|
|
29
|
+
></HtSelectBaseData> -->
|
|
30
|
+
<!-- <ht-select-category
|
|
31
|
+
:type="'device'"
|
|
32
|
+
v-model="state.value"
|
|
33
|
+
></ht-select-category>
|
|
34
|
+
<ht-select-category
|
|
35
|
+
:type="'device'"
|
|
36
|
+
:readonly="true"
|
|
37
|
+
v-model="state.value"
|
|
38
|
+
></ht-select-category> -->
|
|
39
|
+
<ht-select-base-data
|
|
40
|
+
style="width: 100%"
|
|
41
|
+
:by-code="true"
|
|
42
|
+
v-model="state.value"
|
|
43
|
+
:readonly="true"
|
|
44
|
+
data-type-id="SeverityLevel"
|
|
45
|
+
></ht-select-base-data>
|
|
46
|
+
<ht-select-base-data
|
|
47
|
+
style="width: 100%"
|
|
48
|
+
:by-code="true"
|
|
49
|
+
v-model="state.value"
|
|
50
|
+
data-type-id="SeverityLevel"
|
|
51
|
+
></ht-select-base-data>
|
|
30
52
|
<router-view></router-view>
|
|
31
53
|
</div>
|
|
32
54
|
</template>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @Author: hutao
|
|
5
5
|
* @Date: 2021-12-30 15:47:47
|
|
6
6
|
* @LastEditors: hutao
|
|
7
|
-
* @LastEditTime: 2023-02-
|
|
7
|
+
* @LastEditTime: 2023-02-12 11:03:28
|
|
8
8
|
-->
|
|
9
9
|
|
|
10
10
|
<template>
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
<div v-else>
|
|
42
42
|
<HtShowBaseData
|
|
43
43
|
:hide-code="hideCode"
|
|
44
|
+
:dataTypeId="dataTypeId"
|
|
44
45
|
:show-all-level="showAllLevels"
|
|
45
46
|
:base-data-id="!byCode ? value : undefined"
|
|
46
47
|
:base-data-value="byCode ? value : undefined"
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* @Author: hutao
|
|
5
5
|
* @Date: 2021-12-30 14:29:14
|
|
6
6
|
* @LastEditors: hutao
|
|
7
|
-
* @LastEditTime: 2023-02-
|
|
7
|
+
* @LastEditTime: 2023-02-13 15:16:31
|
|
8
8
|
-->
|
|
9
9
|
<template>
|
|
10
10
|
<span v-if="readonly">
|
|
11
|
-
{{ state.positionName
|
|
11
|
+
{{ state.positionName }}
|
|
12
12
|
</span>
|
|
13
13
|
<el-cascader
|
|
14
14
|
v-else
|
|
@@ -44,7 +44,7 @@ interface State {
|
|
|
44
44
|
/** 数据状态 */
|
|
45
45
|
loading: boolean;
|
|
46
46
|
value: any;
|
|
47
|
-
positionName: string
|
|
47
|
+
positionName: string;
|
|
48
48
|
/** 所有位置 */
|
|
49
49
|
dataSource: any[];
|
|
50
50
|
/** 所有分类 */
|
|
@@ -57,6 +57,7 @@ export default class HtSelectUser extends Vue {
|
|
|
57
57
|
@Prop() value!: string;
|
|
58
58
|
@Prop() org!: string;
|
|
59
59
|
@Prop() size!: string;
|
|
60
|
+
@Prop() type!: string;
|
|
60
61
|
/** 是否禁用 */
|
|
61
62
|
@Prop() disabled?: boolean;
|
|
62
63
|
@Prop() heightAuto?: boolean;
|
|
@@ -80,7 +81,7 @@ export default class HtSelectUser extends Vue {
|
|
|
80
81
|
state: State = {
|
|
81
82
|
loading: false,
|
|
82
83
|
value: undefined,
|
|
83
|
-
positionName:
|
|
84
|
+
positionName: '',
|
|
84
85
|
dataSource: [],
|
|
85
86
|
unitCategory: [],
|
|
86
87
|
};
|
|
@@ -92,53 +93,112 @@ export default class HtSelectUser extends Vue {
|
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
/** 根据id获取单个 */
|
|
95
|
-
getSingle(val?: string | string[]) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
// getSingle(val?: string | string[]) {
|
|
97
|
+
// this.state.positionName = '';
|
|
98
|
+
// if (val) {
|
|
99
|
+
// let arr: string[] = [];
|
|
100
|
+
// if (Array.isArray(val)) {
|
|
101
|
+
// arr = val;
|
|
102
|
+
// } else {
|
|
103
|
+
// arr = val.split(',');
|
|
104
|
+
// }
|
|
105
|
+
// const sessionDataStr = window.localStorage.getItem('assetCategory');
|
|
106
|
+
// let sessionData: any[] = [];
|
|
107
|
+
// if (sessionDataStr) {
|
|
108
|
+
// sessionData = JSON.parse(sessionDataStr);
|
|
109
|
+
// }
|
|
110
|
+
// arr.forEach((item) => {
|
|
111
|
+
// if (sessionData.length) {
|
|
112
|
+
// const data = sessionData.find((cat) => cat.id === item);
|
|
113
|
+
// this.state.positionName.push(
|
|
114
|
+
// `${data.displayName}${data.code ? `(${data.code})` : ''}`
|
|
115
|
+
// );
|
|
116
|
+
// } else {
|
|
117
|
+
// _axios
|
|
118
|
+
// .get(`/asset_manage/api/asset-management/asset-categories/${item}`)
|
|
119
|
+
// .then((res) => {
|
|
120
|
+
// const data = res.data;
|
|
121
|
+
// this.state.positionName.push(
|
|
122
|
+
// `${data.displayName}${data.code ? `(${data.code})` : ''}`
|
|
123
|
+
// );
|
|
124
|
+
// });
|
|
125
|
+
// }
|
|
126
|
+
// });
|
|
127
|
+
// } else {
|
|
128
|
+
// this.state.positionName = [];
|
|
129
|
+
// }
|
|
130
|
+
// }
|
|
131
|
+
|
|
132
|
+
/** 获取单位列表 */
|
|
133
|
+
getAllList(val?: string) {
|
|
134
|
+
if (this.type !== 'device') {
|
|
135
|
+
//资产分类
|
|
136
|
+
const sessStr = window.sessionStorage.getItem('assetCategory');
|
|
137
|
+
|
|
138
|
+
if (this.readonly && sessStr) {
|
|
139
|
+
this.getName(JSON.parse(sessStr), val);
|
|
140
|
+
return;
|
|
103
141
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
142
|
+
|
|
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
|
+
} else {
|
|
156
|
+
//设备分类
|
|
157
|
+
const sessStr = window.sessionStorage.getItem('deviceCategory');
|
|
158
|
+
|
|
159
|
+
if (this.readonly && sessStr) {
|
|
160
|
+
this.getName(JSON.parse(sessStr), val);
|
|
161
|
+
return;
|
|
108
162
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/** 获取名字 */
|
|
181
|
+
getName(list: any, id?: string) {
|
|
182
|
+
let nameStr = '--';
|
|
183
|
+
function formatData(data: any[]) {
|
|
184
|
+
console.log('data', data);
|
|
185
|
+
for (let i = 0; i < data.length; i++) {
|
|
186
|
+
if (data[i].id === id) {
|
|
187
|
+
nameStr = data[i].displayName;
|
|
188
|
+
break;
|
|
115
189
|
} else {
|
|
116
|
-
|
|
117
|
-
.
|
|
118
|
-
|
|
119
|
-
const data = res.data;
|
|
120
|
-
this.state.positionName.push(
|
|
121
|
-
`${data.displayName}${data.code ? `(${data.code})` : ''}`
|
|
122
|
-
);
|
|
123
|
-
});
|
|
190
|
+
if (data[i].children) {
|
|
191
|
+
formatData(data[i].children);
|
|
192
|
+
}
|
|
124
193
|
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (list.length) {
|
|
197
|
+
console.log('list', list);
|
|
198
|
+
formatData(list);
|
|
128
199
|
}
|
|
129
|
-
}
|
|
130
200
|
|
|
131
|
-
|
|
132
|
-
getAllList() {
|
|
133
|
-
_axios
|
|
134
|
-
.get(`/asset_manage/api/asset-management/asset-categories/list`, {
|
|
135
|
-
params: { Recursive: true, CurrentId: this.parentId },
|
|
136
|
-
})
|
|
137
|
-
.then((res) => {
|
|
138
|
-
const data = res.data.items || [];
|
|
139
|
-
this.state.dataSource = data;
|
|
140
|
-
// window.localStorage.setItem('assetCategory', JSON.stringify(data));
|
|
141
|
-
});
|
|
201
|
+
this.state.positionName = nameStr;
|
|
142
202
|
}
|
|
143
203
|
/** 方法 */
|
|
144
204
|
/**选择回调 */
|
|
@@ -165,7 +225,7 @@ export default class HtSelectUser extends Vue {
|
|
|
165
225
|
setValue(val: any) {
|
|
166
226
|
this.state.value = val;
|
|
167
227
|
if (this.readonly) {
|
|
168
|
-
this.
|
|
228
|
+
this.getAllList(val);
|
|
169
229
|
} else {
|
|
170
230
|
// this.getAllList(this.org);
|
|
171
231
|
}
|
|
@@ -174,7 +234,7 @@ export default class HtSelectUser extends Vue {
|
|
|
174
234
|
formatData(data: any[]) {
|
|
175
235
|
for (let i = 0; i < data.length; i++) {
|
|
176
236
|
const item = data[i];
|
|
177
|
-
item.name = `${item.displayName}
|
|
237
|
+
item.name = `${item.displayName}`;
|
|
178
238
|
if (item.children.length < 1) {
|
|
179
239
|
item.children = undefined;
|
|
180
240
|
} else {
|
|
@@ -37,7 +37,16 @@
|
|
|
37
37
|
</template>
|
|
38
38
|
<!-- 基础数据,以value查找 -->
|
|
39
39
|
<template v-if="baseDataValue">
|
|
40
|
-
<span
|
|
40
|
+
<span
|
|
41
|
+
class="item"
|
|
42
|
+
v-if="dataTypeId && baseDataItem[`${dataTypeId}_${baseDataValue}`]"
|
|
43
|
+
>
|
|
44
|
+
{{ baseDataItem[`${dataTypeId}_${baseDataValue}`].name || empty }}
|
|
45
|
+
<!-- <span v-if="baseDataInfo && !hideCode">
|
|
46
|
+
({{ baseDataItem[baseDataValue].value || empty }})
|
|
47
|
+
</span> -->
|
|
48
|
+
</span>
|
|
49
|
+
<span class="item" v-else-if="baseDataItem[baseDataValue]">
|
|
41
50
|
{{ baseDataItem[baseDataValue].name || empty }}
|
|
42
51
|
<span v-if="baseDataInfo && !hideCode">
|
|
43
52
|
({{ baseDataItem[baseDataValue].value || empty }})
|
|
@@ -141,6 +150,8 @@ export default class CommonDatas extends Vue {
|
|
|
141
150
|
@Prop() baseDataValue?: string;
|
|
142
151
|
/** 基础数据name */
|
|
143
152
|
@Prop() baseDataName?: string;
|
|
153
|
+
/** 基础数据分组key */
|
|
154
|
+
@Prop() dataTypeId?: string;
|
|
144
155
|
/** 基础数据详情,显示名称加编码 */
|
|
145
156
|
@Prop({ default: false }) baseDataInfo?: boolean;
|
|
146
157
|
/** 人员 */
|
|
@@ -191,9 +202,22 @@ export default class CommonDatas extends Vue {
|
|
|
191
202
|
/** 递归处理基础数据 */
|
|
192
203
|
getBaseDataItem(list: any[]) {
|
|
193
204
|
// const list = this.state.resData.baseData.items || []
|
|
205
|
+
if (this.dataTypeId === 'SeverityLevel') {
|
|
206
|
+
this.SeverityLevel.forEach((item) => {
|
|
207
|
+
this.state.baseDataItem[`${this.dataTypeId}_${item.value}`] = item;
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
console.log('this.state.baseDataItem', this.state.baseDataItem);
|
|
194
211
|
list.forEach((item) => {
|
|
195
212
|
this.state.baseDataItem[item.id || ''] = item;
|
|
196
|
-
|
|
213
|
+
|
|
214
|
+
if (this.dataTypeId && this.dataTypeId === item.category) {
|
|
215
|
+
this.state.baseDataItem[`${item.category}_${item.item.value}`] = item;
|
|
216
|
+
}
|
|
217
|
+
if (!this.dataTypeId) {
|
|
218
|
+
this.state.baseDataItem[item.value || ''] = item;
|
|
219
|
+
}
|
|
220
|
+
|
|
197
221
|
this.state.baseDataItem[item.name || ''] = item;
|
|
198
222
|
if (item.children) {
|
|
199
223
|
this.getBaseDataItem(item.children);
|