瀏覽代碼

修改bug

lisy 5 月之前
父節點
當前提交
46555fb20a

+ 126 - 56
src/views/training/meeting-add/index.vue

@@ -22,19 +22,24 @@
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="会议时间" prop="trainingTime">
-                                    <el-date-picker v-model="form.trainingTime" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss" date-format="YYYY-MM-DD" time-format="HH:mm" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
+                                    <el-date-picker v-model="form.trainingTime" type="datetimerange"
+                                        value-format="YYYY-MM-DD HH:mm:ss" date-format="YYYY-MM-DD" time-format="HH:mm"
+                                        range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="报名时间" prop="signupTime">
-                                    <el-date-picker v-model="form.signupsTime" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss" date-format="YYYY-MM-DD" time-format="HH:mm" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
+                                    <el-date-picker v-model="form.signupsTime" type="datetimerange"
+                                        value-format="YYYY-MM-DD HH:mm:ss" date-format="YYYY-MM-DD" time-format="HH:mm"
+                                        range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="会议方式" prop="joinType">
                                     <!-- 单选框 -->
                                     <el-radio-group v-model="form.joinType">
-                                        <el-radio v-for="item in lm_training_join_type" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
+                                        <el-radio v-for="item in lm_training_join_type" :key="item.value"
+                                            :label="item.value">{{ item.label }}</el-radio>
                                     </el-radio-group>
                                 </el-form-item>
                             </el-col>
@@ -45,7 +50,8 @@
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="会议联系人" prop="contactName">
-                                    <el-input v-model="form.contactName" maxlength="40" placeholder="请输入会议联系人" clearable />
+                                    <el-input v-model="form.contactName" maxlength="40" placeholder="请输入会议联系人"
+                                        clearable />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
@@ -54,16 +60,18 @@
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="可报名人员类型" prop="tel">
+                                <el-form-item label="可报名人员类型" prop="conditions.typeCheck">
                                     <el-checkbox-group v-model="checkedVipLevels" @change="handleCheckedChange">
-                                        <el-checkbox v-for="city in form.conditions.typeCheck" :key="city" :label="city" :value="city">
+                                        <el-checkbox v-for="city in form.conditions.typeCheck" :key="city" :label="city"
+                                            :value="city">
                                             {{ selectDictLabels(lm_check_join_type, city.vipLevel, ',') }}
                                         </el-checkbox>
                                     </el-checkbox-group>
                                     <div @click="handleCheckAllChange(true)" v-if="!checkAll" class="pl-10 c-s-p">
                                         <u>全选</u>
                                     </div>
-                                    <div @click="handleCheckAllChange(false)" v-else class="pl-10 c-s-p"><u>取消全选</u></div>
+                                    <div @click="handleCheckAllChange(false)" v-else class="pl-10 c-s-p"><u>取消全选</u>
+                                    </div>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
@@ -85,53 +93,86 @@
                                     <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;" />
+                                            <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" v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
-                                                            <el-checkbox v-model="item.check" true-value="1" false-value="0" :label="'所有' + selectDictLabels(lm_check_join_type, item.vipLevel, ',') + '参会人数≤'" size="large" />
-                                                            <el-input class="pl-10" v-model="item.total" maxlength="20" placeholder="请输入报名人数" :disabled="!+item.check" />
+                                                <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"
+                                                            v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
+                                                            <el-checkbox v-model="item.check" true-value="1"
+                                                                false-value="0"
+                                                                :label="'所有' + selectDictLabels(lm_check_join_type, item.vipLevel, ',') + '参会人数≤'"
+                                                                size="large" />
+                                                            <el-input class="pl-10" v-model="item.total" maxlength="20"
+                                                                placeholder="请输入报名人数" :disabled="!+item.check" />
                                                         </div>
                                                     </template>
-                                                    <el-empty :image-size="20" description="请先选择报名人员类型" v-if="checkedVipLevels.length == 0" />
+                                                    <el-empty :image-size="20" description="请先选择报名人员类型"
+                                                        v-if="checkedVipLevels.length == 0" />
                                                 </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" v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
