commit
This commit is contained in:
@@ -210,8 +210,8 @@ public class ActivitySchool extends BaseModel implements Serializable, SysHomeCo
|
||||
} else {
|
||||
sysHomeActivity.setH5Url(null);
|
||||
}
|
||||
sysHomeActivity.setStartDate(DateUtil.parseDate(this.getApplyStartTime()));
|
||||
sysHomeActivity.setEndDate(DateUtil.parseDate(this.getApplyEndTime()));
|
||||
sysHomeActivity.setStartDate(DateUtil.parse(this.getApplyStartTime(), "yyyy-MM-dd HH:mm"));
|
||||
sysHomeActivity.setEndDate(DateUtil.parse(this.getApplyEndTime(), "yyyy-MM-dd HH:mm"));
|
||||
sysHomeActivity.setAllowUserGroupId(this.getActivityGroupId());
|
||||
sysHomeActivity.setEnable(true);
|
||||
sysHomeActivity.setClassPath(this.getClass().getPackageName() + this.getClass().getName());
|
||||
|
||||
@@ -66,7 +66,6 @@
|
||||
:required="column.isRequired"
|
||||
@click="selectFieldClick(column)"
|
||||
></van-field>
|
||||
|
||||
<van-popup
|
||||
v-if="['SELECT'].includes(column.columnFormType)"
|
||||
v-model="pickerStates[column.columnCode + 'Picker']"
|
||||
@@ -75,6 +74,8 @@
|
||||
>
|
||||
<template v-if="['DATETIME', 'DATE'].includes(column.columnType)">
|
||||
<van-datetime-picker
|
||||
v-model="column.currentDate"
|
||||
:min-date="column.minDate"
|
||||
:title="column.columnName"
|
||||
:type="column.columnType.toLocaleLowerCase()"
|
||||
show-toolbar
|
||||
@@ -448,6 +449,10 @@ module.exports = {
|
||||
if (!["DATE", "DATETIME"].includes(column.columnType)) {
|
||||
//说明是普通的下拉框
|
||||
// column.selectValues = ['1', '2', '3']
|
||||
}else{
|
||||
this.$set(column, "minDate", new Date(1900, 0, 1))
|
||||
this.$set(column, "currentDate", new Date(column.columnValue))
|
||||
|
||||
}
|
||||
},
|
||||
/**
|
||||
|
||||
@@ -93,12 +93,12 @@ layout("/layouts/platform.html"){
|
||||
<search @search="doSearch">
|
||||
<search-item label="年度:">
|
||||
<el-date-picker
|
||||
placeholder="选择年度"
|
||||
type="year"
|
||||
style="width: 100%"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy"
|
||||
@change="activityData"
|
||||
placeholder="选择年度"
|
||||
type="year"
|
||||
style="width: 100%"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy"
|
||||
@change="activityData"
|
||||
></el-date-picker>
|
||||
</search-item>
|
||||
<search-item label="活动状态:" style="width: 340px">
|
||||
@@ -117,11 +117,12 @@ layout("/layouts/platform.html"){
|
||||
<el-row :gutter="20">
|
||||
<el-col v-for="(item, i) in activityList.slice((index-1)*4,index*4)" :key="i" :span="6">
|
||||
<el-card
|
||||
@click="openApply(item)"
|
||||
:class="'box-card '+(item.id===pageForm.activityId?'activeCard':'')"
|
||||
style="border-radius: 10px"
|
||||
@click="openApply(item)"
|
||||
:class="'box-card '+(item.id===pageForm.activityId?'activeCard':'')"
|
||||
style="border-radius: 10px"
|
||||
>
|
||||
<div slot="header" class="clearfix" style="width: 100%; word-break: break-all; white-space: pre-wrap">
|
||||
<div slot="header" class="clearfix"
|
||||
style="width: 100%; word-break: break-all; white-space: pre-wrap">
|
||||
<div>{{item.activityName}}</div>
|
||||
<!--<el-button @click="openApply(item)" class="reserve_btn" type="text">请选择活动报名</el-button>-->
|
||||
</div>
|
||||
@@ -151,26 +152,26 @@ layout("/layouts/platform.html"){
|
||||
<!-- <span style="color: gray">活动类型:</span>
|
||||
<span>{{item.activityMode == 1 ? '校工会' : '分工会'}}</span>-->
|
||||
<el-tag
|
||||
type="danger"
|
||||
effect="dark"
|
||||
style="border-radius: 50%"
|
||||
v-if="$moment(item.activitySignUpEndTime).valueOf() < $moment().valueOf()"
|
||||
type="danger"
|
||||
effect="dark"
|
||||
style="border-radius: 50%"
|
||||
v-if="$moment(item.activitySignUpEndTime).valueOf() < $moment().valueOf()"
|
||||
>
|
||||
报名结束
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="success"
|
||||
effect="dark"
|
||||
style="border-radius: 50%"
|
||||
v-else-if="$moment().valueOf()>$moment(item.activitySignUpStartTime).valueOf()&&$moment().valueOf()<$moment(item.activitySignUpEndTime).valueOf()"
|
||||
type="success"
|
||||
effect="dark"
|
||||
style="border-radius: 50%"
|
||||
v-else-if="$moment().valueOf()>$moment(item.activitySignUpStartTime).valueOf()&&$moment().valueOf()<$moment(item.activitySignUpEndTime).valueOf()"
|
||||
>
|
||||
报名中
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="danger"
|
||||
effect="dark"
|
||||
style="border-radius: 50%"
|
||||
v-else-if="$moment().valueOf()<$moment(item.activitySignUpEndTime).valueOf()"
|
||||
type="danger"
|
||||
effect="dark"
|
||||
style="border-radius: 50%"
|
||||
v-else-if="$moment().valueOf()<$moment(item.activitySignUpEndTime).valueOf()"
|
||||
>
|
||||
报名未开始
|
||||
</el-tag>
|
||||
@@ -190,14 +191,15 @@ layout("/layouts/platform.html"){
|
||||
<template #label_end>
|
||||
<div class="search-item-option">
|
||||
<el-select
|
||||
v-model="pageForm.courseTypeId"
|
||||
:placeholder="'请选择' + trainType + '类型'"
|
||||
filterable
|
||||
clearable
|
||||
style="width: 100%; margin-bottom: 5px; margin-left: 10px"
|
||||
@change="doSearch"
|
||||
v-model="pageForm.courseTypeId"
|
||||
:placeholder="'请选择' + trainType + '类型'"
|
||||
filterable
|
||||
clearable
|
||||
style="width: 100%; margin-bottom: 5px; margin-left: 10px"
|
||||
@change="doSearch"
|
||||
>
|
||||
<el-option v-for="item in courseTypeList" :key="item.id" :label="item.lxname" :value="item.id"></el-option>
|
||||
<el-option v-for="item in courseTypeList" :key="item.id" :label="item.lxname"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
@@ -206,21 +208,24 @@ layout("/layouts/platform.html"){
|
||||
<el-table :data="tableData" row-key="id" @sort-change="pageOrder" v-loading="tableLoading">
|
||||
<el-table-column type="index" :index="indexMethod" label="序号" width="80px"></el-table-column>
|
||||
<el-table-column
|
||||
v-for="(column, index) in tableColumns"
|
||||
:key="column.prop"
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
show-overflow-tooltip
|
||||
v-for="(column, index) in tableColumns"
|
||||
:key="column.prop"
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template v-slot="{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}}
|
||||
</el-button>
|
||||
</template>
|
||||
|
||||
<template v-slot="{row}" v-else-if="column.prop=='courseTime'">
|
||||
<el-button style="padding: 0" @click="openViewCourseTime(row.id)" type="text">点击查看{{trainType}}时间</el-button>
|
||||
<el-button style="padding: 0" @click="openViewCourseTime(row.id)" type="text">
|
||||
点击查看{{trainType}}时间
|
||||
</el-button>
|
||||
</template>
|
||||
|
||||
<template v-slot="{row}" v-else-if="column.prop=='applyNum'">
|
||||
@@ -230,8 +235,13 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<el-table-column align="center" label="操作" width="150px">
|
||||
<template v-slot="scope">
|
||||
<el-button v-if="!scope.row.isSign" type="primary" size="mini" @click="doApply(scope.row)">我要报名</el-button>
|
||||
<el-button v-else type="danger" size="mini" @click="doCancel(scope.row)">取消报名</el-button>
|
||||
<span v-if="!trainSignUpActivity.signPointCount">
|
||||
<el-button v-if="!scope.row.isSign" type="primary" size="mini"
|
||||
@click="doApply(scope.row)">我要报名</el-button>
|
||||
<el-button v-else type="danger" size="mini"
|
||||
@click="doCancel(scope.row)">取消报名</el-button>
|
||||
</span>
|
||||
<span v-else>请扫码签到报名</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -281,41 +291,46 @@ layout("/layouts/platform.html"){
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item
|
||||
v-for="(column, index) in formData.trainMobileSignColumnList"
|
||||
:prop="'trainMobileSignColumnList.' + index + '.columnValue'"
|
||||
:label="column.columnName"
|
||||
:key="column.columnCode"
|
||||
:rules="{ required: column.isRequired,
|
||||
v-for="(column, index) in formData.trainMobileSignColumnList"
|
||||
:prop="'trainMobileSignColumnList.' + index + '.columnValue'"
|
||||
:label="column.columnName"
|
||||
:key="column.columnCode"
|
||||
:rules="{ required: column.isRequired,
|
||||
message: (['SELECT', 'FILE'].includes(column.columnFormType) ? '请选择' : '请填写') + column.columnName,
|
||||
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
|
||||
v-model="column.columnValue"
|
||||
:placeholder="'请填写' + column.columnName"
|
||||
:type="['INT'].includes(column.columnType) ? 'number' : ''"
|
||||
v-model="column.columnValue"
|
||||
:placeholder="'请填写' + column.columnName"
|
||||
:type="['INT'].includes(column.columnType) ? 'number' : ''"
|
||||
></el-input>
|
||||
</template>
|
||||
<!--选择框-->
|
||||
<template v-else-if="['SELECT'].includes(column.columnFormType) && ['VARCHAR','TEXT','INT'].includes(column.columnType)">
|
||||
<el-select v-model="column.columnValue" :placeholder="'请选择' + column.columnName" style="width: 100%">
|
||||
<el-option v-for="item in column.selectValues" :key="item" :label="item" :value="item"></el-option>
|
||||
<template
|
||||
v-else-if="['SELECT'].includes(column.columnFormType) && ['VARCHAR','TEXT','INT'].includes(column.columnType)">
|
||||
<el-select v-model="column.columnValue" :placeholder="'请选择' + column.columnName"
|
||||
style="width: 100%">
|
||||
<el-option v-for="item in column.selectValues" :key="item" :label="item"
|
||||
:value="item"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<!--时间框-->
|
||||
<template v-else-if="['DATE', 'DATETIME'].includes(column.columnType)">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="column.columnValue"
|
||||
:type="column.columnType === 'DATE' ? 'date' : 'datetime'"
|
||||
:placeholder="'请选择' + column.columnName"
|
||||
:value-format="column.columnType === 'DATE' ? 'yyyy-MM-dd' : 'yyyy-MM-dd HH:mm:ss'"
|
||||
style="width: 100%"
|
||||
v-model="column.columnValue"
|
||||
:type="column.columnType === 'DATE' ? 'date' : 'datetime'"
|
||||
:placeholder="'请选择' + column.columnName"
|
||||
:value-format="column.columnType === 'DATE' ? 'yyyy-MM-dd' : 'yyyy-MM-dd HH:mm:ss'"
|
||||
></el-date-picker>
|
||||
</template>
|
||||
<!--文件-->
|
||||
<template v-else-if="['JSON'].includes(column.columnType)">
|
||||
<file-upload :files.sync="column.columnValue" :max="column.fileNumber" :type="column.fileType"></file-upload>
|
||||
<file-upload :files.sync="column.columnValue" :max="column.fileNumber"
|
||||
:type="column.fileType"></file-upload>
|
||||
</template>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -364,20 +379,20 @@ layout("/layouts/platform.html"){
|
||||
courseTypeList: [],
|
||||
tableColumns: [
|
||||
/* {prop: 'name', label: '活动名称'},*/
|
||||
{ prop: "courseName", label: "名称" },
|
||||
{ prop: "lxname", label: "类型" },
|
||||
{ prop: "coursePeopleNumber", label: "总人数" },
|
||||
{ prop: "courseLocationCoordinates", label: "地点" },
|
||||
{ prop: "courseInstructor", label: "联系人" },
|
||||
{ prop: "courseTime", label: "时间" },
|
||||
{ prop: "applyNum", label: "已报名人数" }
|
||||
{prop: "courseName", label: "名称"},
|
||||
{prop: "lxname", label: "类型"},
|
||||
{prop: "coursePeopleNumber", label: "总人数"},
|
||||
{prop: "courseLocationCoordinates", label: "地点"},
|
||||
{prop: "courseInstructor", label: "联系人"},
|
||||
{prop: "courseTime", label: "时间"},
|
||||
{prop: "applyNum", label: "已报名人数"}
|
||||
],
|
||||
viewMapDialog: false,
|
||||
courseTimeListDialog: false,
|
||||
courseTimeList: [],
|
||||
formData: {},
|
||||
formRules: {
|
||||
mobile: [{ required: true, message: "必填", trigger: ["blur", "change"] }]
|
||||
mobile: [{required: true, message: "必填", trigger: ["blur", "change"]}]
|
||||
},
|
||||
choose: {},
|
||||
trainType: "培训班"
|
||||
@@ -479,7 +494,7 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
async getScopeUser(activityGroupId) {
|
||||
const resp = await this.$axios.post("/platform/activity/basic/scope/getScopeUser", { activityGroupId: activityGroupId })
|
||||
const resp = await this.$axios.post("/platform/activity/basic/scope/getScopeUser", {activityGroupId: activityGroupId})
|
||||
return resp.data
|
||||
},
|
||||
async doApply(row) {
|
||||
@@ -516,9 +531,18 @@ layout("/layouts/platform.html"){
|
||||
mobile: this.$store.state.user.mobile,
|
||||
trainMobileSignColumnList: o.trainMobileSignColumnList
|
||||
}
|
||||
this.formData.trainMobileSignColumnList.forEach((item) => {
|
||||
item.columnValue = ""
|
||||
this.formData.trainMobileSignColumnList.map((item) => {
|
||||
if (item.columnCode==="idCard" && this.$store.state.user.idCard) {
|
||||
item.columnValue = this.$store.state.user.idCard
|
||||
} else if (item.columnCode==="birthday" && this.$store.state.user.birthday) {
|
||||
item.columnValue = this.$moment(this.$store.state.user.birthday).format("YYYY-MM-DD")
|
||||
} else if (item.columnCode==="nation" && this.$store.state.user.nation) {
|
||||
item.columnValue = this.$store.state.user.nation
|
||||
} else {
|
||||
item.columnValue = ""
|
||||
}
|
||||
})
|
||||
console.log(this.formData.trainMobileSignColumnList)
|
||||
this.$refs.guava.edit()
|
||||
this.$nextTick(() => {
|
||||
this.$refs.form.clearValidate()
|
||||
@@ -581,7 +605,7 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
async openViewCourseTime(id) {
|
||||
const resp = await this.$axios.post(loc() + "/getCourseTime", { id: id })
|
||||
const resp = await this.$axios.post(loc() + "/getCourseTime", {id: id})
|
||||
this.courseTimeList = resp.data
|
||||
this.courseTimeListDialog = true
|
||||
}
|
||||
|
||||
@@ -406,7 +406,7 @@ layout("/layouts/platform_h5.html"){
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"train-dynamic-form": httpVueLoader("/components/module/trainSignUp/TrainDynamicForm.vue")
|
||||
"train-dynamic-form": httpVueLoader("/components/module/trainSignUp/TrainDynamicForm.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
tabClick(name, title) {
|
||||
@@ -602,8 +602,16 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
const column = this.allColumnsData.find((x) => x.id === o.courseType)
|
||||
this.dynamicColumnsData = column ? column.trainMobileSignColumnList : []
|
||||
this.dynamicColumnsData.forEach((item) => {
|
||||
item.columnValue = ""
|
||||
this.dynamicColumnsData.map((item) => {
|
||||
if (item.columnCode==="idCard" && this.$store.state.user.idCard) {
|
||||
item.columnValue = this.$store.state.user.idCard
|
||||
} else if (item.columnCode==="birthday" && this.$store.state.user.birthday) {
|
||||
item.columnValue = this.$moment(this.$store.state.user.birthday).format("YYYY-MM-DD")
|
||||
} else if (item.columnCode==="nation" && this.$store.state.user.nation) {
|
||||
item.columnValue = this.$store.state.user.nation
|
||||
} else {
|
||||
item.columnValue = ""
|
||||
}
|
||||
})
|
||||
this.joinPopup = true
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user