From 55b04444be6cb77225babb6554f8554c79b1c4c9 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 09 Apr 2024 00:15:06 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java | 5
src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml | 35 +++++
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 21 +++
src/main/resources/mapper/modules/MallMemberMapper.xml | 3
src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsRecordMapper.java | 5
src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html | 207 +++++++++++++++++++++++++++++
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 29 ++--
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java | 4
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java | 7 +
src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java | 1
src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java | 34 ++++
src/main/resources/mapper/modules/MallVipConfigMapper.xml | 7 +
src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java | 38 +++++
13 files changed, 381 insertions(+), 15 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index 3bf4415..86be4d2 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -9,6 +9,9 @@
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.vip.entity.MallVipBenefitsRecord;
+import cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper;
+import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
@@ -33,6 +36,8 @@
private final IAdminMallMemberService mallMemberService;
private final IApiMallMemberService apiMallMemberService;
+ private final IMallVipBenefitsService mallVipBenefitsService;
+ private final MallVipBenefitsRecordMapper mallVipBenefitsRecordMapper;
/**
* 平台账单
@@ -619,4 +624,20 @@
public FebsResponse addMemberCoupon(@Valid MallMember mallmember) {
return mallMemberService.addMemberCoupon(mallmember);
}
+
+ @GetMapping(value = "/findMemberBenefitsInPage")
+ public FebsResponse findMemberBenefitsInPage(MallVipBenefitsRecord record, QueryRequest request) {
+ Map<String, Object> data = getDataTable(mallVipBenefitsService.findVipBenefitsInPage(record, request));
+ return new FebsResponse().success().data(data);
+ }
+
+ @PostMapping(value = "/sendGift/{id}")
+ public FebsResponse sendGift(@PathVariable("id") Long id) {
+ MallVipBenefitsRecord record = new MallVipBenefitsRecord();
+ record.setId(id);
+ record.setStatus(1);
+ mallVipBenefitsRecordMapper.updateById(record);
+
+ return new FebsResponse().success();
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
index da1829f..156b641 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -420,4 +420,11 @@
return FebsUtil.view("modules/mallMember/member-coupon-select");
}
+
+ @GetMapping("memberBenefitsList")
+ @RequiresPermissions("memberBenefitsList:view")
+ public String memberBenefitsList() {
+ return FebsUtil.view("modules/mallMember/memberBenefitsList");
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index f23b060..3a9cb20 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -5,7 +5,9 @@
import cc.mrbird.febs.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
@@ -167,6 +169,8 @@
@TableField(exist = false)
private Long couponId;
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date birthday;
private String realName;
diff --git a/src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java b/src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java
index c4fa3ad..6e4c92e 100644
--- a/src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java
+++ b/src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java
@@ -62,4 +62,5 @@
mallVipBenefitsService.switchBenefitsShow(id);
return new FebsResponse().success().data("设置成功");
}
+
}
diff --git a/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java b/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java
index 7f3f1ff..8543b94 100644
--- a/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java
+++ b/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java
@@ -1,14 +1,28 @@
package cc.mrbird.febs.vip.entity;
import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@TableName(value = "mall_vip_benefits_record")
public class MallVipBenefitsRecord extends BaseEntity {
+
+ @TableField(exist = false)
+ private String memberName;
+
+ @TableField(exist = false)
+ private String memberPhone;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @TableField(exist = false)
+ private Date birthday;
private Long memberId ;
/** 权益名称 */
@@ -20,9 +34,33 @@
/** 领取数量 */
private Integer receiveCnt ;
/** 领取时间 */
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date receiveTime ;
/** 领取类型;2-商品 3-优惠券 */
private Integer receiveType ;
/** 领取ID */
private Long receiveId ;
+
+ private Integer status;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @TableField(exist = false)
+ private Date birthdayStart;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @TableField(exist = false)
+ private Date birthdayEnd;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @TableField(exist = false)
+ private Date receiveStartTime;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @TableField(exist = false)
+ private Date receiveEndTime;
}
diff --git a/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsRecordMapper.java b/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsRecordMapper.java
index 149aea4..9d99130 100644
--- a/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsRecordMapper.java
+++ b/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsRecordMapper.java
@@ -2,6 +2,11 @@
import cc.mrbird.febs.vip.entity.MallVipBenefitsRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
public interface MallVipBenefitsRecordMapper extends BaseMapper<MallVipBenefitsRecord> {
+
+ IPage<MallVipBenefitsRecord> selectMemberBenefitsRecordInPage(@Param("record") MallVipBenefitsRecord record, Page<MallVipBenefitsRecord> page);
}
diff --git a/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java b/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java
index 764ea68..38123c4 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java
@@ -1,7 +1,10 @@
package cc.mrbird.febs.vip.service;
import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.vo.MallDataVo;
import cc.mrbird.febs.vip.entity.MallVipBenefits;
+import cc.mrbird.febs.vip.entity.MallVipBenefitsRecord;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -24,4 +27,6 @@
void switchBenefitsShow(Long id);
Map<String, Object> birthdayEvent();
+
+ IPage<MallVipBenefitsRecord> findVipBenefitsInPage(MallVipBenefitsRecord record, QueryRequest request);
}
diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
index 60447a8..d4b1453 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
@@ -314,8 +314,40 @@
return new HashMap<>();
}
+ List<String> ids = new ArrayList<>();
+ benefits.forEach(item -> {
+ ids.addAll(item.getDetails().stream().filter(detail -> detail.getLinkType() == 2 || detail.getLinkType() == 3).map(MallVipBenefitsDetails::getContent).collect(Collectors.toList()));
+ });
+
+ LambdaQueryWrapper<MallVipBenefitsRecord> recordQuery = new LambdaQueryWrapper<>();
+ recordQuery.eq(MallVipBenefitsRecord::getReceiveId, ids)
+ .ge(MallVipBenefitsRecord::getReceiveTime, DateUtil.beginOfDay(new Date()))
+ .le(MallVipBenefitsRecord::getReceiveTime, DateUtil.endOfDay(new Date()));
+ List<MallVipBenefitsRecord> hasRecieveList = mallVipBenefitsRecordMapper.selectList(recordQuery);
+
Map<String, Object> map = new HashMap<>();
- map.put("benefit", benefits.get(0));
+ if (CollUtil.isEmpty(hasRecieveList)) {
+ map.put("benefit", benefits.get(0));
+ return map;
+ }
+
+ List<Long> hasIds = hasRecieveList.stream().map(MallVipBenefitsRecord::getReceiveId).collect(Collectors.toList());
+ List<MallVipBenefits> collect1 = benefits.stream().peek(item -> {
+ List<MallVipBenefitsDetails> collect = item.getDetails().stream().filter(detail -> hasIds.contains(Long.parseLong(detail.getContent()))).collect(Collectors.toList());
+ item.setDetails(collect);
+ }).filter(item -> CollUtil.isNotEmpty(item.getDetails())).collect(Collectors.toList());
+
+ if (CollUtil.isEmpty(collect1)) {
+ return map;
+ }
+
+ map.put("benefit", collect1.get(0));
return map;
}
+
+ @Override
+ public IPage<MallVipBenefitsRecord> findVipBenefitsInPage(MallVipBenefitsRecord record, QueryRequest request) {
+ Page<MallVipBenefitsRecord> page = new Page<>(request.getPageNum(), request.getPageSize());
+ return mallVipBenefitsRecordMapper.selectMemberBenefitsRecordInPage(record, page);
+ }
}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 37a2332..91ea9a7 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -11,6 +11,9 @@
left join mall_vip_config vipConfig on m.level = vipConfig.code
<where>
<if test="record != null" >
+ <if test="record.birthday!=null">
+ and m.birthday = #{record.birthday}
+ </if>
<if test="record.name!=null and record.name!=''">
and m.name like concat('%', #{record.name},'%')
</if>
diff --git a/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml b/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
new file mode 100644
index 0000000..da01bcf
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper">
+
+ <select id="selectMemberBenefitsRecordInPage" resultType="cc.mrbird.febs.vip.entity.MallVipBenefitsRecord">
+ select
+ mallMember.name memberName
+ ,mallMember.phone memberPhone
+ ,record.*
+ from mall_vip_benefits_record record
+ inner join mall_member mallMember on record.member_id = mallMember.ID
+ <where>
+ 1=1
+ <if test="record.memberPhone != null and record.memberPhone != ''">
+ and mallMember.phone = #{record.memberPhone}
+ </if>
+ <if test="record.status != null">
+ and record.status = #{record.status}
+ </if>
+ <if test="record.birthdayStart != null">
+ and date_format(mallMember.birthday, '%Y-%m-%d') >= date_format(#{record.birthdayStart}, '%Y-%m-%d')
+ </if>
+ <if test="record.birthdayEnd != null">
+ and date_format(mallMember.birthday, '%Y-%m-%d') <= date_format(#{record.birthdayEnd}, '%Y-%m-%d')
+ </if>
+ <if test="record.receiveStartTime != null">
+ and date_format(mallMember.receiveTime, '%Y-%m-%d') >= date_format(#{record.receiveStartTime}, '%Y-%m-%d')
+ </if>
+ <if test="record.receiveEndTime != null">
+ and date_format(mallMember.receiveTime, '%Y-%m-%d') <= date_format(#{record.receiveEndTime}, '%Y-%m-%d')
+ </if>
+ </where>
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallVipConfigMapper.xml b/src/main/resources/mapper/modules/MallVipConfigMapper.xml
index 6d9609d..a5a4069 100644
--- a/src/main/resources/mapper/modules/MallVipConfigMapper.xml
+++ b/src/main/resources/mapper/modules/MallVipConfigMapper.xml
@@ -26,6 +26,9 @@
<collection property="details" ofType="cc.mrbird.febs.vip.entity.MallVipBenefitsDetails">
<id property="id" column="d_id" />
+ <id property="content" column="d_content" />
+ <id property="linkType" column="d_link_type" />
+ <id property="isClick" column="d_is_click" />
</collection>
</collection>
</resultMap>
@@ -58,6 +61,10 @@
,benefits.score_multiple
,benefits.gain_type
,benefits.type c_type
+ ,details.id d_id
+ ,details.content d_content
+ ,details.link_type d_link_type
+ ,details.is_click d_is_click
from mall_vip_config config
inner join mall_vip_config_benefits configBenefits on config.id=configBenefits.config_id
inner join mall_vip_benefits benefits on configBenefits.benefits_id=benefits.id
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index f2b2154..2c07876 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -29,19 +29,13 @@
</select>
</div>
</div>
-<!-- <div class="layui-inline">-->
-<!-- <label class="layui-form-label layui-form-label-sm">会员类型</label>-->
-<!-- <div class="layui-input-inline">-->
-<!-- <select name="level">-->
-<!-- <option value="">请选择</option>-->
-<!-- <option value="FIRST_LEVEL">普通会员</option>-->
-<!-- <option value="SECOND_LEVEL">一星</option>-->
-<!-- <option value="THIRD_LEVEL">二星</option>-->
-<!-- <option value="FOUR_LEVEL">三星</option>-->
-<!-- <option value="FIFTH_LEVEL">四星</option>-->
-<!-- </select>-->
-<!-- </div>-->
-<!-- </div>-->
+ <div class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">会员生日</label>
+ <div class="layui-input-inline">
+ <input type="text" name="birthday" id="febs-member-benefits-list-birthday-start" lay-verify="date"
+ placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
+ </div>
+ </div>
</div>
</div>
<div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -118,7 +112,7 @@
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
// 引入组件并初始化
- layui.use([ 'jquery', 'form', 'table', 'febs'], function () {
+ layui.use([ 'jquery', 'form', 'table', 'febs', 'laydate'], function () {
var $ = layui.jquery,
febs = layui.febs,
form = layui.form,
@@ -128,9 +122,14 @@
$reset = $view.find('#reset'),
$searchForm = $view.find('form'),
sortObject = {field: 'phone', type: null},
+ laydate = layui.laydate,
tableIns;
form.render();
+
+ laydate.render({
+ elem: '#febs-member-benefits-list-birthday-start'
+ });
// 表格初始化
initTable();
@@ -286,6 +285,7 @@
{type: 'checkbox'},
{field: 'phone', title: '手机号码', minWidth: 150,align:'left'},
{field: 'name', title: '用户昵称', minWidth: 100,align:'left'},
+ {field: 'birthday', title: '会员生日', minWidth: 100,align:'left'},
{field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
{field: 'balance', title: '余额', minWidth: 100,align:'left'},
// {field: 'score', title: '赠送积分', minWidth: 100,align:'left'},
@@ -477,6 +477,7 @@
name: $searchForm.find('input[name="name"]').val().trim(),
account: $searchForm.find('input[name="account"]').val().trim(),
level: $searchForm.find("select[name='level']").val(),
+ birthday: $searchForm.find("input[name='birthday']").val(),
// level: $searchForm.find("select[name='level']").val(),
};
}
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html b/src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html
new file mode 100644
index 0000000..41b5ab6
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html
@@ -0,0 +1,207 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-member-benefits-list" lay-title="权益领取列表">
+ <div class="layui-row febs-container">
+ <div class="layui-col-md12">
+ <div class="layui-card">
+ <div class="layui-card-body febs-table-full">
+ <form class="layui-form layui-table-form" lay-filter="user-table-form">
+ <div class="layui-row">
+ <div class="layui-col-md10">
+ <div class="layui-form-item">
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label layui-form-label-sm">用户昵称</label>-->
+<!-- <div class="layui-input-inline">-->
+<!-- <input type="text" placeholder="用户昵称" name="memberName" autocomplete="off" class="layui-input">-->
+<!-- </div>-->
+<!-- </div>-->
+ <div class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">手机号码</label>
+ <div class="layui-input-inline">
+ <input type="text" placeholder="手机号码" name="memberPhone" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">是否赠送</label>
+ <div class="layui-input-inline">
+ <select name="status">
+ <option value="">请选择</option>
+ <option value="1">已赠送</option>
+ <option value="2">未赠送</option>
+ </select>
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">会员生日</label>
+ <div class="layui-input-inline">
+ <input type="text" name="birthdayStart" id="febs-member-benefits-list-birthday-start" lay-verify="date"
+ placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
+ </div>
+ <div class="layui-input-inline">
+ <input type="text" name="birthdayEnd" id="febs-member-benefits-list-birthday-end" lay-verify="date"
+ placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">领取时间</label>
+ <div class="layui-input-inline">
+ <input type="text" name="receiveStartTime" id="febs-member-benefits-list-start" lay-verify="date"
+ placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
+ </div>
+ <div class="layui-input-inline">
+ <input type="text" name="receiveEndTime" id="febs-member-benefits-list-end" lay-verify="date"
+ placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query">
+ <i class="layui-icon"></i>
+ </div>
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+ <i class="layui-icon"></i>
+ </div>
+ </div>
+ </div>
+ </form>
+ <table lay-filter="memberBenefitsTable" lay-data="{id: 'memberBenefitsTable'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<!-- 表格操作栏 end -->
+<script data-th-inline="none" type="text/javascript">
+ // 引入组件并初始化
+ layui.use([ 'jquery', 'form', 'table', 'febs','laydate'], function () {
+ var $ = layui.jquery,
+ febs = layui.febs,
+ form = layui.form,
+ table = layui.table,
+ $view = $('#febs-member-benefits-list'),
+ $query = $view.find('#query'),
+ $reset = $view.find('#reset'),
+ $searchForm = $view.find('form'),
+ sortObject = {field: '', type: null},
+ laydate = layui.laydate,
+ tableIns;
+
+ //日期范围
+ laydate.render({
+ elem: '#febs-member-benefits-list-start'
+ });
+ laydate.render({
+ elem: '#febs-member-benefits-list-end'
+ });
+ laydate.render({
+ elem: '#febs-member-benefits-list-birthday-start'
+ });
+
+ laydate.render({
+ elem: '#febs-member-benefits-list-birthday-end'
+ });
+
+ form.render();
+
+ // 表格初始化
+ initTable();
+
+ // 初始化表格操作栏各个按钮功能
+ table.on('tool(memberBenefitsTable)', function (obj) {
+ var data = obj.data,
+ layEvent = obj.event;
+
+ if (layEvent === 'sendGift') {
+ febs.post(ctx + 'admin/mallMember/sendGift/' + data.id, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+ });
+
+ // 查询按钮
+ $query.on('click', function () {
+ var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
+ tableIns.reload({where: params, page: {curr: 1}});
+ });
+
+ // 刷新按钮
+ $reset.on('click', function () {
+ $searchForm[0].reset();
+ sortObject.type = 'null';
+ tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
+ });
+
+ function initTable() {
+ tableIns = febs.table.init({
+ elem: $view.find('table'),
+ id: 'memberBenefitsTable',
+ url: ctx + 'admin/mallMember/findMemberBenefitsInPage',
+ totalRow : true,
+ cols: [[
+ {field: 'memberName', title: '会员名称', minWidth: 100,align:'left'},
+ {field: 'memberPhone', title: '手机号码', minWidth: 150,align:'left'},
+ {field: 'benefitsName', title: '权益', minWidth: 150,align:'left'},
+ {field: 'benefitsType', title: '权益类型',
+ templet: function (d) {
+ if (d.benefitsType === 1) {
+ return '<span>会员日</span>'
+ } else if (d.benefitsType === 2) {
+ return '<span>生日</span>'
+ } else {
+ return '<span>其他</span>'
+ }
+ }, minWidth: 80,align:'center'},
+ {field: 'receiveName', title: '领取名称', minWidth: 150,align:'left'},
+ {field: 'receiveCnt', title: '领取数量', minWidth: 50,align:'left'},
+ {field: 'receiveTime', title: '领取时间', minWidth: 200,align:'left'},
+ {field: 'receiveType', title: '领取类型',
+ templet: function (d) {
+ if (d.receiveType === 2) {
+ return '商品';
+ } else if(d.receiveType === 3) {
+ return '优惠券'
+ } else {
+ return '-';
+ }
+ }, minWidth: 80,align:'center'},
+ {field: 'receiveType', title: '赠送状态',
+ templet: function (d) {
+ if (d.status === 1) {
+ return '已赠送';
+ } else if(d.status === 2) {
+ return '未赠送'
+ } else {
+ return '-';
+ }
+ }, minWidth: 80,align:'center'},
+ {title: '操作',
+ templet: function (d) {
+ if (d.receiveType == 2 && d.status == 2) {
+ return ''
+ +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="sendGift">赠送</button>'
+ } else {
+ return ''
+ }
+ },minWidth: 100,align:'center'}
+ ]]
+ });
+ }
+
+ // 获取查询参数
+ function getQueryParams() {
+ return {
+ receiveStartTime: $searchForm.find('input[name="receiveStartTime"]').val().trim(),
+ receiveEndTime: $searchForm.find('input[name="receiveEndTime"]').val().trim(),
+ birthdayStart: $searchForm.find('input[name="birthdayStart"]').val().trim(),
+ birthdayEnd: $searchForm.find('input[name="birthdayEnd"]').val().trim(),
+ // memberName: $searchForm.find('input[name="memberName"]').val().trim(),
+ memberPhone: $searchForm.find('input[name="memberPhone"]').val().trim(),
+ status: $searchForm.find("select[name='status']").val(),
+ };
+ }
+
+ })
+</script>
\ No newline at end of file
--
Gitblit v1.9.1