-                                                            <el-checkbox v-model="item.check" :label="selectDictLabels(lm_check_join_type, 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" />
+                                                <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"
+                                                            v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
+                                                            <el-checkbox v-model="item.check"
+                                                                :label="selectDictLabels(lm_check_join_type, 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>
-                                                    <el-empty :image-size="20" description="请先选择报名人员类型" v-if="checkedVipLevels.length == 0" />
+                                                    <el-empty :image-size="20" description="请先选择报名人员类型"
+                                                        v-if="checkedVipLevels.length == 0" />
                                                 </div>
                                             </div>
                                         </div>
-                                        <div class="d-flex border" v-if="form.conditions.levelTotalCheck == '1' && form.conditions.cpyTotalCheck == '1'">
+                                        <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" v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
-                                                        <el-checkbox v-model="item.check" :label="'所有' + selectDictLabels(lm_check_join_type, 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" />
+                                                <template v-for="(item, index) in form.conditions.levelCheck"
+                                                    :key="index">
+                                                    <div class="d-flex a-c"
+                                                        v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
+                                                        <el-checkbox v-model="item.check"
+                                                            :label="'所有' + selectDictLabels(lm_check_join_type, 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 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" v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
-                                                        <el-checkbox v-model="item.check" :label="selectDictLabels(lm_check_join_type, 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" />
+                                                <template v-for="(item, index) in form.conditions.cpyCheck"
+                                                    :key="index">
+                                                    <div class="d-flex a-c"
+                                                        v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
+                                                        <el-checkbox v-model="item.check"
+                                                            :label="selectDictLabels(lm_check_join_type, 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 class="flex1 ml--10"><el-empty :image-size="20" description="请先选择报名人员类型" v-if="checkedVipLevels.length == 0" /></div>
+                                            <div class="flex1 ml--10"><el-empty :image-size="20"
+                                                    description="请先选择报名人员类型" v-if="checkedVipLevels.length == 0" />
+                                            </div>
                                         </div>
                                     </div>
                                 </el-form-item>
@@ -154,7 +195,8 @@
                                             <el-radio label="0">否</el-radio>
                                         </el-radio-group>
                                     </el-form-item>
-                                    <el-form-item label="" prop="points" v-if="form.pointsFlag == '1'" class="flex1 pl-10">
+                                    <el-form-item label="" prop="points" v-if="form.pointsFlag == '1'"
+                                        class="flex1 pl-10">
                                         <div class="d-flex f-s-14">
                                             <div>每成功参会(签到成功)1人发放</div>
                                             <el-input v-model="form.points" style="width: 60px" />
@@ -167,7 +209,8 @@
                         <el-row :gutter="20">
                             <el-col :span="12">
                                 <el-form-item label="会议详情" prop="description">
-                                    <el-input v-model="form.description" :rows="4" type="textarea" placeholder="请输入会议详情" />
+                                    <el-input v-model="form.description" :rows="4" type="textarea"
+                                        placeholder="请输入会议详情" />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
@@ -202,7 +245,8 @@
                                         <span class="c-999 f-s-12 f-w-4">(此模块报名审核通过后才可查看)</span>
                                     </template>
                                     <div class="d-flex flex-cln mt-10 f-s-12 c-#606266">
-                                        <FileUpload v-model="form.attachments" format="array" :limit="20" :fileSize="100"></FileUpload>
+                                        <FileUpload v-model="form.attachments" format="array" :limit="20"
+                                            :fileSize="100"></FileUpload>
                                     </div>
                                 </el-form-item>
                             </el-col>
@@ -227,19 +271,24 @@
                                 <template v-for="(item, index) in form.certificateInfo" :key="index">
                                     <el-row :gutter="20" class="bg-#f4f4f4 pd-16 mb-10">
                                         <el-col :span="10">
-                                            <el-form-item label="证书名称" :prop="`certificateInfo.${index}.certType`" :rules="[{ required: true, message: '请选择证书名称', trigger: 'change' }]">
+                                            <el-form-item label="证书名称" :prop="`certificateInfo.${index}.certType`"
+                                                :rules="[{ required: true, message: '请选择证书名称', trigger: 'change' }]">
                                                 <el-select v-model="item.certType" placeholder="证书名称" clearable>
-                                                    <el-option v-for="item in lm_training_cert" :key="item.value" :label="item.label" :value="item.value" />
+                                                    <el-option v-for="item in lm_training_cert" :key="item.value"
+                                                        :label="item.label" :value="item.value" />
                                                 </el-select>
                                             </el-form-item>
                                         </el-col>
                                         <el-col :span="10">
