This commit is contained in:
zhoutianchi
2026-02-26 16:08:25 +08:00
parent 1ce6db425e
commit a9e5e2b368
10 changed files with 619 additions and 171 deletions

View File

@@ -42,13 +42,29 @@
<!-- 操作按钮 -->
<div class="mb15">
<el-button
v-if="hasAuth('recruit_recruitstudentplangroup_add')"
v-if="hasAuth('recruit_recruitstudentschool_add')"
type="primary"
icon="FolderAdd"
@click="addOrUpdateHandle"
>
</el-button>
<el-button
v-auth="'recruit_studentschool_import'"
type="primary"
plain
icon="UploadFilled"
@click="handleImportDialog"
>导入信息
</el-button>
<el-button
v-if="hasAuth('recruit_schoolhistory_view')"
type="plain"
icon="View"
@click="handleShowHistory"
>
变更历史
</el-button>
</div>
<!-- 表格 -->
@@ -109,6 +125,11 @@
<!-- 弹窗, 新增 / 修改 -->
<table-form ref="addOrUpdateRef" @refreshDataList="getDataList" />
<major-group-by-dept-form v-if="majorGroupByDeptVisible" ref="majorGroupByDeptRef" />
<school-history ref="SchoolHistoryRef"></school-history>
<import-recruit-info ref="ImportRecruitInfoRef" @refreshDataList="getDataList"></import-recruit-info>
</div>
</div>
</template>
@@ -124,11 +145,16 @@ import { getDeptList } from '/@/api/basic/basicclass'
const TableForm = defineAsyncComponent(() => import('./detaiform.vue'))
const MajorGroupByDeptForm = defineAsyncComponent(() => import('/@/views/recruit/recruitplanmajor/majorGroupByDept.vue'))
const ImportRecruitInfo = defineAsyncComponent(() => import('/@/views/recruit/common/import-recruit-info.vue'));
const SchoolHistory = defineAsyncComponent(() => import('/@/views/recruit/recruitstudentschool/school-history.vue'))
const { hasAuth } = useAuth()
// 消息提示 hooks
const message = useMessage()
const messageBox = useMessageBox()
const ImportRecruitInfoRef=ref<any>();
const SchoolHistoryRef=ref()
// 表格引用
const tableRef = ref()
const searchFormRef = ref()
@@ -236,6 +262,14 @@ const resetQuery = () => {
getDataList()
}
const handleShowHistory=()=>{
SchoolHistoryRef.value?.init()
}
const handleImportDialog = () => {
ImportRecruitInfoRef.value?.init("R10004");
};
onMounted(() => {
init()
})

View File

@@ -0,0 +1,63 @@
<template>
<el-dialog v-model="visible" width="80%" title="学校变更历史">
<el-table ref="tableRef"
:data="state.dataList"
v-loading="state.loading"
border
stripe
row-key="id"
:cell-style="tableStyle.cellStyle"
:header-cell-style="tableStyle.headerCellStyle">
<el-table-column label="学校代码" prop="schoolCode"></el-table-column>
<el-table-column label="旧名称" prop="oldName"></el-table-column>
<el-table-column label="新名称" prop="newName"></el-table-column>
<el-table-column label="变动时间" prop="createTime"></el-table-column>
</el-table>
<pagination
v-bind="state.pagination"
@current-change="currentChangeHandle"
@size-change="sizeChangeHandle"
/>
</el-dialog>
</template>
<script setup lang="ts">
import {useTable,BasicTableProps} from "/@/hooks/table";
import {fetchList} from "/@/api/recruit/recruitSchoolHistory";
// 表格状态
const state: BasicTableProps = reactive<BasicTableProps>({
queryForm: {},
createdIsNeed: false,
pageList: async (params: any) => {
const response = await fetchList(params)
return {
data: {
records: response.data.records,
total: response.data.total
}
}
},
createdIsNeed: false
})
const visible = ref(false)
const { getDataList, currentChangeHandle, sizeChangeHandle, tableStyle } = useTable(state)
const init=()=>{
visible.value = true
getDataList()
}
defineExpose({
init
})
</script>
<style scoped lang="scss">
</style>