lisy hace 5 meses
padre
commit
ae96145d33

+ 5 - 0
src/assets/styles/index.scss

@@ -209,3 +209,8 @@ aside {
     margin-bottom: 10px;
   }
 }
+.custom-message-box .el-message-box__btns {
+  display: flex;
+  flex-direction: row-reverse !important;
+  justify-content: flex-start;
+}

+ 80 - 37
src/views/training/meeting/index.vue

@@ -7,26 +7,35 @@
                     <div class="flex1 ov-hd d-flex j-ed">
                         <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="auto">
                             <el-form-item label="会议名称" prop="trainingName">
-                                <el-input v-model="queryParams.trainingName" placeholder="搜会议名称" clearable style="width: 160px" @keyup.enter="handleQuery" />
+                                <el-input v-model="queryParams.trainingName" placeholder="搜会议名称" clearable
+                                    style="width: 160px" @keyup.enter="handleQuery" />
                             </el-form-item>
                             <el-form-item label="会议方式" prop="joinType">
-                                <el-select v-model="queryParams.joinType" placeholder="请选择会议方式" clearable style="width: 160px" @change="handleQuery">
-                                    <el-option v-for="item in lm_training_join_type" :key="item.value" :label="item.label" :value="item.value" />
+                                <el-select v-model="queryParams.joinType" placeholder="请选择会议方式" clearable
+                                    style="width: 160px" @change="handleQuery">
+                                    <el-option v-for="item in lm_training_join_type" :key="item.value"
+                                        :label="item.label" :value="item.value" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="报名状态" prop="joinStatus">
-                                <el-select v-model="queryParams.joinStatus" placeholder="请选择会报名状态" clearable style="width: 160px" @change="handleQuery">
-                                    <el-option v-for="item in lm_training_join_status" :key="item.value" :label="item.label" :value="item.value" />
+                                <el-select v-model="queryParams.joinStatus" placeholder="请选择会报名状态" clearable
+                                    style="width: 160px" @change="handleQuery">
+                                    <el-option v-for="item in lm_training_join_status" :key="item.value"
+                                        :label="item.label" :value="item.value" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="会议状态" prop="trainingStatus">
-                                <el-select v-model="queryParams.trainingStatus" placeholder="请选择会议状态" clearable style="width: 160px" @change="handleQuery">
-                                    <el-option v-for="item in lm_training_status" :key="item.value" :label="item.label" :value="item.value" />
+                                <el-select v-model="queryParams.trainingStatus" placeholder="请选择会议状态" clearable
+                                    style="width: 160px" @change="handleQuery">
+                                    <el-option v-for="item in lm_training_status" :key="item.value" :label="item.label"
+                                        :value="item.value" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="是否颁发证书" prop="certFlag">
-                                <el-select v-model="queryParams.certFlag" placeholder="请选择是否颁发证书" clearable style="width: 160px" @change="handleQuery">
-                                    <el-option v-for="item in yes_no" :key="item.value" :label="item.label" :value="item.value" />
+                                <el-select v-model="queryParams.certFlag" placeholder="请选择是否颁发证书" clearable
+                                    style="width: 160px" @change="handleQuery">
+                                    <el-option v-for="item in yes_no" :key="item.value" :label="item.label"
+                                        :value="item.value" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item>
@@ -40,20 +49,22 @@
             <div class="d-flex flex1 ov-hd flex-cln pd-16">
                 <div class="d-flex j-sb mb-16">
                     <div>
-                        <searchTabs v-model="queryParams.status" @change="handleQuery" :list="tabs" key-label="name" key-count="num" key-value="type"></searchTabs>
+                        <searchTabs v-model="queryParams.status" @change="handleQuery" :list="tabs" key-label="name"
+                            key-count="num" key-value="type"></searchTabs>
                     </div>
                     <el-button type="primary" @click="router.push({ path: 'lmmeetingadd' })">新增会议</el-button>
                 </div>
                 <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="50" />
-                        <vxe-column field="trainingName" title="会议名称" :formatter="colNoData" min-width="150" class-name="f-w-600" />
+                        <vxe-column field="trainingName" title="会议名称" :formatter="colNoData" min-width="150"
+                            class-name="f-w-600" />
                         <vxe-column field="trainingTime" min-width="370" 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="lm_training_status" :value="row?.trainingStatus" ></DictTag>
-                            </div>
+                                <div class="d-flex a-c">
+                                    {{ row.trainingStart.slice(0, -3) }}~{{ row.trainingEnd.slice(0, -3) }}
+                                    <DictTag :options="lm_training_status" :value="row?.trainingStatus"></DictTag>
+                                </div>
                             </template>
                         </vxe-column>
                         <vxe-column field="signupsTime" min-width="350" title="报名时间" class-name="f-w-600">
@@ -81,50 +92,72 @@
                         <vxe-column field="certCount" title="领取证书人数" width="80" />
                         <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>
+                                <el-button @click="trainingSignIn(row)"
+                                    :style="{ color: !['1', '0'].includes(row?.trainingStatus) ? '#999' : '#0079fe' }"
+                                    text :disabled="!['1', '0'].includes(row?.trainingStatus)">查看</el-button>
                             </template>
                         </vxe-column>
-                        <vxe-column title="临时报名通道" align="center" field="createByName" width="120" :formatter="colNoData">
+                        <vxe-column title="临时报名通道" align="center" field="createByName" width="120"
+                            :formatter="colNoData">
                             <template #default="{ row }">
-                                <div v-if="row.tempStatus =='0'">
-                                    <el-popconfirm confirm-button-text="确认" cancel-button-text="取消" title="通过临时报名通道报名将不受时间限制,是否确认打开?" :disabled="row.trainingStatus == '2'" @confirm="confirmEvent(row)" @cancel="cancelEvent">
+                                <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'" />
+                                            <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 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>
+                                <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>
-                        <vxe-column title=" 创建人" align="center" field="createByName" width="70" :formatter="colNoData" />
+                        <vxe-column title=" 创建人" align="center" field="createByName" width="70"
+                            :formatter="colNoData" />
                         <vxe-column title="创建时间" align="center" field="createTime" width="160" :formatter="colNoData" />
                         <vxe-column title="操作" width="240" fixed="right">
                             <template #default="{ row }">
-                                <el-button v-if="!+row?.status" type="primary" text @click="trainingOn(row)">上架</el-button>
+                                <el-button v-if="!+row?.status" type="primary" text
+                                    @click="trainingOn(row)">上架</el-button>
                                 <span></span>
-                                <el-button v-if="+row?.status" type="danger" text @click="trainingOff(row)">下架</el-button>
+                                <el-button v-if="+row?.status" type="danger" text
+                                    @click="trainingOff(row)">下架</el-button>
                                 <span></span>
                                 <el-button v-if="!+row?.status" type="primary" @click="editRow(row)" text>编辑</el-button>
                                 <span></span>
                                 <el-badge :value="row.waitCount" class="item" :offset="[-10, 5]" v-if="+row.waitCount">
-                                    <el-button @click="router.push({ path: 'lmmeetingdetail', query: { id: row?.id } })" style="color: #0079fe;" text>人员管理及详情</el-button>
+                                    <el-button @click="router.push({ path: 'lmmeetingdetail', query: { id: row?.id } })"
+                                        style="color: #0079fe;" text>人员管理及详情</el-button>
                                 </el-badge>
-                                <el-button v-else @click="router.push({ path: 'lmmeetingdetail', query: { id: row?.id } })" style="color: #0079fe;" text>人员管理及详情</el-button>
+                                <el-button v-else
+                                    @click="router.push({ path: 'lmmeetingdetail', query: { id: row?.id } })"
+                                    style="color: #0079fe;" text>人员管理及详情</el-button>
                                 <span></span>
                                 <el-button text type="danger" @click="deleteRow(row)">删除</el-button>
                             </template>
                         </vxe-column>
                     </vxe-table>
                 </div>
-                <pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+                <pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
+                    @pagination="getList" />
             </div>
         </div>
     </div>
-    <SignInCode v-if="showSignIn" v-model:show="showSignIn" :info="rowInfo" :dict="{ lm_training_join_type }"></SignInCode>
-    <TemporaryRegistration v-if="showTemporary" v-model:show="showTemporary" :info="temporaryRegistration" :dict="{ lm_training_join_type }"></TemporaryRegistration>
+    <SignInCode v-if="showSignIn" v-model:show="showSignIn" :info="rowInfo" :dict="{ lm_training_join_type }">
+    </SignInCode>
+    <TemporaryRegistration v-if="showTemporary" v-model:show="showTemporary" :info="temporaryRegistration"
+        :dict="{ lm_training_join_type }"></TemporaryRegistration>
 </template>
 
 <script setup name="meeting" lang="ts">
@@ -214,10 +247,11 @@ const resetQuery = () => {
 };
 // 上架会议
 const trainingOn = async (row: any) => {
-    ElMessageBox.confirm(`确认要上架该会议吗?`, '上架提示', {
-        confirmButtonText: '确认',
-        cancelButtonText: '取消',
-        type: 'warning'
+    ElMessageBox.confirm(`上架前请确保会议信息、会议限制及要收集的报名信息正确,避免开始报名后信息错误的情况出现!`, '上架提示', {
+        confirmButtonText: '确认上架',
+        cancelButtonText: '我再看看',
+        type: 'warning',
+        customClass: 'custom-message-box', // 添加自定义类名
     }).then(async () => {
         const res = await publishTraining(row?.id);
         if (res) {
@@ -275,8 +309,8 @@ const trainingSignIn = (row: any) => {
 // 打开临时报名二维码
 const temporary = (row: any) => {
     temporaryRegistration.value = { ...row };
-    console.log(temporaryRegistration.value,'temporaryRegistration.value');
-    
+    console.log(temporaryRegistration.value, 'temporaryRegistration.value');
+
     showTemporary.value = true;
 };
 onMounted(() => {
@@ -284,3 +318,12 @@ onMounted(() => {
     getList();
 });
 </script>
+<style scoped>
+.custom-message-box .el-message-box__btns {
+    display: flex;
+    flex-direction: row-reverse !important;
+    /* 反转按钮顺序 */
+    justify-content: flex-start;
+    /* 左对齐 */
+}
+</style>

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

@@ -1,5 +1,5 @@
 <template>
-    <div class="pd-16">
+    <div class="pd-16" style="overflow: auto;">
         <div class="d-flex mb-16 flex-cln">
             <div class="info-title">可参会单位类型</div>
             <div class="bg-#fafafa pd-20">