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