|
@@ -1,22 +1,113 @@
|
|
<template>
|
|
<template>
|
|
<div class="resume-box">
|
|
<div class="resume-box">
|
|
<div class="resume-header mb-3">
|
|
<div class="resume-header mb-3">
|
|
- <div class="resume-title">求职意向</div>
|
|
|
|
- <v-btn v-if="!isEdit" variant="text" color="primary" prepend-icon="mdi-square-edit-outline" @click="isEdit = true">编辑</v-btn>
|
|
|
|
|
|
+ <div class="resume-title">{{ $t('resume.jobIntention') }}</div>
|
|
|
|
+ <v-btn v-if="!isEdit" variant="text" color="primary" prepend-icon="mdi-square-edit-outline" @click="isEdit = true">{{ $t('common.edit') }}</v-btn>
|
|
</div>
|
|
</div>
|
|
- <div v-if="isEdit"></div>
|
|
|
|
- <div v-else>
|
|
|
|
- <span></span>
|
|
|
|
|
|
+ <div></div>
|
|
|
|
+ <div v-if="isEdit">
|
|
|
|
+ <CtForm :items="items" style="width: 100%;">
|
|
|
|
+ <template #positionId="{ item }">
|
|
|
|
+ <textUI
|
|
|
|
+ v-model="item.value"
|
|
|
|
+ :item="item"
|
|
|
|
+ @blur="item.blur"
|
|
|
|
+ style="position: relative;"
|
|
|
|
+ ></textUI>
|
|
|
|
+ <jobTypeCard class="jobTypeCardBox" v-if="drawer"></jobTypeCard>
|
|
|
|
+ </template>
|
|
|
|
+ </CtForm>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup name="jobIntention">
|
|
<script setup name="jobIntention">
|
|
import { ref } from 'vue'
|
|
import { ref } from 'vue'
|
|
|
|
+// import { useSharedState } from '@/store/sharedState'
|
|
|
|
+import CtForm from '@/components/CtForm'
|
|
|
|
+import textUI from '@/components/FormUI/TextInput'
|
|
|
|
+import jobTypeCard from '@/components/jobTypeCard'
|
|
|
|
|
|
-const isEdit = ref(false)
|
|
|
|
|
|
+const isEdit = ref(true)
|
|
|
|
+const drawer = ref(false)
|
|
|
|
+const handleBlur = () => {
|
|
|
|
+ drawer.value = !drawer.value
|
|
|
|
+}
|
|
|
|
+// const sharedState = useSharedState()
|
|
|
|
+// watch(() => sharedState.layoutClickCount, () => {
|
|
|
|
+// if (drawer.value) drawer.value = false
|
|
|
|
+// })
|
|
|
|
+
|
|
|
|
+const items = ref({
|
|
|
|
+ options: [
|
|
|
|
+ {
|
|
|
|
+ slotName: 'positionId',
|
|
|
|
+ key: 'positionId',
|
|
|
|
+ value: null,
|
|
|
|
+ col: 6,
|
|
|
|
+ placeholder: '期望岗位 *',
|
|
|
|
+ flexStyle: 'mr-3',
|
|
|
|
+ outlined: true,
|
|
|
|
+ rules: [v => !!v || '请输入期望岗位'],
|
|
|
|
+ blur: handleBlur
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: 'autocomplete',
|
|
|
|
+ key: 'jobType',
|
|
|
|
+ value: null,
|
|
|
|
+ placeholder: '请选择求职类型 *',
|
|
|
|
+ outlined: true,
|
|
|
|
+ itemText: 'label',
|
|
|
|
+ col: 6,
|
|
|
|
+ itemValue: 'value',
|
|
|
|
+ rules: [v => !!v || '请选择求职类型'],
|
|
|
|
+ items: [
|
|
|
|
+ { label: '全职', value: 0 },
|
|
|
|
+ { label: '兼职', value: 1 },
|
|
|
|
+ { label: '临时', value: 2 },
|
|
|
|
+ { label: '实习', value: 3 }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: 'number',
|
|
|
|
+ key: 'payFrom',
|
|
|
|
+ value: null,
|
|
|
|
+ placeholder: '期望薪资(最低要求) *',
|
|
|
|
+ col: 6,
|
|
|
|
+ flexStyle: 'mr-3',
|
|
|
|
+ outlined: true,
|
|
|
|
+ rules: [v => !!v || '请输入薪资最低要求']
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: 'number',
|
|
|
|
+ key: 'payTo',
|
|
|
|
+ value: null,
|
|
|
|
+ placeholder: '期望薪资(最高要求) *',
|
|
|
|
+ col: 6,
|
|
|
|
+ outlined: true,
|
|
|
|
+ rules: [v => !!v || '请输入薪资最高要求']
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: 'autocomplete',
|
|
|
|
+ key: 'workAreaId',
|
|
|
|
+ value: null,
|
|
|
|
+ placeholder: '请选择工作城市 *',
|
|
|
|
+ outlined: true,
|
|
|
|
+ itemText: 'label',
|
|
|
|
+ col: 6,
|
|
|
|
+ itemValue: 'value',
|
|
|
|
+ flexStyle: 'mr-3',
|
|
|
|
+ rules: [v => !!v || '请选择工作城市'],
|
|
|
|
+ items: []
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+})
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
-
|
|
|
|
|
|
+.jobTypeCardBox {
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 42px;
|
|
|
|
+ left: 0;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|