<template> 
 | 
  <QueryMenuView @close="handleReset" @confirm="emit('close')" cancelText="重置"> 
 | 
    <div class="home-query-position-menu-view"> 
 | 
      <PositionSelectView v-model="query.userExpectJobs" /> 
 | 
    </div> 
 | 
  </QueryMenuView> 
 | 
</template> 
 | 
  
 | 
<script setup lang="ts"> 
 | 
import { QueryMenuView, QueryMenuItem, PositionSelectView } from '@12333/components'; 
 | 
  
 | 
defineOptions({ 
 | 
  name: 'HomeQueryPositionMenuView', 
 | 
}); 
 | 
  
 | 
// type Props = {}; 
 | 
  
 | 
// const props = withDefaults(defineProps<Props>(), {}); 
 | 
  
 | 
const emit = defineEmits<{ 
 | 
  (e: 'reset'): void; 
 | 
  (e: 'close'): void; 
 | 
}>(); 
 | 
  
 | 
const query = defineModel<{ 
 | 
  userExpectJobs: string[]; 
 | 
}>('query'); 
 | 
  
 | 
const DefaultQuery = { 
 | 
  ...query.value, 
 | 
  userExpectJobs: [...query.value.userExpectJobs], 
 | 
}; 
 | 
  
 | 
function handleReset() { 
 | 
  for (const key in DefaultQuery) { 
 | 
    query.value[key] = DefaultQuery[key]; 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss"> 
 | 
@import '@/styles/common.scss'; 
 | 
  
 | 
.home-query-position-menu-view { 
 | 
  max-height: 400px; 
 | 
  
 | 
  .position-select-view { 
 | 
    height: 400px; 
 | 
  } 
 | 
} 
 | 
</style> 
 |