|
@@ -50,23 +50,13 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="left-tabs my-3">
|
|
|
- <v-tabs v-model="tab" align-tabs="start" color="primary" bg-color="#fff" @update:model-value="getPositionList">
|
|
|
- <v-tab :value="1">{{ $t('position.throughCommunication') }}</v-tab>
|
|
|
- <v-tab :value="2">{{ $t('position.delivered') }}</v-tab>
|
|
|
- <v-tab :value="3">{{ $t('position.interview') }}</v-tab>
|
|
|
- <v-tab :value="4">{{ $t('position.interested') }}</v-tab>
|
|
|
- <v-tab :value="5">{{ $t('position.interestedInMe') }}</v-tab>
|
|
|
- <v-tab :value="6">{{ $t('position.haveSeenMe') }}</v-tab>
|
|
|
- </v-tabs>
|
|
|
- <v-divider></v-divider>
|
|
|
- <v-tabs v-if="tab === 4" v-model="secondTab" align-tabs="start" color="primary" bg-color="#fff">
|
|
|
- <v-tab :value="7">{{ $t('position.positionCollection') }}</v-tab>
|
|
|
- <v-tab :value="8">{{ $t('position.companyCollection') }}</v-tab>
|
|
|
+ <div class="left-tabs mt-3">
|
|
|
+ <v-tabs v-model="tab" align-tabs="start" color="primary" bg-color="#fff">
|
|
|
+ <v-tab v-for="(val, i) in list" :key="i" :value="i">{{ val.title }}</v-tab>
|
|
|
</v-tabs>
|
|
|
</div>
|
|
|
- <div class="left-bottom">
|
|
|
- <PositionItem :tab="tab"></PositionItem>
|
|
|
+ <div :class="['left-bottom', {'mt-3': list[tab].path !== interview && list[tab].path !== interested}]">
|
|
|
+ <component :is="list[tab].path"></component>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -77,11 +67,25 @@ import { getDict } from '@/hooks/web/useDictionaries'
|
|
|
import { ref } from 'vue'
|
|
|
import { useUserStore } from '@/store/user'
|
|
|
import { updateJobStatus } from '@/api/resume'
|
|
|
-import PositionItem from '../components/posiitonItem.vue'
|
|
|
+import { useI18n } from '@/hooks/web/useI18n'
|
|
|
import Snackbar from '@/plugins/snackbar'
|
|
|
+import communication from '../components/communication.vue'
|
|
|
+import delivery from '../components/delivery.vue'
|
|
|
+import interview from '../components/interview.vue'
|
|
|
+import interested from '../components/interested.vue'
|
|
|
+import interestedMe from '../components/interestedMe.vue'
|
|
|
+import seenMe from '../components/seenMe.vue'
|
|
|
|
|
|
+const { t } = useI18n()
|
|
|
+const list = [
|
|
|
+ { title: t('position.throughCommunication'), path: communication },
|
|
|
+ { title: t('position.delivered'), path: delivery },
|
|
|
+ { title: t('position.interview'), path: interview },
|
|
|
+ { title: t('position.interested'), path: interested },
|
|
|
+ { title: t('position.interestedInMe'), path: interestedMe },
|
|
|
+ { title: t('position.haveSeenMe'), path: seenMe }
|
|
|
+]
|
|
|
const tab = ref(1)
|
|
|
-const secondTab = ref(7)
|
|
|
const selectVal = ref('0')
|
|
|
const items = ref([])
|
|
|
const userStore = useUserStore()
|
|
@@ -106,8 +110,6 @@ const handleChangeJobStatus = async () => {
|
|
|
await userStore.getUserBaseInfos(baseInfo.value.userId)
|
|
|
getBasicInfo()
|
|
|
}
|
|
|
-
|
|
|
-const getPositionList = () => {}
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|