Explorar el Código

完成会议相关,修改报名总数限制

lisy hace 5 meses
padre
commit
4fb821e688

+ 28 - 11
src/views/dgtmedicine/check/index.vue

@@ -5,15 +5,18 @@
                 <div class="f-s-20 c-333 f-w-7 mb-10">会员入会审核</div>
                 <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="auto">
                     <el-form-item label="企业名称" prop="cpyName">
-                        <el-input v-model="queryParams.cpyName" placeholder="搜企业名称关键字" clearable style="width: 180px" @keyup.enter="handleQuery" />
+                        <el-input v-model="queryParams.cpyName" placeholder="搜企业名称关键字" clearable style="width: 180px"
+                            @keyup.enter="handleQuery" />
                     </el-form-item>
                     <el-form-item label="申请时间段" prop="dateRange">
                         <div class="d-flex" style="width: 180px">
-                            <DateRange v-model="queryParams.dateRange" v-model:start-date="queryParams.startDate" v-model:end-date="queryParams.endDate"></DateRange>
+                            <DateRange v-model="queryParams.dateRange" v-model:start-date="queryParams.startDate"
+                                v-model:end-date="queryParams.endDate"></DateRange>
                         </div>
                     </el-form-item>
                     <el-form-item label="缴费状态" prop="paymentStatus">
-                        <el-select style="width: 140px" v-model="queryParams.paymentStatus" clearable placeholder="搜有效期状态">
+                        <el-select style="width: 140px" v-model="queryParams.paymentStatus" clearable
+                            placeholder="搜有效期状态">
                             <el-option label="全部" value=""></el-option>
                             <el-option label="已缴费" value="1"></el-option>
                             <el-option label="未缴费" value="0"></el-option>
@@ -26,14 +29,16 @@
                 </el-form>
             </div>
             <div class="d-flex flex1 ov-hd flex-cln pd-16">
-                <searchTabs :list="memberLevelCountList" v-model="queryParams.reviewStatus" keyLabel="name" @change="handleQuery" keyCount="num" keyValue="type"></searchTabs>
+                <searchTabs :list="memberLevelCountList" v-model="queryParams.reviewStatus" keyLabel="name"
+                    @change="handleQuery" keyCount="num" keyValue="type"></searchTabs>
                 <div class="pd-8"></div>
                 <div class="flex1 ov-hd">
                     <vxe-table :loading="loading" border :data="memberList" min-height="0" max-height="100%">
                         <vxe-column title="企业名称" align="center" field="cpyName" width="220" :formatter="colNoData" />
 
                         <vxe-column title="单位负责人" align="center" field="contact" width="100" :formatter="colNoData" />
-                        <vxe-column title="负责人联系电话" align="center" field="contactTel" wmin-width="100" :formatter="colNoData" />
+                        <vxe-column title="负责人联系电话" align="center" field="contactTel" wmin-width="100"
+                            :formatter="colNoData" />
                         <vxe-column title="会员级别" align="center" field="vipLevel" width="120">
                             <template #default="scope">
                                 <dict-tag :value="scope.row.vipLevel" :options="vip_level" />
@@ -47,29 +52,41 @@
                                 {{ +row.paymentStatus ? '已缴费' : '未缴费' }}
                             </template>
                         </vxe-column>
-                        <vxe-column title="申请时间" align="center" field="createTime" min-width="100" :formatter="colNoData" />
+                        <vxe-column title="申请时间" align="center" field="createTime" min-width="100"
+                            :formatter="colNoData" />
+                        <vxe-column title="审核详情" align="center" width="200">
+                            <template #default="{ row }">
+                                <div v-for="(item, index) in row.approvalLogList">
+
+                                </div>
+                            </template>
+                        </vxe-column>
                         <vxe-column title="审核状态" align="center" width="100">
                             <template #default="{ row }">
                                 <!-- <dict-tag :value="scope.row.reviewStatus" :options="cpy_res_status" /> -->
-                                <span :class="{ ['c-res-' + row?.reviewStatus]: true }">{{ selectDictLabel(cpy_res_status, row?.reviewStatus) }}</span>
+                                <span :class="{ ['c-res-' + row?.reviewStatus]: true }">{{
+                                    selectDictLabel(cpy_res_status, row?.reviewStatus) }}</span>
                             </template>
                         </vxe-column>
-                        <vxe-column title="操作" align="center" width="100" fixed="right" class-name="small-padding fixed-width">
+                        <vxe-column title="操作" align="center" width="100" fixed="right"
+                            class-name="small-padding fixed-width">
                             <template #default="{ row }">
