47 4 bulan lalu
induk
melakukan
12d46f140e

+ 19 - 0
src/api/system/studentSelectSupervisorRecord/index.ts

@@ -77,5 +77,24 @@ export const studentSelectSupervisorRecordApi = {
     return await request.put({ url: `/system/student-select-supervisor-record/getSelectionBookList`, data })
   },
   
+  // 获取导师的最近一次的签名
+  getSupervisorSignature: async (id: number) => {
+    return await request.get({ url: `/system/student-select-supervisor-record/getSupervisorSignature?id=` + id })
+  },
+
+  // 获得待审批记录分页 
+  pendingApprovalPage: async (params: PageParam) => {
+    return await request.get({ url: `/system/student-select-supervisor-record/pendingApprovalPage`, params })
+  },
+
+   // 获得已审批记录分页 
+   approvedRecordPage: async (params: PageParam) => {
+    return await request.get({ url: `/system/student-select-supervisor-record/approvedRecordPage`, params })
+  },
+
+  // 学院新增互选记录
+  collegeCreate: async (data: studentSelectSupervisorRecordVO) => {
+    return await request.post({ url: `/system/student-select-supervisor-record/collegeCreate`, data })
+  },
 
 }

+ 10 - 1
src/api/system/user/index.ts

@@ -149,7 +149,6 @@ export const importTeacherTemplate = () => {
   return request.download({ url: '/system/user/get-import-teacherTemplate' })
 }
 
