YfGrouo.vue 922 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <script setup lang="ts">
  2. import { useYfGroupStore } from "@/pinia/use-yf-group";
  3. import XcElOption from "@/components/xiao-chan/xc-el-option/XcElOption.vue";
  4. const props = withDefaults(
  5. defineProps<{
  6. modelValue?: string | number;
  7. type?: "xy" | "cy";
  8. oldStyle?: boolean;
  9. }>(),
  10. {
  11. type: "xy",
  12. oldStyle: false,
  13. }
  14. );
  15. const emits = defineEmits(["update:modelValue"]);
  16. const value = defineModel();
  17. const data = computed(() => {
  18. return useYfGroupStore()[props.type];
  19. });
  20. onMounted(() => {
  21. useYfGroupStore().init();
  22. value.value = useYfGroupStore().getDefaultCode(props.type);
  23. });
  24. </script>
  25. <template>
  26. <el-select v-model="value" style="width: 120px" v-if="!props.oldStyle">
  27. <xc-el-option :data="data" />
  28. </el-select>
  29. <select v-model="value" style="width: 120px" v-else>
  30. <option v-for="item in data" :value="item.code">
  31. {{ item.name }}
  32. </option>
  33. </select>
  34. </template>