-                                <el-button v-if="!+row?.reviewStatus" text type="primary" @click="routeDetail(row)">审核</el-button>
+                                <el-button v-if="!+row?.reviewStatus" text type="primary"
+                                    @click="routeDetail(row)">审核</el-button>
                                 <el-button v-else text style="color: #41C06D;" @click="routeDetail(row)">查看</el-button>
                             </template>
                         </vxe-column>
                     </vxe-table>
                 </div>
-                <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+                <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+                    v-model:limit="queryParams.pageSize" @pagination="getList" />
             </div>
         </div>
     </div>
 </template>
 
 <script setup name="Member" lang="ts">
-import { listMember, delMember, queryMemberApprovalCount,listMemberApproval } from '@/api/dgtmedicine/member/index';
+import { listMember, delMember, queryMemberApprovalCount, listMemberApproval } from '@/api/dgtmedicine/member/index';
 import { MemberVO, MemberLevelCountVO } from '@/api/dgtmedicine/member/types';
 import { colNoData } from '@/utils/noData';
 import { DateRange, searchTabs } from '@/views/models/index';

+ 66 - 71
src/views/training/meeting-add/index.vue

@@ -62,44 +62,85 @@
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
-                                <el-form-item label="报名人数" prop="registrantsNumber">
+                                <el-form-item label="报名人数" prop="registrantsNumber"
+                                    :rules="[{ required: true, message: '请选择是否有报名限制', trigger: 'change' }]">
                                     <div class="d-flex a-c"><el-radio-group v-model="form.conditions.totalCheck"
                                             style="flex-wrap: nowrap">
                                             <el-radio label="0">不限制</el-radio>
                                             <el-radio label="1">限制</el-radio>
                                         </el-radio-group>
-                                        <el-input class="pl-10" v-model="form.conditions.total" maxlength="20"
-                                            placeholder="请输入报名人数" clearable
-                                            :disabled="form.conditions.totalCheck !== '1'" />
                                     </div>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12" v-if="form.conditions.totalCheck == '1'">
-                                <el-form-item label="限制条件" prop="restrictiveConditions">
-                                    <div class="d-flex">
-                                        <div class="d-flex flex-cln">
-                                            <el-checkbox v-model="form.conditions.levelTotalCheck" label="按盟员单位等级限制"
-                                                size="large" true-value="1" false-value="0" />
-                                            <div v-if="form.conditions.levelTotalCheck == '1' && form.conditions.cpyTotalCheck == '0'"
-                                                class="pl-10 pr-10 pt-5 pb-5 border">
+                                <el-form-item prop="restrictiveConditions">
+                                    <template #label>
+                                        <span>限制条件</span>
+                                        <span class="c-999 f-s-12 f-w-4">(不限制的条件可不填)</span>
+                                    </template>
+                                    <div class="d-flex flex-cln pl-10">
+                                        <div class="d-flex">
+                                            <div class="c-#606266 f-w-6" style="">报名总人数限制:</div>
+                                            <el-input class="flex1 pl-5" v-model="form.conditions.total" maxlength="20"
+                                                placeholder="请输入报名人数" clearable
+                                                :disabled="form.conditions.totalCheck !== '1'"
+                                                style="max-width: 200px;" />
+                                        </div>
+                                        <div class="c-#606266 f-w-6" style="">条件限制:</div>
+                                        <div class="d-flex">
+                                            <div class="d-flex flex-cln">
+                                                <el-checkbox v-model="form.conditions.levelTotalCheck" label="按盟员单位等级限制"
+                                                    size="large" true-value="1" false-value="0" />
+                                                <div v-if="form.conditions.levelTotalCheck == '1' && form.conditions.cpyTotalCheck == '0'"
+                                                    class="pl-10 pr-10 pt-5 pb-5 border">
+                                                    <template v-for="(item, index) in form.conditions.levelCheck"
+                                                        :key="index">
+                                                        <div class="d-flex a-c">
+                                                            <el-checkbox v-model="item.check" true-value="1"
+                                                                false-value="0"
+                                                                :label="'所有' + selectDictLabels(vip_level, item.vipLevel, ',') + '参会人数≤'"
+                                                                size="large" />
+                                                            <el-input class="pl-10" v-model="item.total" maxlength="20"
+                                                                placeholder="请输入报名人数" :disabled="!+item.check" />
+                                                        </div>
+                                                    </template>
+                                                </div>
+                                            </div>
+                                            <div class="d-flex flex-cln ml-20"> <el-checkbox
+                                                    v-model="form.conditions.cpyTotalCheck" label="按每家单位人数限制"
+                                                    size="large" true-value="1" false-value="0" />
+                                                <div v-if="form.conditions.cpyTotalCheck == '1' && form.conditions.levelTotalCheck == '0'"
+                                                    class="pl-10 pr-10 pt-5 pb-5 border">
+
+                                                    <template v-for="(item, index) in form.conditions.cpyCheck"
+                                                        :key="index">
+                                                        <div class="d-flex a-c">
+                                                            <el-checkbox v-model="item.check"
+                                                                :label="selectDictLabels(vip_level, item.vipLevel, ',') + '限制每家单位人数≤'"
+                                                                size="large" true-value="1" false-value="0" /><el-input
+                                                                class="pl-10" v-model="item.total" maxlength="20"
+                                                                placeholder="请输入报名人数" :disabled="!+item.check" />
+                                                        </div>
+                                                    </template>
+
+                                                </div>
+                                            </div>
+                                        </div>
+                                        <div class="d-flex border"
+                                            v-if="form.conditions.levelTotalCheck == '1' && form.conditions.cpyTotalCheck == '1'">
+                                            <div class="pl-10 pr-10 pt-5 pb-5 ">
                                                 <template v-for="(item, index) in form.conditions.levelCheck"
                                                     :key="index">
                                                     <div class="d-flex a-c">
