This commit is contained in:
2025-04-03 14:27:25 +08:00
parent 6dd08cfa79
commit 909beff08d
10 changed files with 416 additions and 31 deletions
@@ -3,8 +3,11 @@ package io.v.nutz.activity.controller.union;
import cn.hutool.core.util.StrUtil;
import cn.wizzer.framework.base.service.BaseService;
import io.v.nutz.activity.models.ActivityTissue;
import io.v.nutz.activity.models.ActivityTissueBasicSettings;
import io.v.nutz.annontation.ViReturn;
import io.v.nutz.base.service.SimpleService;
import io.v.nutz.base.utils.DateUtil;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.dao.Cnd;
@@ -18,6 +21,7 @@ import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import java.util.Calendar;
import java.util.List;
/**
* @author zhf
@@ -116,4 +120,13 @@ public class ActivityUnionApplyController {
}
@At
@ViReturn
@RequiresPermissions(value = {"activity.school.apply", "activity.club.apply", "activity.union.apply"}, logical = Logical.OR)
public Object getActivityBasicSettingsList(){
List<ActivityTissueBasicSettings> list = simpleService.dao().query(ActivityTissueBasicSettings.class,
Cnd.where("YEAR(applyDate)", "=", DateUtil.getYear()));
return list;
}
}
@@ -164,7 +164,8 @@ public class ActivityUnionApplyUserController {
$condition
""");
Cnd cnd = Cnd.NEW();
cnd.and("u.unionId", "=", Vi.getUnionId());
cnd.and("u.unitid", "is not", null);
cnd.and("u.unionid", "is not", null);
cnd.and("aus.groupId", "=", groupId);
cnd.groupBy("u.id");
cnd.asc("u.unitname").asc("u.unionname");
@@ -184,10 +185,11 @@ public class ActivityUnionApplyUserController {
activity_tissue_person atp
LEFT JOIN `user` u ON atp.userId = u.id
WHERE
atp.tissueId = @tissueId AND u.unionid = @unionId
atp.tissueId = @tissueId AND atp.applyUserId = @userId
""");
sql.setParam("tissueId", tissueId);
sql.setParam("unionId", Vi.getUnionId());
sql.setParam("userId", ShiroUtil.getUserId());
List<NutMap> list = baseService.listMap(sql);
List<String> userIds = list.stream().map(v -> v.getString("userId")).collect(Collectors.toList());
return userIds;
@@ -0,0 +1,62 @@
package io.v.nutz.activity.controller.union;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import io.v.nutz.activity.models.ActivityTissueBasicSettings;
import io.v.nutz.annontation.ViReturn;
import io.v.nutz.base.page.Pagination;
import io.v.nutz.base.service.BaseService;
import io.v.nutz.modules.models.PageForm;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
/**
* @ClassName ActivityUnionBasicSettingsController
* @Description TODO
* @Author zhf
* @Date 2025/4/3 上午9:16
*/
@IocBean
@Ok("json:full")
@At("/platform/activity/union/basicSettings")
public class ActivityUnionBasicSettingsController {
@At("")
@Ok("beetl:/platform/activity/union/basicSettings.html")
@RequiresPermissions("activity.union.basicSettings")
public void index() {
}
@Inject
private BaseService baseService;
@At
@ViReturn
@RequiresPermissions("activity.union.basicSettings")
public Object doSubmit(ActivityTissueBasicSettings activityTissueBasicSettings) {
if (StrUtil.isEmpty(activityTissueBasicSettings.getApplyDate())){
activityTissueBasicSettings.setApplyDate(DateUtil.now());
}
baseService.insertOrUpdate(activityTissueBasicSettings);
return null;
}
@At
@ViReturn
@RequiresPermissions("activity.union.basicSettings")
public Object pageData(PageForm pageForm, Integer year) {
Sql sql = Sqls.create("SELECT * FROM `activity_tissue_basic_settings` WHERE YEAR(applyDate)=@year").setParam("year", year);
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
return pagination;
}
}
@@ -249,4 +249,9 @@ public class ActivityTissue extends BaseModel implements Serializable {
@ColDefine(type = ColType.VARCHAR, width = 30)
private String signEndTime;
@Column
@Comment("活动设置id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String basicSettingsId;
}
@@ -0,0 +1,48 @@
package io.v.nutz.activity.models;
import cn.wizzer.framework.base.model.BaseModel;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
import java.io.Serializable;
/**
* @ClassName ActivityTissueBasicSettings
* @Description TODO
* @Author zhf
* @Date 2025/4/3 上午9:20
*/
@Data
@Table("activity_tissue_basic_settings")
@Comment("协会或分工会活动校工会活动基础设置")
public class ActivityTissueBasicSettings extends BaseModel implements Serializable {
@Column
@Name
@Comment("ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("设置名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String basicSettingsName;
@Column
@Comment("设置编码")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String basicSettingsCode;
@Column
@Comment("可报活动数")
@ColDefine(type = ColType.INT)
private Integer signUpActivityNum;
@Column
@Comment("创建时间")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String applyDate;
}
@@ -2,9 +2,7 @@ package io.v.nutz.mobile.activity.unionActivity;
import cn.hutool.core.util.StrUtil;
import cn.wizzer.framework.base.Result;
import io.v.nutz.activity.models.ActivityTissue;
import io.v.nutz.activity.models.ActivityTissuePerson;
import io.v.nutz.activity.models.ActivityUserScope;
import io.v.nutz.activity.models.*;
import io.v.nutz.annontation.ViReturn;
import io.v.nutz.base.service.SimpleService;
import io.v.nutz.base.utils.DateUtil;
@@ -31,7 +29,9 @@ import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import org.nutz.trans.Trans;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@@ -120,9 +120,9 @@ public class UnionActivityRegisterController {
@ViReturn
@RequiresAuthentication
public Object pageData(PageForm pageForm,
@Param(value = "year",required = false) Integer year,
@Param(value = "activityStatus",required = false)int activityStatus,
@Param(value = "activityLevel",required = false)String activityLevel) {
@Param(value = "year", required = false) Integer year,
@Param(value = "activityStatus", required = false) int activityStatus,
@Param(value = "activityLevel", required = false) String activityLevel) {
Sql sql = Sqls.create("""
SELECT
id,
@@ -334,12 +334,67 @@ public class UnionActivityRegisterController {
@ViReturn
@RequiresAuthentication
public synchronized Object doSaveUnionRegister(String activityId, String[] personIds) {
lock.lock();
ActivityTissue activityTissue = simpleService.dao().fetch(ActivityTissue.class, activityId);
if (StrUtil.isNotEmpty(activityTissue.getBasicSettingsId())) {
//如果不为空就代表有活动设置
ActivityTissueBasicSettings settings = simpleService.dao().fetch(ActivityTissueBasicSettings.class, activityTissue.getBasicSettingsId());
//找出跟这个活动设置关联的活动
List<ActivityTissue> tissueList = simpleService.dao().query(ActivityTissue.class, Cnd.where("basicSettingsId", "=", settings.getId()).and("id", "!=", activityId));
List<String> tissueIds = tissueList.stream().map(ActivityTissue::getId).collect(Collectors.toList());
//找出当前登入人报名的活动
Sql sql = Sqls.create("""
SELECT
act.`name`
FROM
`activity_tissue_person` atp
LEFT JOIN activity_tissue act ON act.id = atp.tissueId
WHERE atp.tissueId in (@tissueId) AND atp.userId=@userId
""").setParam("tissueId", tissueIds).setParam("userId", ShiroUtil.getUserId());
List<NutMap> applyTissueList = simpleService.listMap(sql);
if (applyTissueList.size() == settings.getSignUpActivityNum()) {
lock.unlock();
List<String> nameList = applyTissueList.stream().map(v -> v.getString("name")).collect(Collectors.toList());
return Result.error("" + settings.getBasicSettingsName() + "】类型只能报名" + settings.getSignUpActivityNum() + "个!您已报名【" + String.join(",", nameList) + "");
}
//找到队友的id
List<String> teammateUserIds = Arrays.stream(personIds).filter(id -> !id.equals(ShiroUtil.getUserId())).collect(Collectors.toList());
Sql sql2 = Sqls.create("""
SELECT
atp.userId,
atp.userName,
act.`name`
FROM
`activity_tissue_person` atp
LEFT JOIN activity_tissue act ON act.id = atp.tissueId
WHERE atp.tissueId in (@tissueId) AND atp.userId in (@userId)
""").setParam("tissueId", tissueIds).setParam("userId", teammateUserIds);
List<NutMap> teammateUserList = simpleService.listMap(sql2);
//队友分组
Map<String, List<NutMap>> groupedData = teammateUserList.stream()
.collect(Collectors.groupingBy(
nutMap -> nutMap.getString("userName") // 提取 userName 作为分组键
));
final String[] msg = {""};
groupedData.forEach((key, value) -> {
//判断每个队友是否报名
if (value.size() == settings.getSignUpActivityNum()) {
List<String> activityNames = value.stream().map(v -> v.getString("name")).collect(Collectors.toList());
msg[0] = msg[0] + "当前活动只能报名" + settings.getSignUpActivityNum() + "个,【" + key + "】已报名【" + String.join(",", activityNames) + "";
}
});
if (StrUtil.isNotEmpty(msg[0])) {
lock.unlock();
return Result.error().addMsg(msg[0]);
}
}
String unionId = Vi.getUnionId();
ActivityTissue activityTissue = simpleService.dao().fetch(ActivityTissue.class, activityId);
if (activityTissue.getSignUpMethod() == 2) {
if (!ShiroUtil.hasRole("H04")) {
lock.unlock();
return Result.error().addMsg("请使用分工会管理员报名!");
}
}
@@ -348,12 +403,14 @@ public class UnionActivityRegisterController {
int hasRegisterCount = simpleService.dao().count(ActivityTissuePerson.class, Cnd.where("tissueId", "=", activityId));
if (hasRegisterCount + personIds.length > activityTissue.getTotalUserNumberLimit()) {
// return Result.error().addMsg("当前最多只能报名%s人!".formatted(Math.max(activityTissue.getTotalUserNumberLimit() - hasRegisterCount, 0)));
lock.unlock();
return Result.error().addMsg("该活动限制人数为%s人".formatted(activityTissue.getTotalUserNumberLimit()));
}
}
if (activityTissue.getUserNumberLimit() == 2) {
int limitNumByUnion = getLimitNumByUnion(activityTissue.getUnionUserNumberLimit(), unionId);
if (personIds.length > limitNumByUnion) {
lock.unlock();
return Result.error().addMsg("分工会报名限额%s人!".formatted(limitNumByUnion));
}
}
@@ -398,6 +455,7 @@ public class UnionActivityRegisterController {
sql.setCondition(Cnd.where("id", "in", personIds));
List<ActivityTissuePerson> fullPersonList = simpleService.listEntity(sql, ActivityTissuePerson.class);
simpleService.insert(fullPersonList);
lock.unlock();
});
return Result.success().addMsg("报名成功!");
}
@@ -422,10 +480,32 @@ public class UnionActivityRegisterController {
lock.unlock();
return Result.error("您的工会信息有误,无法报名,请联系工会管理员!");
}
String unionId = Vi.getUnionId();
// String unionId = "74d1600a7486457b9afd660128c86a20";
ActivityTissue activityTissue = simpleService.dao().fetch(ActivityTissue.class, activityId);
;
if (StrUtil.isNotEmpty(activityTissue.getBasicSettingsId())) {
//如果不为空就代表有活动设置
ActivityTissueBasicSettings settings = simpleService.dao().fetch(ActivityTissueBasicSettings.class, activityTissue.getBasicSettingsId());
//找出跟这个活动设置关联的活动
List<ActivityTissue> tissueList = simpleService.dao().query(ActivityTissue.class, Cnd.where("basicSettingsId", "=", settings.getId()));
List<String> tissueIds = tissueList.stream().map(ActivityTissue::getId).collect(Collectors.toList());
//找出当前登入人报名的活动
Sql sql = Sqls.create("""
SELECT
act.`name`
FROM
`activity_tissue_person` atp
LEFT JOIN activity_tissue act ON act.id = atp.tissueId
WHERE atp.tissueId in (@tissueId) AND atp.userId=@userId
""").setParam("tissueId", tissueIds).setParam("userId", ShiroUtil.getUserId());
List<NutMap> applyTissueList = simpleService.listMap(sql);
if (applyTissueList.size() == settings.getSignUpActivityNum()) {
lock.unlock();
List<String> nameList = applyTissueList.stream().map(v -> v.getString("name")).collect(Collectors.toList());
return Result.error("" + settings.getBasicSettingsName() + "】类型只能报名" + settings.getSignUpActivityNum() + "个!您已报名【" + String.join(",", nameList) + "");
}
}
//活动设置了分组人员
if (activityTissue.getGroupId() != null) {
int count = simpleService.dao().count(ActivityUserScope.class, Cnd.where("groupId", "=", activityTissue.getGroupId()).and("userId", "=", ShiroUtil.getPrincipalProperty("id")));
@@ -434,7 +514,7 @@ public class UnionActivityRegisterController {
return Result.error().addMsg("您不在本次活动参加人员范围内!");
}
}
String unionId = Vi.getUnionId();
if (Lang.isNotEmpty(activityTissue.getUserNumberLimit())) {
if (activityTissue.getUserNumberLimit() == 1) {
Integer totalUserNumberLimit = activityTissue.getTotalUserNumberLimit();
@@ -477,6 +557,9 @@ public class UnionActivityRegisterController {
activityTissuePerson.setMobile(principal.getMobile());
activityTissuePerson.setUnitName(principal.getUnit().getName());
activityTissuePerson.setUnionName(principal.getUnion().getUnionname());
activityTissuePerson.setApplyDateTime(DateUtil.getDateTime());
activityTissuePerson.setApplyUserId(principal.getId());
activityTissuePerson.setApplyUserUserName(principal.getUsername());
simpleService.dao().insert(activityTissuePerson);
lock.unlock();
return Result.success().addMsg("报名成功!");
@@ -487,7 +570,7 @@ public class UnionActivityRegisterController {
@RequiresAuthentication
public Object doSingleCancelRegister(String activityId) {
simpleService.dao().clear(ActivityTissuePerson.class, Cnd.where("tissueId", "=", activityId)
.and("userId", "=", ShiroUtil.getPrincipalProperty("id")));
.and("applyUserId", "=", ShiroUtil.getPrincipalProperty("id")));
return Result.success().addMsg("取消成功!");
}
@@ -185,7 +185,6 @@ layout("/mobile/platform.html"){
}
},
showActivityInfo(activityContent){
console.log(activityContent)
this.activityContent = ''
this.activityContent = activityContent
this.showActivityInfoPopup = true
@@ -51,6 +51,7 @@
<body>
<script>
window.sessionStorage.setItem("user", JSON.stringify(${json(@shiro.getPrincipal())}))
const APP_DOMAIN = "${AppDomain!}"
const FILE_DOMAIN = "${AppFileDomain!}"
</script>
@@ -201,6 +201,19 @@
</div>
</el-form-item>
</el-col>
<el-col :lg="12" :xl="12" :xs="24">
<el-form-item label="活动设置" prop="basicSettingsId">
<el-select clearable filterable
placeholder="参加人员范围"
prop="id"
style="width: 100%;"
v-model="formData.basicSettingsId">
<el-option :label="item.basicSettingsName"
:value="item.id"
v-for="item in basicSettingsList"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
@@ -225,7 +238,8 @@
<!--<el-radio :label="null">无需报名</el-radio>-->
<el-radio :label="1">个人报名</el-radio>
<el-radio :label="3">组队报名</el-radio>
<el-radio :label="2" v-if="type===40001">分工会报名</el-radio>
<el-radio :label="2" v-if="type===40001">分工会报名
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@@ -429,8 +443,10 @@
<el-col :span="24">
<el-form-item label="活动介绍" prop="activityContent" :rules="{required:true,message: '请输入活动介绍', trigger: 'blur'}">
<text-editor v-model="formData.activityContent" ref="contentEditor"></text-editor>
<el-form-item label="活动介绍" prop="activityContent"
:rules="{required:true,message: '请输入活动介绍', trigger: 'blur'}">
<text-editor v-model="formData.activityContent"
ref="contentEditor"></text-editor>
<!-- <el-input-->
<!-- :rows="7"-->
<!-- placeholder="请输入活动内容"-->
@@ -442,7 +458,8 @@
<el-col :span="24">
<el-form-item label="附件上传" prop="otherFiles">
<file-upload :files.sync="formData.otherFiles" card></file-upload>
<file-upload :files.sync="formData.otherFiles"
card></file-upload>
</el-form-item>
</el-col>
@@ -478,7 +495,8 @@
<el-divider content-position="left">购置物品及价格</el-divider>
<div style="padding-left: 10px">
<el-tooltip class="item" content="点击添加购置物品及价格" effect="dark"
<el-tooltip class="item" content="点击添加购置物品及价格"
effect="dark"
placement="top">
<el-button @click="formData.goods.push({})" circle
icon="el-icon-plus"
@@ -496,7 +514,8 @@
sortable
type="index" width="100">
</el-table-column>
<el-table-column align="center" header-align="center" label="物品名称"
<el-table-column align="center" header-align="center"
label="物品名称"
prop="name">
<template slot-scope="{row}">
<el-input maxlength="50" placeholder="物品名称"
@@ -504,7 +523,8 @@
v-model="row.name"></el-input>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="预算费用"
<el-table-column align="center" header-align="center"
label="预算费用"
prop="price">
<template slot-scope="{row}">
<el-input @input="blur" maxlength="50"
@@ -512,7 +532,8 @@
type="number" v-model="row.price"></el-input>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="实际费用"
<el-table-column align="center" header-align="center"
label="实际费用"
prop="actualPrice">
<template slot-scope="{row}">
<el-input @input="blur" maxlength="50"
@@ -554,7 +575,8 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="活动人员信息" name="3" v-if="formData.isEnrollSystem === false">
<el-tab-pane label="活动人员信息" name="3"
v-if="formData.isEnrollSystem === false">
<table-tool :app="this" label="活动人员信息">
<template #func>
<el-button @click="openAddUser" icon="el-icon-plus"
@@ -622,7 +644,8 @@
</guava>
<el-dialog :close-on-click-modal="false" :visible.sync="dialogVisible" title="添加人员" width="40%">
<el-dialog :close-on-click-modal="false" :visible.sync="dialogVisible" title="添加人员"
width="40%">
<el-form :model="formData" label-width="100px">
<el-form-item label="参加人员" prop="userId">
@@ -687,7 +710,11 @@
groupId: [{required: true, message: '必填', trigger: ['blur', 'change']}],
name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
type: [{required: true, message: '必填', trigger: ['blur', 'change']}],
projectTypeCode: [{required: true, message: '必填', trigger: ['blur', 'change']}],
projectTypeCode: [{
required: true,
message: '必填',
trigger: ['blur', 'change']
}],
address: [{required: true, message: '必填', trigger: ['blur', 'change']}],
plannedDate: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
@@ -701,7 +728,8 @@
],
/*ZXY - ADD*/
activityGroupList: [],
userScopeDialog: false
userScopeDialog: false,
basicSettingsList:[]
}
},
computed: {
@@ -805,9 +833,9 @@
await this.$refs['addForm'].validate()
},
plannedDateChange(val) {
if (val){
val[0]=moment(val[0]).format('YYYY-MM-DD HH:mm')
val[1]=moment(val[1]).format('YYYY-MM-DD HH:mm')
if (val) {
val[0] = moment(val[0]).format('YYYY-MM-DD HH:mm')
val[1] = moment(val[1]).format('YYYY-MM-DD HH:mm')
}
this.$set(this.formData, "time", val)
@@ -1138,10 +1166,15 @@
async getActivityGroup() {
const resp = await $.get('/platform/activity/basic/scope/getActivityUserScopeGroup')
this.activityGroupList = resp.data
},
async getActivityBasicSettingsList() {
const resp = await $.get('/platform/activity/apply/getActivityBasicSettingsList')
this.basicSettingsList = resp.data
}
},
async created() {
await this.getActivityGroup()
await this.getActivityBasicSettingsList()
const projectType = await getActivityTwoLevelType("50000")
projectType.forEach(v => {
if (v.code !== "50004") {
@@ -0,0 +1,139 @@
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<guava ref="guava">
<el-card shadow="never">
<div class="search">
<div class="search-item">
<div class="search-item-label">年度:</div>
<div class="search-item-option">
<el-date-picker
style="width: 100%;"
:clearable="false"
@change="doSearch"
placeholder="选择年"
type="year"
v-model="pageForm.year"
value-format="yyyy">
</el-date-picker>
</div>
</div>
</div>
</el-card>
<el-card shadow="never" class="mt10">
<vi-title2 title="基本设置">
<template #func>
<el-button size="small" type="primary" @click="openAdd">
新增设置
</el-button>
</template>
</vi-title2>
<el-table :data="tableData" ref="table" row-key="id">
<el-table-column type="index" width="50" label="序号"></el-table-column>
<el-table-column property="basicSettingsCode" label="设置编码"
align="center"></el-table-column>
<el-table-column property="basicSettingsName" label="设置名称"
align="center"></el-table-column>
<el-table-column property="signUpActivityNum" label="可报活动数"
align="center"></el-table-column>
<el-table-column property="applyDate" label="创建时间"
align="center"></el-table-column>
<el-table-column align="center" header-align="center" label="操作" fixed="right"
width="150px">
<template scope="{row}">
<el-button size="mini" @click="openEdit(row)" type="primary">
编辑
</el-button>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</guava>
<el-dialog
title="活动设置"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
width="30%">
<el-form :model="formData" ref="addForm" :rules="formRules"
label-width="100px">
<el-form-item label="设置名称" prop="basicSettingsName">
<el-input v-model="formData.basicSettingsName" maxlength="50"
placeholder="请填写设置名称"></el-input>
</el-form-item>
<el-form-item label="设置编码" prop="basicSettingsCode">
<el-input v-model="formData.basicSettingsCode" maxlength="50"
placeholder="请填写设置编码"></el-input>
</el-form-item>
<el-form-item label="可报活动数" prop="signUpActivityNum">
<el-input-number v-model="formData.signUpActivityNum" :min="1"
placeholder="请填写可报活动数"
style="width: 100%"></el-input-number>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">关 闭</el-button>
<el-button type="primary" @click="doSubmit">提 交</el-button>
</span>
</el-dialog>
</div>
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
pageForm: {
year: moment().format('YYYY') + ""
},
dialogVisible: false,
formRules: {
basicSettingsName: [
{required: true, message: '请填写设置名称', trigger: 'change'}
],
basicSettingsCode: [
{required: true, message: '请填写设置编码', trigger: 'change'}
],
signUpActivityNum: [
{required: true, message: '请填写可报活动数', trigger: 'change'}
],
}
}
},
methods: {
doSubmit() {
this.$refs.addForm.validate(async (valid) => {
if (valid) {
const res = await $.post('/platform/activity/union/basicSettings/doSubmit', this.formData)
if (res.code === 0) {
this.$message.success('保存成功')
this.dialogVisible = false
this.doSearch()
}
}
})
},
openAdd() {
this.formData = {}
this.dialogVisible = true
this.$refs.addForm.resetFields()
},
openEdit(row) {
this.formData = clone(row)
this.dialogVisible = true
}
},
async created() {
this.pageData()
}
})
</script>
<!--#
}
#-->