This commit is contained in:
weizhong committed 2025-10-10 17:05:57 +08:00
commit 4a6a6728e4
7 files changed
+304 -10

No files matched your search

@@ -167,7 +167,7 @@
</template>
</el-table-column>
<el-table-column label="实习地点" align="center" prop="companyAddress" width="120" show-overflow-tooltip />
<el-table-column label="操作" width="280" align="center" fixed="right" class-name="small-padding fixed-width">
<el-table-column label="操作" width="320" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="查看详情" placement="top">
<el-button link type="info" icon="View" @click="handleView(scope.row)" v-hasPermi="['zsjy:internship:query']"></el-button>
@@ -178,6 +178,9 @@
<el-tooltip content="编辑实习信息" placement="top" v-if="scope.row.internshipId">
<el-button link type="primary" icon="Edit" @click="handleEdit(scope.row)" v-hasPermi="['zsjy:internship:edit']"></el-button>
</el-tooltip>
<el-tooltip content="实习变更" placement="top" v-if="scope.row.internshipId && scope.row.internshipStatus === '1'">
<el-button link type="warning" icon="Switch" @click="handleChange(scope.row)" v-hasPermi="['zsjy:internship:change']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
@@ -247,6 +250,14 @@
<!-- 编辑弹窗 -->
<EditDialog v-model="showEditDialog" :student-id="selectedStudentId" @success="handleDialogSuccess" />
<!-- 变更弹窗 -->
<ChangeDialog
v-model="showChangeDialog"
:internship-id="selectedInternshipId"
:student-id="selectedStudentId"
@success="handleDialogSuccess"
/>
</div>
</template>
@@ -259,6 +270,7 @@ import { download } from '@/utils/request';
import { ElMessage } from 'element-plus';
import AddDialog from './components/AddDialog.vue';
import EditDialog from './components/EditDialog.vue';
import ChangeDialog from './components/ChangeDialog.vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { internship_status, sys_user_sex } = toRefs<any>(proxy?.useDict('internship_status', 'sys_user_sex'));
@@ -280,6 +292,7 @@ const studentDetail = ref<InternshipInfoVO>();
// 弹窗相关状态
const showAddDialog = ref(false);
const showEditDialog = ref(false);
const showChangeDialog = ref(false);
const selectedStudentInfo = ref<{
studentId: string;
studentName: string;
@@ -290,6 +303,7 @@ const selectedStudentInfo = ref<{
studentNo: ''
});
const selectedStudentId = ref('');
const selectedInternshipId = ref('');
const data = reactive({
queryParams: {
@@ -433,6 +447,13 @@ const handleAdd = (row: InternshipInfoVO) => {
showAddDialog.value = true;
};
/** 变更实习信息按钮操作 */
const handleChange = (row: InternshipInfoVO) => {
selectedInternshipId.value = row.internshipId as string;
selectedStudentId.value = row.studentId as string;
showChangeDialog.value = true;
};
/** 编辑实习信息按钮操作 */
const handleEdit = (row: InternshipInfoVO) => {
selectedStudentId.value = row.studentId;