|
@@ -30,6 +30,7 @@ import { getJobAdvertised } from '@/api/new/position'
|
|
|
import { formatName } from '@/utils/getText'
|
|
|
import { getInterviewInviteDefaultTime } from '@/utils/date'
|
|
|
import { saveInterviewInvite } from '@/api/interview'
|
|
|
+import { send } from '@/hooks/useIM'
|
|
|
|
|
|
const formRef = ref(null)
|
|
|
const useUserStore = userStore()
|
|
@@ -61,22 +62,27 @@ const jobList = ref([])
|
|
|
const getJobList = async (jobId) => {
|
|
|
const { data } = await getJobAdvertised({ status: 0 })
|
|
|
jobList.value = data.map(e => {
|
|
|
- return { text: formatName(e.name), value: e.id, ...e }
|
|
|
+ return { text: formatName(e.name), value: e.id, data: e }
|
|
|
})
|
|
|
+
|
|
|
// 有职位id的则默认选中
|
|
|
if (jobId) {
|
|
|
formData.value.jobId = jobId
|
|
|
- formData.value.address = jobList.value.find(item => item.value === jobId)?.address
|
|
|
+ formData.value.address = jobList.value.find(item => item.value === jobId)?.data.address
|
|
|
jobDisabled.value = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-const handleChangeJob = (e) =>{
|
|
|
+const handleChangeJob = (e) => {
|
|
|
const job = jobList.value.find(item => item.value === e)
|
|
|
if (!job) return
|
|
|
- formData.value.address = job.address
|
|
|
+ formData.value.address = job.data.address
|
|
|
+
|
|
|
+ // 沟通-面试邀请需携带职位信息
|
|
|
+ if (channerl.value && Object.keys(channerl.value).length > 0) formData.value.positionInfo = job
|
|
|
}
|
|
|
|
|
|
+const channerl = ref({})
|
|
|
onLoad(async (options) => {
|
|
|
// 编辑面试、重新邀约
|
|
|
if (options?.editData) {
|
|
@@ -95,6 +101,18 @@ onLoad(async (options) => {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 沟通-面试邀请
|
|
|
+ if (options?.chartData) {
|
|
|
+ const obj = JSON.parse(decodeURIComponent(options.chartData))
|
|
|
+ formData.value.userId = obj.id
|
|
|
+ channerl.value = {
|
|
|
+ channelID: obj.channelID,
|
|
|
+ channelType: obj.channelType
|
|
|
+ }
|
|
|
+ await getJobList()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
const { id, jobId } = options
|
|
|
if (!id) {
|
|
|
uni.showToast({
|
|
@@ -119,11 +137,16 @@ const handleSubmit = async () => {
|
|
|
uni.showLoading({ title: '提交中' })
|
|
|
try {
|
|
|
await saveInterviewInvite(formData.value)
|
|
|
+
|
|
|
+ // 从沟通过来的需要发消息
|
|
|
+ if (channerl.value && Object.keys(channerl.value).length > 0) send(JSON.stringify(formData.value), channerl.value, 101)
|
|
|
+
|
|
|
uni.hideLoading()
|
|
|
uni.showToast({
|
|
|
title: '提交成功',
|
|
|
icon: 'success'
|
|
|
})
|
|
|
+ channerl.value = {}
|
|
|
setTimeout(() => {
|
|
|
uni.navigateBack({ delta: 1 })
|
|
|
}, 1000)
|