SelectEDBClassify.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <script setup>
  2. import {ref, watch} from 'vue'
  3. import apiDataEDB from '@/api/dataEDB'
  4. const props=defineProps({
  5. show:{
  6. type:Boolean,
  7. default:false
  8. },
  9. defaultId:{//初始选中的分类
  10. type:Number,
  11. default:""
  12. }
  13. })
  14. const emits=defineEmits(['update:show','select'])
  15. function handleClose(){
  16. emits('update:show',false)
  17. }
  18. watch(
  19. ()=>props.defaultId,
  20. (n)=>{
  21. if(n){
  22. classify.value=n
  23. }
  24. }
  25. )
  26. // 获取指标库分类
  27. const classify=ref('')
  28. const edbClassifyList=ref([])
  29. function getEdbClassifyList(){
  30. apiDataEDB.edbClassifyList().then(res=>{
  31. if(res.Ret===200){
  32. edbClassifyList.value=res.Data.AllNodes||[]
  33. }
  34. })
  35. }
  36. getEdbClassifyList()
  37. function handleFinish({value,selectedOptions,tabIndex}){
  38. emits('select',{value,selectedOptions})
  39. handleClose()
  40. }
  41. // 通过classifyid 获取当前目录
  42. function getSelectClassifyOpt(id){
  43. // let
  44. }
  45. </script>
  46. <template>
  47. <van-popup
  48. :show="props.show"
  49. round
  50. position="bottom"
  51. >
  52. <van-cascader
  53. v-model="classify"
  54. title="选择目录"
  55. :options="edbClassifyList"
  56. :field-names="{text:'ClassifyName',value:'ClassifyId',children:'Children'}"
  57. @close="handleClose"
  58. @finish="handleFinish"
  59. />
  60. </van-popup>
  61. </template>