companySelect.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <autocompleteUI
  3. v-model="value"
  4. :item="item"
  5. @change="valueChange"
  6. ></autocompleteUI>
  7. </template>
  8. <script setup>
  9. import { ref } from 'vue'
  10. import autocompleteUI from '@/components/FormUI/autocomplete'
  11. defineOptions({ name: 'enterpriseLogin-companySelect' })
  12. const props = defineProps({
  13. modelValue: String,
  14. defaultSelect: {
  15. type: Boolean,
  16. default: false
  17. },
  18. list: {
  19. type: Array,
  20. default: () => []
  21. }
  22. })
  23. const emit = defineEmits(['update:modelValue'])
  24. const value = ref(props.modelValue)
  25. // 企业登录
  26. // const companyList = JSON.parse(localStorage.getItem('companyInfo'))
  27. const companyList = props.list?.length ? [...props.list] : []
  28. if (props.defaultSelect && companyList?.length) {
  29. const id = companyList[0].enterpriseId
  30. value.value = id
  31. emit('update:modelValue', id)
  32. }
  33. // onMounted(() => {})
  34. const item = ref({
  35. // type: 'autocomplete',
  36. // width: 250,
  37. itemText: 'enterpriseName',
  38. itemValue: 'enterpriseId',
  39. label: '请选择要登录的企业',
  40. items: companyList
  41. })
  42. const valueChange = (val) => {
  43. if (val) emit('update:modelValue', val)
  44. }
  45. </script>