commit
This commit is contained in:
+5
-5
@@ -42,7 +42,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款明细")
|
||||
@Api(tags = "慈善捐助明细")
|
||||
@At("/platform/contribution/detailed")
|
||||
public class ContributionDetailedController {
|
||||
|
||||
@@ -86,9 +86,9 @@ public class ContributionDetailedController {
|
||||
|
||||
List<ExcelExportEntity> entityList = new ArrayList<>();
|
||||
entityList.add(new ExcelExportEntity("序号", "index", 10));
|
||||
entityList.add(new ExcelExportEntity("捐款项目", "contributionName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐款人工号", "loginName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐款人姓名", "userName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐助项目", "contributionName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐助人工号", "loginName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐助人姓名", "userName", 20));
|
||||
entityList.add(new ExcelExportEntity("联系方式", "mobile", 20));
|
||||
entityList.add(new ExcelExportEntity("所属工会", "unionName", 20));
|
||||
entityList.add(new ExcelExportEntity("所属单位", "unitName", 20));
|
||||
@@ -99,6 +99,6 @@ public class ContributionDetailedController {
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entityList, listMap);
|
||||
CommonDownloadUtil.download("捐款明细.xlsx", workbook, response);
|
||||
CommonDownloadUtil.download("捐助明细.xlsx", workbook, response);
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -36,7 +36,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款项目")
|
||||
@Api(tags = "慈善捐助项目")
|
||||
@At("/platform/contribution/list")
|
||||
public class ContributionProjectController {
|
||||
|
||||
@@ -76,9 +76,9 @@ public class ContributionProjectController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改慈善捐款项目")
|
||||
@ApiOperation("新增/修改慈善捐助项目")
|
||||
@SaCheckPermission("contribution.list")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐款项目", msg = "新增/修改慈善捐款项目")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐助项目", msg = "新增/修改慈善捐助项目")
|
||||
public Object onSubmit(ContributionProject project) {
|
||||
if(StrUtil.isBlank(project.getId())) {
|
||||
project.setContributionCreationDate(DateUtil.now());
|
||||
@@ -88,16 +88,16 @@ public class ContributionProjectController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除慈善捐款项目")
|
||||
@ApiOperation("删除慈善捐助项目")
|
||||
@SaCheckPermission("contribution.list")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐款项目", msg = "删除慈善捐款项目")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐助项目", msg = "删除慈善捐助项目")
|
||||
public Object onDelete(String id) {
|
||||
typeService.dao().delete(ContributionProject.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询慈善捐款项目")
|
||||
@ApiOperation("查询慈善捐助项目")
|
||||
@SaCheckPermission("contribution.list")
|
||||
public Result queryContributionList() {
|
||||
List<ContributionProject> list = typeService.dao().query(
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款分工会统计")
|
||||
@Api(tags = "慈善捐助分工会统计")
|
||||
@At("/platform/contribution/statistics")
|
||||
public class ContributionStatisticsController {
|
||||
|
||||
@@ -66,13 +66,13 @@ public class ContributionStatisticsController {
|
||||
.stream()
|
||||
.toList();
|
||||
|
||||
//这个项目每个分工会有多少个人捐款
|
||||
//这个项目每个分工会有多少个人捐助
|
||||
List<ContributionApply> list = userList.stream()
|
||||
.filter(n -> n.getUnionId().equals(union.getId()) && n.getContributionId().equals(contributionId))
|
||||
.toList();
|
||||
map.setv("contributionUserNum", list.size());
|
||||
|
||||
//捐款多少笔
|
||||
//捐助多少笔
|
||||
long conCount = applyList.stream()
|
||||
.filter(n -> n.getUnionId().equals(union.getId()) && n.getContributionId().equals(contributionId))
|
||||
.count();
|
||||
|
||||
+32
-7
@@ -6,6 +6,8 @@ import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionApply;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionProject;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionType;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.service.ContributionTypeService;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -13,9 +15,13 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@@ -31,7 +37,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款专题")
|
||||
@Api(tags = "慈善捐助专题")
|
||||
@At("/platform/contribution/type")
|
||||
public class ContributionTypeController {
|
||||
|
||||
@@ -63,28 +69,47 @@ public class ContributionTypeController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改慈善捐款专题")
|
||||
@ApiOperation("新增/修改慈善捐助专题")
|
||||
@SaCheckPermission("contribution.type")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐款专题", msg = "新增/修改慈善捐款专题")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐助专题", msg = "新增/修改慈善捐助专题")
|
||||
public Object onSubmit(ContributionType type) {
|
||||
typeService.insertOrUpdate(type);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除慈善捐款专题")
|
||||
@ApiOperation("删除慈善捐助专题")
|
||||
@SaCheckPermission("contribution.type")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐款专题", msg = "删除慈善捐款专题")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐助专题", msg = "删除慈善捐助专题")
|
||||
public Object onDelete(String id) {
|
||||
typeService.delete(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询慈善捐款专题")
|
||||
@SaCheckPermission("contribution.type")
|
||||
@ApiOperation("查询慈善捐助专题")
|
||||
@SaCheckPermission("contribution")
|
||||
public Result queryContributionType() {
|
||||
List<ContributionType> list = typeService.query(Cnd.NEW().desc(ContributionType::getTypeCode));
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询单个慈善捐助专题")
|
||||
@SaCheckPermission("contribution")
|
||||
public Result fetchOne(String id) {
|
||||
ContributionType type = typeService.fetch(id);
|
||||
List<ContributionProject> list = dao.query(ContributionProject.class, Cnd.where(ContributionProject::getContributionTypeCode, "=", type.getTypeCode()).and(ContributionProject::getIsContributionEnable, "=", true));
|
||||
|
||||
List<String> projects = list.stream().map(ContributionProject::getId).toList();
|
||||
|
||||
List<ContributionApply> applyList = dao.query(ContributionApply.class, Cnd.where(ContributionApply::getContributionId, "in", projects));
|
||||
double sum = applyList.stream().mapToDouble(ContributionApply::getMoney).sum();
|
||||
|
||||
NutMap nutMap = Lang.obj2nutmap(type);
|
||||
nutMap.put("projectCount", list.size());
|
||||
nutMap.put("totalMoney", sum);
|
||||
nutMap.put("peopleCount", applyList.size());
|
||||
return Result.success(nutMap);
|
||||
}
|
||||
}
|
||||
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.contribution.h5Controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionApply;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName H5ContributionListController
|
||||
* @Author JyuHsin
|
||||
* @Date 2025/9/18 11:12
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "移动端-慈善捐助项目")
|
||||
@At("/platform/contribution/list/h5")
|
||||
public class H5ContributionListController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("h5.contribution.list")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/contribution/list/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("h5.contribution.list")
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "type") String type) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
con.*,
|
||||
con.id as contributionId,
|
||||
type.id as typeId,
|
||||
type.typeName
|
||||
FROM
|
||||
`contribution_project` con
|
||||
LEFT JOIN contribution_type type ON type.typeCode = con.contributionTypeCode
|
||||
$condition
|
||||
""");
|
||||
cnd.andEX("con.contributionTypeCode", "=", type);
|
||||
cnd.andEX("year(contributionCreationDate)", "=", year);
|
||||
cnd.and("isContributionEnable", "=", true);
|
||||
cnd.desc("contributionCreationDate");
|
||||
cnd.asc("contributionMode");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
@At
|
||||
@ApiOperation("移动端-慈善捐助")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("h5.contribution.list")
|
||||
@SLog(tag = "慈善捐助-捐助", msg = "慈善捐助")
|
||||
public Object submit(ContributionApply apply) {
|
||||
if(StrUtil.isBlank(apply.getId())) {
|
||||
apply.setContributionTime(DateUtil.now());
|
||||
}
|
||||
dao.insertOrUpdate(apply);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询单个慈善捐助专题")
|
||||
@SaCheckPermission("contribution")
|
||||
public Result fetchOne(String id) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
con.*,
|
||||
( SELECT SUM( money ) FROM contribution_apply apply WHERE apply.contributionId = con.id ) totalMoney,
|
||||
( SELECT COUNT( 1 ) FROM contribution_apply apply WHERE apply.contributionId = con.id ) peopleCount
|
||||
FROM
|
||||
`contribution_project` con
|
||||
WHERE con.id = @id
|
||||
""");
|
||||
sql.setParam("id", id);
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
NutMap nutMap = (NutMap) sql.getResult();
|
||||
return Result.success(nutMap);
|
||||
}
|
||||
}
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.contribution.h5Controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.dayofficework.meeting.model.MeetingTimePeriod;
|
||||
import com.budwk.app.zhgh.dayofficework.meeting.model.MeetingTimePeriodUser;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionApply;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
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 H5ContributionMineController
|
||||
* @Author JyuHsin
|
||||
* @Date 2025/9/18 15:17
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "移动端-我的慈善捐助")
|
||||
@At("/platform/contribution/mine/h5")
|
||||
public class H5ContributionMineController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("h5.contribution.mine")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/contribution/mine/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("h5.contribution.mine")
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "type") String type) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
ca.*,
|
||||
cp.contributionName AS projectName,
|
||||
cp.contributionTypeCode,
|
||||
cp.contributionStartTime,
|
||||
cp.contributionEndTime,
|
||||
ct.id as typeId
|
||||
FROM
|
||||
contribution_apply ca
|
||||
LEFT JOIN contribution_project cp ON ca.contributionId = cp.id
|
||||
LEFT JOIN contribution_type ct ON cp.contributionTypeCode = ct.typeCode
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("year(ca.contributionTime)", "=", year);
|
||||
cnd.andEX("cp.contributionTypeCode", "=", type);
|
||||
cnd.desc("ca.contributionTime");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除慈善捐助")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("h5.contribution.mine")
|
||||
@SLog(tag = "慈善捐助-删除慈善捐助", msg = "删除慈善捐助")
|
||||
public Object delete(String id) {
|
||||
dao.delete(ContributionApply.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -19,7 +19,7 @@ import java.util.List;
|
||||
* @Description TODO
|
||||
*/
|
||||
@Data
|
||||
@Comment("慈善捐款明细")
|
||||
@Comment("慈善捐助明细")
|
||||
@Accessors(chain = true)
|
||||
@Table("contribution_apply")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -82,7 +82,7 @@ public class ContributionApply extends BaseModel {
|
||||
private String mobile;
|
||||
|
||||
@Column
|
||||
@Comment("捐款金额")
|
||||
@Comment("捐助金额")
|
||||
@ColDefine(type = ColType.DOUBLE)
|
||||
private double money;
|
||||
|
||||
@@ -92,12 +92,12 @@ public class ContributionApply extends BaseModel {
|
||||
private String payMode;
|
||||
|
||||
@Column
|
||||
@Comment("捐款时间")
|
||||
@Comment("捐助时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String contributionTime;
|
||||
|
||||
@Column
|
||||
@Comment("捐款图片")
|
||||
@Comment("捐助图片")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<JSONObject> contributionFiles;
|
||||
}
|
||||
|
||||
+7
-7
@@ -18,7 +18,7 @@ import java.util.List;
|
||||
* @Description TODO
|
||||
*/
|
||||
@Data
|
||||
@Comment("慈善捐款")
|
||||
@Comment("慈善捐助")
|
||||
@Accessors(chain = true)
|
||||
@Table("contribution_project")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -41,7 +41,7 @@ public class ContributionProject extends BaseModel {
|
||||
private String contributionIntroduce;
|
||||
|
||||
@Column
|
||||
@Comment("所属捐款专题")
|
||||
@Comment("所属捐助专题")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String contributionTypeCode;
|
||||
|
||||
@@ -61,22 +61,22 @@ public class ContributionProject extends BaseModel {
|
||||
private Boolean isContributionEnable;
|
||||
|
||||
@Column
|
||||
@Comment("捐款模式")
|
||||
@Comment("捐助模式")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
private String contributionMode;
|
||||
private Integer contributionMode;
|
||||
|
||||
@Column
|
||||
@Comment("捐款链接")
|
||||
@Comment("捐助链接")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String contributionUrl;
|
||||
|
||||
@Column
|
||||
@Comment("捐款开启时间")
|
||||
@Comment("捐助开启时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 40)
|
||||
private String contributionStartTime;
|
||||
|
||||
@Column
|
||||
@Comment("捐款结束时间")
|
||||
@Comment("捐助结束时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 40)
|
||||
private String contributionEndTime;
|
||||
}
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.List;
|
||||
* @Description TODO
|
||||
*/
|
||||
@Data
|
||||
@Comment("慈善捐款专题")
|
||||
@Comment("慈善捐助专题")
|
||||
@Accessors(chain = true)
|
||||
@Table("contribution_type")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import org.nutz.dao.sql.Sql;
|
||||
public interface ContributionApplyService extends BaseService<ContributionApply> {
|
||||
|
||||
/**
|
||||
* 生成查询捐款明细的sql
|
||||
* 生成查询捐助明细的sql
|
||||
* @return
|
||||
*/
|
||||
Sql generateSql(String unionId, String unitId, String payMode, String contributionName);
|
||||
|
||||
+4
-4
@@ -74,9 +74,9 @@ public class PsychologyDoctorController {
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@ApiOperation("新增/修改心理咨询师")
|
||||
@ApiOperation("新增/修改咨询师")
|
||||
@SaCheckPermission("psychology.doctorManage")
|
||||
@SLog(tag = "心理咨询系统-心理咨询师", msg = "新增/修改心理咨询师")
|
||||
@SLog(tag = "心理咨询系统-咨询师", msg = "新增/修改咨询师")
|
||||
public Object onSubmit(PsychologyDoctor doctor) {
|
||||
Sys_role role = sysRoleService.getByCode(RoleConstant.PSYCHOLOGY_DOCTOR);
|
||||
if(StrUtil.isBlank(doctor.getId())) {
|
||||
@@ -102,9 +102,9 @@ public class PsychologyDoctorController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除心理咨询师")
|
||||
@ApiOperation("删除咨询师")
|
||||
@SaCheckPermission("psychology.doctorManage")
|
||||
@SLog(tag = "心理咨询系统-心理咨询师", msg = "删除心理咨询师")
|
||||
@SLog(tag = "心理咨询系统-咨询师", msg = "删除咨询师")
|
||||
public Object onDelete(String id) {
|
||||
doctorService.delete(id);
|
||||
return Result.success();
|
||||
|
||||
+12
-12
@@ -42,8 +42,8 @@ layout("/layouts/platform.html"){
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in unitList"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="捐款方式:">
|
||||
<el-select placeholder="请选择捐款方式" v-model="pageForm.payMode" style="width: 100%;"
|
||||
<search-item label="捐助方式:">
|
||||
<el-select placeholder="请选择捐助方式" v-model="pageForm.payMode" style="width: 100%;"
|
||||
clearable @change="doSearch"
|
||||
filterable>
|
||||
<el-option label="微信" value="WeChat"></el-option>
|
||||
@@ -54,7 +54,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<table-tool label="捐款列表">
|
||||
<table-tool label="捐助列表">
|
||||
<el-button type="primary" size="small" @click="onExport">
|
||||
<i class="el-icon-download"></i>
|
||||
导出
|
||||
@@ -90,10 +90,10 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<template #view>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="捐款项目">
|
||||
<el-descriptions-item label="捐助项目">
|
||||
{{ viewData.contributionName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="捐款人工号">
|
||||
<el-descriptions-item label="捐助人工号">
|
||||
{{ viewData.loginName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名">
|
||||
@@ -111,13 +111,13 @@ layout("/layouts/platform.html"){
|
||||
<el-descriptions-item label="善款金额">
|
||||
{{ viewData.money || 0}}元
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="捐款方式">
|
||||
<el-descriptions-item label="捐助方式">
|
||||
{{ viewData.payMode === 'WeChat' ? '微信' : '支付宝' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="捐款时间" :span="2">
|
||||
<el-descriptions-item label="捐助时间" :span="2">
|
||||
{{ viewData.contributionTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="捐款凭证" :span="2">
|
||||
<el-descriptions-item label="捐助凭证" :span="2">
|
||||
<file-preview v-if="viewData.contributionFiles" complete_result :files="viewData.contributionFiles"></file-preview>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
@@ -136,15 +136,15 @@ layout("/layouts/platform.html"){
|
||||
data() {
|
||||
return {
|
||||
tableColumns: [
|
||||
{prop: 'contributionName', label: '捐款项目'},
|
||||
{prop: 'loginName', label: '捐款人工号'},
|
||||
{prop: 'contributionName', label: '捐助项目'},
|
||||
{prop: 'loginName', label: '捐助人工号'},
|
||||
{prop: 'userName', label: '姓名'},
|
||||
{prop: 'mobile', label: '联系方式'},
|
||||
{prop: 'unionName', label: '所属工会'},
|
||||
{prop: 'unitName', label: '所属单位'},
|
||||
{prop: 'money', label: '善款金额'},
|
||||
{prop: 'payMode', label: '捐款方式'},
|
||||
{prop: 'contributionTime', label: '捐款时间'},
|
||||
{prop: 'payMode', label: '捐助方式'},
|
||||
{prop: 'contributionTime', label: '捐助时间'},
|
||||
],
|
||||
contributionOptions: [],
|
||||
unionList: [],
|
||||
|
||||
@@ -6,8 +6,8 @@ const basicForm = {
|
||||
<el-input type="text" v-model="formData.contributionName" maxlength="50"
|
||||
placeholder="请填写项目名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属捐款专题" prop="contributionTypeCode">
|
||||
<el-select placeholder="所属捐款专题" v-model="formData.contributionTypeCode"
|
||||
<el-form-item label="所属捐助专题" prop="contributionTypeCode">
|
||||
<el-select placeholder="所属捐助专题" v-model="formData.contributionTypeCode"
|
||||
style="width: 100%;"
|
||||
clearable
|
||||
filterable>
|
||||
@@ -16,7 +16,7 @@ const basicForm = {
|
||||
:value="item.typeCode"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="捐款时间" prop="contributionTime">
|
||||
<el-form-item label="捐助时间" prop="contributionTime">
|
||||
<el-date-picker
|
||||
style="width: 100%;"
|
||||
v-model="formData.contributionTime"
|
||||
@@ -27,16 +27,16 @@ const basicForm = {
|
||||
end-placeholder="请选择结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="捐款模式" prop="contributionMode">
|
||||
<el-form-item label="捐助模式" prop="contributionMode">
|
||||
<el-radio-group v-model="formData.contributionMode">
|
||||
<el-radio-button :label="1">水滴筹</el-radio-button>
|
||||
<el-radio-button :label="2">一日捐</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="捐款链接" prop="contributionUrl"
|
||||
<el-form-item label="捐助链接" prop="contributionUrl"
|
||||
v-if="formData.contributionMode === 1">
|
||||
<el-input type="text" v-model="formData.contributionUrl" maxlength="50"
|
||||
placeholder="请填写捐款链接"></el-input>
|
||||
placeholder="请填写捐助链接"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否开启" prop="isContributionEnable">
|
||||
<el-switch v-model="formData.isContributionEnable" active-color="#13ce66"
|
||||
|
||||
@@ -5,16 +5,16 @@ const info = {
|
||||
<el-descriptions-item label="项目名称">
|
||||
{{ viewData.contributionName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="所属捐款专题">
|
||||
<el-descriptions-item label="所属捐助专题">
|
||||
{{ viewData.typeName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="捐款时间">
|
||||
<el-descriptions-item label="捐助时间">
|
||||
{{ viewData.contributionStartTime + ' 至 ' + viewData.contributionEndTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="捐款模式">
|
||||
<el-descriptions-item label="捐助模式">
|
||||
{{ viewData.contributionMode === 1 ? '水滴筹' : '一日捐' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="捐款链接" :span="2">
|
||||
<el-descriptions-item label="捐助链接" :span="2">
|
||||
{{ viewData.contributionUrl || '暂无' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="项目介绍" :span="2">
|
||||
|
||||
+4
-4
@@ -38,7 +38,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<table-tool label="捐款列表"></table-tool>
|
||||
<table-tool label="捐助列表"></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" :size="tableSize"
|
||||
row-key="id" show-summary :summary-method="getSummaries"
|
||||
max-height="600">
|
||||
@@ -73,9 +73,9 @@ layout("/layouts/platform.html"){
|
||||
tableColumns: [
|
||||
{prop: 'unionCode', label: '工会编码'},
|
||||
{prop: 'name', label: '工会名称'},
|
||||
{prop: 'contributionUserNum', label: '捐款人数'},
|
||||
{prop: 'contributionNum', label: '捐款多少笔'},
|
||||
{prop: 'money', label: '捐款总额(元)'},
|
||||
{prop: 'contributionUserNum', label: '捐助人数'},
|
||||
{prop: 'contributionNum', label: '捐助多少笔'},
|
||||
{prop: 'money', label: '捐助总额(元)'},
|
||||
],
|
||||
contributionOptions: [],
|
||||
unionList: [],
|
||||
|
||||
@@ -77,7 +77,7 @@ layout("/layouts/platform.html"){
|
||||
{prop: 'appointmentUserName', label: '姓名'},
|
||||
{prop: 'appointmentLoginName', label: '工号'},
|
||||
{prop: 'appointmentUnitName', label: '单位'},
|
||||
{prop: 'doctorUserName', label: '心理咨询师'},
|
||||
{prop: 'doctorUserName', label: '咨询师'},
|
||||
],
|
||||
}
|
||||
},
|
||||
|
||||
@@ -18,7 +18,7 @@ const basicForm = {
|
||||
<el-form-item>
|
||||
<div class="text-primary">
|
||||
<i class="el-icon-warning"></i>
|
||||
提示:不会发布您的个人隐私信息,您咨询的内容只有心理咨询师可查看并回复。
|
||||
提示:不会发布您的个人隐私信息,您咨询的内容只有咨询师可查看并回复。
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -77,7 +77,7 @@ layout("/layouts/platform.html"){
|
||||
{prop: 'appointmentUserName', label: '姓名'},
|
||||
{prop: 'appointmentLoginName', label: '工号'},
|
||||
{prop: 'appointmentUnitName', label: '单位'},
|
||||
{prop: 'doctorUserName', label: '心理咨询师'},
|
||||
{prop: 'doctorUserName', label: '咨询师'},
|
||||
],
|
||||
}
|
||||
},
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ const basicForm = {
|
||||
<el-form-item>
|
||||
<div class="text-primary">
|
||||
<i class="el-icon-warning"></i>
|
||||
提示:不会发布您的个人隐私信息,您咨询的内容只有心理咨询师可查看并回复。
|
||||
提示:不会发布您的个人隐私信息,您咨询的内容只有咨询师可查看并回复。
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -25,6 +25,7 @@ const condolenceInfo = {
|
||||
{{ viewData.remark || '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell class="direction-column-cell" title="附件">
|
||||
<file-preview :files="viewData.files" complete_result></file-preview>
|
||||
</van-cell>
|
||||
<van-cell class="direction-column-cell" title="签字">
|
||||
<van-image :src="viewData.signature" v-if="viewData.signature" class="signature-image"></van-image>
|
||||
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
const applyForm = {
|
||||
template: /*language=HTML*/ `
|
||||
<div>
|
||||
<van-action-sheet :close-on-click-overlay="false" title="捐助信息" v-model="visible">
|
||||
<van-form ref="formRef" class="form-container">
|
||||
<van-cell-group title="基本信息" class="form-section">
|
||||
<van-field label="姓名" readonly v-model="formData.userName"></van-field>
|
||||
<van-field label="单位" readonly v-model="formData.unitName"></van-field>
|
||||
<van-field label="工会" readonly v-model="formData.unionName"></van-field>
|
||||
<van-field label="电话" v-model="formData.mobile" placeholder="请输入电话" type="number"
|
||||
required :rules="[{ required: true }]" name="digit">
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group title="支付信息" class="form-section">
|
||||
<van-field v-model="formData.money" label="捐助金额" type="number" placeholder="请输入捐助金额"
|
||||
required :rules="[{ required: true }]" name="money">
|
||||
<template #button>
|
||||
元
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field label="捐助方式" required :rules="[{ required: true }]" name="payMode" >
|
||||
<template #input>
|
||||
<van-radio-group v-model="formData.payMode" direction="horizontal">
|
||||
<van-radio name="WeChat"><van-icon size="18" name="wechat-pay" />微信</van-radio>
|
||||
<van-radio name="Alipay"><van-icon size="18" name="alipay" />支付宝</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group title="捐助凭证" class="form-section">
|
||||
<van-field name="contributionFiles" label="捐助凭证" required :rules="[{ required: true }]">
|
||||
<template #input>
|
||||
<h5-file-upload
|
||||
slot="input"
|
||||
:value.sync="formData.contributionFiles"
|
||||
:upload_number="5"
|
||||
upload_result_category="array"
|
||||
complete_result
|
||||
></h5-file-upload>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<div class="form-actions">
|
||||
<van-button @click="onSubmit" round type="info">提交</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</van-action-sheet>
|
||||
</div>
|
||||
`,
|
||||
store,
|
||||
data() {
|
||||
return {
|
||||
visible:false,
|
||||
row: {},
|
||||
formData: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onOpen(row) {
|
||||
this.row = row
|
||||
if(row && row.id) {
|
||||
this.formData = clone(row)
|
||||
} else {
|
||||
this.init()
|
||||
}
|
||||
this.visible = true
|
||||
},
|
||||
init() {
|
||||
this.$set(this.formData, 'contributionId', this.row.id)
|
||||
this.$set(this.formData, 'contributionName', this.row.contributionName)
|
||||
this.$set(this.formData, 'userId', this.$store.state.user.id)
|
||||
this.$set(this.formData, 'sex', this.$store.state.user.sex)
|
||||
this.$set(this.formData, 'userName', this.$store.state.user.username)
|
||||
this.$set(this.formData, 'loginName', this.$store.state.user.loginname)
|
||||
this.$set(this.formData, 'unitId', this.$store.state.user?.unit?.id)
|
||||
this.$set(this.formData, 'unitName', this.$store.state.user?.unit?.name)
|
||||
this.$set(this.formData, "unionId", this.$store.state.user?.union?.id)
|
||||
this.$set(this.formData, "unionName", this.$store.state.user?.union?.name)
|
||||
this.$set(this.formData, 'mobile', this.$store.state.user.mobile)
|
||||
},
|
||||
onSubmit() {
|
||||
this.$refs.formRef.validate().then(() => {
|
||||
this.$dialog.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要提交吗?"
|
||||
}).then(() => {
|
||||
const formData = clone(this.formData)
|
||||
formData.contributionFiles = JSON.stringify(formData.contributionFiles)
|
||||
this.$axios.post("/platform/contribution/list/h5/submit", formData).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$toast(res.msg)
|
||||
this.visible = false
|
||||
this.$pjaxReplace("/platform/contribution/mine/h5")
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
::v-deep .van-radio__label {
|
||||
display: flex;
|
||||
}
|
||||
`
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
const projectInfo = {
|
||||
template: /*language=HTML*/ `
|
||||
<div>
|
||||
<van-action-sheet v-model="visible" title="项目信息" cancel-text="取消">
|
||||
<div class="detail-container">
|
||||
<van-image class="info-img" height="186" width="100%" :src="viewData.contributionFiles"></van-image>
|
||||
|
||||
<div class="info-middle">
|
||||
<div>已筹总额:{{ viewData.totalMoney || 0 }}元</div>
|
||||
<div>捐助人次:{{ viewData.peopleCount || 0 }}人</div>
|
||||
</div>
|
||||
|
||||
<div class="info-title">{{viewData.contributionName}}</div>
|
||||
<div class="info-content" v-html="viewData.contributionIntroduce"></div>
|
||||
</div>
|
||||
</van-action-sheet>
|
||||
</div>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
visible:false,
|
||||
viewData: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onOpen(row) {
|
||||
this.$axios.post('/platform/contribution/list/h5/fetchOne', {id: row.contributionId})
|
||||
.then((res) => {
|
||||
this.viewData = res.data
|
||||
})
|
||||
this.visible = true
|
||||
},
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
::v-deep .info-middle {
|
||||
background-color: #F5F7FA;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
color: #666666;
|
||||
font-size: 14px;
|
||||
}
|
||||
::v-deep .info-title {
|
||||
font-weight: bold;
|
||||
background-color: white;
|
||||
padding: 13px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
text-align: center !important;
|
||||
margin-top: 10px;
|
||||
}
|
||||
::v-deep .info-content {
|
||||
padding: 10px;
|
||||
background-color: white;
|
||||
}
|
||||
`
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
const typeInfo = {
|
||||
template: /*language=HTML*/ `
|
||||
<div>
|
||||
<van-action-sheet v-model="visible" title="专题信息" cancel-text="取消">
|
||||
<div class="detail-container">
|
||||
<van-image class="info-img" height="186" width="100%" :src="viewData.contributionTypeFiles"></van-image>
|
||||
|
||||
<div class="info-middle">
|
||||
<div>子项目数:{{ viewData.projectCount || 0 }}个</div>
|
||||
<div>已筹总额:{{ viewData.totalMoney || 0 }}元</div>
|
||||
<div>捐助人次:{{ viewData.peopleCount || 0 }}人</div>
|
||||
</div>
|
||||
|
||||
<div class="info-title">{{viewData.typeName}}</div>
|
||||
<div class="info-content">{{viewData.contributionTypeIntroduce}}</div>
|
||||
</div>
|
||||
</van-action-sheet>
|
||||
</div>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
visible:false,
|
||||
viewData: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onOpen(row) {
|
||||
this.$axios.post('/platform/contribution/type/fetchOne', {id: row.typeId})
|
||||
.then((res) => {
|
||||
this.viewData = res.data
|
||||
})
|
||||
this.visible = true
|
||||
},
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
::v-deep .info-middle {
|
||||
background-color: #F5F7FA;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
color: #666666;
|
||||
font-size: 14px;
|
||||
}
|
||||
::v-deep .info-title {
|
||||
font-weight: bold;
|
||||
background-color: white;
|
||||
padding: 13px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
text-align: center !important;
|
||||
margin-top: 10px;
|
||||
}
|
||||
::v-deep .info-content {
|
||||
padding: 10px;
|
||||
background-color: white;
|
||||
}
|
||||
`
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
<!--#
|
||||
layout("/layouts/platform_h5.html"){
|
||||
#-->
|
||||
|
||||
<style scoped>
|
||||
|
||||
</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-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.type" :options="typeOptions" :multiple="false"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<table-list api="/platform/contribution/list/h5/pageData"
|
||||
:page_form.sync="pageForm"
|
||||
ref="tableListRef"
|
||||
img="contributionFiles"
|
||||
@ready="onReady">
|
||||
<template #header="{index,row}">
|
||||
<div class="item-header">
|
||||
<div class="item-title">{{ row.contributionName }}</div>
|
||||
<van-tag type="primary">{{ row.contributionTypeCode ? '专题' : '' }}</van-tag>
|
||||
</div>
|
||||
</template>
|
||||
<template v-slot="{index,row}">
|
||||
<table-column label="捐助模式">{{ row.contributionMode === 1 ? '水滴筹' : '一日捐' }}</table-column>
|
||||
<table-column label="开始时间">{{row.contributionStartTime}}</table-column>
|
||||
<table-column label="结束时间">{{row.contributionEndTime}}</table-column>
|
||||
</template>
|
||||
<template #actions="{index,row}">
|
||||
<div v-if="row.contributionTypeCode" class="action-btn" @click="onTypeView(row)">
|
||||
<i class="fa fa-eye"></i>
|
||||
<span>专题介绍</span>
|
||||
</div>
|
||||
<div class="action-btn" @click="onView(row)">
|
||||
<i class="fa fa-eye"></i>
|
||||
<span>项目介绍</span>
|
||||
</div>
|
||||
<div class="action-btn" @click="onApply(row)">
|
||||
<i class="fa fa-cny"></i>
|
||||
<span>捐助</span>
|
||||
</div>
|
||||
</template>
|
||||
</table-list>
|
||||
|
||||
<type-info ref="typeInfoRef"></type-info>
|
||||
<project-info ref="projectInfoRef"></project-info>
|
||||
<apply-form ref="applyFormRef"></apply-form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include('../common/typeInfo.js'){}#-->
|
||||
<!--#include('../common/projectInfo.js'){}#-->
|
||||
<!--#include('../common/applyForm.js'){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
components: {
|
||||
'type-info': typeInfo,
|
||||
'project-info': projectInfo,
|
||||
'apply-form': applyForm,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
year: new Date().getFullYear(),
|
||||
type: null,
|
||||
},
|
||||
typeOptions: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async onReady() {
|
||||
const typeList = await this.queryType()
|
||||
this.typeOptions = [
|
||||
{
|
||||
text: "全部类型",
|
||||
value: null
|
||||
}
|
||||
].concat(typeList.map((v) => ({ text: v.typeName, value: v.typeCode })))
|
||||
if (this.typeOptions.length > 0) {
|
||||
this.pageForm.type = this.typeOptions[0].value
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
onApply(row) {
|
||||
delete row.contributionFiles
|
||||
this.$refs.applyFormRef.onOpen(row)
|
||||
},
|
||||
onTypeView(row) {
|
||||
this.$refs.typeInfoRef.onOpen(row)
|
||||
},
|
||||
onView(row) {
|
||||
this.$refs.projectInfoRef.onOpen(row)
|
||||
},
|
||||
async queryType() {
|
||||
const res = await this.$axios.post('/platform/contribution/type/queryContributionType')
|
||||
return res.data
|
||||
},
|
||||
doSearch() {
|
||||
this.$nextTick(() => {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageForm.totalCount = 0
|
||||
this.$refs.tableListRef.doSearch()
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,143 @@
|
||||
<!--#
|
||||
layout("/layouts/platform_h5.html"){
|
||||
#-->
|
||||
|
||||
<style scoped>
|
||||
|
||||
</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-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.type" :options="typeOptions" :multiple="false"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<table-list api="/platform/contribution/mine/h5/pageData"
|
||||
:page_form.sync="pageForm"
|
||||
ref="tableListRef"
|
||||
@ready="onReady">
|
||||
<template #header="{index,row}">
|
||||
<div class="item-header">
|
||||
<div class="item-title">{{ row.projectName }}</div>
|
||||
<van-tag type="primary">{{ row.contributionTypeCode ? '专题' : '' }}</van-tag>
|
||||
</div>
|
||||
</template>
|
||||
<template v-slot="{index,row}">
|
||||
<table-column label="捐助方式">{{ row.payMode === 'WeChat' ? '微信' : '支付宝' }}</table-column>
|
||||
<table-column label="捐助金额">{{row.money}}</table-column>
|
||||
<table-column label="捐助时间">{{row.contributionTime}}</table-column>
|
||||
</template>
|
||||
<template #actions="{index,row}">
|
||||
<div v-if="row.contributionTypeCode" class="action-btn" @click="onTypeView(row)">
|
||||
<i class="fa fa-eye"></i>
|
||||
<span>专题介绍</span>
|
||||
</div>
|
||||
<div class="action-btn" @click="onView(row)">
|
||||
<i class="fa fa-eye"></i>
|
||||
<span>项目介绍</span>
|
||||
</div>
|
||||
<div v-if="$moment().isBefore($moment(row.contributionStartTime))"
|
||||
class="action-btn" @click="onEdit(row)">
|
||||
<i class="fa fa-edit"></i>
|
||||
<span>编辑</span>
|
||||
</div>
|
||||
<div v-if="$moment().isBefore($moment(row.contributionStartTime))"
|
||||
class="action-btn delete" @click="onDelete(row)">
|
||||
<i class="fa fa-trash"></i>
|
||||
<span>删除</span>
|
||||
</div>
|
||||
</template>
|
||||
</table-list>
|
||||
|
||||
<type-info ref="typeInfoRef"></type-info>
|
||||
<project-info ref="projectInfoRef"></project-info>
|
||||
<apply-form ref="applyFormRef"></apply-form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include('../common/typeInfo.js'){}#-->
|
||||
<!--#include('../common/projectInfo.js'){}#-->
|
||||
<!--#include('../common/applyForm.js'){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
components: {
|
||||
'type-info': typeInfo,
|
||||
'project-info': projectInfo,
|
||||
'apply-form': applyForm,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
year: new Date().getFullYear(),
|
||||
type: null,
|
||||
},
|
||||
typeOptions: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async onReady() {
|
||||
const typeList = await this.queryType()
|
||||
this.typeOptions = [
|
||||
{
|
||||
text: "全部类型",
|
||||
value: null
|
||||
}
|
||||
].concat(typeList.map((v) => ({ text: v.typeName, value: v.typeCode })))
|
||||
if (this.typeOptions.length > 0) {
|
||||
this.pageForm.type = this.typeOptions[0].value
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
onEdit(row) {
|
||||
this.$refs.applyFormRef.onOpen(row)
|
||||
},
|
||||
onTypeView(row) {
|
||||
this.$refs.typeInfoRef.onOpen(row)
|
||||
},
|
||||
onView(row) {
|
||||
this.$refs.projectInfoRef.onOpen(row)
|
||||
},
|
||||
onDelete(row) {
|
||||
this.$dialog.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要删除吗?"
|
||||
})
|
||||
.then(() => {
|
||||
this.$axios.post("/platform/contribution/mine/h5/delete", { id: row.id }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$toast.success(res.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(res.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
async queryType() {
|
||||
const res = await this.$axios.post('/platform/contribution/type/queryContributionType')
|
||||
return res.data
|
||||
},
|
||||
doSearch() {
|
||||
this.$nextTick(() => {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageForm.totalCount = 0
|
||||
this.$refs.tableListRef.doSearch()
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -4,7 +4,7 @@ const applyForm = {
|
||||
<van-action-sheet :close-on-click-overlay="false" title="咨询信息" v-model="visible">
|
||||
<van-notice-bar
|
||||
left-icon="volume-o"
|
||||
text="温馨提示:不会发布您的个人隐私信息,您咨询的内容只有心理咨询师可查看并回复。"
|
||||
text="温馨提示:不会发布您的个人隐私信息,您咨询的内容只有咨询师可查看并回复。"
|
||||
></van-notice-bar>
|
||||
<van-form ref="formRef" class="form-container">
|
||||
<van-cell-group title="基本信息" class="form-section">
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ const applyForm = {
|
||||
<van-action-sheet :close-on-click-overlay="false" title="咨询信息" v-model="visible">
|
||||
<van-notice-bar
|
||||
left-icon="volume-o"
|
||||
text="温馨提示:不会发布您的个人隐私信息,您咨询的内容只有心理咨询师可查看并回复。"
|
||||
text="温馨提示:不会发布您的个人隐私信息,您咨询的内容只有咨询师可查看并回复。"
|
||||
></van-notice-bar>
|
||||
<van-form ref="formRef" class="form-container">
|
||||
<van-cell-group title="基本信息" class="form-section">
|
||||
|
||||
Reference in New Issue
Block a user