This commit is contained in:
zhoutianchi
2026-02-09 16:04:55 +08:00
parent 88cfb1985a
commit 9ac3a36efa
5 changed files with 26 additions and 9 deletions

View File

@@ -42,7 +42,7 @@ export const getObj = (id: string | number) => {
*/ */
export const delObj = (id: string | number) => { export const delObj = (id: string | number) => {
return request({ return request({
url: `/recruit/recruitstudentplan/deletById`, url: `/recruit/recruitstudentplan/deleteById`,
method: 'post', method: 'post',
data: { id :id}, data: { id :id},
}); });

View File

@@ -15,6 +15,7 @@
</div> </div>
<el-upload <el-upload
ref="uploadRef"
class="upload-demo" class="upload-demo"
:action="uploadUrl" :action="uploadUrl"
:headers="headers" :headers="headers"
@@ -34,7 +35,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue'; import { ref, computed, nextTick } from 'vue';
import { ElNotification } from 'element-plus'; import { ElNotification } from 'element-plus';
import { Download, UploadFilled } from '@element-plus/icons-vue'; import { Download, UploadFilled } from '@element-plus/icons-vue';
import { Session } from '/@/utils/storage'; import { Session } from '/@/utils/storage';
@@ -54,6 +55,7 @@ const headers = computed(() => {
const uploadUrl = ref('') const uploadUrl = ref('')
const currentType = ref('') const currentType = ref('')
const uploadRef = ref<{ clearFiles?: () => void }>()
const titleMap: Record<string, string> = { const titleMap: Record<string, string> = {
titleRelation: '职称信息导入', titleRelation: '职称信息导入',
quaRelation: '职业资格信息导入', quaRelation: '职业资格信息导入',
@@ -68,6 +70,9 @@ const init = (type: any) => {
uploadUrl.value = '/professional/file/importTeacherOtherInfo?type=' + type uploadUrl.value = '/professional/file/importTeacherOtherInfo?type=' + type
title.value = titleMap[type] || '信息导入' title.value = titleMap[type] || '信息导入'
visible.value = true visible.value = true
nextTick(() => {
uploadRef.value?.clearFiles()
})
} }
// Emits // Emits

View File

@@ -17,12 +17,14 @@
<!-- </div>--> <!-- </div>-->
<el-upload <el-upload
ref="uploadRef"
class="upload-demo" class="upload-demo"
action="/professional/file/makeImportTeacherInfoSimpleTask" action="/professional/file/makeImportTeacherInfoSimpleTask"
:headers="headers" :headers="headers"
:accept="'.xls,.xlsx'" :accept="'.xls,.xlsx'"
:on-success="handleUploadSuccess" :on-success="handleUploadSuccess"
:on-error="handleAvatarError" :on-error="handleAvatarError"
:limit="1"
drag> drag>
<el-icon class="el-icon--upload"><upload-filled /></el-icon> <el-icon class="el-icon--upload"><upload-filled /></el-icon>
<div class="el-upload__text"> <div class="el-upload__text">
@@ -38,7 +40,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue' import { ref, computed, nextTick } from 'vue'
import { ElNotification } from 'element-plus' import { ElNotification } from 'element-plus'
import { Download, UploadFilled } from '@element-plus/icons-vue' import { Download, UploadFilled } from '@element-plus/icons-vue'
import { Session } from '/@/utils/storage' import { Session } from '/@/utils/storage'
@@ -53,9 +55,14 @@
} }
}) })
const uploadRef = ref<{ clearFiles?: () => void }>()
// 方法 // 方法
const init = () => { const init = () => {
visible.value = true visible.value = true
nextTick(() => {
uploadRef.value?.clearFiles?.()
})
} }
const handleUploadSuccess = () => { const handleUploadSuccess = () => {

View File

@@ -5,6 +5,7 @@
</div> </div>
<el-upload <el-upload
ref="uploadRef"
class="upload-demo" class="upload-demo"
:action="uploadUrl" :action="uploadUrl"
:headers="headers" :headers="headers"
@@ -24,7 +25,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue'; import { ref, computed, nextTick } from 'vue';
import { ElNotification } from 'element-plus'; import { ElNotification } from 'element-plus';
import { Download, UploadFilled } from '@element-plus/icons-vue'; import { Download, UploadFilled } from '@element-plus/icons-vue';
import { Session } from '/@/utils/storage'; import { Session } from '/@/utils/storage';
@@ -44,20 +45,24 @@ const headers = computed(() => {
const uploadUrl = ref('') const uploadUrl = ref('')
const currentType = ref('') const currentType = ref('')
const uploadRef = ref<{ clearFiles?: () => void }>()
const titleMap: Record<string, string> = { const titleMap: Record<string, string> = {
planMajor: '计划专业导入' planMajor: '计划专业导入'
} }
// 方法 // 方法
const init = (type: any) => { const init = (type: any) => {
currentType.value = type currentType.value = type
uploadUrl.value = '/professional/file/importTeacherOtherInfo?type=' + type uploadUrl.value = '/api/recruit/file/importRecruitInfo?type=' + type
title.value = titleMap[type] || '信息导入' title.value = titleMap[type] || '信息导入'
visible.value = true visible.value = true
nextTick(() => {
uploadRef.value?.clearFiles()
})
} }
// Emits // Emits
const emit = defineEmits<{ const emit = defineEmits<{
(e: 'refreshData'): void (e: 'refreshDataList'): void
}>() }>()
const handleUploadSuccess = () => { const handleUploadSuccess = () => {
@@ -68,7 +73,7 @@ const handleUploadSuccess = () => {
type: 'success', type: 'success',
}); });
emit('refreshData') emit('refreshDataList')
}; };
const handleAvatarError = (err: any) => { const handleAvatarError = (err: any) => {

View File

@@ -124,7 +124,7 @@
<!-- 弹窗, 新增 / 修改 --> <!-- 弹窗, 新增 / 修改 -->
<table-form ref="addOrUpdateRef" @refreshDataList="getDataList" /> <table-form ref="addOrUpdateRef" @refreshDataList="getDataList" />
<import-recruit-info ref="ImportRecruitInfoRef"></import-recruit-info> <import-recruit-info ref="ImportRecruitInfoRef" @refreshDataList="getDataList"></import-recruit-info>
</div> </div>
</div> </div>
</template> </template>
@@ -283,7 +283,7 @@ const resetQuery = () => {
const exportLoading = ref(false); const exportLoading = ref(false);
const handleImportDialog = () => { const handleImportDialog = () => {
ImportRecruitInfoRef.value?.init("planMajor"); ImportRecruitInfoRef.value?.init("R10001");
}; };
onMounted(() => { onMounted(() => {