-//这些都没用,不是都在那个importForm定义的吗
 // 导入导师
 export const importTeacherExcel = (data) => {
   return request.post({ url: '/system/user/importTeacher', data })
@@ -208,3 +207,13 @@ export const getDetail = () => {
 export const getGraduateCount = () => {
   return request.get({ url: '/system/user/getGraduateCount' })
 }
+
+// 获取今年项目学生通过分页
+export const getPassedStudentsPage = (params: PageParam) => {
+  return request.get({ url: '/system/user/getPassedStudentsPage', params })
+}
+
+// 获取今年项目学生未通过分页
+export const getUnPassedStudentsPage = (params: PageParam) => {
+  return request.get({ url: '/system/user/getUnPassedStudentsPage', params })
+}

+ 1 - 0
src/utils/dict.ts

@@ -134,6 +134,7 @@ export enum DICT_TYPE {
   SYSTEM_STUDENT_GRADUATE_STATUS = 'system_student_graduate_status',// 是否达成毕业条件
   SYSTEM_STUDENT_MASTER_TYPE = 'system_student_master_type',
   SYSTEM_STUDENT_SELECT_RECORD_SELECT_TYPE = 'system_student_select_record_select_type',
+  SYSTEM_STUDENT_SELECT_RECORD_SELECT_STATUS = 'system_student_select_record_select_status',
 
   // ========== INFRA 模块 ==========
   INFRA_BOOLEAN_STRING = 'infra_boolean_string',

+ 2 - 2
src/views/system/studentSelection/studentSelectSupervisorRecord/index.vue

@@ -183,7 +183,7 @@
             type="primary"
             @click="agreeOpenForm('agree', scope.row.projectId,scope.row.supervisorId,scope.row.id,scope.row.studentId)"
             v-hasPermi="['system:student-select-supervisor-record:agree']"
-            v-if="userInfo?.userType === '3' &&scope.row.selectType ==1"
+            v-if="userInfo?.userType === '3' && scope.row.selectType === 1 || userInfo?.userType === '5' && scope.row.selectType === 1"
           >
             通过
           </el-button>
@@ -193,7 +193,7 @@
             type="danger"
             @click="handelRefuse(scope.row.id)"
             v-hasPermi="['system:student-select-supervisor-record:refuse']"
-            v-if="userInfo?.userType === '3' &&scope.row.selectType ==1"
+            v-if="userInfo?.userType === '3' &&scope.row.selectType === 1 || userInfo?.userType === '5' && scope.row.selectType === 1"
           >
             退回
           </el-button>

+ 43 - 1
src/views/system/studentSelection/studentSelectSupervisorRecord/studentSelectSupervisorRecordForm.vue

@@ -209,7 +209,8 @@ const supervisorData = ref({
   remark: ' ',
   major:'',
   studentAchievementRequirement:"",
-  title:""
+  title:"",
+  workSupervisor:""
 })
 
 const studentData = ref({
@@ -360,6 +361,44 @@ const open = async (type: string, projectId?: number, supervisorId?:number, id?:
     await getProjectSupervisors(projectId)
     
   }
+  if (type === 'updatetwo'){
+    dialogTitle.value = '志愿编辑'
+    submitFormText.value = '编辑'
+    formType.value = type
+    resetForm()
+    if (id) {
+      formLoading.value = true
+      try {
+        formData.value = await studentSelectSupervisorRecordApi.getStudentSelectSupervisorRecord(id)
+        // console.log(formData.value,'formData.value');
+      } finally {
+        formLoading.value = false
+      }
+    }
+    if (studentId) {
+      formLoading.value = true
+      try {
+        const result =await UserApi.getUser(studentId)
+        studentData.value.nickname=result.nickname
+        studentData.value.userNumber=result.userNumber
+        studentData.value.major=result.major
+        studentData.value.mobile=result.mobile
+
+        const supervisor = await supervisorSelectionSettingApi.getSupervisorInfo(supervisorId,projectId);
+        //显示的
+        supervisorData.value.nickname = supervisor.supervisorName;
+        supervisorData.value.title =supervisor.title;
+        supervisorData.value.studentAchievementRequirement = supervisor.studentAchievementRequirement;
+        supervisorData.value.major = supervisor.major;
+        supervisorData.value.workSupervisor = supervisor.workSupervisor;
+        formData.value = await studentSelectSupervisorRecordApi.getStudentSelectSupervisorRecord(id)
+      } finally {
+        formLoading.value = false
+      }
+    }
+    
+    await getProjectSupervisors(projectId)
+  }
   if (type === 'end'){
     dialogTitle.value = '详情'
     submitFormText.value = '编辑'
@@ -531,6 +570,9 @@ const submitForm = async () => {
     } else if (formType.value === 'agree') {
       await studentSelectSupervisorRecordApi.agreeStudentSelectSupervisorRecord(data);
       message.success("已经同意申请");
+    }else if (formType.value === 'updatetwo') {
+      await studentSelectSupervisorRecordApi.collegeCreate(data);
+      message.success("common.createSuccess");
     }
     dialogVisible.value = false;
     emit('success');

+ 12 - 12
src/views/system/studentSelection/studentSelectionDone/inedx.vue

@@ -9,7 +9,7 @@
     <el-form-item label="参与导师" prop="supervisorIds">
       <el-select
         v-model="queryForm.supervisorId"
-        @change="getPassList"
+        @change="getDoneList"
         placeholder="请选择参与导师"
         clearable
         filterable
@@ -27,7 +27,7 @@
     <el-form-item label="请选择项目" prop="projectId">
       <el-select
         v-model="queryForm.projectId"
-        @change="getPassList"
+        @change="getDoneList"
         placeholder="请选择项目"
         clearable
         filterable
@@ -71,7 +71,7 @@
     <el-form-item label="选择状态" prop="selectType">
       <el-select
         v-model="queryForm.selectType"
-        @change="getPassList"
+        @change="getDoneList"
         placeholder="请选择选择状态"
         clearable
         class="!w-240px"
@@ -91,7 +91,7 @@
   </ContentWrap>
 
   <ContentWrap>
-    <el-table :data="passList" :loading="loading" :show-overflow-tooltip="true">
+    <el-table :data="doneList" :loading="loading" :show-overflow-tooltip="true">
       <el-table-column type="index" />
       <el-table-column label="项目名称" align="center" prop="projectName" />
       <el-table-column label="学生姓名" align="center" prop="studentName" />
@@ -166,14 +166,14 @@ const queryForm = ref({
   selectType:undefined,
 })
 
-const passList = ref<studentSelectSupervisorRecordVO[]>([]) //下面的选择记录列表
-const getPassList = async () => {
+const doneList = ref<studentSelectSupervisorRecordVO[]>([]) //下面的选择记录列表
+const getDoneList = async () => {
   loading.value = true
   try {
-    const data = await studentSelectSupervisorRecordApi.getStudentSelectSupervisorRecordPage(queryForm)
-    passList.value = data
-    // console.log("passList", passList.value);
-    passList.value = data.list
+    const data = await studentSelectSupervisorRecordApi.approvedRecordPage(queryForm.value)
+    doneList.value = data
+    console.log("doneList", doneList.value);
+    doneList.value = data.list
     total.value = data.total
   } finally {
     loading.value = false
@@ -212,7 +212,7 @@ const gradeOptions = computed(() => {
 
 const handleQuery = () => {
   queryForm.value.pageNo = 1
-  getPassList()
+  getDoneList()
 }
 
 const queryFormRef = ref()
@@ -223,7 +223,7 @@ const resetQuery = () => {
 
 
 onMounted(() => {
-  getPassList()
+  getDoneList()
   getSupervisor()
   getAllProject()
 })

+ 54 - 55
src/views/system/studentSelection/studentSelectionNo/index.vue

@@ -9,7 +9,7 @@
     <el-form-item label="参与导师" prop="supervisorIds">
       <el-select
         v-model="queryForm.supervisorId"
-        @change="getPassList"
+        @change="getUnPassList"
         placeholder="请选择参与导师"
         clearable
         filterable
@@ -24,24 +24,6 @@
       </el-select>
     </el-form-item>
   
-    <el-form-item label="请选择项目" prop="projectId">
-      <el-select
-        v-model="queryForm.projectId"
-        @change="getPassList"
-        placeholder="请选择项目"
-        clearable
-        filterable
-        class="!w-240px"
-      >
-        <el-option
-          v-for="project in projects"
-          :key="project.id"
-          :label="project.projectName"
-          :value="project.id"
-        />
-      </el-select>
-    </el-form-item>
-  
     <el-form-item label="参与学生年级" prop="studentGrade">
       <el-select
         v-model="queryForm.studentGrade"
@@ -61,26 +43,24 @@
   
     <el-form-item label="学生姓名">
       <el-input
-        v-model="queryForm.studentName"
+        v-model="queryForm.nickname"
         placeholder="请输入学生名称"
         clearable
         @keyup.enter="handleQuery"
         class="!w-240px"
       />
     </el-form-item>
-    <el-form-item label="选择状态" prop="selectType">
+    <el-form-item label="选择状态" prop="selectStatus">
       <el-select
-        v-model="queryForm.selectType"
-        @change="getPassList"
+        v-model="queryForm.selectStatus"
+        @change="getUnPassList"
         placeholder="请选择选择状态"
         clearable
         class="!w-240px"
       >
-        <el-option label="撤回" value="0" />
         <el-option label="待处理" value="1" />
-        <el-option label="同意" value="2" />
-        <el-option label="退回" value="3" />
-        <el-option label="志愿编辑" value="4" />
+        <el-option label="已通过" value="2" />
+        <el-option label="未提交" value="0" />
       </el-select>
     </el-form-item>
     <el-form-item>
@@ -91,50 +71,63 @@
   </ContentWrap>
 
   <ContentWrap>
-    <el-table :data="passList" :loading="loading" :show-overflow-tooltip="true">
+    <el-table :data="unpassList" :loading="loading" :show-overflow-tooltip="true">
       <el-table-column type="index" />
-      <el-table-column label="项目名称" align="center" prop="projectName" />
-      <el-table-column label="学生姓名" align="center" prop="studentName" />
+      <el-table-column label="学生姓名" align="center" prop="nickname" />
+      <el-table-column label="学号" align="center" prop="userNumber" />
+      <el-table-column label="年级" align="center" prop="grade" />
       <el-table-column label="硕士类型" align="center" prop="masterType" >
         <template #default="scope">
           <dict-tag :type="DICT_TYPE.SYSTEM_STUDENT_MASTER_TYPE" :value="scope.row.masterType" />
         </template>
       </el-table-column>
-      <el-table-column label="导师姓名" align="center" prop="supervisor" />
-      <el-table-column label="导师类型" align="center" prop="supervisorType" />
-      <el-table-column label="申请状态" align="center" prop="selectType" >
+      <el-table-column label="电话号码" align="center" prop="mobile" />
+      <!-- <el-table-column label="导师姓名" align="center" prop="supervisor" /> -->
+      <el-table-column label="选择状态" align="center" prop="selectStatus">
         <template #default="scope">
-          <dict-tag :type="DICT_TYPE.SYSTEM_STUDENT_SELECT_RECORD_SELECT_TYPE" :value="scope.row.selectType" />
+          <dict-tag :type="DICT_TYPE.SYSTEM_STUDENT_SELECT_RECORD_SELECT_STATUS" :value="scope.row.selectStatus" />
         </template>
       </el-table-column>
-      <el-table-column label="学生电子签名" align="center" prop="studentSignature" min-width="100px">
+      <el-table-column label="照片" align="center" prop="photoUrl">
         <template #default="scope">
-          <img v-if="scope.row.studentSignature" :src="scope.row.studentSignature" style="width: 100px; height: 50px;" />
+          <img :src="scope.row.photoUrl" class="w-100px h-100px" />
         </template>
       </el-table-column>
-      <el-table-column label="导师电子签名" align="center" prop="supervisorSignature" min-width="100px">
+      <el-table-column label="操作" align="center">
         <template #default="scope">
-          <img v-if="scope.row.supervisorSignature" :src="scope.row.supervisorSignature" style="width: 100px; height: 50px;" />
+          <!-- 待处理 -->
+          <el-button
+            type="text"
+            @click="openForm('update',  scope.row.projectId,scope.row.supervisorId,scope.row.id,scope.row.studentId)"
+            v-hasPermi="['system:student-select-supervisor-record:update']"
+            v-if="scope.row.selectStatus === 1"
+          >
+            志愿编辑  
+          </el-button>
+          <!-- 未提交 -->
+          <el-button
+            type="text"
+            @click="openForm('updatetwo',  scope.row.projectId,scope.row.supervisorId,scope.row.id,scope.row.studentId)"
+            v-hasPermi="['system:student-select-supervisor-record:update']"
+            v-if="scope.row.selectStatus === 0"
+          >
+            志愿编辑
+          </el-button>
         </template>
       </el-table-column>
-      <el-table-column
-        label="提交时间"
-        align="center"
-        prop="createTime"
-        :formatter="dateFormatter"
-        width="180px"
-      />
     </el-table>
   </ContentWrap>
+  <studentSelectSupervisorRecordForm ref="formRef" @success="getUnPassList" />
 </template>
 
 <script setup lang="ts">
 import { ref } from 'vue'
 import {DICT_TYPE} from "@/utils/dict";
-import { dateFormatter } from '@/utils/formatTime'
+// import { dateFormatter } from '@/utils/formatTime'
 import {studentSelectSupervisorRecordApi, studentSelectSupervisorRecordVO} from "@/api/system/studentSelectSupervisorRecord";
 import {studentSelectionProjectApi, studentSelectionProjectVO} from "@/api/system/studentSelectionProject"
 import * as UserApi from '@/api/system/user'
+import studentSelectSupervisorRecordForm from '../studentSelectSupervisorRecord/studentSelectSupervisorRecordForm.vue'
 
 defineOptions({ name: 'StudentSelectionWait' })
 
@@ -152,21 +145,22 @@ const queryForm = ref({
   externalSupervisorId:undefined,
   supervisor:undefined,
   userType:undefined,
-  studentName:"",
+  nickname:"",
   createTime: [],
   projectName:"",
   studentGrade:"",
   selectType:undefined,
+  selectStatus:undefined,
 })
 
-const passList = ref<studentSelectSupervisorRecordVO[]>([]) //下面的选择记录列表
-const getPassList = async () => {
+const unpassList = ref<studentSelectSupervisorRecordVO[]>([]) //下面的选择记录列表
+const getUnPassList = async () => {
   loading.value = true
   try {
-    const data = await studentSelectSupervisorRecordApi.getStudentSelectSupervisorRecordPage(queryForm)
-    passList.value = data
-    // console.log("passList", passList.value);
-    passList.value = data.list
+    const data = await UserApi.getUnPassedStudentsPage(queryForm.value)
+    unpassList.value = data
+    console.log("unpassList", unpassList.value);
+    unpassList.value = data.list
     total.value = data.total
   } finally {
     loading.value = false
@@ -205,7 +199,7 @@ const gradeOptions = computed(() => {
 
 const handleQuery = () => {
   queryForm.value.pageNo = 1
-  getPassList()
+  getUnPassList()
 }
 
 const queryFormRef = ref()
@@ -214,9 +208,14 @@ const resetQuery = () => {
   handleQuery()
 }
 
+const formRef = ref(); // 确保初始化为 null
+const openForm = (type: string, projectId?: number, supervisorId?:number, id?:number, studentId?:number) => {
+  formRef.value.open(type, projectId, supervisorId, id, studentId)
+}
+
 
 onMounted(() => {
-  getPassList()
+  getUnPassList()
   getSupervisor()
   getAllProject()
 })

+ 12 - 12
src/views/system/studentSelection/studentSelectionWait/index.vue

@@ -9,7 +9,7 @@
     <el-form-item label="参与导师" prop="supervisorIds">
       <el-select
         v-model="queryForm.supervisorId"
-        @change="getPassList"
+        @change="getWaitList"
         placeholder="请选择参与导师"
         clearable
         filterable
@@ -27,7 +27,7 @@
     <el-form-item label="请选择项目" prop="projectId">
       <el-select
         v-model="queryForm.projectId"
-        @change="getPassList"
+        @change="getWaitList"
         placeholder="请选择项目"
         clearable
         filterable
@@ -71,7 +71,7 @@
     <el-form-item label="选择状态" prop="selectType">
       <el-select
         v-model="queryForm.selectType"
-        @change="getPassList"
+        @change="getWaitList"
         placeholder="请选择选择状态"
         clearable
         class="!w-240px"
@@ -91,7 +91,7 @@
   </ContentWrap>
 
   <ContentWrap>
-    <el-table :data="passList" :loading="loading" :show-overflow-tooltip="true">
+    <el-table :data="waitList" :loading="loading" :show-overflow-tooltip="true">
       <el-table-column type="index" />
       <el-table-column label="项目名称" align="center" prop="projectName" />
       <el-table-column label="学生姓名" align="center" prop="studentName" />
@@ -152,14 +152,14 @@ const queryForm = ref({
   selectType:undefined,
 })
 
-const passList = ref<studentSelectSupervisorRecordVO[]>([]) //下面的选择记录列表
-const getPassList = async () => {
+const waitList = ref<studentSelectSupervisorRecordVO[]>([]) //下面的选择记录列表
+const getWaitList = async () => {
   loading.value = true
   try {
-    const data = await studentSelectSupervisorRecordApi.getStudentSelectSupervisorRecordPage(queryForm)
-    passList.value = data
-    // console.log("passList", passList.value);
-    passList.value = data.list
+    const data = await studentSelectSupervisorRecordApi.pendingApprovalPage(queryForm.value)
+    waitList.value = data
+    console.log("waitList", waitList.value);
+    waitList.value = data.list
     total.value = data.total
   } finally {
     loading.value = false
@@ -198,7 +198,7 @@ const gradeOptions = computed(() => {
 
 const handleQuery = () => {
   queryForm.value.pageNo = 1
-  getPassList()
+  getWaitList()
 }
 
 const queryFormRef = ref()
@@ -209,7 +209,7 @@ const resetQuery = () => {
 
 
 onMounted(() => {
-  getPassList()
+  getWaitList()
   getSupervisor()
   getAllProject()
 })

+ 28 - 29
src/views/system/studentSelection/studentSelectionYes/index.vue

@@ -61,7 +61,7 @@
   
     <el-form-item label="学生姓名">
       <el-input
-        v-model="queryForm.studentName"
+        v-model="queryForm.nickname"
         placeholder="请输入学生名称"
         clearable
         @keyup.enter="handleQuery"
@@ -93,55 +93,50 @@
   <ContentWrap>
     <el-table :data="passList" :loading="loading" :show-overflow-tooltip="true">
       <el-table-column type="index" />
-      <el-table-column label="项目名称" align="center" prop="projectName" />
-      <el-table-column label="学生姓名" align="center" prop="studentName" />
+      <el-table-column label="学生姓名" align="center" prop="nickname" />
+      <el-table-column label="学号" align="center" prop="userNumber" />
+      <el-table-column label="年级" align="center" prop="grade" />
       <el-table-column label="硕士类型" align="center" prop="masterType" >
         <template #default="scope">
           <dict-tag :type="DICT_TYPE.SYSTEM_STUDENT_MASTER_TYPE" :value="scope.row.masterType" />
         </template>
       </el-table-column>
+      <el-table-column label="电话号码" align="center" prop="mobile" />
       <el-table-column label="导师姓名" align="center" prop="supervisor" />
-      <el-table-column label="导师类型" align="center" prop="supervisorType" />
-      <el-table-column label="申请状态" align="center" prop="selectType" >
+      <el-table-column label="选择状态" align="center" prop="selectStatus">
         <template #default="scope">
-          <dict-tag :type="DICT_TYPE.SYSTEM_STUDENT_SELECT_RECORD_SELECT_TYPE" :value="scope.row.selectType" />
+          <dict-tag :type="DICT_TYPE.SYSTEM_STUDENT_SELECT_RECORD_SELECT_STATUS" :value="scope.row.selectStatus" />
         </template>
       </el-table-column>
-      <el-table-column label="学生电子签名" align="center" prop="studentSignature" min-width="100px">
+      <el-table-column label="照片" align="center" prop="photoUrl">
         <template #default="scope">
-          <img v-if="scope.row.studentSignature" :src="scope.row.studentSignature" style="width: 100px; height: 50px;" />
+          <img :src="scope.row.photoUrl" class="w-100px h-100px" />
         </template>
       </el-table-column>
-      <el-table-column label="导师电子签名" align="center" prop="supervisorSignature" min-width="100px">
+      <el-table-column label="操作" align="center">
         <template #default="scope">
-          <img v-if="scope.row.supervisorSignature" :src="scope.row.supervisorSignature" style="width: 100px; height: 50px;" />
+          <el-button
+            type="text"
+            @click="openForm('update',  scope.row.projectId,scope.row.supervisorId,scope.row.id,scope.row.studentId)"
+            v-hasPermi="['system:student-select-supervisor-record:update']"
+          >
+            志愿编辑
+          </el-button>
         </template>
       </el-table-column>
-      <el-table-column
-        label="提交时间"
-        align="center"
-        prop="createTime"
-        :formatter="dateFormatter"
-        width="180px"
-      />
-      <el-table-column
-        label="导师审批时间"
-        align="center"
-        prop="supervisorApproveTime"
-        :formatter="dateFormatter"
-        width="180px"
-      />
     </el-table>
   </ContentWrap>
+  <studentSelectSupervisorRecordForm ref="formRef" @success="getPassList" />
 </template>
 
 <script setup lang="ts">
 import { ref } from 'vue'
 import {DICT_TYPE} from "@/utils/dict";
 import { dateFormatter } from '@/utils/formatTime'
-import {studentSelectSupervisorRecordApi, studentSelectSupervisorRecordVO} from "@/api/system/studentSelectSupervisorRecord";
+// import {studentSelectSupervisorRecordApi, studentSelectSupervisorRecordVO} from "@/api/system/studentSelectSupervisorRecord";
 import {studentSelectionProjectApi, studentSelectionProjectVO} from "@/api/system/studentSelectionProject"
 import * as UserApi from '@/api/system/user'
+import studentSelectSupervisorRecordForm from '../studentSelectSupervisorRecord/studentSelectSupervisorRecordForm.vue'
 
 defineOptions({ name: 'StudentSelectionWait' })
 
@@ -159,20 +154,20 @@ const queryForm = ref({
   externalSupervisorId:undefined,
   supervisor:undefined,
   userType:undefined,
-  studentName:"",
+  nickname:"",
   createTime: [],
   projectName:"",
   studentGrade:"",
   selectType:undefined,
 })
 
-const passList = ref<studentSelectSupervisorRecordVO[]>([]) //下面的选择记录列表
+const passList = ref([]) //下面的选择记录列表
 const getPassList = async () => {
   loading.value = true
   try {
-    const data = await studentSelectSupervisorRecordApi.getStudentSelectSupervisorRecordPage(queryForm)
+    const data = await UserApi.getPassedStudentsPage(queryForm.value)
     passList.value = data
-    // console.log("passList", passList.value);
+    console.log("passList", passList.value);
     passList.value = data.list
     total.value = data.total
   } finally {
@@ -221,6 +216,10 @@ const resetQuery = () => {
   handleQuery()
 }
 
+const formRef = ref(); // 确保初始化为 null
+const openForm = (type: string, projectId?: number, supervisorId?:number, id?:number, studentId?:number) => {
+  formRef.value.open(type, projectId, supervisorId, id, studentId)
+}
 
 onMounted(() => {
   getPassList()

+ 17 - 7
src/views/system/supervisorSelectionSetting/index.vue

@@ -170,7 +170,7 @@
             招生详情
           </el-button>
           <!--志愿填报修改-->
-          <el-button
+          <!-- <el-button
             link
             type="primary"
             @click="handelWithdraw( scope.row.supervisorId)"
@@ -178,7 +178,7 @@
             v-if="userInfo?.userType === '1' && scope.row.selectType ==1"
           >
             撤回
-          </el-button>
+          </el-button> -->
 
 <!--名额设置-->
           <el-button
@@ -348,6 +348,7 @@ const userInfo = ref({} as ProfileVO)
 const getUserInfo = async () => {
   const users = await getUserProfile()
   userInfo.value = users
+  console.log("userInfo",userInfo.value);
 }
 
 /** 搜索按钮操作 */
@@ -413,14 +414,22 @@ const openTeacherRequireForm = (supervisorId?: number, userType?: string) => {
   teacherRequireFormRef.value.open("detail",supervisorId,userType)
 }
 
+const selectStatus = ref()
+const getUser = async () => {
+  const result = await UserApi.getUser(userInfo.value.id)
+  selectStatus.value = result.selectStatus
+  console.log("selectStatus",selectStatus.value);
+}
 //志愿填报弹窗
 const studentSelectSupervisorPop= ref()
-const openStudentSelectSupervisorPop =  (type: string, projectId?: number,supervisorId? :number,id:number,studentId:number) => {
-
-  studentSelectSupervisorPop.value.open(type, projectId ,supervisorId,id,studentId)
+const openStudentSelectSupervisorPop =  (id:number,studentId:number,type: string, projectId?: number,supervisorId? :number) => {
+  if(selectStatus.value !== 1){
+    message.error("已存在申请")
+  }else{
+    studentSelectSupervisorPop.value.open(id,studentId,type, projectId ,supervisorId)
+  } 
 }
 
-
 const recordData = ref({
   id: undefined,
   projectId: undefined,
@@ -462,8 +471,9 @@ const getRecordList = async () => {
 /** 初始化 **/
 onMounted(async () => {
   getList()
-  getUserInfo()
+  await getUserInfo()
   getSupervisor()
   await getRecordList()
+  getUser()
 })
 </script>