-                                            <el-form-item :prop="`certificateInfo.${index}.certImg`" :rules="[{ required: true, message: '请上传证书图片', trigger: 'change' }]">
+                                            <el-form-item :prop="`certificateInfo.${index}.certImg`"
+                                                :rules="[{ required: true, message: '请上传证书图片', trigger: 'change' }]">
                                                 <template #label>
                                                     <span>证书模板图片</span>
-                                                    <el-button @click="goEditor()" type="primary" text>去编辑模板图片</el-button>
+                                                    <el-button @click="goEditor()" type="primary"
+                                                        text>去编辑模板图片</el-button>
                                                 </template>
-                                                <ImageUpload v-model="item.certImg" :fileSize="40" :limit="1"></ImageUpload>
+                                                <ImageUpload v-model="item.certImg" :fileSize="40" :limit="1">
+                                                </ImageUpload>
                                             </el-form-item>
                                         </el-col>
                                         <el-col :span="4">
@@ -253,7 +302,8 @@
                         </div>
 
                         <div class="w-50% d-flex flex-cln j-c a-c pl-20">
-                            <el-button type="primary" class="w-100%" plain style="height: 70px; margin-bottom: 20px;" @click="showSignIn = true">点击去编辑报名信息></el-button>
+                            <el-button type="primary" class="w-100%" plain style="height: 70px; margin-bottom: 20px;"
+                                @click="showSignIn = true">点击去编辑报名信息></el-button>
                             <div class="w-400 h-700 border over-auto">
                                 <div class="pd-10 border bg-#fafafa">
                                     <div class="pt-10  f-s-20 f-w-6 d-flex j-c a-c flex-cln ">报名信息</div>
@@ -267,7 +317,8 @@
                                 </template>
                                 <template v-for="(field, index) in fields" :key="index">
                                     <div class="meeting-custom-wrapper" @click.stop="showSignIn = true">
-                                        <meetingCustomPreview :field="field" style="pointer-events: none" v-if="field" />
+                                        <meetingCustomPreview :field="field" style="pointer-events: none"
+                                            v-if="field" />
                                     </div>
                                 </template>
                                 <div class="pd-15 border1 c-#D7D7D7 d-flex j-sb">
