commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package com.budwk.app.task.job.club;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.club.model.ClubPayRecord;
|
||||
import com.budwk.app.zhgh.club.model.ClubUser;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName ClubGeneratePayRecordJob
|
||||
* @Author JyuHsin
|
||||
* @Date 2026/1/22 16:56
|
||||
* @Version 1.0
|
||||
* @Description 每年的1月1日生成协会成员下年的缴费记录
|
||||
*/
|
||||
@IocBean
|
||||
public class ClubGeneratePayRecordJob implements Job {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
||||
// 当前年份
|
||||
int thisYear = DateUtil.thisYear();
|
||||
// 获取最新的协会成员信息
|
||||
List<ClubUser> clubUserList = dao.query(ClubUser.class, Cnd.NEW());
|
||||
// 生成缴费记录对象
|
||||
List<ClubPayRecord> list = new ArrayList<>();
|
||||
for (ClubUser clubUser : clubUserList) {
|
||||
ClubPayRecord clubPayRecord = new ClubPayRecord();
|
||||
clubPayRecord.setYear(thisYear);
|
||||
clubPayRecord.setClubId(clubUser.getClubId());
|
||||
clubPayRecord.setUserId(clubUser.getUserId());
|
||||
clubPayRecord.setPayed(false);
|
||||
|
||||
JSONObject log = new JSONObject();
|
||||
log.set("operatorUserId", "task");
|
||||
log.set("operatorUserName", "定时任务");
|
||||
log.set("operatorTime", DateUtil.now());
|
||||
log.set("operatorType", "缴费管理-定时任务自动设置");
|
||||
log.set("oldValue", null);
|
||||
log.set("newValue", false);
|
||||
clubPayRecord.setOperateLogs(List.of(log));
|
||||
|
||||
list.add(clubPayRecord);
|
||||
}
|
||||
dao.insert(list);
|
||||
}
|
||||
}
|
||||
+16
-6
@@ -120,18 +120,28 @@ public class ClubUserJoinApplyController {
|
||||
@ApiOperation("提交")
|
||||
@SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR)
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SLog(tag = "协会管理系统-申请入会", msg = "申请协会入会")
|
||||
public Result submit(ClubUserApply clubUserApply) {
|
||||
ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", clubUserApply.getUserId()).and("clubId", "=", clubUserApply.getClubId()).and("mode", "=", 1).desc(ClubUserApply::getApplyDate));
|
||||
if (ObjectUtil.isNotEmpty(userApply) && StrUtil.isBlank(userApply.getId())) {
|
||||
@SLog(tag = "协会管理系统-申请入/退会", msg = "申请协会入/退会")
|
||||
public Result submit(@Param("data") ClubUserApply clubUserApply,
|
||||
@Param("mode") Boolean mode) {
|
||||
if(mode == false) {
|
||||
clubUserApply = dao.fetch(
|
||||
ClubUserApply.class,
|
||||
Cnd.where("userId", "=", SecurityUtil.getUserId())
|
||||
.and("clubId", "=", clubUserApply.getClubId())
|
||||
.desc("applyDate")
|
||||
);
|
||||
}
|
||||
ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", clubUserApply.getUserId()).and("clubId", "=", clubUserApply.getClubId()).and("mode", "=", mode).desc(ClubUserApply::getApplyDate));
|
||||
if (ObjectUtil.isNotEmpty(userApply) && StrUtil.isNotBlank(userApply.getId())) {
|
||||
ProcessInstance processInstance = dao.fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", userApply.getId()));
|
||||
if (!List.of(ProcessInstanceStateEnum.REJECT.getCode(), ProcessInstanceStateEnum.FINISHED.getCode()).contains(processInstance.getState())) {
|
||||
return Result.error("您有该协会的申请记录尚未完成,请到我的申请里查看!");
|
||||
}
|
||||
}
|
||||
|
||||
clubUserApply.setId(null);
|
||||
clubUserApply.setRoleCode(RoleConstant.CLUB_MEMBER.name());
|
||||
clubUserApply.setMode(true);
|
||||
clubUserApply.setMode(mode);
|
||||
clubUserApply.setApplyDate(new Date());
|
||||
dao.insertOrUpdate(clubUserApply);
|
||||
|
||||
@@ -140,7 +150,7 @@ public class ClubUserJoinApplyController {
|
||||
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||
args.set(FlowConst.FORM_DATA, clubUserApply);
|
||||
args.set("clubId", clubUserApply.getClubId());
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey("XHRH", clubUserApply.getId(), SecurityUtil.getUserId(), args);
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey(mode ? "XHRH" : "XHTH", clubUserApply.getId(), SecurityUtil.getUserId(), args);
|
||||
|
||||
// 自动完成第一个申请任务
|
||||
List<ProcessTask> doingTaskList = flowEngine.processTaskService().getDoingTaskList(instance.getId(), null);
|
||||
|
||||
+7
-1
@@ -99,7 +99,13 @@ public class ClubUserJoinApprovalController {
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
|
||||
cnd.and("t.taskName", "=", "1625a683-3890-4788-95b7-cab8240f6731");
|
||||
if(pageForm.getMode() == null) {
|
||||
cnd.and("t.taskName", "in", List.of("1625a683-3890-4788-95b7-cab8240f6731", "ae7337f8-b435-458d-abd9-4fa4f8d69f0b"));
|
||||
} else if(pageForm.getMode()) {
|
||||
cnd.and("t.taskName", "=", "1625a683-3890-4788-95b7-cab8240f6731");
|
||||
} else {
|
||||
cnd.and("t.taskName", "=", "ae7337f8-b435-458d-abd9-4fa4f8d69f0b");
|
||||
}
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
|
||||
cnd.andEX("YEAR(info.applyDate)","=",pageForm.getYear());
|
||||
|
||||
+10
-3
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.club.controller.apply;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
@@ -41,12 +42,17 @@ public class ClubUserMineClubController {
|
||||
@Ok("beetl:/platform/zhgh/club/join/mineclub/index.html")
|
||||
public void index() {}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.club.join.mine.club")
|
||||
@Ok("beetl:/platform/zhghh5/club/mineclub/index.html")
|
||||
public void h5Index() {}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("club.join.mine.club")
|
||||
@SaCheckPermission(value = {"club.join.mine.club", "h5.club.join.mine.club"}, mode = SaMode.OR)
|
||||
public Result pageData(@Valid ClubUserPageForm pageForm) {
|
||||
List<ClubUser> query = dao.query(ClubUser.class, Cnd.where("userId", "=", SecurityUtil.getUserId()).groupBy("clubId"));
|
||||
if (Lang.isEmpty(query)) {
|
||||
return Result.success();
|
||||
return Result.success(new Pagination());
|
||||
}
|
||||
List<String> clubIds = query.stream().map(ClubUser::getClubId).toList();
|
||||
|
||||
@@ -57,6 +63,7 @@ public class ClubUserMineClubController {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
club.*,
|
||||
club.id as clubId,
|
||||
COUNT(DISTINCT ( uc.userId )) AS currentPeopleNum,
|
||||
presidentUser.username AS clubLeader,
|
||||
secretaryUser.username AS clubSecretary
|
||||
@@ -80,7 +87,7 @@ public class ClubUserMineClubController {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("club.join.mine.club")
|
||||
@SaCheckPermission(value = {"club.join.mine.club", "h5.club.join.mine.club"}, mode = SaMode.OR)
|
||||
public Result getClubUsers(@Valid String clubId) {
|
||||
List<NutMap> clubUser = clubUserService.getClubUser(clubId);
|
||||
return Result.success(clubUser);
|
||||
|
||||
+23
-4
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.PageUtil;
|
||||
@@ -12,14 +13,13 @@ import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessInstanceStateEnum;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.club.model.ClubUser;
|
||||
import com.budwk.app.zhgh.club.model.SysClub;
|
||||
import com.budwk.app.zhgh.club.model.SysClubManager;
|
||||
import com.budwk.app.zhgh.club.model.SysClubRule;
|
||||
import com.budwk.app.zhgh.club.model.*;
|
||||
import com.budwk.app.zhgh.club.param.ClubUserPageForm;
|
||||
import com.budwk.app.zhgh.club.service.SysClubInfoManageService;
|
||||
import com.budwk.app.zhgh.club.service.impl.SysClubUserServiceImpl;
|
||||
@@ -33,6 +33,7 @@ import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
@@ -130,6 +131,24 @@ public class ClubChangeManagerController {
|
||||
@SLog(tag = "协会管理系统-信息管理", msg = "提交变更理事机构")
|
||||
public Object submit(@Param("data") SysClubManager clubManager) {
|
||||
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
String errMsg = "校工会审核" + clubManager.getPeriod() + "的换届报告通过后才能变更理事成员";
|
||||
// 查询这个届数有没有上传换届报告,并且审核通过
|
||||
List<SysClubRefresh> list = dao.query(
|
||||
SysClubRefresh.class,
|
||||
Cnd.where(SysClubRefresh::getClubId, "=", clubManager.getClubId())
|
||||
.and(SysClubRefresh::getPeriod, "=", clubManager.getPeriod())
|
||||
);
|
||||
if (Lang.isEmpty(list)) {
|
||||
return Result.error(99, errMsg);
|
||||
}
|
||||
List<String> idList = list.stream().map(SysClubRefresh::getId).toList();
|
||||
int count = dao.count(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", idList).and(ProcessInstance::getState, "in", List.of(ProcessInstanceStateEnum.FINISHED.getCode())));
|
||||
if (count == 0) {
|
||||
return Result.error(99, errMsg);
|
||||
}
|
||||
}
|
||||
|
||||
ClubUser clubUser = dao.fetch(ClubUser.class, Cnd.where(ClubUser::getClubId, "=", clubManager.getClubId()).and(ClubUser::getUserId, "=", clubManager.getUserId()));
|
||||
clubManager.setUserId(SecurityUtil.getUserId());
|
||||
clubManager.setUserName(SecurityUtil.getUserUsername());
|
||||
|
||||
+2
-1
@@ -73,7 +73,8 @@ public class ClubPayRecordController {
|
||||
u.unitName,
|
||||
u.retireDate,
|
||||
(SELECT createdAt FROM club_user WHERE clubId = cpr.clubId AND userId = cpr.userId ORDER BY createdAt LIMIT 1) AS applyTime,
|
||||
u.userState
|
||||
u.userState,
|
||||
(select count(1) from club_user where clubId = cpr.clubId and userId = cpr.userId) as count
|
||||
FROM
|
||||
`club_pay_record` cpr
|
||||
LEFT JOIN sys_club c ON cpr.clubid = c.id
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.budwk.app.zhgh.club.interceptor;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.club.model.ClubPayRecord;
|
||||
import com.budwk.app.zhgh.club.model.ClubUser;
|
||||
import com.budwk.app.zhgh.club.model.ClubUserApply;
|
||||
import com.budwk.app.zhgh.club.service.SysClubUserService;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.json.Json;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName ClubUserJoinInterceptor
|
||||
* @Author JyuHsin
|
||||
* @Date 2025/8/22 16:07
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
public class ClubUserExitInterceptor implements FlowInterceptor {
|
||||
|
||||
@Override
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void intercept(Execution execution) {
|
||||
|
||||
// 获取表单参数
|
||||
String formDataStr = execution.getArgs().getStr(FlowConst.FORM_DATA);
|
||||
ClubUserApply clubUserApply = Json.fromJson(ClubUserApply.class, formDataStr);
|
||||
|
||||
// 获取操作类
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
|
||||
// 删人
|
||||
dao.clear(ClubUser.class, Cnd.where(ClubUser::getUserId, "=", clubUserApply.getUserId()).and(ClubUser::getClubId, "=", clubUserApply.getClubId()));
|
||||
// 删角色
|
||||
dao.clear(Sys_user_role.class, Cnd.where(Sys_user_role::getUserId, "=", clubUserApply.getUserId()).and(Sys_user_role::getClubId, "=", clubUserApply.getClubId()));
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,6 @@ public class ClubUserJoinInterceptor implements FlowInterceptor {
|
||||
|
||||
// 获取操作类
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
SysClubUserService userService = ServiceContext.find(SysClubUserService.class);
|
||||
|
||||
// 将申请信息复制一份,插入协会成员表
|
||||
ClubUser clubUser = BeanUtil.copyProperties(clubUserApply, ClubUser.class);
|
||||
@@ -49,13 +48,13 @@ public class ClubUserJoinInterceptor implements FlowInterceptor {
|
||||
|
||||
// 还要加到协会成员缴费表中
|
||||
// 对了,如果同一个人,在同一年,多次加入同一协会,则只插入一条
|
||||
int count = dao.count(
|
||||
ClubPayRecord payRecord = dao.fetch(
|
||||
ClubPayRecord.class,
|
||||
Cnd.where(ClubPayRecord::getClubId, "=", clubUser.getClubId())
|
||||
.and(ClubPayRecord::getUserId, "=", clubUser.getUserId())
|
||||
.and(ClubPayRecord::getYear, "=", DateUtil.thisYear())
|
||||
);
|
||||
if (count == 0) {
|
||||
if (payRecord == null) {
|
||||
ClubPayRecord record = new ClubPayRecord();
|
||||
record.setClubId(clubUser.getClubId());
|
||||
record.setUserId(clubUser.getUserId());
|
||||
@@ -72,9 +71,22 @@ public class ClubUserJoinInterceptor implements FlowInterceptor {
|
||||
|
||||
record.setOperateLogs(List.of(log));
|
||||
dao.insert(record);
|
||||
} else {
|
||||
payRecord.setPayed(payed);
|
||||
|
||||
JSONObject log = new JSONObject();
|
||||
log.set("operatorUserId", SecurityUtil.getUserId());
|
||||
log.set("operatorUserName", SecurityUtil.getUserUsername());
|
||||
log.set("operatorTime", DateUtil.now());
|
||||
log.set("operatorType", "入会审核");
|
||||
log.set("oldValue", payRecord.getPayed());
|
||||
log.set("newValue", payed);
|
||||
|
||||
payRecord.setOperateLogs(List.of(log));
|
||||
dao.update(payRecord);
|
||||
}
|
||||
|
||||
// 江苏卫生才有的,cao,将申请的人加入到活动组别里面去
|
||||
userService.clubUser2Scope(clubUser.getClubId(), List.of(clubUser.getUserId()));
|
||||
// userService.clubUser2Scope(clubUser.getClubId(), List.of(clubUser.getUserId()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,4 +68,9 @@ public class SysClubManager extends BaseModel {
|
||||
@Comment("变更的身份")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<String> nowRoleCode;
|
||||
|
||||
@Column
|
||||
@Comment("届数")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
private String period;
|
||||
}
|
||||
|
||||
@@ -59,4 +59,9 @@ public class SysClubRefresh extends BaseModel {
|
||||
@Comment("文件")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<JSONObject> files;
|
||||
|
||||
@Column
|
||||
@Comment("届数")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
private String period;
|
||||
}
|
||||
|
||||
@@ -13,5 +13,6 @@ public class ClubUserJoinPageForm extends PageForm {
|
||||
private String userName;
|
||||
private String unionId;
|
||||
private String unitId;
|
||||
private Boolean mode;
|
||||
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> implements SysC
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
club.*,
|
||||
club.id as clubId,
|
||||
u.username as concatPersonName,
|
||||
(select GROUP_CONCAT(username) from sys_user where id in (select userId from club_user u where u.clubId=club.id and JSON_CONTAINS(u.roleCode, '"CLUB_PRESIDENT"'))) as clubLeader,
|
||||
(select GROUP_CONCAT(username) from sys_user where id in (select userId from club_user u where u.clubId=club.id and JSON_CONTAINS(u.roleCode, '"CLUB_SECRETARY"'))) as clubSecretary,
|
||||
|
||||
@@ -25,6 +25,7 @@ public class ClubCommonPageVo extends SysClub {
|
||||
private Integer status;
|
||||
private Integer exitStatus;
|
||||
private String clubLeader;
|
||||
private String clubId;
|
||||
|
||||
@ApiModelProperty("秘书长")
|
||||
private String clubSecretary;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<div class="item-header">
|
||||
<div class="item-title">{{ calcTitle(row) }}</div>
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
v-if="row?.instanceState" size="small"></enum-tag>
|
||||
</div>
|
||||
</slot>
|
||||
|
||||
|
||||
@@ -76,6 +76,30 @@ layout("/layouts/platform.html"){
|
||||
<el-option v-for="item in clubList" :key="item.id" :label="item.clubName" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="届数" prop="period">
|
||||
<el-select v-model="formData.period" style="width: 100%" placeholder="请选择届数">
|
||||
<el-option label="一届" value="一届"></el-option>
|
||||
<el-option label="二届" value="二届"></el-option>
|
||||
<el-option label="三届" value="三届"></el-option>
|
||||
<el-option label="四届" value="四届"></el-option>
|
||||
<el-option label="五届" value="五届"></el-option>
|
||||
<el-option label="六届" value="六届"></el-option>
|
||||
<el-option label="七届" value="七届"></el-option>
|
||||
<el-option label="八届" value="八届"></el-option>
|
||||
<el-option label="九届" value="九届"></el-option>
|
||||
<el-option label="十届" value="十届"></el-option>
|
||||
<el-option label="十一届" value="十一届"></el-option>
|
||||
<el-option label="十二届" value="十二届"></el-option>
|
||||
<el-option label="十三届" value="十三届"></el-option>
|
||||
<el-option label="十四届" value="十四届"></el-option>
|
||||
<el-option label="十五届" value="十五届"></el-option>
|
||||
<el-option label="十六届" value="十六届"></el-option>
|
||||
<el-option label="十七届" value="十七届"></el-option>
|
||||
<el-option label="十八届" value="十八届"></el-option>
|
||||
<el-option label="十九届" value="十九届"></el-option>
|
||||
<el-option label="二十届" value="二十届"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="协会成员" prop="userId">
|
||||
<el-select v-model="formData.userId" @change="userChange" placeholder="请选择协会成员" filterable clearable style="width: 100%">
|
||||
<el-option v-for="item,index in userList" :key="index" :label="item.userName" :value="item.userId"></el-option>
|
||||
@@ -126,6 +150,7 @@ layout("/layouts/platform.html"){
|
||||
clubId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
userId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
nowRoleCode: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
period: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
},
|
||||
viewData: {},
|
||||
}
|
||||
|
||||
@@ -84,6 +84,12 @@ layout("/layouts/platform.html"){
|
||||
<span v-else>{{ row.userState }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="当前状态" prop="count" sortable show-overflow-tooltip>
|
||||
<template v-slot="{ row }">
|
||||
<el-tag v-if="row.count > 0" size="mini" type="success">在会</el-tag>
|
||||
<el-tag v-else size="mini" type="danger">退会</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="拨付状态" prop="assign" show-overflow-tooltip>
|
||||
<template slot="header" slot-scope="scope">
|
||||
<el-tooltip placement="bottom">
|
||||
@@ -94,7 +100,7 @@ layout("/layouts/platform.html"){
|
||||
第三步:如果是“退休”状态但未有退休日期信息,判定无领取资格;<br/>
|
||||
第四步:如果是“退休”状态且填写了退休日期,当您的退休年份 ≥ 缴费记录年份(无缴费年份则按今年算)时,判定有资格,反之则无。
|
||||
</div>
|
||||
<span>是否拨付<i class="el-icon-question"></i></span>
|
||||
<span>拨付状态<i class="el-icon-question"></i></span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<template v-slot="{ row }">
|
||||
|
||||
@@ -66,6 +66,7 @@ layout("/layouts/platform.html"){
|
||||
<template #edit_func>
|
||||
<snaker-start slot="header" label="" define_key="XHHJBG"></snaker-start>
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<el-form :model="formData" ref="formRef" size="small" label-width="80px" :rules="formRules">
|
||||
<el-form-item label="协会名称" prop="clubId">
|
||||
@@ -73,28 +74,69 @@ layout("/layouts/platform.html"){
|
||||
<el-option v-for="item in clubList" :key="item.id" :label="item.clubName" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="届数" prop="period">
|
||||
<el-select v-model="formData.period" style="width: 100%" placeholder="请选择届数">
|
||||
<el-option label="一届" value="一届"></el-option>
|
||||
<el-option label="二届" value="二届"></el-option>
|
||||
<el-option label="三届" value="三届"></el-option>
|
||||
<el-option label="四届" value="四届"></el-option>
|
||||
<el-option label="五届" value="五届"></el-option>
|
||||
<el-option label="六届" value="六届"></el-option>
|
||||
<el-option label="七届" value="七届"></el-option>
|
||||
<el-option label="八届" value="八届"></el-option>
|
||||
<el-option label="九届" value="九届"></el-option>
|
||||
<el-option label="十届" value="十届"></el-option>
|
||||
<el-option label="十一届" value="十一届"></el-option>
|
||||
<el-option label="十二届" value="十二届"></el-option>
|
||||
<el-option label="十三届" value="十三届"></el-option>
|
||||
<el-option label="十四届" value="十四届"></el-option>
|
||||
<el-option label="十五届" value="十五届"></el-option>
|
||||
<el-option label="十六届" value="十六届"></el-option>
|
||||
<el-option label="十七届" value="十七届"></el-option>
|
||||
<el-option label="十八届" value="十八届"></el-option>
|
||||
<el-option label="十九届" value="十九届"></el-option>
|
||||
<el-option label="二十届" value="二十届"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="换届报告" prop="files">
|
||||
<span class="form-item-tooltip">
|
||||
(说明:请上传经原会长、秘书长签字后的PDF版(或JPG版)换届报告)
|
||||
</span>
|
||||
<file-upload
|
||||
:value.sync="formData.files"
|
||||
:upload_number="1"
|
||||
upload_result_category="array"
|
||||
complete_result
|
||||
upload_mode="drag"
|
||||
accept=".doc,.docx,.pdf"
|
||||
accept=".jpg,.pdf"
|
||||
></file-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="$refs.guava.index()">取 消</el-button>
|
||||
<el-button type="primary" @click="onSubmit" v-if="!taskId">提 交</el-button>
|
||||
<el-button type="primary" @click="onFinishTask" v-else>提 交</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template #edit_footer>
|
||||
<el-button @click="$refs.guava.index()">取 消</el-button>
|
||||
<el-button type="primary" @click="onSubmit" v-if="!taskId">提 交</el-button>
|
||||
<el-button type="primary" @click="onFinishTask" v-else>提 交</el-button>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="infoRef"></info>
|
||||
</template>
|
||||
</guava>
|
||||
|
||||
<el-dialog width="40%" :visible.sync="tooltipDialogVisible" title="上传换届报告温馨提示">
|
||||
<el-result icon="warning" title="温馨提示">
|
||||
<template slot="subTitle">
|
||||
换届报告需要经<label style="font-weight: bold">原会长、秘书长</label>签字,并将签字后的PDF版(或JPG版)上传至智慧工会备案。
|
||||
<br/>
|
||||
经校工会审批后,社团方可在系统内进行人员身份信息变更。
|
||||
</template>
|
||||
</el-result>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="tooltipDialogVisible = false">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
@@ -114,8 +156,10 @@ layout("/layouts/platform.html"){
|
||||
formRules: {
|
||||
clubId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
files: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
period: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
},
|
||||
viewData: {},
|
||||
tooltipDialogVisible: true,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -178,7 +178,10 @@ layout("/layouts/platform.html"){
|
||||
return
|
||||
}
|
||||
this.$confirm("您确定要提交申请吗?", "提示", { type: "warning" }).then(() => {
|
||||
this.$axios.post("/platform/club/join/apply/submit", this.formData).then((res) => {
|
||||
this.$axios.post("/platform/club/join/apply/submit", {
|
||||
data: JSON.stringify(this.formData),
|
||||
mode: true
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
commonUtil.pjaxPush('/platform/club/join/mine')
|
||||
this.$message.success(res.msg)
|
||||
@@ -198,7 +201,7 @@ layout("/layouts/platform.html"){
|
||||
this.$confirm("您确定要提交申请吗?", "提示", { type: "warning" }).then(() => {
|
||||
this.$axios.post('/platform/club/join/apply/submitAgain', {
|
||||
data: JSON.stringify(this.formData),
|
||||
taskId: GetQueryString("taskId")
|
||||
taskId: GetQueryString("taskId"),
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
|
||||
@@ -29,6 +29,13 @@ layout("/layouts/platform.html"){
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="申请类型">
|
||||
<el-select v-model="pageForm.mode" placeholder="请选择申请类型" filterable clearable style="width: 100%">
|
||||
<el-option label="全部" :value="null"></el-option>
|
||||
<el-option label="申请加入" :value="true"></el-option>
|
||||
<el-option label="申请退出" :value="false"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -78,7 +85,7 @@ layout("/layouts/platform.html"){
|
||||
{{formData.taskName}}
|
||||
</div>
|
||||
<el-form :model="formData" ref="formRef" label-width="80px" :rules="formRules" label-suffix="">
|
||||
<el-form-item label="缴费状态" prop="payed"
|
||||
<el-form-item v-if="formData.mode === true" label="缴费状态" prop="payed"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<span class="form-item-tooltip">
|
||||
(说明:请确认{{ formData.userName }}当年是否缴费)
|
||||
@@ -121,7 +128,8 @@ layout("/layouts/platform.html"){
|
||||
unitId: "",
|
||||
year: new Date().getFullYear().toString(),
|
||||
searchKeyword: "",
|
||||
type: ""
|
||||
type: "",
|
||||
mode: null,
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
@@ -141,7 +149,8 @@ layout("/layouts/platform.html"){
|
||||
processTaskId: row.taskId,
|
||||
taskName: row.curTaskName,
|
||||
tf_payed: false,
|
||||
userName: row.userName
|
||||
userName: row.userName,
|
||||
mode: row.mode
|
||||
}
|
||||
this.showApprovalForm = true
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
|
||||
@@ -50,6 +50,7 @@ layout("/layouts/platform.html"){
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" @click="openDetail(scope.row)">查看</el-button>
|
||||
<el-button size="mini" v-if="hasJoin === false" type="primary" @click="doSubmit(scope.row)">申请加入</el-button>
|
||||
<el-button size="mini" v-else type="danger" @click="onExit(scope.row)">申请退出</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -114,6 +115,23 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onExit(row) {
|
||||
this.$confirm("您确定要申请退出" + row.clubName + "吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$axios.post('/platform/club/join/apply/submit', {
|
||||
data: JSON.stringify(row),
|
||||
mode: false,
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
commonUtil.pjaxPush('/platform/club/join/mine')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async doSubmit(row) {
|
||||
this.$axios.post("/platform/club/join/apply/checkApplyClub", { clubId: row.id }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
|
||||
@@ -42,7 +42,8 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column label="操作" width="300">
|
||||
<template v-slot="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onEdit(row)" size="mini" type="primary">编辑</el-button>
|
||||
<el-button v-if="(row.taskKey === 'startTask' || !row.instanceId) && row.mode === true" @click="onEdit(row)" size="mini" type="primary">编辑</el-button>
|
||||
<el-button v-if="(row.taskKey === 'startTask' || !row.instanceId) && row.mode === false" @click="exitSubmitAgain(row)" size="mini" type="primary">提交</el-button>
|
||||
<el-button v-if="row.canRevoke" size="mini" type="danger" @click="onRevoke(row)">撤回</el-button>
|
||||
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onDelete(row.id)" size="mini" type="danger">
|
||||
删除
|
||||
@@ -72,6 +73,24 @@ layout("/layouts/platform.html"){
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
exitSubmitAgain(row) {
|
||||
this.$confirm("您确定要提交申请吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(async () => {
|
||||
const res = await this.$axios.post("/platform/club/join/apply/info", {id: row.id})
|
||||
this.$axios.post('/platform/club/join/apply/submitAgain', {
|
||||
data: JSON.stringify(res.data),
|
||||
taskId: row.startTaskId,
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.doSearch()
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onRevoke(row) {
|
||||
this.$confirm("您确定要撤回吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
|
||||
@@ -46,6 +46,7 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column label="操作" width="250px">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" @click="openDetail(scope.row)">查看</el-button>
|
||||
<el-button size="mini" type="danger" @click="onExit(scope.row)">申请退出</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -109,6 +110,23 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onExit(row) {
|
||||
this.$confirm("您确定要申请退出" + row.clubName + "吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$axios.post('/platform/club/join/apply/submit', {
|
||||
data: JSON.stringify(row),
|
||||
mode: false,
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
commonUtil.pjaxPush('/platform/club/join/mine')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async openDetail(row) {
|
||||
this.$refs.guava.view(() => {
|
||||
this.activeName = '1'
|
||||
|
||||
@@ -195,7 +195,10 @@ layout("/layouts/platform_h5.html"){
|
||||
title: "提示",
|
||||
message: "您确定要提交申请吗?"
|
||||
}).then(() => {
|
||||
this.$axios.post("/platform/club/join/apply/submit", this.formData).then(res => {
|
||||
this.$axios.post("/platform/club/join/apply/submit", {
|
||||
data: JSON.stringify(this.formData),
|
||||
mode: true
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$toast(res.msg)
|
||||
this.$pjaxReplace("/platform/club/join/mine/h5")
|
||||
|
||||
@@ -3,7 +3,13 @@ layout("/layouts/platform_h5.html"){
|
||||
#-->
|
||||
|
||||
<style scoped>
|
||||
|
||||
.payed-field .van-field__control--custom {
|
||||
display: block;
|
||||
}
|
||||
.payed-field .label{
|
||||
color: rgb(153, 153, 153);
|
||||
font-size: 13px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app">
|
||||
@@ -20,6 +26,8 @@ layout("/layouts/platform_h5.html"){
|
||||
></van-search>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<year-van-dropdown-item :num="5" @change="doSearch" v-model="pageForm.year"></year-van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.mode" :options="modeOptions" :multiple="false"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" :options="unionOptions" :multiple="false"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
@@ -58,6 +66,26 @@ layout("/layouts/platform_h5.html"){
|
||||
<div v-if="showApprovalForm">
|
||||
<div class="process-title">{{formData.taskName}}</div>
|
||||
<van-form ref="formRef">
|
||||
<van-field
|
||||
v-if="formData.mode === true"
|
||||
v-model="formData.tf_payed"
|
||||
name="tf_payed"
|
||||
label="缴费状态"
|
||||
placeholder="请选择缴费状态"
|
||||
:rules="[{ required: true, message: '请选择缴费状态' }]"
|
||||
required
|
||||
class="payed-field"
|
||||
>
|
||||
<template #input>
|
||||
<div class="label">(说明:请确认{{ formData.userName }}当年是否缴费)</div>
|
||||
<div>
|
||||
<van-radio-group v-model="formData.tf_payed" direction="horizontal">
|
||||
<van-radio name="0">未缴费</van-radio>
|
||||
<van-radio name="1">已缴费</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field
|
||||
v-model="formData.tf_opinion"
|
||||
name="tf_opinion"
|
||||
@@ -98,10 +126,12 @@ layout("/layouts/platform_h5.html"){
|
||||
approval: false,
|
||||
year: new Date().getFullYear(),
|
||||
unionId: null,
|
||||
mode: null,
|
||||
},
|
||||
unionOptions: [],
|
||||
formData: {},
|
||||
showApprovalForm: false
|
||||
showApprovalForm: false,
|
||||
modeOptions: [{text: "全部类型", value: null}, {text: "申请加入", value: true}, {text: "申请退出", value: false}],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -127,7 +157,10 @@ layout("/layouts/platform_h5.html"){
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
this.formData = {
|
||||
processTaskId: row.taskId,
|
||||
taskName: row.curTaskName
|
||||
taskName: row.curTaskName,
|
||||
tf_payed: 0,
|
||||
userName: row.userName,
|
||||
mode: row.mode
|
||||
}
|
||||
},
|
||||
async handleTaskAction(val) {
|
||||
|
||||
@@ -24,15 +24,17 @@ const clubUserJoin = {
|
||||
<van-cell class="direction-column-cell" title="文化、体育方面的活动经历、获奖情况">
|
||||
{{ viewData.awardsExperience || '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell class="direction-column-cell" title="照片">
|
||||
<van-cell class="direction-column-cell" title="照片">
|
||||
<template slot="default">
|
||||
<van-image :src="viewData.avatar"></van-image>
|
||||
<van-image v-if="viewData.avatar && viewData.avatar !== '[]'" :src="viewData.avatar"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-cell>
|
||||
<van-cell title="签字" >
|
||||
<van-image :src="viewData.signature"
|
||||
v-if="viewData.signature"
|
||||
class="signature-image"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
<template v-for="task in doneTasks">
|
||||
|
||||
@@ -23,7 +23,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<table-column label="工号">{{row.loginName}}</table-column>
|
||||
<table-column label="申请模式">{{row.mode ? '加入' : '退出'}}</table-column>
|
||||
<table-column label="申请时间">{{row.applyDate}}</table-column>
|
||||
<table-column label="当前节点">{{row.taskName}}</table-column>
|
||||
<table-column label="当前节点">{{row.curTaskName}}</table-column>
|
||||
</template>
|
||||
<template #actions="{index,row}">
|
||||
<div class="action-btn" @click="onView(row)">
|
||||
@@ -31,10 +31,15 @@ layout("/layouts/platform_h5.html"){
|
||||
<span>查看</span>
|
||||
</div>
|
||||
<div class="action-btn" @click="onEdit(row)"
|
||||
v-if="row.taskKey === 'startTask' || !row.instanceId">
|
||||
v-if="(row.taskKey === 'startTask' || !row.instanceId) && row.mode === true">
|
||||
<i class="fa fa-edit"></i>
|
||||
<span>编辑</span>
|
||||
</div>
|
||||
<div class="action-btn" @click="exitSubmitAgain(row)"
|
||||
v-if="(row.taskKey === 'startTask' || !row.instanceId) && row.mode === false">
|
||||
<i class="fa fa-edit"></i>
|
||||
<span>提交</span>
|
||||
</div>
|
||||
<div class="action-btn delete" @click="onRevoke(row)"
|
||||
v-if="row.canRevoke">
|
||||
<i class="fa fa-undo"></i>
|
||||
@@ -70,6 +75,23 @@ layout("/layouts/platform_h5.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
exitSubmitAgain(row) {
|
||||
this.$dialog.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要提交申请吗?"
|
||||
}).then(async () => {
|
||||
const res = await this.$axios.post("/platform/club/join/apply/info", {id: row.id})
|
||||
this.$axios.post('/platform/club/join/apply/submitAgain', {
|
||||
data: JSON.stringify(res.data),
|
||||
taskId: row.startTaskId,
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$toast(res.msg)
|
||||
this.doSearch()
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onRevoke(row) {
|
||||
this.$dialog.confirm({
|
||||
title: "提示",
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
<!--#
|
||||
layout("/layouts/platform_h5.html"){
|
||||
#-->
|
||||
|
||||
<style scoped>
|
||||
.van-cell__value {
|
||||
min-width: 70%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app">
|
||||
<van-nav-bar title="我的协会" left-text="返回" left-arrow @click-left="historyBack" fixed placeholder></van-nav-bar>
|
||||
|
||||
<van-sticky offset-top="46px">
|
||||
<van-search
|
||||
v-model="pageForm.clubName"
|
||||
:show-action="false"
|
||||
:reverse-color="false"
|
||||
input-align="left"
|
||||
placeholder="请输入协会名称"
|
||||
@search="doSearch"
|
||||
></van-search>
|
||||
</van-sticky>
|
||||
|
||||
<table-list api="/platform/club/join/mine/club/pageData" :page_form.sync="pageForm" ref="tableListRef" title="clubName" @ready="doSearch">
|
||||
<template v-slot="{index,row}">
|
||||
<table-column label="协会编码">{{row.clubCode}}</table-column>
|
||||
<table-column label="成立时间">{{row.foundTime}}</table-column>
|
||||
<table-column label="会长">{{row.clubLeader}}</table-column>
|
||||
<table-column label="秘书长">{{row.clubSecretary}}</table-column>
|
||||
<table-column label="当前人数">{{row.currentPeopleNum}}</table-column>
|
||||
</template>
|
||||
<template #actions="{index,row}">
|
||||
<div class="action-btn" @click="onView(row)">
|
||||
<i class="fa fa-eye"></i>
|
||||
<span>查看</span>
|
||||
</div>
|
||||
<div class="action-btn delete" @click="onExit(row)">
|
||||
<i class="fa fa-undo"></i>
|
||||
<span>申请退会</span>
|
||||
</div>
|
||||
</template>
|
||||
</table-list>
|
||||
</div>
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
components: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onExit(row) {
|
||||
this.$dialog.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要申请退出" + row.clubName + "吗?"
|
||||
}).then(() => {
|
||||
this.$axios.post('/platform/club/join/apply/submit', {
|
||||
data: JSON.stringify(row),
|
||||
mode: false,
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$toast(res.msg)
|
||||
this.$pjaxReplace("/platform/club/join/mine/h5")
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onView(row) {
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
},
|
||||
doSearch() {
|
||||
this.$nextTick(() => {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageForm.totalCount = 0
|
||||
this.$refs.tableListRef.doSearch()
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user