-                                                        <el-checkbox v-model="item.check" true-value="1" false-value="0"
+                                                        <el-checkbox v-model="item.check"
                                                             :label="'所有' + selectDictLabels(vip_level, item.vipLevel, ',') + '参会人数≤'"
-                                                            size="large" />
-                                                        <el-input class="pl-10" v-model="item.total" maxlength="20"
+                                                            size="large" true-value="1" false-value="0" /><el-input
+                                                            class="pl-10" v-model="item.total" maxlength="20"
                                                             placeholder="请输入报名人数" :disabled="!+item.check" />
                                                     </div>
                                                 </template>
                                             </div>
-                                        </div>
-                                        <div class="d-flex flex-cln ml-20"> <el-checkbox
-                                                v-model="form.conditions.cpyTotalCheck" label="按每家单位人数限制" size="large"
-                                                true-value="1" false-value="0" />
-                                            <div v-if="form.conditions.cpyTotalCheck == '1' && form.conditions.levelTotalCheck == '0'"
-                                                class="pl-10 pr-10 pt-5 pb-5 border">
-
+                                            <div class="pl-10 pr-10 pt-5 pb-5">
                                                 <template v-for="(item, index) in form.conditions.cpyCheck"
                                                     :key="index">
                                                     <div class="d-flex a-c">
@@ -110,36 +151,9 @@
                                                             placeholder="请输入报名人数" :disabled="!+item.check" />
                                                     </div>
                                                 </template>
-
                                             </div>
                                         </div>
                                     </div>
-                                    <div class="d-flex border">
-                                        <div v-if="form.conditions.levelTotalCheck == '1' && form.conditions.cpyTotalCheck == '1'"
-                                            class="pl-10 pr-10 pt-5 pb-5 ">
-                                            <template v-for="(item, index) in form.conditions.levelCheck" :key="index">
-                                                <div class="d-flex a-c">
-                                                    <el-checkbox v-model="item.check"
-                                                        :label="'所有' + selectDictLabels(vip_level, item.vipLevel, ',') + '参会人数≤'"
-                                                        size="large" true-value="1" false-value="0" /><el-input
-                                                        class="pl-10" v-model="item.total" maxlength="20"
-                                                        placeholder="请输入报名人数" :disabled="!+item.check" />
-                                                </div>
-                                            </template>
-                                        </div>
-                                        <div v-if="form.conditions.levelTotalCheck == '1' && form.conditions.cpyTotalCheck == '1'"
-                                            class="pl-10 pr-10 pt-5 pb-5 ">
-                                            <template v-for="(item, index) in form.conditions.cpyCheck" :key="index">
-                                                <div class="d-flex a-c">
-                                                    <el-checkbox v-model="item.check"
-                                                        :label="selectDictLabels(vip_level, item.vipLevel, ',') + '限制每家单位人数≤'"
-                                                        size="large" true-value="1" false-value="0" /><el-input
-                                                        class="pl-10" v-model="item.total" maxlength="20"
-                                                        placeholder="请输入报名人数" :disabled="!+item.check" />
-                                                </div>
-                                            </template>
-                                        </div>
-                                    </div>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
@@ -205,7 +219,7 @@
                                     <el-radio-group v-model="form.certFlag">
                                         <el-radio v-for="item in yes_no" :key="item.value" :label="item.value">{{
                                             item.label
-                                        }}</el-radio>
+                                            }}</el-radio>
                                     </el-radio-group>
                                 </el-form-item>
                                 <div v-if="+form.certFlag" class="ml-20">
