commit
This commit is contained in:
@@ -127,6 +127,11 @@ public class ActivityTissue extends BaseModel implements Serializable, SysHomeCo
|
|||||||
@ColDefine(type = ColType.MYSQL_JSON)
|
@ColDefine(type = ColType.MYSQL_JSON)
|
||||||
private List<Sys_file> otherFiles;
|
private List<Sys_file> otherFiles;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@Comment("风险告知书上传")
|
||||||
|
@ColDefine(type = ColType.TEXT)
|
||||||
|
private String riskText;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("活动类型")
|
@Comment("活动类型")
|
||||||
@ColDefine(type = ColType.INT, width = 10)
|
@ColDefine(type = ColType.INT, width = 10)
|
||||||
|
|||||||
+1
@@ -91,6 +91,7 @@ public class UnionActivityRegisterController {
|
|||||||
act.groupId,
|
act.groupId,
|
||||||
act.signStartTime,
|
act.signStartTime,
|
||||||
act.signEndTime,
|
act.signEndTime,
|
||||||
|
act.riskText,
|
||||||
abs.`name` AS projectTypeName,
|
abs.`name` AS projectTypeName,
|
||||||
creater.username AS createUserName,
|
creater.username AS createUserName,
|
||||||
creater.mobile as createUserMobile
|
creater.mobile as createUserMobile
|
||||||
|
|||||||
@@ -70,6 +70,11 @@ public class TrainSignUpActivity extends BaseModel implements Serializable, SysH
|
|||||||
@Comment("活动介绍")
|
@Comment("活动介绍")
|
||||||
private String introduce;
|
private String introduce;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@ColDefine(customType = "longtext")
|
||||||
|
@Comment("风险告知书")
|
||||||
|
private String riskText;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
@ColDefine(type = ColType.INT, width = 10)
|
@ColDefine(type = ColType.INT, width = 10)
|
||||||
@Comment("活动限制标识")
|
@Comment("活动限制标识")
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="view" class="viewFile">
|
<div v-if="view" class="viewFile">
|
||||||
<div v-for="(file,index) in files" class="viewFileItem" title="点击查看" @click="showSource(file,index,$event,files)">
|
<div v-for="(file,index) in files" class="viewFileItem" title="点击查看"
|
||||||
|
@click="showSource(file,index,$event,files)">
|
||||||
|
|
||||||
<template v-if="resolvingShowByFileName(file.filename) == 1">
|
<template v-if="resolvingShowByFileName(file.filename) == 1">
|
||||||
<el-image
|
<el-image
|
||||||
@@ -18,7 +19,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</template>
|
</template>
|
||||||
<div :title="file.filename" class="viewFileName" title="点击下载" @click.stop="downLoadFile(file)">
|
<div :title="file.filename" class="viewFileName" title="点击下载" @click.stop="downLoadFile(file)">
|
||||||
<i class="el-icon-download"></i> {{file.filename }}
|
<i class="el-icon-download"></i> {{ file.filename }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -32,24 +33,31 @@
|
|||||||
:on-success="onSuccess"
|
:on-success="onSuccess"
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
:on-exceed="handleExceed"
|
:on-exceed="handleExceed"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class="x100000 upload-card"
|
class="x100000 upload-card"
|
||||||
drag
|
drag
|
||||||
:on-preview="handlePreview"
|
:on-preview="handlePreview"
|
||||||
:data="{source:source}"
|
:data="{source:source}"
|
||||||
>
|
>
|
||||||
<i class="el-icon-upload"></i>
|
<i class="el-icon-upload"></i>
|
||||||
<div class="el-upload__text">
|
<div class="el-upload__text">
|
||||||
将文件拖到此处,或<em>点击上传</em>
|
将文件拖到此处,或<em>点击上传</em>
|
||||||
|
|
||||||
<span @click.stop="openPicture">或<em>图库上传</em></span>
|
<span @click.stop="openPicture">或<em>图库上传</em></span>
|
||||||
<!-- <slot name="el-upload__tip"></slot>-->
|
<!-- <slot name="el-upload__tip"></slot>-->
|
||||||
<div class="el-upload__tip" slot="tip" v-if="showTip">
|
</div>
|
||||||
请上传
|
<div class="el-upload__tip" slot="tip">
|
||||||
<template v-if="max_size"> 大小不超过 <b style="color: #f56c6c">{{ max_size / 1024 / 1024 }}MB</b></template>
|
请上传
|
||||||
<template v-if="size"> 尺寸为 <b style="color: #f56c6c">{{ size }}</b></template>
|
<template v-if="max">最多<b style="color: #f56c6c">{{ max }}</b>个</template>
|
||||||
<template v-if="type"> 格式为 <b style="color: #f56c6c">{{ type.join("/") }}</b></template>
|
<template v-if="max_size"> 大小不超过 <b style="color: #f56c6c">{{ max_size / 1024 / 1024 }}MB</b></template>
|
||||||
的文件
|
<template v-if="size"> 尺寸为 <b style="color: #f56c6c">{{ size }}</b></template>
|
||||||
</div>
|
<template v-if="type"> 格式为 <b style="color: #f56c6c">{{ type.join("/") }}</b></template>
|
||||||
|
的文件
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -71,6 +79,7 @@
|
|||||||
<!-- <slot name="el-upload__tip"></slot>-->
|
<!-- <slot name="el-upload__tip"></slot>-->
|
||||||
<div class="el-upload__tip" slot="tip" v-if="showTip">
|
<div class="el-upload__tip" slot="tip" v-if="showTip">
|
||||||
请上传
|
请上传
|
||||||
|
<template v-if="max">最多<b style="color: #f56c6c">{{ max }}</b>个</template>
|
||||||
<template v-if="max_size"> 大小不超过 <b style="color: #f56c6c">{{ max_size / 1024 / 1024 }}MB</b></template>
|
<template v-if="max_size"> 大小不超过 <b style="color: #f56c6c">{{ max_size / 1024 / 1024 }}MB</b></template>
|
||||||
<template v-if="size"> 尺寸为 <b style="color: #f56c6c">{{ size }}</b></template>
|
<template v-if="size"> 尺寸为 <b style="color: #f56c6c">{{ size }}</b></template>
|
||||||
<template v-if="type"> 格式为 <b style="color: #f56c6c">{{ type.join("/") }}</b></template>
|
<template v-if="type"> 格式为 <b style="color: #f56c6c">{{ type.join("/") }}</b></template>
|
||||||
@@ -558,7 +567,7 @@ module.exports = {
|
|||||||
computed: {
|
computed: {
|
||||||
// 是否显示提示
|
// 是否显示提示
|
||||||
showTip() {
|
showTip() {
|
||||||
return this.isShowTip && (this.type || this.max_size);
|
return this.isShowTip && (this.type != null || this.max_size != null);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -570,8 +579,8 @@ module.exports = {
|
|||||||
/**
|
/**
|
||||||
* 查看资源
|
* 查看资源
|
||||||
*/
|
*/
|
||||||
showSource(showItem, index, e,files) {
|
showSource(showItem, index, e, files) {
|
||||||
const picArray = files.filter(o => [1,2,3].includes(this.resolvingShowByFileName(o.filename)))
|
const picArray = files.filter(o => [1, 2, 3].includes(this.resolvingShowByFileName(o.filename)))
|
||||||
|
|
||||||
const viewFileParent = $(e.target).closest(".viewFile")
|
const viewFileParent = $(e.target).closest(".viewFile")
|
||||||
const show = this.resolvingShowByFileName(showItem.filename)
|
const show = this.resolvingShowByFileName(showItem.filename)
|
||||||
@@ -718,7 +727,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
change(fileList) {
|
change(fileList) {
|
||||||
//此处要把origin传到父组件 防止图库里的图片被删除
|
//此处要把origin传到父组件 防止图库里的图片被删除
|
||||||
this.$emit("update:files",fileList.filter(v=>v.data || v.id).map(v => {
|
this.$emit("update:files", fileList.filter(v => v.data || v.id).map(v => {
|
||||||
return {
|
return {
|
||||||
origin: v.origin,
|
origin: v.origin,
|
||||||
...v.data
|
...v.data
|
||||||
|
|||||||
@@ -10,16 +10,30 @@ layout("/mobile/platform.html"){
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.remark-content{
|
.remark-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: calc(100vh - 46px - 44px);
|
/* height: calc(100vh - 46px - 44px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding: 10px;
|
padding: 10px;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
.remark-content *{
|
.risk-dialog-wrapper {
|
||||||
max-width: 100%!important;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
max-height: 70vh; /* 限制 ActionSheet 最大高度,避免全屏 */
|
||||||
|
padding: 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remark-scrollable {
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto; /* 内容超出时滚动 */
|
||||||
|
padding-bottom: 16px; /* 给按钮留点空间 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.remark-content * {
|
||||||
|
max-width: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.joinPopup {
|
.joinPopup {
|
||||||
@@ -38,7 +52,7 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
<div style="margin: 20px 20px 10px 20px"
|
<div style="margin: 20px 20px 10px 20px"
|
||||||
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()">
|
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()">
|
||||||
<van-button :color="themeColor" @click="doSave()"
|
<van-button :color="themeColor" @click="openRiskText"
|
||||||
block style="border-radius: 10px"
|
block style="border-radius: 10px"
|
||||||
type="info"
|
type="info"
|
||||||
v-if="!isRegister && !isRegisterFull">
|
v-if="!isRegister && !isRegisterFull">
|
||||||
@@ -79,9 +93,23 @@ layout("/mobile/platform.html"){
|
|||||||
</div>-->
|
</div>-->
|
||||||
|
|
||||||
<van-popup class="joinPopup" position="right" v-model:show="showActivityInfoPopup">
|
<van-popup class="joinPopup" position="right" v-model:show="showActivityInfoPopup">
|
||||||
<van-nav-bar @click-left="showActivityInfoPopup = false" fixed left-arrow placeholder title="活动内容"></van-nav-bar>
|
<van-nav-bar @click-left="showActivityInfoPopup = false" fixed left-arrow placeholder
|
||||||
|
title="活动内容"></van-nav-bar>
|
||||||
<div class="remark-content" v-html="activityContent" @click="remarkClick"></div>
|
<div class="remark-content" v-html="activityContent" @click="remarkClick"></div>
|
||||||
</van-popup>
|
</van-popup>
|
||||||
|
<van-action-sheet v-model="riskTextDialogVisible" closeable :close-on-click-overlay="false"
|
||||||
|
title="风险告知书">
|
||||||
|
<div class="risk-dialog-wrapper">
|
||||||
|
<div class="remark-scrollable">
|
||||||
|
<div class="remark-content" v-html="o.riskText"></div>
|
||||||
|
</div>
|
||||||
|
<van-button :color="themeColor" @click=" doSave()"
|
||||||
|
block style="border-radius: 10px; margin-top: 16px;"
|
||||||
|
type="info" :disabled="submitDisabled">
|
||||||
|
{{ seconds <= 0 ? '去报名' :(seconds+'秒后去报名') }}
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
|
</van-action-sheet>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -99,17 +127,46 @@ layout("/mobile/platform.html"){
|
|||||||
isSign: false,
|
isSign: false,
|
||||||
|
|
||||||
activityContent: '',
|
activityContent: '',
|
||||||
showActivityInfoPopup: false
|
showActivityInfoPopup: false,
|
||||||
|
|
||||||
|
riskTextDialogVisible: false,
|
||||||
|
submitDisabled: false,
|
||||||
|
seconds: 0,
|
||||||
|
interval: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
remarkClick(event){
|
openRiskText() {
|
||||||
|
if (this.o.riskText) {
|
||||||
|
this.openInterval()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.doSave()
|
||||||
|
},
|
||||||
|
openInterval() {
|
||||||
|
this.seconds = 3
|
||||||
|
this.submitDisabled = true
|
||||||
|
this.riskTextDialogVisible = true
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.interval = setInterval(() => {
|
||||||
|
this.seconds--
|
||||||
|
if (this.seconds <= 0) {
|
||||||
|
this.seconds = 0
|
||||||
|
this.submitDisabled = false
|
||||||
|
clearInterval(this.interval)
|
||||||
|
this.interval = null
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
remarkClick(event) {
|
||||||
//如果点击的是图片
|
//如果点击的是图片
|
||||||
if(event.target.tagName === 'IMG'){
|
if (event.target.tagName === 'IMG') {
|
||||||
vant.ImagePreview([event.target.src])
|
vant.ImagePreview([event.target.src])
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showActivityInfo(activityContent){
|
showActivityInfo(activityContent) {
|
||||||
console.log(activityContent)
|
console.log(activityContent)
|
||||||
this.activityContent = ''
|
this.activityContent = ''
|
||||||
this.activityContent = activityContent
|
this.activityContent = activityContent
|
||||||
@@ -177,7 +234,8 @@ layout("/mobile/platform.html"){
|
|||||||
message: resp.msg,
|
message: resp.msg,
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
}).catch(() => {})
|
}).catch(() => {
|
||||||
|
})
|
||||||
// setTimeout(() => {
|
// setTimeout(() => {
|
||||||
// this.$toast.success(resp.msg)
|
// this.$toast.success(resp.msg)
|
||||||
// pjaxReplace('/mobile/activity/unionActivity')
|
// pjaxReplace('/mobile/activity/unionActivity')
|
||||||
|
|||||||
@@ -152,12 +152,25 @@ layout("/mobile/platform.html"){
|
|||||||
.van-tabs__nav--complete {
|
.van-tabs__nav--complete {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
.risk-dialog-wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
max-height: 70vh; /* 限制 ActionSheet 最大高度,避免全屏 */
|
||||||
|
padding: 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remark-scrollable {
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto; /* 内容超出时滚动 */
|
||||||
|
padding-bottom: 16px; /* 给按钮留点空间 */
|
||||||
|
}
|
||||||
|
|
||||||
.remark-content{
|
.remark-content{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: calc(100vh - 46px - 44px);
|
/* height: calc(100vh - 46px - 44px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
.remark-content *{
|
.remark-content *{
|
||||||
@@ -272,7 +285,7 @@ layout("/mobile/platform.html"){
|
|||||||
<van-button type="primary" color="#1867b0" round size="mini"
|
<van-button type="primary" color="#1867b0" round size="mini"
|
||||||
v-if="activityStatus !== '1' && o.isSign === false"
|
v-if="activityStatus !== '1' && o.isSign === false"
|
||||||
style="position: absolute; left: 74%; bottom: 10%; width: 74px; height: 28px"
|
style="position: absolute; left: 74%; bottom: 10%; width: 74px; height: 28px"
|
||||||
@click.stop="signUp(o)">
|
@click.stop="openRiskText(o)">
|
||||||
我要报名
|
我要报名
|
||||||
</van-button>
|
</van-button>
|
||||||
|
|
||||||
@@ -434,6 +447,20 @@ layout("/mobile/platform.html"){
|
|||||||
</van-tabs>
|
</van-tabs>
|
||||||
</van-popup>
|
</van-popup>
|
||||||
|
|
||||||
|
<van-action-sheet v-model="riskTextDialogVisible" closeable :close-on-click-overlay="false"
|
||||||
|
title="风险告知书">
|
||||||
|
<div class="risk-dialog-wrapper">
|
||||||
|
<div class="remark-scrollable">
|
||||||
|
<div class="remark-content" v-html="activity.riskText"></div>
|
||||||
|
</div>
|
||||||
|
<van-button :color="themeColor" @click="riskTextDialogVisible=false;signUp(choose)"
|
||||||
|
block style="border-radius: 10px; margin-top: 16px;"
|
||||||
|
type="info" :disabled="submitDisabled">
|
||||||
|
{{ seconds <= 0 ? '去报名' :(seconds+'秒后去报名') }}
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
|
</van-action-sheet>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<van-tabbar v-model="tarBarActive">
|
<van-tabbar v-model="tarBarActive">
|
||||||
<van-tabbar-item icon="home-o" replace @click="pjaxReplace('/platform/mobile/trainSignUpActivity/trainList')">活动报名</van-tabbar-item>
|
<van-tabbar-item icon="home-o" replace @click="pjaxReplace('/platform/mobile/trainSignUpActivity/trainList')">活动报名</van-tabbar-item>
|
||||||
@@ -498,12 +525,42 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
clickCourseRemark: {},
|
clickCourseRemark: {},
|
||||||
signUsers: [],
|
signUsers: [],
|
||||||
|
|
||||||
|
riskTextDialogVisible: false,
|
||||||
|
submitDisabled: false,
|
||||||
|
seconds: 0,
|
||||||
|
interval: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
'train-dynamic-form': httpVueLoader('/components/mobile/common/TrainDynamicForm.vue')
|
'train-dynamic-form': httpVueLoader('/components/mobile/common/TrainDynamicForm.vue')
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
openRiskText(o) {
|
||||||
|
this.choose = o
|
||||||
|
if (this.activity.riskText) {
|
||||||
|
this.openInterval()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.signUp(o)
|
||||||
|
},
|
||||||
|
openInterval() {
|
||||||
|
this.seconds = 3
|
||||||
|
this.submitDisabled = true
|
||||||
|
this.riskTextDialogVisible = true
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.interval = setInterval(() => {
|
||||||
|
this.seconds--
|
||||||
|
if (this.seconds <= 0) {
|
||||||
|
this.seconds = 0
|
||||||
|
this.submitDisabled = false
|
||||||
|
clearInterval(this.interval)
|
||||||
|
this.interval = null
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
})
|
||||||
|
},
|
||||||
async remarkActiveClick(name, title) {
|
async remarkActiveClick(name, title) {
|
||||||
if (name === 1) {
|
if (name === 1) {
|
||||||
//获取报名人员
|
//获取报名人员
|
||||||
|
|||||||
@@ -206,15 +206,15 @@
|
|||||||
|
|
||||||
<el-row :gutter="40">
|
<el-row :gutter="40">
|
||||||
|
|
||||||
<!-- <el-col :lg="12" :xl="12" :xs="12">
|
<!-- <el-col :lg="12" :xl="12" :xs="12">
|
||||||
<el-form-item label="是否推送移动端" prop="isPushHome">
|
<el-form-item label="是否推送移动端" prop="isPushHome">
|
||||||
<el-radio-group size="medium" v-model="formData.isPushHome">
|
<el-radio-group size="medium" v-model="formData.isPushHome">
|
||||||
<el-radio-button :label="0">不推送</el-radio-button>
|
<el-radio-button :label="0">不推送</el-radio-button>
|
||||||
<el-radio-button :label="1">推送列表</el-radio-button>
|
<el-radio-button :label="1">推送列表</el-radio-button>
|
||||||
<el-radio-button :label="2">推送大图</el-radio-button>
|
<el-radio-button :label="2">推送大图</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>-->
|
</el-col>-->
|
||||||
|
|
||||||
|
|
||||||
<el-col :lg="12" :xl="12" :xs="12"
|
<el-col :lg="12" :xl="12" :xs="12"
|
||||||
@@ -407,13 +407,13 @@
|
|||||||
<el-col :span="12" v-if="formData.needSign">
|
<el-col :span="12" v-if="formData.needSign">
|
||||||
<el-form-item label="签到时间" prop="signTime">
|
<el-form-item label="签到时间" prop="signTime">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
range-separator="-"
|
range-separator="-"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
v-model="formData.signTime"
|
v-model="formData.signTime"
|
||||||
value-format="yyyy-MM-dd HH:mm">
|
value-format="yyyy-MM-dd HH:mm">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -429,7 +429,8 @@
|
|||||||
|
|
||||||
|
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="活动介绍" prop="activityContent" :rules="{required:true,message: '请输入活动介绍', trigger: 'blur'}">
|
<el-form-item label="活动介绍" prop="activityContent"
|
||||||
|
:rules="{required:true,message: '请输入活动介绍', trigger: 'blur'}">
|
||||||
<text-editor v-model="formData.activityContent" ref="contentEditor"></text-editor>
|
<text-editor v-model="formData.activityContent" ref="contentEditor"></text-editor>
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- :rows="7"-->
|
<!-- :rows="7"-->
|
||||||
@@ -439,6 +440,11 @@
|
|||||||
<!-- </el-input>-->
|
<!-- </el-input>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="风险告知书" prop="riskText">
|
||||||
|
<text-editor v-model="formData.riskText" ref="riskTextEditor"></text-editor>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="附件上传" prop="otherFiles">
|
<el-form-item label="附件上传" prop="otherFiles">
|
||||||
@@ -447,6 +453,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="24" v-if="formData.isEnrollSystem === false">
|
<el-col :span="24" v-if="formData.isEnrollSystem === false">
|
||||||
<el-form-item label="活动考核内容" prop="activityExamineContent">
|
<el-form-item label="活动考核内容" prop="activityExamineContent">
|
||||||
<el-input
|
<el-input
|
||||||
@@ -809,9 +816,9 @@
|
|||||||
await this.$refs['addForm'].validate()
|
await this.$refs['addForm'].validate()
|
||||||
},
|
},
|
||||||
plannedDateChange(val) {
|
plannedDateChange(val) {
|
||||||
if (val){
|
if (val) {
|
||||||
val[0]=moment(val[0]).format('YYYY-MM-DD HH:mm')
|
val[0] = moment(val[0]).format('YYYY-MM-DD HH:mm')
|
||||||
val[1]=moment(val[1]).format('YYYY-MM-DD HH:mm')
|
val[1] = moment(val[1]).format('YYYY-MM-DD HH:mm')
|
||||||
}
|
}
|
||||||
this.$set(this.formData, "time", val)
|
this.$set(this.formData, "time", val)
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,11 @@
|
|||||||
<div class="search-item-label">活动时间</div>
|
<div class="search-item-label">活动时间</div>
|
||||||
<div class="search-item-option">
|
<div class="search-item-option">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
placeholder="选择年"
|
placeholder="选择年"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
type="year"
|
type="year"
|
||||||
v-model="pageForm.year"
|
v-model="pageForm.year"
|
||||||
value-format="yyyy"
|
value-format="yyyy"
|
||||||
></el-date-picker>
|
></el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -33,31 +33,31 @@
|
|||||||
<table-tool :app="this" label="活动列表"></table-tool>
|
<table-tool :app="this" label="活动列表"></table-tool>
|
||||||
|
|
||||||
<el-table
|
<el-table
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
:size="tableSize"
|
:size="tableSize"
|
||||||
@sort-change="pageOrder"
|
@sort-change="pageOrder"
|
||||||
class="vi-table"
|
class="vi-table"
|
||||||
row-key="id"
|
row-key="id"
|
||||||
style="width: 100%; margin-bottom: 20px"
|
style="width: 100%; margin-bottom: 20px"
|
||||||
v-loading="tableLoading"
|
v-loading="tableLoading"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:index="indexMethod"
|
:index="indexMethod"
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
label="序号"
|
label="序号"
|
||||||
type="index"
|
type="index"
|
||||||
width="80px"
|
width="80px"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
:width="column.width"
|
:width="column.width"
|
||||||
:sortable="column.sortable"
|
:sortable="column.sortable"
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
v-for="column in tableColumns"
|
v-for="column in tableColumns"
|
||||||
>
|
>
|
||||||
<template scope="{row}" v-if="column.prop=='time'">
|
<template scope="{row}" v-if="column.prop=='time'">
|
||||||
<span>{{moment(row.startTime).format('YYYY-MM-DD')}} - {{moment(row.endTime).format('YYYY-MM-DD')}}</span>
|
<span>{{moment(row.startTime).format('YYYY-MM-DD')}} - {{moment(row.endTime).format('YYYY-MM-DD')}}</span>
|
||||||
@@ -78,7 +78,8 @@
|
|||||||
<span v-if="row.signUpMethod===1">个人报名</span>
|
<span v-if="row.signUpMethod===1">个人报名</span>
|
||||||
<span v-else-if="row.signUpMethod===2">分工会报名</span>
|
<span v-else-if="row.signUpMethod===2">分工会报名</span>
|
||||||
<span v-else-if="row.signUpMethod===3"
|
<span v-else-if="row.signUpMethod===3"
|
||||||
style="color: #fd835a">组队报名<span style="color: black">(每组限报 <span style="color: red">{{row.teamNum}}</span> 人)</span></span>
|
style="color: #fd835a">组队报名<span style="color: black">(每组限报 <span
|
||||||
|
style="color: red">{{row.teamNum}}</span> 人)</span></span>
|
||||||
<span v-else-if="!row.signUpMethod">无需报名</span>
|
<span v-else-if="!row.signUpMethod">无需报名</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -90,31 +91,34 @@
|
|||||||
|
|
||||||
<el-table-column align="center" header-align="center" label="操作" prop="userOnline" width="250px">
|
<el-table-column align="center" header-align="center" label="操作" prop="userOnline" width="250px">
|
||||||
<template scope="{row}">
|
<template scope="{row}">
|
||||||
<el-button :loading="row.loading" @click="openView(row)" size="mini" type="primary">查看</el-button>
|
<el-button :loading="row.loading" @click="openView(row)" size="mini" type="primary">查看
|
||||||
|
</el-button>
|
||||||
<template
|
<template
|
||||||
v-if="moment(row.applyStartTime).valueOf()<moment().valueOf()&&moment(row.applyEndTime).valueOf()>moment().valueOf()"
|
v-if="moment(row.applyStartTime).valueOf()<moment().valueOf()&&moment(row.applyEndTime).valueOf()>moment().valueOf()"
|
||||||
>
|
>
|
||||||
<el-button :loading="row.loading" @click="openAudit(row)" size="mini" type="primary" v-if="row.signUpMethod === 2">
|
<el-button :loading="row.loading" @click="openRiskText(row)" size="mini" type="primary"
|
||||||
|
v-if="row.signUpMethod === 2">
|
||||||
报名
|
报名
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :loading="row.loading" @click="openAudit(row)" size="mini" type="primary" v-if="row.signUpMethod === 3">
|
<el-button :loading="row.loading" @click="openRiskText(row)" size="mini" type="primary"
|
||||||
|
v-if="row.signUpMethod === 3">
|
||||||
{{ row.countUser > 0 ? '修改' : '报名' }}
|
{{ row.countUser > 0 ? '修改' : '报名' }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
:loading="row.loading"
|
:loading="row.loading"
|
||||||
@click="doAdd(row)"
|
@click="openRiskText(row)"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="primary"
|
type="primary"
|
||||||
v-if="row.signUpMethod === 1&&row.countUser===0"
|
v-if="row.signUpMethod === 1&&row.countUser===0"
|
||||||
>
|
>
|
||||||
报名
|
报名
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
:loading="row.loading"
|
:loading="row.loading"
|
||||||
@click="doDelete(row)"
|
@click="doDelete(row)"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="danger"
|
type="danger"
|
||||||
v-if="row.countUser>0"
|
v-if="row.countUser>0"
|
||||||
>
|
>
|
||||||
取消报名
|
取消报名
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -129,14 +133,14 @@
|
|||||||
<template #edit>
|
<template #edit>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-transfer
|
<el-transfer
|
||||||
:data="leftData"
|
:data="leftData"
|
||||||
:filter-method="filterMethod"
|
:filter-method="filterMethod"
|
||||||
:props="{key: 'id',label: 'name'}"
|
:props="{key: 'id',label: 'name'}"
|
||||||
:titles="['可报人员名单', '当前选择']"
|
:titles="['可报人员名单', '当前选择']"
|
||||||
filterable
|
filterable
|
||||||
ref="transfer"
|
ref="transfer"
|
||||||
v-loading="tableLoading"
|
v-loading="tableLoading"
|
||||||
v-model="rightData"
|
v-model="rightData"
|
||||||
>
|
>
|
||||||
<template #left-footer>
|
<template #left-footer>
|
||||||
<div></div>
|
<div></div>
|
||||||
@@ -146,13 +150,17 @@
|
|||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<el-table :data="escalationTableData" max-height="500px">
|
<el-table :data="escalationTableData" max-height="500px">
|
||||||
<el-table-column align="center" header-align="center" label="序号" type="index" width="100"></el-table-column>
|
<el-table-column align="center" header-align="center" label="序号" type="index"
|
||||||
|
width="100"></el-table-column>
|
||||||
|
|
||||||
<el-table-column align="center" header-align="center" label="姓名" prop="username"></el-table-column>
|
<el-table-column align="center" header-align="center" label="姓名"
|
||||||
|
prop="username"></el-table-column>
|
||||||
|
|
||||||
<el-table-column align="center" header-align="center" label="教工号" prop="loginname"></el-table-column>
|
<el-table-column align="center" header-align="center" label="教工号"
|
||||||
|
prop="loginname"></el-table-column>
|
||||||
|
|
||||||
<el-table-column align="center" header-align="center" label="单位" prop="unitname" sortable></el-table-column>
|
<el-table-column align="center" header-align="center" label="单位" prop="unitname"
|
||||||
|
sortable></el-table-column>
|
||||||
|
|
||||||
<!--<el-table-column align="center" header-align="center" label="操作" sortable>
|
<!--<el-table-column align="center" header-align="center" label="操作" sortable>
|
||||||
<template scope="{$index,row}">
|
<template scope="{$index,row}">
|
||||||
@@ -170,6 +178,21 @@
|
|||||||
<tissue-info ref="info"></tissue-info>
|
<tissue-info ref="info"></tissue-info>
|
||||||
</template>
|
</template>
|
||||||
</guava>
|
</guava>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:visible.sync="riskTextDialogVisible"
|
||||||
|
title="风险告知书"
|
||||||
|
width="70%"
|
||||||
|
>
|
||||||
|
<div v-html="rowData.riskText"></div>
|
||||||
|
<span class="dialog-footer" slot="footer">
|
||||||
|
|
||||||
|
<el-button @click="closeRiskText" type="primary" :disabled="submitDisabled">
|
||||||
|
{{ seconds <= 0 ? '去报名' :(seconds+'秒后去报名') }}
|
||||||
|
</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -184,19 +207,23 @@
|
|||||||
year: new Date().getFullYear() + ""
|
year: new Date().getFullYear() + ""
|
||||||
},
|
},
|
||||||
tableColumns: [
|
tableColumns: [
|
||||||
{ prop: "name", label: "活动名称" },
|
{prop: "name", label: "活动名称"},
|
||||||
{ prop: "address", label: "活动地点" },
|
{prop: "address", label: "活动地点"},
|
||||||
{ prop: "projectTypeName", label: "活动项目类型" },
|
{prop: "projectTypeName", label: "活动项目类型"},
|
||||||
{ prop: "tussueName", label: "举办单位" },
|
{prop: "tussueName", label: "举办单位"},
|
||||||
{ prop: "time", label: "活动日期" },
|
{prop: "time", label: "活动日期"},
|
||||||
{ prop: "totalApplyNum", label: "已报名人数", width: 160 },
|
{prop: "totalApplyNum", label: "已报名人数", width: 160},
|
||||||
{ prop: "signUpMethod", label: "报名方式", sortable: true, width: 200 },
|
{prop: "signUpMethod", label: "报名方式", sortable: true, width: 200},
|
||||||
{ prop: "countUser", label: "我的报名", sortable: true }
|
{prop: "countUser", label: "我的报名", sortable: true}
|
||||||
],
|
],
|
||||||
leftData: [],
|
leftData: [],
|
||||||
rightData: [],
|
rightData: [],
|
||||||
|
|
||||||
rowData: {}
|
rowData: {},
|
||||||
|
riskTextDialogVisible: false,
|
||||||
|
submitDisabled: false,
|
||||||
|
seconds: 0,
|
||||||
|
interval: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -208,8 +235,55 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
openInterval() {
|
||||||
|
this.seconds = 3
|
||||||
|
this.submitDisabled = true
|
||||||
|
this.riskTextDialogVisible = true
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.interval = setInterval(() => {
|
||||||
|
this.seconds--
|
||||||
|
if (this.seconds <= 0) {
|
||||||
|
this.seconds = 0
|
||||||
|
this.submitDisabled = false
|
||||||
|
clearInterval(this.interval)
|
||||||
|
this.interval = null
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
closeRiskText() {
|
||||||
|
this.riskTextDialogVisible = false
|
||||||
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '数据加载中...',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: COVER_LAYER_COLOR
|
||||||
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
loading.close()
|
||||||
|
if (this.rowData.signUpMethod === 1) {
|
||||||
|
this.doAdd(this.rowData)
|
||||||
|
} else {
|
||||||
|
this.openAudit(this.rowData)
|
||||||
|
}
|
||||||
|
}, 500)
|
||||||
|
},
|
||||||
|
openRiskText(row) {
|
||||||
|
this.rowData = row
|
||||||
|
if (row.riskText) {
|
||||||
|
this.openInterval()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (row.signUpMethod === 1) {
|
||||||
|
this.doAdd(row)
|
||||||
|
} else {
|
||||||
|
this.openAudit(row)
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
openView(row) {
|
openView(row) {
|
||||||
const { id } = row
|
const {id} = row
|
||||||
this.$refs.info.getInfo(id)
|
this.$refs.info.getInfo(id)
|
||||||
this.$refs.guava.view()
|
this.$refs.guava.view()
|
||||||
},
|
},
|
||||||
@@ -220,7 +294,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.submitLoading = true
|
this.submitLoading = true
|
||||||
const { code, msg } = await $.get("/mobile/activity/unionActivity/doSaveUnionRegister", {
|
const {code, msg} = await $.get("/mobile/activity/unionActivity/doSaveUnionRegister", {
|
||||||
activityId: this.tissueId,
|
activityId: this.tissueId,
|
||||||
personIds: JSON.stringify(this.rightData)
|
personIds: JSON.stringify(this.rightData)
|
||||||
})
|
})
|
||||||
@@ -241,7 +315,7 @@
|
|||||||
})
|
})
|
||||||
if (confirm === "confirm") {
|
if (confirm === "confirm") {
|
||||||
row.loading = true
|
row.loading = true
|
||||||
const { code, msg } = await $.get("/mobile/activity/unionActivity/doSingleCancelRegister", {
|
const {code, msg} = await $.get("/mobile/activity/unionActivity/doSingleCancelRegister", {
|
||||||
activityId: row.id
|
activityId: row.id
|
||||||
})
|
})
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
@@ -262,7 +336,7 @@
|
|||||||
})
|
})
|
||||||
if (confirm === "confirm") {
|
if (confirm === "confirm") {
|
||||||
row.loading = true
|
row.loading = true
|
||||||
const { code, msg } = await $.get("/mobile/activity/unionActivity/doSingleRegister", {
|
const {code, msg} = await $.get("/mobile/activity/unionActivity/doSingleRegister", {
|
||||||
activityId: row.id
|
activityId: row.id
|
||||||
})
|
})
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
@@ -287,13 +361,13 @@
|
|||||||
|
|
||||||
this.tableLoading = true
|
this.tableLoading = true
|
||||||
this.$refs.guava.edit()
|
this.$refs.guava.edit()
|
||||||
const { data } = await $.get("/platform/activity/applyUser/selfUnionUsers", {
|
const {data} = await $.get("/platform/activity/applyUser/selfUnionUsers", {
|
||||||
groupId: row.groupId,
|
groupId: row.groupId,
|
||||||
tissueId: row.id
|
tissueId: row.id
|
||||||
})
|
})
|
||||||
this.leftData = data
|
this.leftData = data
|
||||||
|
|
||||||
const { data: rightData } = await $.get("/platform/activity/applyUser/getReportedUser", {
|
const {data: rightData} = await $.get("/platform/activity/applyUser/getReportedUser", {
|
||||||
tissueId: row.id
|
tissueId: row.id
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -282,7 +282,8 @@ layout("/layouts/platform.html"){
|
|||||||
show-overflow-tooltip>
|
show-overflow-tooltip>
|
||||||
|
|
||||||
<template scope="{row}" v-if="column.prop=='courseLocationCoordinates'">
|
<template scope="{row}" v-if="column.prop=='courseLocationCoordinates'">
|
||||||
<el-button style="padding: 0" @click="openViewMap(row.courseLocationCoordinates)" type="text">
|
<el-button style="padding: 0" @click="openViewMap(row.courseLocationCoordinates)"
|
||||||
|
type="text">
|
||||||
{{row.courseLocation}}
|
{{row.courseLocation}}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -292,8 +293,10 @@ layout("/layouts/platform.html"){
|
|||||||
<span style="color: #e5a15e">活动时间另行通知</span>
|
<span style="color: #e5a15e">活动时间另行通知</span>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<el-button v-if="row.courseList && row.courseList.length == 1" type="text" style="padding: 0">
|
<el-button v-if="row.courseList && row.courseList.length == 1" type="text"
|
||||||
{{moment(row.courseList[0].courseStartTime).format('MM-DD HH:mm')}}至{{moment(row.courseList[0].courseStartTime).format('MM-DD HH:mm')}}
|
style="padding: 0">
|
||||||
|
{{moment(row.courseList[0].courseStartTime).format('MM-DD
|
||||||
|
HH:mm')}}至{{moment(row.courseList[0].courseStartTime).format('MM-DD HH:mm')}}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-else style="padding: 0" @click="openViewCourseTime(row)" type="text">
|
<el-button v-else style="padding: 0" @click="openViewCourseTime(row)" type="text">
|
||||||
点击查看{{trainType}}时间
|
点击查看{{trainType}}时间
|
||||||
@@ -315,9 +318,12 @@ layout("/layouts/platform.html"){
|
|||||||
|
|
||||||
<el-table-column align="center" label="操作" width="150px">
|
<el-table-column align="center" label="操作" width="150px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- <el-button type="primary" size="small">查看信息</el-button>-->
|
<!-- <el-button type="primary" size="small">查看信息</el-button>-->
|
||||||
<el-button v-if="!scope.row.isSign" type="primary" size="mini" @click="doApply(scope.row)">我要报名</el-button>
|
<el-button v-if="!scope.row.isSign" type="primary" size="mini"
|
||||||
<el-button v-else type="danger" size="mini" @click="doCancel(scope.row)">取消报名</el-button>
|
@click="openRiskText(scope.row)">我要报名
|
||||||
|
</el-button>
|
||||||
|
<el-button v-else type="danger" size="mini" @click="doCancel(scope.row)">取消报名
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -394,50 +400,52 @@ layout("/layouts/platform.html"){
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col span="24">
|
<el-col span="24">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-for="(column, index) in formData.trainMobileSignColumnList"
|
v-for="(column, index) in formData.trainMobileSignColumnList"
|
||||||
:prop="'trainMobileSignColumnList.' + index + '.columnValue'"
|
:prop="'trainMobileSignColumnList.' + index + '.columnValue'"
|
||||||
:label="column.columnName"
|
:label="column.columnName"
|
||||||
:key="column.columnCode"
|
:key="column.columnCode"
|
||||||
:rules="{ required: column.isRequired,
|
:rules="{ required: column.isRequired,
|
||||||
message: (['SELECT', 'FILE'].includes(column.columnFormType) ? '请选择' : '请填写') + column.columnName,
|
message: (['SELECT', 'FILE'].includes(column.columnFormType) ? '请选择' : '请填写') + column.columnName,
|
||||||
trigger: 'blur'}">
|
trigger: 'blur'}">
|
||||||
<!--文本框-->
|
<!--文本框-->
|
||||||
<template v-if="!['SELECT'].includes(column.columnFormType) && ['VARCHAR','TEXT','INT'].includes(column.columnType)">
|
<template
|
||||||
|
v-if="!['SELECT'].includes(column.columnFormType) && ['VARCHAR','TEXT','INT'].includes(column.columnType)">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="column.columnValue"
|
v-model="column.columnValue"
|
||||||
:placeholder="'请填写' + column.columnName"
|
:placeholder="'请填写' + column.columnName"
|
||||||
:type="['INT'].includes(column.columnType) ? 'number' : ''"
|
:type="['INT'].includes(column.columnType) ? 'number' : ''"
|
||||||
></el-input>
|
></el-input>
|
||||||
</template>
|
</template>
|
||||||
<!--选择框-->
|
<!--选择框-->
|
||||||
<template v-else-if="['SELECT'].includes(column.columnFormType) && ['VARCHAR','TEXT','INT'].includes(column.columnType)">
|
<template
|
||||||
|
v-else-if="['SELECT'].includes(column.columnFormType) && ['VARCHAR','TEXT','INT'].includes(column.columnType)">
|
||||||
<el-select v-model="column.columnValue"
|
<el-select v-model="column.columnValue"
|
||||||
:placeholder="'请选择' + column.columnName"
|
:placeholder="'请选择' + column.columnName"
|
||||||
style="width: 100%">
|
style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in column.selectValues"
|
v-for="item in column.selectValues"
|
||||||
:key="item"
|
:key="item"
|
||||||
:label="item"
|
:label="item"
|
||||||
:value="item">
|
:value="item">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
<!--时间框-->
|
<!--时间框-->
|
||||||
<template v-else-if="['DATE', 'DATETIME'].includes(column.columnType)">
|
<template v-else-if="['DATE', 'DATETIME'].includes(column.columnType)">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="column.columnValue"
|
v-model="column.columnValue"
|
||||||
:type="column.columnType === 'DATE' ? 'date' : 'datetime'"
|
:type="column.columnType === 'DATE' ? 'date' : 'datetime'"
|
||||||
:placeholder="'请选择' + column.columnName"
|
:placeholder="'请选择' + column.columnName"
|
||||||
:value-format="column.columnType === 'DATE' ? 'yyyy-MM-dd' : 'yyyy-MM-dd HH:mm:ss'">
|
:value-format="column.columnType === 'DATE' ? 'yyyy-MM-dd' : 'yyyy-MM-dd HH:mm:ss'">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</template>
|
</template>
|
||||||
<!--文件-->
|
<!--文件-->
|
||||||
<template v-else-if="['JSON'].includes(column.columnType)">
|
<template v-else-if="['JSON'].includes(column.columnType)">
|
||||||
<file-upload
|
<file-upload
|
||||||
:files.sync="column.columnValue"
|
:files.sync="column.columnValue"
|
||||||
:max="column.fileNumber"
|
:max="column.fileNumber"
|
||||||
:type="column.fileType">
|
:type="column.fileType">
|
||||||
</file-upload>
|
</file-upload>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -463,12 +471,13 @@ layout("/layouts/platform.html"){
|
|||||||
<el-input v-model="registerForm.searchKeyword" placeholder="请输入姓名查询" size="small"></el-input>
|
<el-input v-model="registerForm.searchKeyword" placeholder="请输入姓名查询" size="small"></el-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group tool-button mt5">
|
<div class="btn-group tool-button mt5">
|
||||||
<el-select v-model="registerForm.unionId" clearable filterable placeholder="请选择院级工会" size="small">
|
<el-select v-model="registerForm.unionId" clearable filterable placeholder="请选择院级工会"
|
||||||
|
size="small">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in unionList"
|
v-for="item in unionList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.unionname"
|
:label="item.unionname"
|
||||||
:value="item.id">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
@@ -482,9 +491,11 @@ layout("/layouts/platform.html"){
|
|||||||
<el-button icon="el-icon-search" type="primary" @click="getSignUsers" size="small"></el-button>
|
<el-button icon="el-icon-search" type="primary" @click="getSignUsers" size="small"></el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table :data="signUsers" max-height="500" size="small">
|
<el-table :data="signUsers" max-height="500" size="small">
|
||||||
<el-table-column prop="username" label="姓名" header-align="center" align="center"></el-table-column>
|
<el-table-column prop="username" label="姓名" header-align="center"
|
||||||
|
align="center"></el-table-column>
|
||||||
<el-table-column prop="sex" label="性别" header-align="center" align="center"></el-table-column>
|
<el-table-column prop="sex" label="性别" header-align="center" align="center"></el-table-column>
|
||||||
<el-table-column prop="unionname" label="所属工会" header-align="center" align="center"></el-table-column>
|
<el-table-column prop="unionname" label="所属工会" header-align="center"
|
||||||
|
align="center"></el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -492,6 +503,21 @@ layout("/layouts/platform.html"){
|
|||||||
<el-button type="primary" @click="remarkShow = false">关 闭</el-button>
|
<el-button type="primary" @click="remarkShow = false">关 闭</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:visible.sync="riskTextDialogVisible"
|
||||||
|
title="风险告知书"
|
||||||
|
width="70%"
|
||||||
|
>
|
||||||
|
<div v-html="trainSignUpActivity.riskText"></div>
|
||||||
|
<span class="dialog-footer" slot="footer">
|
||||||
|
|
||||||
|
<el-button @click="closeRiskText" type="primary" :disabled="submitDisabled">
|
||||||
|
{{ seconds <= 0 ? '去报名' :(seconds+'秒后去报名') }}
|
||||||
|
</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -512,13 +538,13 @@ layout("/layouts/platform.html"){
|
|||||||
activityList: [],
|
activityList: [],
|
||||||
courseTypeList: [],
|
courseTypeList: [],
|
||||||
tableColumns: [
|
tableColumns: [
|
||||||
{ prop: "courseName", label: "名称" },
|
{prop: "courseName", label: "名称"},
|
||||||
{ prop: "lxname", label: "类型" },
|
{prop: "lxname", label: "类型"},
|
||||||
{ prop: "coursePeopleNumber", label: "总人数" },
|
{prop: "coursePeopleNumber", label: "总人数"},
|
||||||
{ prop: "courseLocationCoordinates", label: "地点" },
|
{prop: "courseLocationCoordinates", label: "地点"},
|
||||||
{ prop: "courseInstructor", label: "联系人" },
|
{prop: "courseInstructor", label: "联系人"},
|
||||||
{ prop: "courseTime", label: "时间" },
|
{prop: "courseTime", label: "时间"},
|
||||||
{ prop: "applyNum", label: "已报名人数" }
|
{prop: "applyNum", label: "已报名人数"}
|
||||||
],
|
],
|
||||||
viewMapDialog: false,
|
viewMapDialog: false,
|
||||||
courseTimeListDialog: false,
|
courseTimeListDialog: false,
|
||||||
@@ -541,9 +567,54 @@ layout("/layouts/platform.html"){
|
|||||||
unionId: '',
|
unionId: '',
|
||||||
},
|
},
|
||||||
unionList: [],
|
unionList: [],
|
||||||
|
|
||||||
|
riskTextDialogVisible: false,
|
||||||
|
submitDisabled: false,
|
||||||
|
seconds: 0,
|
||||||
|
interval: null,
|
||||||
|
rowData: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
openInterval() {
|
||||||
|
this.seconds = 3
|
||||||
|
this.submitDisabled = true
|
||||||
|
this.riskTextDialogVisible = true
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.interval = setInterval(() => {
|
||||||
|
this.seconds--
|
||||||
|
if (this.seconds <= 0) {
|
||||||
|
this.seconds = 0
|
||||||
|
this.submitDisabled = false
|
||||||
|
clearInterval(this.interval)
|
||||||
|
this.interval = null
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
closeRiskText() {
|
||||||
|
this.riskTextDialogVisible = false
|
||||||
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '数据加载中...',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: COVER_LAYER_COLOR
|
||||||
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
loading.close()
|
||||||
|
this.doApply(this.rowData)
|
||||||
|
}, 500)
|
||||||
|
},
|
||||||
|
openRiskText(row) {
|
||||||
|
this.rowData = row
|
||||||
|
if (this.trainSignUpActivity.riskText) {
|
||||||
|
this.openInterval()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.doApply(row)
|
||||||
|
|
||||||
|
},
|
||||||
async remarkActiveClick(tab) {
|
async remarkActiveClick(tab) {
|
||||||
if (tab.name === 'second') {
|
if (tab.name === 'second') {
|
||||||
//获取报名人员
|
//获取报名人员
|
||||||
@@ -555,7 +626,7 @@ layout("/layouts/platform.html"){
|
|||||||
const {data} = await $.get('/platform/trainSingUp/manage/userAdjust/registerUserList', this.registerForm)
|
const {data} = await $.get('/platform/trainSingUp/manage/userAdjust/registerUserList', this.registerForm)
|
||||||
this.signUsers = data
|
this.signUsers = data
|
||||||
},
|
},
|
||||||
openViewRemark(row){
|
openViewRemark(row) {
|
||||||
this.remarkActive = 'first'
|
this.remarkActive = 'first'
|
||||||
this.signUsers = []
|
this.signUsers = []
|
||||||
if (!row.remarks) {
|
if (!row.remarks) {
|
||||||
@@ -565,37 +636,37 @@ layout("/layouts/platform.html"){
|
|||||||
this.courseRemark = row
|
this.courseRemark = row
|
||||||
this.remarkShow = true
|
this.remarkShow = true
|
||||||
},
|
},
|
||||||
async doCancel(row){
|
async doCancel(row) {
|
||||||
const msg = '您确认要取消' + row.courseName + '的报名吗?'
|
const msg = '您确认要取消' + row.courseName + '的报名吗?'
|
||||||
this.$confirm(msg, '提示', {
|
this.$confirm(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(async () => {
|
}).then(async () => {
|
||||||
const resp = await $.post('/platform/mobile/trainSignUpActivity/cancelSignUp',{
|
const resp = await $.post('/platform/mobile/trainSignUpActivity/cancelSignUp', {
|
||||||
activityId:row.activityId,
|
activityId: row.activityId,
|
||||||
courseId:row.id
|
courseId: row.id
|
||||||
})
|
})
|
||||||
if (resp.code === 0){
|
if (resp.code === 0) {
|
||||||
await this.pageData()
|
await this.pageData()
|
||||||
this.$message.success(resp.msg)
|
this.$message.success(resp.msg)
|
||||||
}else {
|
} else {
|
||||||
this.$message.warning(resp.msg)
|
this.$message.warning(resp.msg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
calcSignUpCount(o) {
|
calcSignUpCount(o) {
|
||||||
if(o.reserveMode === 2) {
|
if (o.reserveMode === 2) {
|
||||||
let lave = 0
|
let lave = 0
|
||||||
let lave2 = 0
|
let lave2 = 0
|
||||||
if(o.hasRegisterNum < o.coursePeopleNumber) {
|
if (o.hasRegisterNum < o.coursePeopleNumber) {
|
||||||
lave = o.coursePeopleNumber - o.hasRegisterNum
|
lave = o.coursePeopleNumber - o.hasRegisterNum
|
||||||
lave2 = o.courseReservedNumber
|
lave2 = o.courseReservedNumber
|
||||||
} else {
|
} else {
|
||||||
lave = 0
|
lave = 0
|
||||||
lave2 = (o.coursePeopleNumber + o.courseReservedNumber) - o.hasRegisterNum
|
lave2 = (o.coursePeopleNumber + o.courseReservedNumber) - o.hasRegisterNum
|
||||||
}
|
}
|
||||||
let str = "(<span style='color: red'>余" + lave +"</span>/" + o.coursePeopleNumber + "人"
|
let str = "(<span style='color: red'>余" + lave + "</span>/" + o.coursePeopleNumber + "人"
|
||||||
+ ",<span style='color: red'>候补余" + lave2 + "</span>/" + o.courseReservedNumber + "人)"
|
+ ",<span style='color: red'>候补余" + lave2 + "</span>/" + o.courseReservedNumber + "人)"
|
||||||
return str
|
return str
|
||||||
} else {
|
} else {
|
||||||
@@ -603,7 +674,7 @@ layout("/layouts/platform.html"){
|
|||||||
return "(<span style='color: #ff8400'>无名额限制</span>/已报<span style='color: red'>" + o.hasRegisterNum + "</span>人)"
|
return "(<span style='color: #ff8400'>无名额限制</span>/已报<span style='color: red'>" + o.hasRegisterNum + "</span>人)"
|
||||||
} else {
|
} else {
|
||||||
let lave = o.coursePeopleNumber - (o.hasRegisterNum + o.courseReservedNumber)
|
let lave = o.coursePeopleNumber - (o.hasRegisterNum + o.courseReservedNumber)
|
||||||
return "(<span style='color: red'>余" + lave +"</span>/" + o.coursePeopleNumber + "人)"
|
return "(<span style='color: red'>余" + lave + "</span>/" + o.coursePeopleNumber + "人)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -611,7 +682,7 @@ layout("/layouts/platform.html"){
|
|||||||
//获取家属是多少人
|
//获取家属是多少人
|
||||||
let per = 0
|
let per = 0
|
||||||
this.formData.trainMobileSignColumnList.forEach(item => {
|
this.formData.trainMobileSignColumnList.forEach(item => {
|
||||||
if(item.columnCode === 'xdqsrs') {
|
if (item.columnCode === 'xdqsrs') {
|
||||||
per += Number(item.columnValue)
|
per += Number(item.columnValue)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -620,7 +691,7 @@ layout("/layouts/platform.html"){
|
|||||||
courseId: this.choose.id,
|
courseId: this.choose.id,
|
||||||
currentFamilyNumber: per,
|
currentFamilyNumber: per,
|
||||||
})
|
})
|
||||||
if(res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
this.$message.warning(res.msg)
|
this.$message.warning(res.msg)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -641,7 +712,7 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.formData.mobileColumnsValue = JSON.stringify(mobileColumnsValue)
|
this.formData.mobileColumnsValue = JSON.stringify(mobileColumnsValue)
|
||||||
const resp = await $.post('/platform/mobile/trainSignUpActivity/doSignUp',this.formData)
|
const resp = await $.post('/platform/mobile/trainSignUpActivity/doSignUp', this.formData)
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
await this.pageData()
|
await this.pageData()
|
||||||
this.$message.success(resp.msg)
|
this.$message.success(resp.msg)
|
||||||
@@ -742,7 +813,7 @@ layout("/layouts/platform.html"){
|
|||||||
const resp = await $.post(loc() + '/activityData', this.pageForm)
|
const resp = await $.post(loc() + '/activityData', this.pageForm)
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
this.activityList = resp.data
|
this.activityList = resp.data
|
||||||
if(this.activityList.length > 0) {
|
if (this.activityList.length > 0) {
|
||||||
await this.openApply(this.activityList[0])
|
await this.openApply(this.activityList[0])
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -129,7 +129,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="活动类型" prop="trainType" :rules="{required:true,message: '请选择活动类型', trigger: 'blur'}">
|
<el-form-item label="活动类型" prop="trainType"
|
||||||
|
:rules="{required:true,message: '请选择活动类型', trigger: 'blur'}">
|
||||||
<el-select @change="typeChange" filterable placeholder="请选择活动类型"
|
<el-select @change="typeChange" filterable placeholder="请选择活动类型"
|
||||||
style="width: 100%" v-model="formData.trainType">
|
style="width: 100%" v-model="formData.trainType">
|
||||||
<el-option :label="item.name" :value="item.code" v-for="item in trainTypeList"></el-option>
|
<el-option :label="item.name" :value="item.code" v-for="item in trainTypeList"></el-option>
|
||||||
@@ -139,21 +140,25 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-form-item :rules="{required:true,message: '请输入活动介绍', trigger: 'blur'}" label="活动介绍" prop="introduce">
|
<el-form-item :rules="{required:true,message: '请输入活动介绍', trigger: 'blur'}" label="活动介绍" prop="introduce">
|
||||||
<text-editor v-model="formData.introduce" ></text-editor>
|
<text-editor v-model="formData.introduce"></text-editor>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="风险告知书" prop="riskText">
|
||||||
|
<text-editor v-model="formData.riskText"></text-editor>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="封面图片" prop="cover" :rules="{required:true,message: '请上传活动移动端封面图片', trigger: 'blur'}">
|
<el-form-item label="封面图片" prop="cover"
|
||||||
|
:rules="{required:true,message: '请上传活动移动端封面图片', trigger: 'blur'}">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<image-Upload :file-size="10" :file-type="['jpg','jpeg','png','JPG','JPEG','PNG']"
|
<image-Upload :file-size="10" :file-type="['jpg','jpeg','png','JPG','JPEG','PNG']"
|
||||||
:height="70" :limit="1"
|
:height="70" :limit="1"
|
||||||
:width="140"
|
:width="140"
|
||||||
ref="coverFileUpload"
|
ref="coverFileUpload"
|
||||||
v-model="formData.cover"></image-Upload>
|
v-model="formData.cover"></image-Upload>
|
||||||
<!-- <file-upload ref="coverFileUpload" :files.sync="formData.cover" :max="1" :type="['jpg','jpeg','png','JPG','JPEG','PNG']">-->
|
<!-- <file-upload ref="coverFileUpload" :files.sync="formData.cover" :max="1" :type="['jpg','jpeg','png','JPG','JPEG','PNG']">-->
|
||||||
<!-- <template #el-upload__tip>-->
|
<!-- <template #el-upload__tip>-->
|
||||||
<!-- <div class="el-upload__tip" slot="tip">请上传一张jpg/png/jpeg等格式,且不大于2M的照片</div>-->
|
<!-- <div class="el-upload__tip" slot="tip">请上传一张jpg/png/jpeg等格式,且不大于2M的照片</div>-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<!-- </file-upload>-->
|
<!-- </file-upload>-->
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="微信群二维码" prop="wechat">
|
<el-form-item label="微信群二维码" prop="wechat">
|
||||||
@@ -162,11 +167,11 @@
|
|||||||
:limit="1"
|
:limit="1"
|
||||||
:width="140"
|
:width="140"
|
||||||
v-model="formData.wechat"></image-Upload>
|
v-model="formData.wechat"></image-Upload>
|
||||||
<!-- <file-upload :files.sync="formData.wechat" :max="1" :type="['jpg','jpeg','png','JPG','JPEG','PNG']">-->
|
<!-- <file-upload :files.sync="formData.wechat" :max="1" :type="['jpg','jpeg','png','JPG','JPEG','PNG']">-->
|
||||||
<!-- <template #el-upload__tip>-->
|
<!-- <template #el-upload__tip>-->
|
||||||
<!-- <div slot="tip" class="el-upload__tip">请上传一张jpg/png/jpeg等格式,且不大于2M的照片</div>-->
|
<!-- <div slot="tip" class="el-upload__tip">请上传一张jpg/png/jpeg等格式,且不大于2M的照片</div>-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<!-- </file-upload>-->
|
<!-- </file-upload>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -519,7 +524,10 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<el-row class="mt20" justify="end" type="flex">
|
<el-row class="mt20" justify="end" type="flex">
|
||||||
<div class="text-danger" style="width: 100%;font-size: 18px;display: flex;align-items: center;font-weight: bold">限制总人数:{{summaryCount}}人</div>
|
<div class="text-danger"
|
||||||
|
style="width: 100%;font-size: 18px;display: flex;align-items: center;font-weight: bold">
|
||||||
|
限制总人数:{{summaryCount}}人
|
||||||
|
</div>
|
||||||
<el-button @click="clearUnionLimit" type="danger">清空分工会人数限制</el-button>
|
<el-button @click="clearUnionLimit" type="danger">清空分工会人数限制</el-button>
|
||||||
<el-button @click="setUpUnionLimitDialog=false">取消</el-button>
|
<el-button @click="setUpUnionLimitDialog=false">取消</el-button>
|
||||||
<el-button @click="doConfirmSetUpUnionLimit" type="primary">确定</el-button>
|
<el-button @click="doConfirmSetUpUnionLimit" type="primary">确定</el-button>
|
||||||
@@ -535,8 +543,10 @@
|
|||||||
<span>分工会人数限制</span>
|
<span>分工会人数限制</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-button @click="openSetUpUnionLimit(moreInfoIndex)" type="primary" size="small">设置分工会人数限制</el-button>
|
<el-button @click="openSetUpUnionLimit(moreInfoIndex)" type="primary" size="small">设置分工会人数限制
|
||||||
<span v-if="formData.courseList[moreInfoIndex].unionLimit && formData.courseList[moreInfoIndex].unionLimit.length > 0" class="text-success">
|
</el-button>
|
||||||
|
<span v-if="formData.courseList[moreInfoIndex].unionLimit && formData.courseList[moreInfoIndex].unionLimit.length > 0"
|
||||||
|
class="text-success">
|
||||||
已设置
|
已设置
|
||||||
</span>
|
</span>
|
||||||
<span v-else class="text-danger">
|
<span v-else class="text-danger">
|
||||||
@@ -620,7 +630,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-radio-group v-model="formData.courseList[moreInfoIndex].reserveMode" size="small"
|
<el-radio-group v-model="formData.courseList[moreInfoIndex].reserveMode" size="small"
|
||||||
:disabled="formData.courseList[moreInfoIndex].isBringFamily === true">
|
:disabled="formData.courseList[moreInfoIndex].isBringFamily === true">
|
||||||
<el-radio border :label="1">报名人员减少模式</el-radio>
|
<el-radio border :label="1">报名人员减少模式</el-radio>
|
||||||
<el-radio border :label="2">候补模式</el-radio>
|
<el-radio border :label="2">候补模式</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
|
|||||||
Reference in New Issue
Block a user