|
@@ -11,15 +11,15 @@
|
|
<div>
|
|
<div>
|
|
<h2 class="mt-n1 headline font-weight-regular">{{ val.title }}</h2>
|
|
<h2 class="mt-n1 headline font-weight-regular">{{ val.title }}</h2>
|
|
<div class="mb-4 color-666 font-size-13">{{ val.desc }}</div>
|
|
<div class="mb-4 color-666 font-size-13">{{ val.desc }}</div>
|
|
- <component :is="val.path" :ref="val.ref" :isFair="props.isFair" :itemData="itemData" @changeType="handleChangeType"></component>
|
|
|
|
|
|
+ <component :is="val.path" :ref="val.ref" :isFair="props.isFair" :itemData="itemData"></component>
|
|
</div>
|
|
</div>
|
|
</v-timeline-item>
|
|
</v-timeline-item>
|
|
- <v-timeline-item v-if="showExtend" dot-color="light-blue darken-1" icon="mdi-numeric-3">
|
|
|
|
|
|
+ <!-- <v-timeline-item v-if="showExtend" dot-color="light-blue darken-1" icon="mdi-numeric-3">
|
|
<div>
|
|
<div>
|
|
<h2 class="mt-n1 headline font-weight-regular">其他</h2>
|
|
<h2 class="mt-n1 headline font-weight-regular">其他</h2>
|
|
<CtForm ref="formPageRef" class="mt-3" :items="items" style="width: 650px;"></CtForm>
|
|
<CtForm ref="formPageRef" class="mt-3" :items="items" style="width: 650px;"></CtForm>
|
|
</div>
|
|
</div>
|
|
- </v-timeline-item>
|
|
|
|
|
|
+ </v-timeline-item> -->
|
|
<slot name="timeline"></slot>
|
|
<slot name="timeline"></slot>
|
|
</v-timeline>
|
|
</v-timeline>
|
|
<div class="text-center mb">
|
|
<div class="text-center mb">
|
|
@@ -55,13 +55,13 @@ import Snackbar from '@/plugins/snackbar'
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
import { useUserStore } from '@/store/user'
|
|
import { useUserStore } from '@/store/user'
|
|
import { createTradeOrder } from '@/api/position'
|
|
import { createTradeOrder } from '@/api/position'
|
|
-import { saveJobAdvertisedExtend, getJobAdvertisedExtend } from '@/api/recruit/enterprise/jobFair'
|
|
|
|
-import { schoolMajorByName, schoolMajorById } from '@/api/recruit/personal/resume'
|
|
|
|
|
|
+// import { saveJobAdvertisedExtend, getJobAdvertisedExtend } from '@/api/recruit/enterprise/jobFair'
|
|
|
|
+// import { schoolMajorByName, schoolMajorById } from '@/api/recruit/personal/resume'
|
|
|
|
|
|
// 添加只为之后是否需要额外操作
|
|
// 添加只为之后是否需要额外操作
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
afterAdd: Function,
|
|
afterAdd: Function,
|
|
- valid: Function,
|
|
|
|
|
|
+ // valid: Function,
|
|
isFair: Boolean
|
|
isFair: Boolean
|
|
})
|
|
})
|
|
|
|
|
|
@@ -95,115 +95,115 @@ const list = [
|
|
}
|
|
}
|
|
]
|
|
]
|
|
|
|
|
|
-const formPageRef = ref()
|
|
|
|
-const items = ref({
|
|
|
|
- options: [
|
|
|
|
- {
|
|
|
|
- type: 'text',
|
|
|
|
- key: 'dept',
|
|
|
|
- value: null,
|
|
|
|
- col: 6,
|
|
|
|
- label: '招聘部门 '
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'autocomplete',
|
|
|
|
- key: 'majorId',
|
|
|
|
- search: getMajorList,
|
|
|
|
- value: null,
|
|
|
|
- label: '专业要求 ',
|
|
|
|
- itemText: 'nameCn',
|
|
|
|
- col: 6,
|
|
|
|
- itemValue: 'id',
|
|
|
|
- flexStyle: 'ml-3',
|
|
|
|
- noDataText: '请输入检索专业',
|
|
|
|
- items: []
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'autocomplete',
|
|
|
|
- key: 'frequency-dateType',
|
|
|
|
- value: null,
|
|
|
|
- label: '工作频率 ',
|
|
|
|
- col: 6,
|
|
|
|
- items: [
|
|
|
|
- { label: '每周', value: 'week' },
|
|
|
|
- { label: '每月', value: 'month' },
|
|
|
|
- { label: '每年', value: 'year' }
|
|
|
|
- ]
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'number',
|
|
|
|
- key: 'frequency-day',
|
|
|
|
- value: null,
|
|
|
|
- flexStyle: 'ml-3',
|
|
|
|
- col: 6,
|
|
|
|
- label: '出勤天数 '
|
|
|
|
- }
|
|
|
|
- ]
|
|
|
|
-})
|
|
|
|
|
|
+// const formPageRef = ref()
|
|
|
|
+// const items = ref({
|
|
|
|
+// options: [
|
|
|
|
+// {
|
|
|
|
+// type: 'text',
|
|
|
|
+// key: 'dept',
|
|
|
|
+// value: null,
|
|
|
|
+// col: 6,
|
|
|
|
+// label: '招聘部门 '
|
|
|
|
+// },
|
|
|
|
+// {
|
|
|
|
+// type: 'autocomplete',
|
|
|
|
+// key: 'majorId',
|
|
|
|
+// search: getMajorList,
|
|
|
|
+// value: null,
|
|
|
|
+// label: '专业要求 ',
|
|
|
|
+// itemText: 'nameCn',
|
|
|
|
+// col: 6,
|
|
|
|
+// itemValue: 'id',
|
|
|
|
+// flexStyle: 'ml-3',
|
|
|
|
+// noDataText: '请输入检索专业',
|
|
|
|
+// items: []
|
|
|
|
+// },
|
|
|
|
+// {
|
|
|
|
+// type: 'autocomplete',
|
|
|
|
+// key: 'frequency-dateType',
|
|
|
|
+// value: null,
|
|
|
|
+// label: '工作频率 ',
|
|
|
|
+// col: 6,
|
|
|
|
+// items: [
|
|
|
|
+// { label: '每周', value: 'week' },
|
|
|
|
+// { label: '每月', value: 'month' },
|
|
|
|
+// { label: '每年', value: 'year' }
|
|
|
|
+// ]
|
|
|
|
+// },
|
|
|
|
+// {
|
|
|
|
+// type: 'number',
|
|
|
|
+// key: 'frequency-day',
|
|
|
|
+// value: null,
|
|
|
|
+// flexStyle: 'ml-3',
|
|
|
|
+// col: 6,
|
|
|
|
+// label: '出勤天数 '
|
|
|
|
+// }
|
|
|
|
+// ]
|
|
|
|
+// })
|
|
|
|
|
|
// 是否展示扩展信息
|
|
// 是否展示扩展信息
|
|
-const showExtend = ref(false)
|
|
|
|
-const handleChangeType = (show) => {
|
|
|
|
- console.log(show, '招聘类型是否为实习')
|
|
|
|
- showExtend.value = show
|
|
|
|
- if (!show) {
|
|
|
|
- items.value.options.forEach(e => e.value = null)
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
+// const showExtend = ref(false)
|
|
|
|
+// const handleChangeType = (show) => {
|
|
|
|
+// console.log(show, '招聘类型是否为实习')
|
|
|
|
+// showExtend.value = show
|
|
|
|
+// if (!show) {
|
|
|
|
+// items.value.options.forEach(e => e.value = null)
|
|
|
|
+// }
|
|
|
|
+// }
|
|
// console.log(route)
|
|
// console.log(route)
|
|
|
|
|
|
-async function initPosition (jobId) {
|
|
|
|
- const res = await getJobAdvertisedExtend(jobId)
|
|
|
|
- console.log(res, '获取扩展信息')
|
|
|
|
- if (!res) return
|
|
|
|
- items.value.options.forEach(e => {
|
|
|
|
- if (e.key.includes('frequency') && res.frequency) {
|
|
|
|
- const keys = e.key.split('-')
|
|
|
|
- e.value = res[keys[0]][keys[1]]
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if (e.key === 'majorId') {
|
|
|
|
- getMajorById(res.majorId)
|
|
|
|
- }
|
|
|
|
- e.value = res[e.key]
|
|
|
|
- })
|
|
|
|
- showExtend.value = true
|
|
|
|
-}
|
|
|
|
|
|
+// async function initPosition (jobId) {
|
|
|
|
+// const res = await getJobAdvertisedExtend(jobId)
|
|
|
|
+// console.log(res, '获取扩展信息')
|
|
|
|
+// if (!res) return
|
|
|
|
+// items.value.options.forEach(e => {
|
|
|
|
+// if (e.key.includes('frequency') && res.frequency) {
|
|
|
|
+// const keys = e.key.split('-')
|
|
|
|
+// e.value = res[keys[0]][keys[1]]
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// if (e.key === 'majorId') {
|
|
|
|
+// getMajorById(res.majorId)
|
|
|
|
+// }
|
|
|
|
+// e.value = res[e.key]
|
|
|
|
+// })
|
|
|
|
+// showExtend.value = true
|
|
|
|
+// }
|
|
|
|
|
|
-async function getMajorList (name) {
|
|
|
|
- if (!name) {
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- const res = await schoolMajorByName({ name })
|
|
|
|
- items.value.options.find(e => e.key === 'majorId').items = res
|
|
|
|
-}
|
|
|
|
|
|
+// async function getMajorList (name) {
|
|
|
|
+// if (!name) {
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// const res = await schoolMajorByName({ name })
|
|
|
|
+// items.value.options.find(e => e.key === 'majorId').items = res
|
|
|
|
+// }
|
|
|
|
|
|
-async function getMajorById (id) {
|
|
|
|
- if (!id) return
|
|
|
|
- const res = await schoolMajorById({ id })
|
|
|
|
- items.value.options.find(e => e.key === 'majorId').items = [res]
|
|
|
|
-}
|
|
|
|
|
|
+// async function getMajorById (id) {
|
|
|
|
+// if (!id) return
|
|
|
|
+// const res = await schoolMajorById({ id })
|
|
|
|
+// items.value.options.find(e => e.key === 'majorId').items = [res]
|
|
|
|
+// }
|
|
|
|
|
|
// 保存扩展信息
|
|
// 保存扩展信息
|
|
-const handleSaveExtend = async (jobId) => {
|
|
|
|
- const query = items.value.options.reduce((r, v) => {
|
|
|
|
- if (v.key.includes('frequency')) {
|
|
|
|
- const keys = v.key.split('-')
|
|
|
|
- if (!r[keys[0]]) {
|
|
|
|
- r[keys[0]] = {}
|
|
|
|
- }
|
|
|
|
- r[keys[0]][keys[1]] = v.type === 'number' ? +v.value : v.value
|
|
|
|
- return r
|
|
|
|
- }
|
|
|
|
- if (v.key === 'majorId') {
|
|
|
|
- r.major = v.items.find(e => e.id === v.value)?.nameCn || ''
|
|
|
|
- }
|
|
|
|
- r[v.key] = v.type === 'number' ? +v.value : v.value
|
|
|
|
- return r
|
|
|
|
- }, { jobId })
|
|
|
|
- console.log(query, 'extendInfo')
|
|
|
|
- await saveJobAdvertisedExtend(query)
|
|
|
|
-}
|
|
|
|
|
|
+// const handleSaveExtend = async (jobId) => {
|
|
|
|
+// const query = items.value.options.reduce((r, v) => {
|
|
|
|
+// if (v.key.includes('frequency')) {
|
|
|
|
+// const keys = v.key.split('-')
|
|
|
|
+// if (!r[keys[0]]) {
|
|
|
|
+// r[keys[0]] = {}
|
|
|
|
+// }
|
|
|
|
+// r[keys[0]][keys[1]] = v.type === 'number' ? +v.value : v.value
|
|
|
|
+// return r
|
|
|
|
+// }
|
|
|
|
+// if (v.key === 'majorId') {
|
|
|
|
+// r.major = v.items.find(e => e.id === v.value)?.nameCn || ''
|
|
|
|
+// }
|
|
|
|
+// r[v.key] = v.type === 'number' ? +v.value : v.value
|
|
|
|
+// return r
|
|
|
|
+// }, { jobId })
|
|
|
|
+// console.log(query, 'extendInfo')
|
|
|
|
+// await saveJobAdvertisedExtend(query)
|
|
|
|
+// }
|
|
|
|
|
|
let submitParams = {}
|
|
let submitParams = {}
|
|
// 发布
|
|
// 发布
|
|
@@ -237,7 +237,7 @@ const saveEmit = async (retry) => {
|
|
loading.value = true
|
|
loading.value = true
|
|
try {
|
|
try {
|
|
const res = await saveJobAdvertised({ ...submitParams, fair: props.isFair ? true : false }) // fair:是否为招聘会职位编辑-必填
|
|
const res = await saveJobAdvertised({ ...submitParams, fair: props.isFair ? true : false }) // fair:是否为招聘会职位编辑-必填
|
|
- if (showExtend.value) await handleSaveExtend(res) // 保存扩展信息
|
|
|
|
|
|
+ // if (props.isFair) await handleSaveExtend(res) // 保存扩展信息
|
|
|
|
|
|
// status:99为待支付职位,弹窗支付
|
|
// status:99为待支付职位,弹窗支付
|
|
if (submitParams?.status && submitParams?.status === '99') {
|
|
if (submitParams?.status && submitParams?.status === '99') {
|
|
@@ -294,7 +294,7 @@ const getPositionDetail = async (id) => {
|
|
show.value = true
|
|
show.value = true
|
|
|
|
|
|
// 招聘类型为实习则获取扩展信息
|
|
// 招聘类型为实习则获取扩展信息
|
|
- if (data.type === '3') initPosition(id)
|
|
|
|
|
|
+ // if (data.type === '3') initPosition(id)
|
|
}
|
|
}
|
|
|
|
|
|
// 有id为编辑
|
|
// 有id为编辑
|