|
|
@@ -7,21 +7,16 @@
|
|
|
<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 dm_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 dm_training_join_type" :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>
|
|
|
@@ -35,22 +30,21 @@
|
|
|
<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" />
|
|
|
- <vxe-column field="trainingTime" min-width="130" title="培训时间">
|
|
|
+ <vxe-column field="trainingName" title="会议名称" :formatter="colNoData" min-width="150" class-name="f-w-5" />
|
|
|
+ <vxe-column field="trainingTime" min-width="130" title="会议时间" class-name="f-w-5">
|
|
|
<template #default="{ row }">{{ row.trainingStart }}~{{ row.trainingEnd }}</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="signupsTime" min-width="130" title="报名时间">
|
|
|
+ <vxe-column field="signupsTime" min-width="130" title="报名时间" class-name="f-w-5">
|
|
|
<template #default="{ row }">{{ row.signupStart }}~{{ row.signupEnd }}</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="joinType" title="培训方式" width="80">
|
|
|
+ <vxe-column field="joinType" title="会议方式" width="80">
|
|
|
<template #default="{ row }">
|
|
|
{{ selectDictLabel(dm_training_join_type, row.joinType) }}
|
|
|
</template>
|
|
|
@@ -61,8 +55,9 @@
|
|
|
{{ selectDictLabel(yes_no, row.certFlag) }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="joinCount" title="报名人数" width="60" />
|
|
|
- <vxe-column field="signCount" title="签到人数" width="60" />
|
|
|
+ <vxe-column field="joinCount" title="报名人数" width="60" class-name="f-w-5" />
|
|
|
+ <vxe-column field="signCount" title="签到人数" width="60" class-name="f-w-5" />
|
|
|
+ <vxe-column field="waitCount" title="待审核人数" width="60" class-name="f-w-5" />
|
|
|
<vxe-column field="certCount" title="领取证书人数" width="80" />
|
|
|
<vxe-column field="certFlag" title="会议状态" width="80">
|
|
|
<template #default="{ row }">
|
|
|
@@ -71,63 +66,42 @@
|
|
|
</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>
|
|
|
+ <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 }">
|
|
|
- <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'" />
|
|
|
+ <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>
|
|
|
- <el-button v-if="row.tempStatus == '1'" 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="['3'].includes(row?.trainingStatus)" type="primary" text
|
|
|
- @click="trainingOn(row)">上架</el-button>
|
|
|
+ <el-button v-if="['3'].includes(row?.trainingStatus)" type="primary" text @click="trainingOn(row)">上架</el-button>
|
|
|
<span></span>
|
|
|
- <el-button v-if="!['3'].includes(row?.trainingStatus)" type="danger" text
|
|
|
- @click="trainingOff(row)">下架</el-button>
|
|
|
+ <el-button v-if="!['3'].includes(row?.trainingStatus)" type="danger" text @click="trainingOff(row)">下架</el-button>
|
|
|
<span></span>
|
|
|
- <el-button v-if="['3'].includes(row?.trainingStatus)" type="primary"
|
|
|
- @click="editRow(row)" text>编辑</el-button>
|
|
|
+ <el-button v-if="['3'].includes(row?.trainingStatus)" type="primary" @click="editRow(row)" text>编辑</el-button>
|
|
|
<span></span>
|
|
|
- <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>
|
|
|
<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="{ dm_training_join_type }">
|
|
|
- </SignInCode>
|
|
|
- <TemporaryRegistration v-if="showTemporary" v-model:show="showTemporary" :info="temporaryRegistration"
|
|
|
- :dict="{ dm_training_join_type }">
|
|
|
- </TemporaryRegistration>
|
|
|
+ <SignInCode v-if="showSignIn" v-model:show="showSignIn" :info="rowInfo" :dict="{ dm_training_join_type }"></SignInCode>
|
|
|
+ <TemporaryRegistration v-if="showTemporary" v-model:show="showTemporary" :info="temporaryRegistration" :dict="{ dm_training_join_type }"></TemporaryRegistration>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="meeting" lang="ts">
|
|
|
@@ -182,6 +156,7 @@ const offOrNoTemps = async (row) => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+
|
|
|
const confirmEvent = (row) => {
|
|
|
if (resolvePromise) {
|
|
|
loading1.value = false;
|
|
|
@@ -277,4 +252,4 @@ onMounted(() => {
|
|
|
getMeetingCount();
|
|
|
getList();
|
|
|
});
|
|
|
-</script>
|
|
|
+</script>
|