mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-14 05:16:45 +08:00
77 lines
1.6 KiB
Vue
77 lines
1.6 KiB
Vue
<template>
|
|
<a-tree-select
|
|
:getPopupContainer="
|
|
(triggerNode) => {
|
|
return triggerNode.parentNode || document.body;
|
|
}
|
|
"
|
|
v-model:value="id"
|
|
style="width: 100%"
|
|
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
|
|
placeholder="自动带出 可修改"
|
|
allow-clear
|
|
:tree-data="options"
|
|
:fieldNames="{
|
|
children: 'treeChildList',
|
|
label: 'name',
|
|
value: 'id',
|
|
}"
|
|
:disabled="disabled"
|
|
@change="change"
|
|
dropdownClassName="treeDropdown"
|
|
>
|
|
</a-tree-select>
|
|
</template>
|
|
<script>
|
|
import {onMounted, reactive, toRefs, watch} from "vue";
|
|
import {useStore} from "vuex";
|
|
|
|
export default {
|
|
name: "OrgClass",
|
|
|
|
props: {
|
|
value: {
|
|
type: Number,
|
|
},
|
|
name: {
|
|
type: String,
|
|
},
|
|
disabled: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
},
|
|
setup(props, ctx) {
|
|
const store = useStore();
|
|
|
|
const state = reactive({
|
|
options: [],
|
|
id: props.value
|
|
});
|
|
|
|
watch(props, () => {
|
|
console.log('props', state)
|
|
console.log('props', props)
|
|
if (props.value !== state.id) {
|
|
state.id = props.value
|
|
}
|
|
})
|
|
onMounted(() => {
|
|
state.options = [...store.state.orgtreeList]
|
|
console.log(state.options)
|
|
})
|
|
|
|
function change(key, obj) {
|
|
console.log(state)
|
|
ctx.emit('update:name', obj[0])
|
|
ctx.emit('update:value', key)
|
|
}
|
|
|
|
return {
|
|
...toRefs(state),
|
|
change
|
|
};
|
|
},
|
|
};
|
|
</script>
|