Files
admin-sjzx/src/components/tree/pqs/generalTestTree.vue

82 lines
2.2 KiB
Vue
Raw Normal View History

2024-03-19 16:38:02 +08:00
<template>
<div class="point-tree">
<div v-if="defaultProps.disabled != 'flag'">
<el-input
v-model="input"
style="width: 240px"
clearable
placeholder="请输入电站数"
class="mr10"
@input="handleEdit"
></el-input>
<el-button type="primary" :disabled="!input.length > 0" icon="el-icon-Operation" @click="Tick">
按配置勾选
</el-button>
</div>
2024-03-21 20:13:25 +08:00
<el-tree
:disabled="disabled"
2024-03-21 20:13:25 +08:00
style="height: 550px; overflow-y: auto; overflow-x: hidden"
:data="tree"
ref="treeRef"
2024-03-21 20:13:25 +08:00
show-checkbox
default-expand-all
node-key="id"
:props="defaultProps"
/>
2024-03-19 16:38:02 +08:00
</div>
</template>
<script lang="ts" setup>
import { nextTick, onMounted, ref, useAttrs } from 'vue'
import { useDictData } from '@/stores/dictData'
import { ElMessage } from 'element-plus'
import { initDetpStataionTree, querySubStatation, addPlan } from '@/api/process-boot/generalTest'
2024-03-19 16:38:02 +08:00
const emit = defineEmits(['tactics'])
const attrs = useAttrs()
const defaultProps = ref({
2024-03-19 16:38:02 +08:00
label: 'name',
value: 'id',
disabled: 'disabled'
})
2024-03-19 16:38:02 +08:00
const dictData = useDictData()
const disabled = ref(false)
2024-03-19 16:38:02 +08:00
const tree = ref()
const treeRef = ref()
2024-03-21 20:13:25 +08:00
const input: any = ref('')
2024-03-19 16:38:02 +08:00
const loadData = () => {
initDetpStataionTree({ orgId: dictData.state.area[0].id }).then(res => {
tree.value = res.data
})
}
2024-03-21 20:13:25 +08:00
const handleEdit = () => {}
// 配置
const Tick = () => {
querySubStatation({ statetionNum: input.value }).then(res => {
setKey(res.data.subIds)
ElMessage.success('配置成功')
})
}
// 设置多选
const setKey = (key: any, text?: string) => {
treeRef.value!.setCheckedKeys(key, false)
if (text == '查看计划' || text == '计划审核') {
defaultProps.value.disabled = 'flag'
} else {
defaultProps.value.disabled = 'disabled'
}
2024-03-19 16:38:02 +08:00
}
defineExpose({ treeRef, setKey, loadData })
2024-03-19 16:38:02 +08:00
loadData()
</script>
<style lang="scss">
.point-tree {
width: 100%;
2024-03-21 20:13:25 +08:00
padding: 10px;
2024-03-19 16:38:02 +08:00
background: #fff;
border: 1px solid var(--el-border-color);
}
</style>