This commit is contained in:
parent
e7f903991f
commit
f88d4fa80f
|
|
@ -32,12 +32,7 @@
|
|||
<el-row :gutter="24" style="padding-top: 10px">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="专业" prop="major">
|
||||
<el-select
|
||||
v-model="form.major"
|
||||
placeholder="请选择专业"
|
||||
@change="majorChange"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-select v-model="form.major" placeholder="请选择专业" @change="majorChange" style="width: 100%">
|
||||
<el-option v-for="item in majorList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
|
@ -185,7 +180,15 @@
|
|||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="计数单位" prop="unit">
|
||||
<el-input v-model="form.unit" placeholder="请输入计数单位" clearable maxlength="11" />
|
||||
<!-- <el-input v-model="form.unit" placeholder="请输入计数单位" clearable maxlength="11" /> -->
|
||||
<el-select v-model="form.unit" placeholder="用户状态" clearable style="width: 100%">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dev_unit_type"
|
||||
:key="dict.label"
|
||||
:label="dict.label"
|
||||
:value="dict.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
|
|
@ -336,6 +339,7 @@ import FileUpload from '@/components/ImageUpload'
|
|||
export default {
|
||||
name: 'EquipmentEntryEditDialog', // 明确组件名称
|
||||
emits: ['update:isVisible', 'submit', 'getOrderId'], // 声明事件
|
||||
dicts: ['dev_unit_type'],
|
||||
data() {
|
||||
return {
|
||||
isSubmit: false,
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
:model="queryParams"
|
||||
:rules="queryRules"
|
||||
style="margin-top: 20px; padding: 0 15px;"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item prop="name" style="margin-bottom: 0;">
|
||||
<el-input
|
||||
|
|
@ -33,6 +34,7 @@
|
|||
@click="getDeviceListByTreeSearch"
|
||||
title="查询"
|
||||
class="search-btn-embedded"
|
||||
@keyup.enter.native="getDeviceListByTreeSearch"
|
||||
/>
|
||||
<el-button
|
||||
icon="el-icon-refresh"
|
||||
|
|
@ -61,6 +63,7 @@
|
|||
:indent="6"
|
||||
@node-click="handleNodeClick"
|
||||
:default-expanded-keys="defaultExpandedKeys"
|
||||
node-key="id"
|
||||
class="tree-container"
|
||||
:loading="treeLoading"
|
||||
/>
|
||||
|
|
@ -812,9 +815,6 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
treeSearchKey: '', //用于存储左侧树搜索框内容
|
||||
|
||||
defaultExpandedKeys: [], //用于存储需要默认展开的节点id
|
||||
|
||||
showSearch: true,
|
||||
total: 0,
|
||||
tableHeight: 510,
|
||||
|
|
@ -849,6 +849,7 @@ export default {
|
|||
label: 'name',
|
||||
},
|
||||
treeData: [],
|
||||
defaultExpandedKeys: [], // 存储默认展开的节点 key
|
||||
provinceList: [], // 所属省份
|
||||
propertyUnitList: [], // 产权单位
|
||||
majorList: [], // 专业
|
||||
|
|
@ -959,6 +960,22 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
// 初始化:获取前两级节点的所有 key
|
||||
initDefaultExpandedKeys() {
|
||||
const keys = []
|
||||
const traverse = (data, level) => {
|
||||
data.forEach(node => {
|
||||
if (level <= 1) { // 只展开第1级和第2级
|
||||
keys.push(node.id) // 假设你的节点唯一标识是 `id`
|
||||
if (node.children && node.children.length > 0) {
|
||||
traverse(node.children, level + 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
traverse(this.treeData, 1)
|
||||
this.defaultExpandedKeys = keys
|
||||
},
|
||||
// 获取省份
|
||||
getProvinceList() {
|
||||
getProvinceListAPI().then((res) => {
|
||||
|
|
@ -1132,23 +1149,6 @@ export default {
|
|||
this.treeLoading = true;
|
||||
const res = await getDeviceTreeAPI();
|
||||
this.treeData = res.data ? [res.data] : [];
|
||||
|
||||
// 👇 加这一行
|
||||
console.log('treeData', JSON.stringify(this.treeData, null, 2));
|
||||
|
||||
// 重置默认展开的节点ID数组
|
||||
this.defaultExpandedKeys = [];
|
||||
|
||||
// 只收集第一级和第二级节点的ID,第三级默认不展开
|
||||
this.collectFirstAndSecondLevelKeys(this.treeData);
|
||||
console.log('✅ defaultExpandedKeys:', this.defaultExpandedKeys);
|
||||
|
||||
// 3. 关键:等 DOM 渲染完再赋值
|
||||
this.$nextTick(() => {
|
||||
this.defaultExpandedKeys = [...this.defaultExpandedKeys];
|
||||
});
|
||||
|
||||
console.log('默认展开的第一级和第二级节点ID:', this.defaultExpandedKeys);
|
||||
} catch (error) {
|
||||
this.$message.error('获取树形结构失败:' + (error.message || '未知错误'));
|
||||
console.error(error);
|
||||
|
|
@ -1189,6 +1189,7 @@ export default {
|
|||
* 左侧树查询:匹配节点显示自身及下一级,但默认只显示到第二级
|
||||
*/
|
||||
async getDeviceListByTreeSearch() {
|
||||
if (!this.treeSearchKey.trim) return
|
||||
try {
|
||||
// 1. 获取输入的查询关键词(去空格)
|
||||
const searchKey = this.treeSearchKey ? this.treeSearchKey.trim() : '';
|
||||
|
|
@ -1332,7 +1333,8 @@ export default {
|
|||
this.defaultExpandedKeys = [];
|
||||
|
||||
// 只展开第一级和第二级节点
|
||||
this.collectFirstAndSecondLevelKeys(this.treeData);
|
||||
// this.collectFirstAndSecondLevelKeys(this.treeData);
|
||||
this.initDefaultExpandedKeys()
|
||||
|
||||
this.$message.success('树形查询已重置');
|
||||
} catch (error) {
|
||||
|
|
@ -1645,6 +1647,7 @@ export default {
|
|||
await Promise.all([this.getDeviceTree(), this.getDeviceStatusCount()])
|
||||
// 最后加载列表数据
|
||||
await this.getDeviceList()
|
||||
this.initDefaultExpandedKeys()
|
||||
},
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue