huangxw 7 kuukautta sitten
vanhempi
säilyke
2145544002

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

@@ -31,3 +31,18 @@ export const trainingDetail = (id: string): AxiosPromise => {
         method: 'get'
     });
 };
+// 会议状态统计
+export const queryTrainingCount = (query?: any): AxiosPromise => {
+    return request({
+        url: '/dgtmedicine/training/queryTrainingCount',
+        method: 'get',
+        params: query
+    });
+};
+// 会议删除
+export const trainingDelete = (id: string): AxiosPromise => {
+    return request({
+        url: `/dgtmedicine/training/delById/${id}`,
+        method: 'get'
+    });
+};

+ 0 - 15
src/views/authority/choose-list/index.vue

@@ -139,21 +139,6 @@ const resetQuery = () => {
 const editRow = (row) => {
     router.push({ path: 'choose-detail', query: { id: row.id } });
 };
-
-/** 删除事项 */
-const deleteRow = async (row) => {
-    ElMessageBox.confirm(`确认要删除专家为"${row.name}"的数据吗?`, '删除提示', {
-        confirmButtonText: '确认',
-        cancelButtonText: '取消',
-        type: 'warning'
-    }).then(async () => {
-        const res = await expertPersonDelete([row.id]);
-        if (res) {
-            ElMessage.success('删除成功');
-            getList();
-        }
-    });
-};
 // 获取专家统计数量
 const tabs = ref([]);
 const getExpertPersonCount = async () => {

+ 1 - 1
src/views/authority/info/index.vue

@@ -157,7 +157,7 @@ const deleteRow = async (row) => {
         cancelButtonText: '取消',
         type: 'warning'
     }).then(async () => {
-        const res = await expertPersonDelete([row.id]);
+        const res = await expertPersonDelete(row.id);
         if (res) {
             ElMessage.success('删除成功');
             getList();

+ 12 - 6
src/views/training/meeting-add/index.vue

@@ -46,29 +46,29 @@
                             </el-col>
                             <el-col v-if="+form?.certFlag" :span="6">
                                 <el-form-item label="证书名称" prop="certificateInfo">
-                                    <el-select v-model="form.certificateInfo" placeholder="证书名称" clearable>
+                                    <el-select v-model="form.certificateInfo" multiple placeholder="证书名称" clearable>
                                         <el-option v-for="item in dm_training_cert" :key="item.value" :label="item.label" :value="item.value" />
                                     </el-select>
                                 </el-form-item>
                             </el-col>
                         </el-row>
                         <el-row :gutter="20">
-                            <el-col :span="6">
+                            <el-col :span="12">
                                 <el-form-item label="培训详情" prop="description">
                                     <el-input v-model="form.description" :rows="4" type="textarea" placeholder="请输入培训详情" />
                                 </el-form-item>
                             </el-col>
-                            <el-col :span="6">
+                            <el-col :span="12">
                                 <el-form-item label="封面图" prop="coverImg">
                                     <ImageUpload v-model="form.coverImg" :limit="1"></ImageUpload>
                                 </el-form-item>
                             </el-col>
-                            <el-col :span="6">
+                            <el-col :span="12">
                                 <el-form-item label="会议图" prop="trainingImg">
                                     <ImageUpload v-model="form.trainingImg" :fileSize="40"></ImageUpload>
                                 </el-form-item>
                             </el-col>
-                            <el-col :span="6">
+                            <el-col :span="12">
                                 <el-form-item label="相关文件" prop="attachments">
                                     <FileUpload v-model="form.attachments" format="array" :limit="20" :fileSize="100"></FileUpload>
                                 </el-form-item>
@@ -113,7 +113,13 @@ const formRef = ref();
 
 const save = debounce(async () => {
     await formRef.value.validate();
-    const res = form.value.id ? await trainingUpdate(form.value) : await trainingAdd(form.value);
+    console.log('form.value', form.value);
+    const params = {
+        ...form.value,
+        trainingStart: form.value.trainingTime ? form.value.trainingTime[0] : undefined,
+        trainingEnd: form.value.trainingTime ? form.value.trainingTime[1] : undefined,
+    };
+    const res = form.value.id ? await trainingUpdate(params) : await trainingAdd(params);
     if (res && res.code === 200) {
         router.go(-1);
     }

+ 29 - 31
src/views/training/meeting/index.vue

@@ -37,6 +37,22 @@
                 <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="会议名称" align="center" min-width="150" />
+                        <vxe-column field="trainingTime" title="培训时间" align="center" min-width="150">
+                            <template #default="{ row }">{{ row.trainingStart  }}~{{ row.trainingEnd }}</template>
+                        </vxe-column>
+                        <vxe-column field="joinType" title="培训方式" align="center" min-width="120">
+                            <template #default="{ row }">
+                                {{ selectDictLabel(dm_training_join_type, row.joinType) }}
+                            </template>
+                        </vxe-column>
+                        <!-- <vxe-column field="trainingLocation" title="培训地点" align="center" min-width="150" /> -->
+                        <vxe-column field="certFlag" title="是否颁发证书" align="center" min-width="150">
+                            <template #default="{ row }">
+                                {{ selectDictLabel(yes_no, row.certFlag) }}
+                            </template>
+                        </vxe-column>
+
                         <vxe-column title="操作" width="250" align="center" fixed="right">
                             <template #default="{ row }">
                                 <el-button type="primary" @click="editRow(row)" text>编辑</el-button>
@@ -53,11 +69,8 @@
 
 <script setup name="meeting" lang="ts">
 import { colNoData } from '@/utils/noData';
-
-import { DateRange } from '@/views/models/index';
 import { searchTabs } from '@/views/models';
-import { expertList, expertPersonCount, expertPersonDelete, expertPersonOff, expertPersonOn } from '@/api/authority';
-import { trainingList } from '@/api/training';
+import { trainingList, queryTrainingCount, trainingDelete } from '@/api/training';
 const router = useRouter();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_training_join_type, yes_no, dm_training_cert } = toRefs<any>(proxy?.useDict('dm_training_join_type', 'yes_no', 'dm_training_cert'));
@@ -71,7 +84,7 @@ const data = reactive<any>({
     form: { ...initFormData },
     queryParams: {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 10
     },
     rules: {}
 });
@@ -91,56 +104,41 @@ const handleQuery = () => {
     queryParams.value.pageNum = 1;
     getList();
 };
-// /** 切换前端显示状态 */
-const changeRowPutaway = async (value, row) => {
-    try {
-        if (+value) {
-            await expertPersonOn(row.id);
-            ElMessage.success('上架成功');
-        } else {
-            await expertPersonOff(row.id);
-            ElMessage.success('下架成功');
-        }
-        getList();
-    } catch (error) {
-        ElMessage.error('操作失败');
-    }
-};
 /** 重置按钮操作 */
 const resetQuery = () => {
     queryFormRef.value?.resetFields();
     handleQuery();
 };
 
-/** 编辑专家 */
+/** 编辑会议 */
 const editRow = (row) => {
-    router.push({ path: 'authority-input', query: { id: row.id } });
+    router.push({ path: 'meeting-add', query: { id: row.id } });
 };
 
-/** 删除专家 */
-const deleteRow = async (row) => {
-    ElMessageBox.confirm(`确认要删除专家为"${row.name}"的数据吗?`, '删除提示', {
+/** 删除会议 */
+const deleteRow = async (row: any) => {
+    ElMessageBox.confirm(`确认要删除该个会议全部记录吗?`, '删除提示', {
         confirmButtonText: '确认',
         cancelButtonText: '取消',
         type: 'warning'
     }).then(async () => {
-        const res = await expertPersonDelete([row.id]);
+        const res = await trainingDelete(row?.id);
         if (res) {
             ElMessage.success('删除成功');
             getList();
         }
     });
 };
-// 获取专家统计数量
+// 获取会议统计数量
 const tabs = ref([]);
-const getExpertPersonCount = async () => {
-    const res = await expertPersonCount();
+const getMeetingCount = async () => {
+    const res = await queryTrainingCount();
     if (res?.code === 200) {
-        tabs.value = res.data
+        tabs.value = res.data;
     }
 };
 onMounted(() => {
-    getExpertPersonCount();
+    getMeetingCount();
     getList();
 });
 </script>