ai-form-college.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <template>
  2. <div class="flex-1 fx-col">
  3. <ie-form-picker :model-value="college.name" label="选择学校" @click="handlePick"/>
  4. </div>
  5. </template>
  6. <script>
  7. import {ref, getCurrentInstance} from 'vue';
  8. import IeFormPicker from "@/pages/ie/components/picker/ie-form-picker.vue";
  9. import AIFormFieldBase from "@/pages/ie/components/ai-form/items/AIFormFieldBase";
  10. import {useTransfer} from "@/hooks/useTransfer";
  11. import mxConst from "@/common/mxConst";
  12. export default {
  13. name: "ai-form-college",
  14. components: {IeFormPicker},
  15. mixins: [AIFormFieldBase],
  16. setup(_, {emit}) {
  17. const {transferTo, onPageCallback} = useTransfer()
  18. const instance = getCurrentInstance()
  19. const college = ref({})
  20. const handlePick = () => {
  21. transferTo('/pages/college-library/picker/picker', {
  22. callback: mxConst.globalEvents.collegeSelected
  23. })
  24. }
  25. onPageCallback((item) => {
  26. if (item) {
  27. college.value = item
  28. emit('update:modelValue', item.code)
  29. instance.proxy?.clearValidate()
  30. }
  31. })
  32. return {
  33. college,
  34. handlePick
  35. }
  36. }
  37. }
  38. </script>
  39. <style scoped>
  40. </style>