|
|
@@ -22,26 +22,19 @@
|
|
|
</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:ss" 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:ss" 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:ss" 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:ss" 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>
|
|
|
@@ -52,8 +45,7 @@
|
|
|
</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">
|
|
|
@@ -63,8 +55,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="报名人数" prop="conditions.totalCheck">
|
|
|
- <div class="d-flex a-c"><el-radio-group v-model="form.conditions.totalCheck"
|
|
|
- style="flex-wrap: nowrap">
|
|
|
+ <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>
|
|
|
@@ -80,74 +72,47 @@
|
|
|
<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">
|
|
|
+ <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" />
|
|
|
+ <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 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" />
|
|
|
+ <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="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">
|
|
|
+ <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" />
|
|
|
+ <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 class="pl-10 pr-10 pt-5 pb-5">
|
|
|
- <template v-for="(item, index) in form.conditions.cpyCheck"
|
|
|
- :key="index">
|
|
|
+ <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" />
|
|
|
+ <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>
|
|
|
@@ -158,8 +123,7 @@
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="是否电子手签" prop="eleSignature">
|
|
|
<div class="d-flex a-c">
|
|
|
- <el-radio-group v-model="form.eleSignature"
|
|
|
- style="flex-wrap: nowrap">
|
|
|
+ <el-radio-group v-model="form.eleSignature" style="flex-wrap: nowrap">
|
|
|
<el-radio label="1">是</el-radio>
|
|
|
<el-radio label="0">否</el-radio>
|
|
|
</el-radio-group>
|
|
|
@@ -170,8 +134,7 @@
|
|
|
<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,9 +165,7 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="相关文件" prop="attachments">
|
|
|
<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>此模块报名审核通过后才可查看</div>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
@@ -212,15 +173,16 @@
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<div class="pd-16 border-bottom d-flex">
|
|
|
-
|
|
|
- <div class="w-50% ov-hd">
|
|
|
+ <div class="w-50% ov-at h-1000">
|
|
|
<div class="info-title mb-10">证书信息</div>
|
|
|
<div class="d-flex j-start a-c">
|
|
|
<el-form-item label="是否颁发证书" prop="certFlag">
|
|
|
<el-radio-group v-model="form.certFlag">
|
|
|
- <el-radio v-for="item in yes_no" :key="item.value" :label="item.value">{{
|
|
|
+ <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">
|
|
|
@@ -229,26 +191,21 @@
|
|
|
</div>
|
|
|
<template v-if="form.certFlag">
|
|
|
<template v-for="(item, index) in form.certificateInfo" :key="index">
|
|
|
- <el-row :gutter="20" class="bg-#f4f4f4 pd-16 mb-10">
|
|
|
+ <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">
|
|
|
@@ -262,14 +219,10 @@
|
|
|
</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>
|
|
|
+ <div class="pt-10 f-s-20 f-w-6 d-flex j-c a-c flex-cln ">报名信息</div>
|
|
|
<div class="f-s-12 f-w-4 d-flex j-start c-red">此页面为意向人报名时所见页面:</div>
|
|
|
</div>
|
|
|
<template v-for="(item, index) in fixedField" :key="index">
|
|
|
@@ -280,7 +233,7 @@
|
|
|
</template>
|
|
|
<template v-for="(field, index) in fields" :key="index">
|
|
|
<div class="meeting-custom-wrapper" @click.stop="showSignIn = true">
|
|
|
- <MeetingCustom :field="field" style="pointer-events: none" v-if="field" />
|
|
|
+ <meetingCustomPreview :field="field" style="pointer-events: none" v-if="field" />
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
|
@@ -303,7 +256,7 @@ import { useRouter } from 'vue-router';
|
|
|
import { trainingAdd, trainingDetail, trainingUpdate } from '@/api/training';
|
|
|
import { FieldDefinition } from '../models/type'
|
|
|
// 需要添加以下导入
|
|
|
-import MeetingCustom from '../models/meeting-custom.vue'
|
|
|
+import meetingCustomPreview from '../models/meeting-custom-preview.vue'
|
|
|
import MeetingEditors from '../models/meeting-editors.vue'
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
const { lm_training_join_type, yes_no, lm_training_cert, vip_level } = toRefs<any>(proxy?.useDict('lm_training_join_type', 'yes_no', 'lm_training_cert', 'vip_level'));
|
|
|
@@ -442,7 +395,6 @@ const getMeetingDetail = async () => {
|
|
|
onMounted(() => {
|
|
|
getMeetingDetail();
|
|
|
});
|
|
|
-
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
.border {
|