|
@@ -64,6 +64,18 @@
|
|
|
<CtForm ref="CtFormInviteRef" :items="formItems" style="height: 500px;"></CtForm>
|
|
|
</CtDialog>
|
|
|
|
|
|
+ <!-- 邀请面试 -->
|
|
|
+ <CtDialog
|
|
|
+ :visible="showAccess"
|
|
|
+ :widthType="4"
|
|
|
+ titleClass="text-h6"
|
|
|
+ title="面试信息"
|
|
|
+ @close="showAccess = false"
|
|
|
+ @submit="handleAccess"
|
|
|
+ >
|
|
|
+ <CtForm ref="CtFormAccessRef" :items="AccessItems" style="height: 500px;"></CtForm>
|
|
|
+ </CtDialog>
|
|
|
+
|
|
|
<CtDialog
|
|
|
:visible="showReject"
|
|
|
:widthType="4"
|
|
@@ -74,20 +86,6 @@
|
|
|
>
|
|
|
<CtForm ref="CtFormRejectRef" :items="rejectItems"></CtForm>
|
|
|
</CtDialog>
|
|
|
-
|
|
|
- <TipDialog
|
|
|
- :visible="showTip"
|
|
|
- icon="mdi-check-circle-outline"
|
|
|
- message="面试邀请发送成功"
|
|
|
- @close="showTip = false"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="color-primary text-decoration-underline cursor-pointer"
|
|
|
- @click="handleToInterviewManagement"
|
|
|
- >
|
|
|
- 点击到面试中查看。
|
|
|
- </div>
|
|
|
- </TipDialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -137,6 +135,7 @@ const headers = ref([
|
|
|
|
|
|
const CtFormInviteRef = ref()
|
|
|
const CtFormRejectRef = ref()
|
|
|
+const CtFormAccessRef = ref()
|
|
|
|
|
|
const formItems = ref({
|
|
|
options: [
|
|
@@ -182,6 +181,39 @@ const rejectItems = ref({
|
|
|
]
|
|
|
})
|
|
|
|
|
|
+const AccessItems = ref({
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ type: 'datePicker',
|
|
|
+ mode: 'datetime',
|
|
|
+ labelWidth: 78,
|
|
|
+ value: '',
|
|
|
+ key: 'jobJoinDate',
|
|
|
+ label: '入职时间 *',
|
|
|
+ format: "YYYY/MM/DD HH:mm",
|
|
|
+ flexStyle: 'mb-7',
|
|
|
+ disabledDate: true,
|
|
|
+ rules: [v => !!v || '请选择入职时间']
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: 'text',
|
|
|
+ key: 'name',
|
|
|
+ value: '',
|
|
|
+ noParam: true,
|
|
|
+ disabled: true,
|
|
|
+ label: '入职人员'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: 'text',
|
|
|
+ key: 'position',
|
|
|
+ value: '',
|
|
|
+ noParam: true,
|
|
|
+ disabled: true,
|
|
|
+ label: '入职岗位'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+})
|
|
|
+
|
|
|
const items = ref([])
|
|
|
const loading = ref(false)
|
|
|
const total = ref(0)
|
|
@@ -195,6 +227,8 @@ const showInvite = ref(false)
|
|
|
|
|
|
const showReject = ref(false)
|
|
|
|
|
|
+const showAccess = ref(false)
|
|
|
+
|
|
|
// 状态字典
|
|
|
const statusList = ref([])
|
|
|
|
|
@@ -277,12 +311,41 @@ const handleReject = async () => {
|
|
|
}
|
|
|
|
|
|
// 入职
|
|
|
-const handleEnterByEnterprise = async () => {
|
|
|
- const query = {}
|
|
|
+const handleEnterByEnterprise = async (item) => {
|
|
|
+ AccessItems.value.options.forEach(e => {
|
|
|
+ if (e.key === 'name') {
|
|
|
+ e.value = item.student?.studentName
|
|
|
+ }
|
|
|
+ if (e.key === 'position') {
|
|
|
+ e.value = item.enterpriseRecruit.enterpriseRecruitJobName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ itemData.value = item
|
|
|
+ showAccess.value = true
|
|
|
+
|
|
|
+}
|
|
|
+const handleAccess = async () => {
|
|
|
+
|
|
|
+ const { valid } = await CtFormAccessRef.value.formRef.validate()
|
|
|
+ if (!valid) return
|
|
|
+ const query = AccessItems.value.options.reduce((acc, cur) => {
|
|
|
+ if (cur.noParam) {
|
|
|
+ return acc
|
|
|
+ }
|
|
|
+ acc[cur.key] = cur.value
|
|
|
+ return acc
|
|
|
+ }, {
|
|
|
+ practiceSubmitRecordId: itemData.value.practiceSubmitRecordId,
|
|
|
+ studentId: itemData.value.studentId
|
|
|
+ })
|
|
|
await resumeAccept(query)
|
|
|
+ Snackbar.success(t('common.operationSuccessful'))
|
|
|
+ showAccess.value = false
|
|
|
+ getList()
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
const getList = async () => {
|
|
|
loading.value = true
|
|
|
try {
|