personnelSearch.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <script lang="ts" setup>
  2. import { ref, reactive, onMounted, inject, watchEffect, computed } from 'vue';
  3. import { storeToRefs } from 'pinia';
  4. import { Props, Emits, optionsType } from './type';
  5. import { useStore } from '@/store/index'
  6. import { generateUniqueId } from '@/utils/tools'
  7. import { post, get, uploadFile } from "@/utils/request";
  8. const props = defineProps<Props>();
  9. const emit = defineEmits<Emits>();
  10. const { userInfo } = storeToRefs(useStore());
  11. const options = ref<optionsType>([]);
  12. const timeRef = generateUniqueId()
  13. const controlTranslation = reactive({
  14. visibleFlag: false
  15. })
  16. const selectedValue = ref(props.modelValue); // 响应式绑定 v-model 的值
  17. // function getUserList(keyword: string = '', flag: boolean = true) {
  18. // post(`/user/getEmployeeList`, {
  19. // keyword,
  20. // status: 3,
  21. // matchingType: 0,
  22. // })
  23. // }
  24. function visibleChange(visible: boolean) { // 下拉框出现/隐藏时触发
  25. console.log(visible, '<==== visible')
  26. controlTranslation.visibleFlag = visible
  27. }
  28. function updateValue(val: any) { // 值改变的时候触发
  29. emit('update:modelValue', selectedValue.value)
  30. emit('change', val)
  31. }
  32. console.log(props, userInfo, '<==== 看看数据')
  33. </script>
  34. <template>
  35. <!-- <el-select v-model="selectedValue" :ref="`selectRef${timeRef}`" :multiple="multiple ? true : false" :size="size ? size : ''" :placeholder="placeholder ? placeholder : '请输入'"
  36. :disabled="disabled ? true : false" clearable collapse-tags @change="updateValue" @visible-change="visibleChange">
  37. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
  38. </el-select> -->
  39. </template>
  40. <style lang="scss" scoped></style>