@@ -333,15 +384,19 @@ const Cancel = () => {
 const router = useRouter();
 const route = useRoute();
 const levelTypeCheck = computed(() =>
-  String(Number(checkedVipLevels.value.length > 0))
+    String(Number(checkedVipLevels.value.length > 0))
 );
 const form = ref<any>({
     id: undefined,
     conditions: {
         levelTotalCheck: '0',
         cpyTotalCheck: '0',
-        levelTypeCheck:levelTypeCheck,
+        levelTypeCheck: levelTypeCheck,
         typeCheck: [
+            {
+                vipLevel: "0",
+                check: "0"
+            },
             {
                 vipLevel: "1",
                 check: "0"
@@ -448,13 +503,11 @@ const checkedVipLevels = ref([])
 // 选项变化时的处理
 const handleCheckedChange = (selectedValues) => {
 
-const selectedLevelMap = new Map(selectedValues.map(item => [item.vipLevel, true]));
-
-form.value.conditions.typeCheck.forEach(item => {
-  item.check = selectedLevelMap.has(item.vipLevel) ? '1' : '0';
-});
-console.log(form.value.conditions.typeCheck);
+    const selectedLevelMap = new Map(selectedValues.map(item => [item.vipLevel, true]));
 
+    form.value.conditions.typeCheck.forEach(item => {
+        item.check = selectedLevelMap.has(item.vipLevel) ? '1' : '0';
+    });
 }
 
 // 全选/取消全选
@@ -472,6 +525,7 @@ const rules = reactive({
     joinType: [{ required: true, message: '请选择会议方式', trigger: 'change' }],
     trainingLocation: [{ required: true, message: '请输入会议地点', trigger: 'blur' }],
     'conditions.totalCheck': [{ required: true, message: '请选择是否限制报名人数', trigger: 'change' }],
+    "conditions.typeCheck": [{ required: true, message: '请选择是否限制报名人员类型', trigger: 'change' }],
     certFlag: [{ required: true, message: '请选择是否颁发证书', trigger: 'change' }],
     certificateInfo: [{ required: true, message: '请选择证书名称', trigger: 'change' }],
     description: [{ required: true, message: '请输入培训详情', trigger: 'blur' }],
@@ -485,6 +539,23 @@ const rules = reactive({
 const formRef = ref();
 const save = debounce(async () => {
     await formRef.value.validate();
+    form.value.conditions.typeCheck.forEach(typeItem => {
+        console.log(typeItem);
+
+        if (typeItem.check === "0") {
+            // Update cpyCheck
+            const cpyItem = form.value.conditions.cpyCheck.find(item => item.vipLevel === typeItem.vipLevel);
+            if (cpyItem) {
+                cpyItem.check = "0";
+            }
+
+            // Update levelCheck
+            const levelItem = form.value.conditions.levelCheck.find(item => item.vipLevel === typeItem.vipLevel);
+            if (levelItem) {
+                levelItem.check = "0";
+            }
+        }
+    });
     const params = {
         ...form.value,
         trainingStart: form.value.trainingTime ? form.value.trainingTime[0] : undefined,
@@ -529,12 +600,11 @@ const getMeetingDetail = async () => {
             signupsTime: res.data.signupStart && res.data.signupEnd ? [res.data.signupStart, res.data.signupEnd] : undefined
         };
         fields.value = res.data.questions
-        form.value.conditions.typeCheck.forEach((i)=>{
-
-        if(i.check == '1'){
-            checkedVipLevels.value.push(i)
-        }
-    })
+        form.value.conditions.typeCheck.forEach((i) => {
+            if (i.check == '1') {
+                checkedVipLevels.value.push(i)
+            }
+        })
     }
 };
 onMounted(() => {

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

@@ -38,8 +38,13 @@
                     <vxe-table :loading="loading" border :data="dataList" min-height="0" max-height="100%">
                         <vxe-column title="序号" align="center" type="seq" width="50" />
                         <vxe-column field="trainingName" title="会议名称" :formatter="colNoData" min-width="150" class-name="f-w-600" />
-                        <vxe-column field="trainingTime" min-width="130" title="会议时间" class-name="f-w-600">
-                            <template #default="{ row }">{{ row.trainingStart.slice(0, -3) }}~{{ row.trainingEnd.slice(0, -3) }}</template>
+                        <vxe-column field="trainingTime" min-width="330" title="会议时间" class-name="f-w-600">
+                            <template #default="{ row }">
+                            <div class="d-flex a-c"> 
+                                {{ row.trainingStart.slice(0, -3) }}~{{ row.trainingEnd.slice(0, -3) }}
+                                <DictTag :options="dm_training_status" :value="row?.trainingStatus"></DictTag>
+                            </div>
+                            </template>
                         </vxe-column>
                         <vxe-column field="signupsTime" min-width="130" title="报名时间" class-name="f-w-600">
                             <template #default="{ row }">{{ row.signupStart.slice(0, -3) }}~{{ row.signupEnd.slice(0, -3) }}</template>
@@ -59,11 +64,6 @@
                         <vxe-column field="signCount" title="签到人数" width="60" class-name="f-w-600" />
                         <vxe-column field="waitCount" title="待审核人数" width="60" class-name="f-w-600" />
                         <vxe-column field="certCount" title="领取证书人数" width="80" />
-                        <vxe-column field="certFlag" title="会议状态" width="80">
-                            <template #default="{ row }">
-                                <DictTag :options="dm_training_status" :value="row?.trainingStatus"></DictTag>
-                            </template>
-                        </vxe-column>
                         <vxe-column field="certFlag" title="签到二维码" width="90" align="center">
                             <template #default="{ row }">
                                 <el-button @click="trainingSignIn(row)" :style="{ color: !['1', '0'].includes(row?.trainingStatus) ? '#999' : '#0079fe' }" text :disabled="!['1', '0'].includes(row?.trainingStatus)">查看</el-button>
@@ -71,11 +71,16 @@
                         </vxe-column>
                         <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">
-                                    <template #reference>
-                                        <el-switch :model-value="row.trainingStatus == '2' ? '0' : row.tempStatus" @update:model-value="row.trainingStatus != '2' ? row.tempStatus = $event : null" :loading="loading1" active-value="1" inactive-value="0" :before-change="beforeChange1" :disabled="row.trainingStatus == '2'" />
-                                    </template>
-                                </el-popconfirm>
+                                <div v-if="row.tempStatus =='0'">
+                                    <el-popconfirm confirm-button-text="确认" cancel-button-text="取消" title="通过临时报名通道报名将不受时间限制,是否确认打开?" :disabled="row.trainingStatus == '2'" @confirm="confirmEvent(row)" @cancel="cancelEvent">
+                                        <template #reference>
+                                            <el-switch :model-value="row.trainingStatus == '2' ? '0' : row.tempStatus" @update:model-value="row.trainingStatus != '2' ? row.tempStatus = $event : null" :loading="loading1" active-value="1" inactive-value="0" :before-change="beforeChange1" :disabled="row.trainingStatus == '2'" />
+                                        </template>
+                                    </el-popconfirm>
+                                </div>
+                                <div v-if="row.tempStatus=='1'">
+                                    <el-switch v-if="+row.tempStatus" :model-value="row.trainingStatus == '2' ? '0' : row.tempStatus" @update:model-value="row.trainingStatus != '2' ? row.tempStatus = $event : null" :loading="loading1" :before-change="() => beforeChange2(row)" active-value="1" inactive-value="0" :disabled="row.trainingStatus == '2'" />
+                                </div>
                                 <el-button v-if="row.tempStatus == '1' && row.trainingStatus !== '2'" type="primary" text @click="temporary(row)" :disabled="row.trainingStatus == '2'">查看</el-button>
                             </template>
                         </vxe-column>
@@ -152,6 +157,12 @@ const beforeChange1 = (): Promise<boolean> => {
         resolvePromise = resolve;
     });
 };
+const beforeChange2 = (row): Promise<boolean> => {
+    offOrNoTemps(row)
+    return new Promise((resolve) => {
+        resolve(true); // 手动返回 resolved Promise
+    });
+};
 const offOrNoTemps = async (row) => {
     const res = await offOrNoTemp({
         trainingId: row.id,

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

@@ -1,36 +1,35 @@
 <template>
     <div class="pd-16">
         <div class="d-flex mb-16 flex-cln">
+            <div class="info-title">可参会单位类型</div>
+            <div class="bg-#fafafa pd-20">
+                <template v-for="item,index in form?.conditions?.typeCheck" :key="index">
+                    <span class="pr-5" v-if="item.check =='1'">{{ selectDictLabel(lm_check_join_type, item?.vipLevel) }}</span>
+                </template>
+            </div>
             <div class="info-title">报名限制条件</div>
             <div class="bg-#fafafa pd-20" v-if="form?.conditions?.totalCheck == '0' || !form?.conditions?.totalCheck">无</div>
             <div class="bg-#fafafa pd-20 d-flex flex-cln" v-else>
-                <div class="pd-5">总参会人数 ≤ {{ form?.conditions?.total }}</div>
+                <div class="pd-5 pb-15" v-if="form?.conditions?.total">总参会人数 ≤ {{ form?.conditions?.total }}</div>
                 <div class="d-flex">
                     <div>
                         <template v-for="(item, index) in form?.conditions?.levelCheck" :key="index">
-                            <div class="d-flex a-c pd-5">
-                                <span v-if="+item.check">
-                                    所有
+                            <div class="d-flex a-c pd-5" v-if="+item.check">
+                                <span>所有
                                     <span class="f-w-6">
                                         {{ selectDictLabels(lm_check_join_type,item.vipLevel,',') }}
                                     </span>
-                                    参会人数 ≤
-                                    {{ item.total}}
+                                    参会人数 ≤{{ item.total}}
                                 </span>
                             </div>
                         </template>
                     </div>
                     <div>
                         <template v-for="(item, index) in form?.conditions?.cpyCheck" :key="index">
-                            <div class="d-flex a-c pd-5">
-                                <span v-if="+item.check">
-                                    <span class="f-w-6">
-                                        {{ selectDictLabels(lm_check_join_type,
-                                    item.vipLevel,
-                                    ',') }}
-                                    </span>
-                                    限制每家单位人数≤{{ item.total
-                                    }}
+                            <div class="d-flex a-c pd-5" v-if="+item.check">
+                                <span>
+                                    <span class="f-w-6">{{ selectDictLabels(lm_check_join_type,item.vipLevel,',') }}
+                                    </span>限制每家单位人数≤{{ item.total}}
                                 </span>
                             </div>
                         </template>
@@ -104,7 +103,7 @@
             </vxe-column>
             <vxe-column v-if="form?.conditions?.totalCheck == '1'" title="操作" width="250" align="center" fixed="right">
                 <template #default="{ row }">
-                    <el-button type="danger" size="small" v-if="row?.res !== '0'" @click="openDialog(row)">重审</el-button>
+                    <el-button   color="orange" size="small" v-if="row?.res !== '0'" @click="openDialog(row)" style="color: white" >重审</el-button>
                     <el-button size="small" type="danger" @click="openDialog(row)" v-else>审核</el-button>
                 </template>
             </vxe-column>
@@ -120,7 +119,7 @@
                 </el-radio-group>
             </el-form-item>
             <el-form-item label="理由" prop="msg" :rules="fromvalue.res === '2' ? rules.msgRequired : rules.msgOptional">
-                <el-input v-model="fromvalue.msg" type="textarea" :rows="4" placeholder="请填写不通过的理由" maxlength="50" show-word-limit/>
+                <el-input v-model="fromvalue.msg" type="textarea" :rows="4" placeholder="请填写不通过的理由" maxlength="50" show-word-limit />
             </el-form-item>
         </el-form>
         <template #footer>

+ 7 - 2
src/views/training/models/meeting-detail-info.vue

@@ -12,13 +12,18 @@
                 <el-descriptions-item label="会议地点:">{{ form?.trainingLocation || '-' }}</el-descriptions-item>
                 <el-descriptions-item label="联系人:">{{ form?.contactName || '-' }}</el-descriptions-item>
                 <el-descriptions-item label="联系电话:">{{ form?.tel || '-' }}</el-descriptions-item>
+                <el-descriptions-item label="可参会单位类型:">
+                    <template v-for="item,index in form.conditions.typeCheck" :key="index">
+                        <span class="pr-5" v-if="item.check =='1'">{{ selectDictLabel(lm_check_join_type, item?.vipLevel) || '-'}}</span>
+                    </template>
+                </el-descriptions-item>
                 <el-descriptions-item label="报名人数:" v-if="form?.conditions.totalCheck == '1'">
                     限制
                     {{form?.conditions.total }}
                 </el-descriptions-item>
                 <el-descriptions-item label="报名人数:" v-else>不限制</el-descriptions-item>
                 <el-descriptions-item label="限制条件:" v-if="form?.conditions">
-                    {{ form?.conditions?.levelTotalCheck == '1'?'按盟员单位等级限制' : '' }}
+                    {{ form?.conditions?.levelTotalCheck == '1'?'按单位类型限制' : '' }}
                     {{form.conditions.cpyTotalCheck == '1'? '按每家企业人数限制' : '' }}
                     <span v-if="form?.conditions?.levelTotalCheck !== '1' && form.conditions.cpyTotalCheck !== '1'">{{ '-' }}</span>
                 </el-descriptions-item>
@@ -138,7 +143,7 @@ import { FileLook } from '@/views/models';
 import { FieldDefinition } from './type'
 import meetingCustomPreview from './meeting-custom-preview.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'));
+const { dm_training_join_type, lm_check_join_type, dm_training_cert, dm_training_status, dm_training_signup_status_list } = toRefs<any>(proxy?.useDict('dm_training_join_type', 'lm_check_join_type', 'dm_training_cert', 'dm_training_status', 'dm_training_signup_status_list'));
 const props = defineProps({
     form: {
         type: Object,

+ 2 - 2
src/views/training/models/sign-in-code.vue

@@ -5,8 +5,8 @@
             <div>
                 <div v-if="info" ref="codeImgRef" style="width: 400px; margin: 0 auto;padding: 10px;">
                     <div class="mb-6 f-w-6 f-s-16 c-333">{{ info?.trainingName }}</div>
-                    <div class="mb-6">培训时间:{{ info?.trainingStart }}~{{ info?.trainingEnd }}</div>
-                    <div class="mb-6">培训方式:{{ selectDictLabel(dict.dm_training_join_type, info.joinType) }}</div>
+                    <div class="mb-6">会议时间:{{ info?.trainingStart.slice(0, -3) }}~{{ info?.trainingEnd.slice(0, -3) }}</div>
+                    <div class="mb-6">会议方式:{{ selectDictLabel(dict.dm_training_join_type, info.joinType) }}</div>
                     <div class="mb-6">联系电话:{{ info?.tel }}</div>
                     <div>签到二维码</div>
                     <div class="d-flex j-c a-c pd-20 ">