This commit is contained in:
guochunsi
2026-01-14 18:32:09 +08:00
parent 6055033289
commit 8166fa31e0
33 changed files with 3926 additions and 3383 deletions

View File

@@ -0,0 +1,86 @@
<template>
<el-dialog title="录取通知书" v-model="visible" width="80%" height="50%" @close="handleClose">
<div style="height: 60vh">
<iframe id="iframeid" :src="pdfPath" ref="iframeRef" frameborder="0" style="width:100%;height:100%;"></iframe>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button @click="handleConfirm" v-if="props.permissions.sureLQTZ && canConfirm" type="primary">确认已发放</el-button>
</div>
</template>
</el-dialog>
</template>
<script>
import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { toWord, sureLQTZ } from '/@/api/recruit/recruitstudentsignup'
export default {
name: 'AdmissionNoticeDialog',
props: {
permissions: {
type: Object,
default: () => ({})
}
},
emits: ['refresh'],
setup(props, { emit }) {
const visible = ref(false)
const pdfPath = ref('')
const currentId = ref('')
const canConfirm = ref(false)
const init = async (row) => {
currentId.value = row.id
pdfPath.value = ''
canConfirm.value = row.isBackTz == '0'
try {
const res = await toWord(row)
pdfPath.value = "/recruit/file/previewPdf?filePath=" + encodeURIComponent(res.data)
visible.value = true
} catch (error) {
ElMessage.error('加载录取通知书失败')
}
}
const handleConfirm = () => {
ElMessageBox.confirm('是否确认已打印并发放本通知书?请谨慎操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
return sureLQTZ({ id: currentId.value })
}).then(() => {
ElMessage.success('保存成功')
visible.value = false
emit('refresh')
}).catch(() => {
// 用户取消操作
})
}
const handleClose = () => {
visible.value = false
}
return {
visible,
pdfPath,
canConfirm,
init,
handleConfirm,
handleClose
}
}
}
</script>
<style scoped>
.dialog-footer {
text-align: right;
}
</style>