@@ -287,15 +301,13 @@ import { ref, reactive, onMounted } from 'vue';
 import { debounce } from 'lodash';
 import { useRouter } from 'vue-router';
 import { trainingAdd, trainingDetail, trainingUpdate } from '@/api/training';
-import { checkPermi } from '@/utils/permission';
-import { FieldDefinition, FieldType } from '../models/type'
+import { FieldDefinition } from '../models/type'
 // 需要添加以下导入
 import MeetingCustom from '../models/meeting-custom.vue'
 import MeetingEditors from '../models/meeting-editors.vue'
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_training_join_type, yes_no, lm_training_cert, vip_level } = toRefs<any>(proxy?.useDict('dm_training_join_type', 'yes_no', 'lm_training_cert', 'vip_level'));
 const fields = ref<FieldDefinition[]>([])
-const changefields = ref(true)
 const showSignIn = ref(false);
 const fixedField = ref<FieldDefinition[]>([{
     name: `ent-${generateSecureRandomString()}`,
@@ -325,7 +337,6 @@ function generateSecureRandomString(length = 8) {
     return result;
 }
 const Cancel = () => {
-    // localStorage.removeItem('RegistrationInformation');
     router.go(-1)
 }
 const router = useRouter();
@@ -372,7 +383,7 @@ const rules = reactive({
     certFlag: [{ required: true, message: '请选择是否颁发证书', trigger: 'change' }],
     certificateInfo: [{ required: true, message: '请选择证书名称', trigger: 'change' }],
     description: [{ required: true, message: '请输入培训详情', trigger: 'blur' }],
-    eleSignature: [{ required: true, message: '请输入培训详情', trigger: 'blur' }],
+    eleSignature: [{ required: true, message: '请选择是否电子手签', trigger: 'blur' }],
     // coverImg: [{ required: true, message: '请上传封面图', trigger: 'change' }],
     // trainingImg: [{ required: true, message: '请上传会议图', trigger: 'change' }],
     contactName: [{ required: true, message: '请输入会议联系人', trigger: 'blur' }],
@@ -388,15 +399,13 @@ const save = debounce(async () => {
         signupStart: form.value.signupsTime ? form.value.signupsTime[0] : undefined,
         signupEnd: form.value.signupsTime ? form.value.signupsTime[1] : undefined,
         certificateInfo: +form.value.certFlag ? form.value.certificateInfo : undefined,
-        questions: (fields.value).map((item, index) => ({
+        questions: fields.value.map((item, index) => ({
             ...item,
             sort: index + 1  // 从 1 开始
         }))
     };
     const res = form.value.id ? await trainingUpdate(params) : await trainingAdd(params);
     if (res && res.code === 200) {
-        // localStorage.removeItem('RegistrationInformation');
-
         router.go(-1);
     }
 }, 500);
@@ -431,22 +440,8 @@ const getMeetingDetail = async () => {
 };
 onMounted(() => {
     getMeetingDetail();
-    // if (localStorage.getItem('RegistrationInformation')) {
-    //     fields.value = JSON.parse(localStorage.getItem('RegistrationInformation'))
-    // }
 });
-// watch(
-//     () => showSignIn.value,
-//     () => {
-//         if (localStorage.getItem('RegistrationInformation')) {
-//             fields.value = JSON.parse(localStorage.getItem('RegistrationInformation'))
-//         } else {
-//             console.log(fields.value);
-//         }
 
-//     },
-//     { immediate: true }
-// );
 </script>
 <style scoped>
 .border {

+ 0 - 2
src/views/training/meeting-detail/index.vue

@@ -30,8 +30,6 @@ import { ref, reactive, onMounted } from 'vue';
 import { MeetingDetailInfo } from '../models';
 import router from '@/router';
 import { trainingDetailById, trainingMembers } from '@/api/training';
-import { FileLook } from '@/views/models';
-import { colNoData } from '@/utils/noData';
 import MeetingDetailAttend from '../models/meeting-detail-attend.vue'
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_training_join_type, yes_no, dm_training_cert, dm_training_status, dm_training_signup_status_list } = toRefs<any>(proxy?.useDict('dm_training_join_type', 'yes_no', 'dm_training_cert', 'dm_training_status', 'dm_training_signup_status_list'));

+ 12 - 11
src/views/training/meeting/index.vue

@@ -43,11 +43,11 @@
                 <div class="flex1 ov-hd">
                     <vxe-table :loading="loading" border :data="dataList" min-height="0" max-height="100%">
                         <vxe-column title="序号" align="center" type="seq" width="60" />
-                        <vxe-column field="trainingName" title="会议名称" :formatter="colNoData" min-width="150"/>
-                        <vxe-column field="trainingTime" min-width="150" title="培训时间">
+                        <vxe-column field="trainingName" title="会议名称" :formatter="colNoData" min-width="150" />
+                        <vxe-column field="trainingTime" min-width="130" title="培训时间">
                             <template #default="{ row }">{{ row.trainingStart }}~{{ row.trainingEnd }}</template>
                         </vxe-column>
-                        <vxe-column field="signupsTime" min-width="150" title="报名时间">
+                        <vxe-column field="signupsTime" min-width="130" title="报名时间">
                             <template #default="{ row }">{{ row.signupStart }}~{{ row.signupEnd }}</template>
                         </vxe-column>
                         <vxe-column field="joinType" title="培训方式" width="80">
@@ -81,14 +81,17 @@
                         <vxe-column title="临时报名通道" align="center" field="createByName" width="120"
                             :formatter="colNoData">
                             <template #default="{ row }">
-                                <el-popconfirm confirm-button-text="修改" cancel-button-text="取消" title="是否修改临时报名的状态?" :disabled="row.trainingStatus == '2'"
-                                    @confirm="confirmEvent(row)" @cancel="cancelEvent">
+                                <el-popconfirm confirm-button-text="修改" cancel-button-text="取消" title="是否修改临时报名的状态?"
+                                    :disabled="row.trainingStatus == '2'" @confirm="confirmEvent(row)"
+                                    @cancel="cancelEvent">
                                     <template #reference>
                                         <el-switch v-model="row.tempStatus" :loading="loading1" active-value="1"
-                                            inactive-value="0" :before-change="beforeChange1" :disabled="row.trainingStatus == '2'"/>
+                                            inactive-value="0" :before-change="beforeChange1"
+                                            :disabled="row.trainingStatus == '2'" />
                                     </template>
                                 </el-popconfirm>
-                                <el-button v-if="row.tempStatus == '1'" type="primary" text @click="temporary(row)" :disabled="row.trainingStatus == '2'">
+                                <el-button v-if="row.tempStatus == '1'" type="primary" text @click="temporary(row)"
+                                    :disabled="row.trainingStatus == '2'">
                                     查看
                                 </el-button>
                             </template>
@@ -128,12 +131,10 @@
 </template>
 
 <script setup name="meeting" lang="ts">
-import { colNoData, colNoUnm } from '@/utils/noData';
+import { colNoData } from '@/utils/noData';
 import { searchTabs } from '@/views/models';
 import { trainingList, queryTrainingCount, trainingDelete, publishTraining, unpublishTraining, offOrNoTemp } from '@/api/training';
-import { SignInCode } from '../models';
-import TemporaryRegistration from '../models/temporary-registration.vue'
-
+import { SignInCode, TemporaryRegistration } from '../models';
 const router = useRouter();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_training_join_type, yes_no, dm_training_cert, dm_training_status } = toRefs<any>(proxy?.useDict('dm_training_join_type', 'yes_no', 'dm_training_cert', 'dm_training_status'));

+ 1 - 1
src/views/training/models/index.ts

@@ -1,6 +1,6 @@
 export { default as SignInCode } from './sign-in-code.vue'; // 查看签到码
 export { default as MeetingDetailInfo } from './meeting-detail-info.vue';
 export { default as MeetingDetailattend } from './meeting-detail-attend.vue';
-export { default as temporaryRegistration } from './temporary-registration.vue'; // 查看签到码
+export { default as TemporaryRegistration } from './temporary-registration.vue'; // 查看签到码
 export { default as MeetingCustom } from './meeting-custom.vue'; // 查看签到码
 export { default as registrationInfo } from './registration-info.vue'; 

+ 6 - 7
src/views/training/models/meeting-custom.vue

@@ -70,7 +70,6 @@
                         <el-checkbox class="pd-5" :label="1" style="pointer-events: none ;"><span></span></el-checkbox>
                         <el-input type="text" v-model="item.label" style="width: 310px" :placeholder="'请输入选项内容'"
                             @input="val => { item.label = val; item.value = val; }" />
-
                         <el-icon class="ml-10 delete-btn" color="red" @click="removeOption(index)">
                             <Close />
                         </el-icon>
@@ -82,7 +81,7 @@
                     <div class="pb-5">{{ field.label }}</div>
                     <el-radio-group :disabled="true">
                         <el-radio value="1" v-for="(item, index) in field.options" :key="index">{{ item.label
-                        }}</el-radio>
+                            }}</el-radio>
                     </el-radio-group>
                 </div>
             </template>
@@ -99,7 +98,8 @@
                     <el-input class="pd-5 pl-0 no-disabled-input" v-model="field.label" :placeholder="'请输入内容'"
                         style="width: 340px" props="label" clearable />
                 </el-form-item>
-                <ImageUpload v-if="!field.name.includes('pic2')" v-model="field.defValue" :limit="1" isString class="pl-5 noup">
+                <ImageUpload v-if="!field.name.includes('pic2')" v-model="field.defValue" :limit="1" isString
+                    class="pl-5 noup">
                 </ImageUpload>
                 <el-form-item prop="defValue" v-if="field.name.includes('pic2')">
                     <div>
@@ -117,10 +117,8 @@
 </template>
 
 <script setup lang="ts">
-import { FieldType } from './type'
-import { ref, onMounted } from 'vue';
+import { ref } from 'vue';
 import { ElInput, ElFormItem } from 'element-plus'
-import shanchu from '@/assets/images/shanchu.png'
 const prop = defineProps<{
     field: any // 使用any简化类型,实际应为FieldDefinition
 }>()
@@ -238,8 +236,9 @@ defineExpose({
 :deep(.up .el-upload.el-upload--picture-card) {
     border-color: #333
 }
+
 :deep(.noup .el-upload.el-upload--picture-card) {
     border-color: transparent;
-    pointer-events: none ;
+    pointer-events: none;
 }
 </style>

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

@@ -119,7 +119,7 @@
     </registrationInfo>
 </template>
 <script setup name="MeetingDetailInfo" lang="ts">
-import { ref, reactive, onMounted } from 'vue';
+import { ref, onMounted } from 'vue';
 import { signupCount, trainingMembers, signupApproval } from '@/api/training';
 import { searchTabs } from '@/views/models';
 import { colNoData } from '@/utils/noData';

+ 1 - 2
src/views/training/models/meeting-editors.vue

@@ -149,14 +149,13 @@
 import shanchu from '@/assets/images/shanchu.png'
 import { VueDraggable } from 'vue-draggable-plus'
 import { ref, reactive, onMounted, watch } from 'vue';
-import { debounce } from 'lodash';
 import { useRouter } from 'vue-router';
 // 需要添加以下导入
 import MeetingCustom from './meeting-custom.vue'
 import { propTypes } from '@/utils/propTypes';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_training_join_type, yes_no, lm_training_cert, vip_level } = toRefs<any>(proxy?.useDict('dm_training_join_type', 'yes_no', 'lm_training_cert', 'vip_level'));
-import { FieldDefinition, FieldType } from './type'
+import { FieldDefinition } from './type'
 const props = defineProps<{
     field?: any; // 使用 any 简化类型(实际应替换为具体类型,如 FieldDefinition)
     show?: boolean; // 可选参数,默认 false

+ 0 - 14
src/views/training/models/registration-info.vue

@@ -52,7 +52,6 @@
 
 <script setup name="SignInCode" lang="ts">
 import { propTypes } from '@/utils/propTypes';
-import html2canvas from 'html2canvas';
 import { FileLook } from '@/views/models';
 const emit = defineEmits(['update:show', 'close', 'success']);
 const props = defineProps({
@@ -69,19 +68,6 @@ const close = () => {
     emit('close', false);
 };
 const codeImgRef = ref<HTMLElement | null>(null);
-const saveImg = () => {
-    html2canvas(codeImgRef.value, {
-        useCORS: true,
-        allowTaint: false,
-        scale: 2
-    }).then((canvas) => {
-        const url = canvas.toDataURL('image/png');
-        const a: any = document.createElement('a');
-        a.download = `${props?.info?.trainingName}-临时报名二维码.png`;
-        a.href = url;
-        a.click();
-    });
-};
 watch(
     () => props.show,
     (val) => {