lisy 3 місяців тому
батько
коміт
3757d7d56b

+ 7 - 0
src/api/training/index.ts

@@ -177,3 +177,10 @@ export const signupContact = (data: any): AxiosPromise => {
         data
     });
 };
+// 取消报名
+export const cancelTrainingSignup = (id: any): AxiosPromise => {
+    return request({
+        url: `/dgtmedicine/trainingSignup/cancelTrainingSignup/${id}`,
+        method: 'get'
+    });
+};

+ 35 - 1
src/views/training/models/meeting-detail-attend.vue

@@ -223,6 +223,8 @@
             <vxe-column v-if="form?.conditions?.totalCheck == '1' || form?.meetingCharge?.hasFee == '1'" title="操作" width="140" align="center" fixed="right">
                 <template #default="{ row }">
                     <div class="d-flex flex-cln">
+                        <el-button class="mb-10" size="small" v-if="row?.res == '5'" @click="openSignup(row)">关闭报名</el-button>
+                        <span></span>
                         <el-button class="mb-10" type="danger" size="small" v-if="row?.res !== '0' && row?.signInFlag !=='1' && form?.conditions?.totalCheck == '1'&& row?.payStatus == '1' && form?.meetingCharge?.hasFee !== '1'" @click="openDialog(row)" style="color: white">重审</el-button>
                         <span></span>
                         <el-button class="mb-10" size="small" color="#33aeeb" @click="openDialog(row)" style="color: white" v-if="row?.res == '0' && form?.conditions?.totalCheck == '1' &&form?.trainingStatus !== '2'">审核</el-button>
@@ -376,10 +378,24 @@
             </div>
         </template>
     </el-dialog>
+    <el-dialog v-model="showcloseSignup" title="" width="500">
+        <template #header>
+            <div class="f-s-18 f-w-5">系统提示</div>
+        </template>
+        <div class="f-s-16 c-333">此人待缴费,报名暂未成功,确认要关闭他的报名信息吗?</div>
+        <div class="h-10"></div>
+        <div class="f-s-12">关闭后在报名截止之前,对方仍可再次进行报名。</div>
+        <template #footer>
+            <div class="dialog-footer">
+                <el-button @click="showcloseSignup = false">取消</el-button>
+                <el-button type="primary" @click="cancelSignup()">确认关闭</el-button>
+            </div>
+        </template>
+    </el-dialog>
     <registrationInfo v-if="showTemporary" v-model:show="showTemporary" :info="temporaryRegistration"></registrationInfo>
 </template>
 <script setup name="MeetingDetailInfo" lang="ts">
-import { exportTrainingMembers, signupApproval, signupCount, trainingMembers,editPrice,confirmSigPublicPay,uploadInvoice,markTags,signupContact} from '@/api/training';
+import { exportTrainingMembers, signupApproval, signupCount, trainingMembers,editPrice,confirmSigPublicPay,uploadInvoice,markTags,signupContact,cancelTrainingSignup} from '@/api/training';
 import { colNoData } from '@/utils/noData';
 import { searchTabs } from '@/views/models';
 import { debounce } from 'lodash';
@@ -429,6 +445,7 @@ const rules = reactive({
         { required: false, trigger: 'blur' }
     ]
 })
+const showcloseSignup = ref(false)
 const showTemporary = ref(false);
 const dialogVisible = ref(false);
 const temporaryRegistration = ref();
@@ -455,6 +472,7 @@ const contactPersonData = ref({
     contactName:'',
     contactTel:''
 })
+const SignupId = ref()
 const openPersonnelLabel = (id)=>{
     radioLabel.value = []
     personnelLabel.value = true
@@ -598,6 +616,22 @@ const handleSuccess = async (res, uploadFile) => {
     }
     getList();
 }
+const openSignup = (row)=>{
+    showcloseSignup.value = true
+    SignupId.value = row?.id
+}
+const cancelSignup = async()=>{
+  const res =  await cancelTrainingSignup(SignupId.value)
+  showcloseSignup.value = false
+  SignupId.value = ''
+  if(res.code ==200){
+    ElMessage({
+            message: '关闭报名成功',
+            type: 'success',
+        })
+  }
+    getList();
+}
 const openPDF = (url)=>{
     window.open(url)
 }