Helius
2021-01-12 b8e2c0dee6ae4520a2e0e783b416825d872c8f9e
Merge branch 'api' into order_reform
2 files added
14 files modified
740 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java 58 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/action/TaocanController.java 42 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java 16 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java 200 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java 10 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml 37 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml 112 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/projUseFlow-list.html 128 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html 25 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUse-form.html 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUseFlow-list.html 70 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html 13 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/vip/tc-form.html 15 ●●●● patch | view | raw | blame | history
zq-xcx/project.config.json 5 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
@@ -12,10 +12,7 @@
import com.matrix.core.tools.excl.ExcelUtil;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.MoneyCardUse;
import com.matrix.system.hive.bean.ShoppingGoods;
import com.matrix.system.hive.bean.SysProjUse;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.MoneyCardUseDao;
import com.matrix.system.hive.dao.ShoppingGoodsDao;
import com.matrix.system.hive.dao.SysProjUseDao;
@@ -60,6 +57,18 @@
    @Resource
    private MoneyCardUseService moneyCardUseService;
    @Resource
    private  SysProjUseDao projUseDao;
    @Autowired
    SysVipInfoDao vipInfoDao;
    @Autowired
    ShoppingGoodsDao shoppingGoodsDao;
    @Autowired
    MoneyCardUseDao moneyCardUseDao;
    public static final String fnCode = "projUse";
    public static final String search = fnCode + ":search";
@@ -85,6 +94,18 @@
                projUseService.findInPage(sysProjUse, pageVo), projUseService.findTotal(sysProjUse));
    }
    /**
     * 查看会员项目使用情况
     *
     * @author jiangyouyao
     * @date 2016-09-03
     */
    @RequestMapping(value = "/findProjUseFlow")
    public @ResponseBody
    AjaxResult findProjUseFlow(PaginationVO pageVo, SysProjUseFlow projUseFlow) {
        return new AjaxResult(AjaxResult.STATUS_SUCCESS,
                projUseDao.selectProjUseFlow(projUseFlow, pageVo), projUseDao.selectProjUseFlowTotal(projUseFlow));
    }
    /**
     * 将项目设置为有效
@@ -217,10 +238,29 @@
    /**
     * 添加或修改会员項目信息
     */
    @Transactional
    @RequestMapping(value = "/addOrModify")
    public @ResponseBody
    AjaxResult addOrModify(SysProjUse sysProjUse) {
        if (sysProjUse.getId() != null) {
            SysUsers user=getMe();
            //插入修改记录
            SysProjUse oldProjUse = projUseService.findById(sysProjUse.getId());
            SysProjUseFlow projUseFlow=new SysProjUseFlow();
            projUseFlow.setProjUseId(sysProjUse.getId());
            projUseFlow.setOptionType("人工修改");
            projUseFlow.setProjName(oldProjUse.getProjName());
            projUseFlow.setCreateBy(user.getSuName());
            projUseFlow.setUpdateBy(user.getSuName());
            projUseFlow.setPrice(sysProjUse.getPrice());
            projUseFlow.setStatus(sysProjUse.getStatus());
            projUseFlow.setBalance(sysProjUse.getBalance());
            projUseFlow.setFailTime(sysProjUse.getFailTime());
            projUseFlow.setIsOver(sysProjUse.getIsOver());
            projUseFlow.setRemark(sysProjUse.getUpdateRemark());
            projUseFlow.setSurplusCount(sysProjUse.getSurplusCount());
            projUseDao.insertFlow(projUseFlow);
            return modify(projUseService, sysProjUse, "项目");
        } else {
            return add(projUseService, sysProjUse, "项目");
@@ -228,17 +268,7 @@
    }
    @Autowired
    SysVipInfoDao vipInfoDao;
    @Autowired
    ShoppingGoodsDao shoppingGoodsDao;
    @Autowired
    SysProjUseDao projUseDao;
    @Autowired
    MoneyCardUseDao moneyCardUseDao;
    @RequestMapping(value = "/importProjUse")
zq-erp/src/main/java/com/matrix/system/hive/action/TaocanController.java
@@ -3,9 +3,11 @@
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.MoneyCardUse;
import com.matrix.system.hive.bean.SysProjUse;
import com.matrix.system.hive.bean.SysProjUseFlow;
import com.matrix.system.hive.dao.SysProjUseDao;
import com.matrix.system.hive.service.MoneyCardUseService;
import com.matrix.system.hive.service.SysProjUseService;
@@ -205,6 +207,27 @@
    public @ResponseBody
    AjaxResult addOrModify(SysProjUse sysProjUse) {
        if (sysProjUse.getId() != null) {
            //插入修改记录
            SysUsers user=getMe();
            //插入修改记录
            SysProjUse oldProjUse = sysProjUseService.findById(sysProjUse.getId());
            SysProjUseFlow projUseFlow=new SysProjUseFlow();
            projUseFlow.setProjUseId(sysProjUse.getId());
            projUseFlow.setOptionType("人工修改");
            projUseFlow.setProjName(oldProjUse.getProjName());
            projUseFlow.setCreateBy(user.getSuName());
            projUseFlow.setUpdateBy(user.getSuName());
            projUseFlow.setPrice(sysProjUse.getPrice());
            projUseFlow.setStatus(sysProjUse.getStatus());
            projUseFlow.setBalance(sysProjUse.getBalance());
            projUseFlow.setFailTime(sysProjUse.getFailTime());
            projUseFlow.setIsOver(sysProjUse.getIsOver());
            projUseFlow.setRemark(sysProjUse.getUpdateRemark());
            projUseFlow.setSurplusCount(sysProjUse.getSurplusCount());
            projUseDao.insertFlow(projUseFlow);
            int modifyResult = sysProjUseService.modify(sysProjUse);
            List<SysProjUse> modifyUse = sysProjUse.getTaocanProjUse();
@@ -212,6 +235,25 @@
            if (modifyResult > 0) {
                if (CollectionUtils.isNotEmpty(modifyUse)) {
                    for (SysProjUse use : modifyUse) {
                        //插入修改记录
                        SysProjUse oldProjUse2 = sysProjUseService.findById(use.getId());
                        SysProjUseFlow projUseFlow2=new SysProjUseFlow();
                        //套餐中的项目需要记录套餐id
                        projUseFlow2.setProjUseId(oldProjUse.getId());
                        projUseFlow2.setOptionType("人工修改");
                        projUseFlow2.setProjName(oldProjUse2.getProjName());
                        projUseFlow2.setCreateBy(user.getSuName());
                        projUseFlow2.setUpdateBy(user.getSuName());
                        projUseFlow2.setPrice(use.getPrice());
                        projUseFlow2.setStatus(use.getStatus());
                        projUseFlow2.setBalance(use.getBalance());
                        projUseFlow2.setFailTime(use.getFailTime());
                        projUseFlow2.setIsOver(use.getIsOver());
                        projUseFlow2.setRemark(sysProjUse.getUpdateRemark());
                        projUseFlow2.setSurplusCount(use.getSurplusCount());
                        projUseDao.insertFlow(projUseFlow2);
                        sysProjUseService.modify(use);
                    }
                }
zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java
@@ -2,7 +2,9 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.matrix.core.anotations.Extend;
import com.matrix.core.pojo.EntityDTO;
import com.matrix.core.tools.DateUtil;
import com.matrix.system.common.bean.EntityDTOExt;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
@@ -13,7 +15,7 @@
/**
 * @date 2016-07-03 20:53
 */
public class SysProjUse implements Serializable {
public class SysProjUse extends EntityDTO {
    private static final long serialVersionUID = 1L;
@@ -132,6 +134,18 @@
    private String queryKey;
    @Extend
    private String updateRemark;
    public String getUpdateRemark() {
        return updateRemark;
    }
    public void setUpdateRemark(String updateRemark) {
        this.updateRemark = updateRemark;
    }
    public Date getTargetFailTime() {
        return targetFailTime;
    }
zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java
New file
@@ -0,0 +1,200 @@
package com.matrix.system.hive.bean;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.matrix.core.anotations.Extend;
import com.matrix.core.pojo.EntityDTO;
import com.matrix.core.tools.DateUtil;
import com.matrix.system.common.bean.EntityDTOExt;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**项目余次操作记录
 * @date 2016-07-03 20:53
 */
public class SysProjUseFlow extends EntityDTO {
    private static final long serialVersionUID = 1L;
    /**
     */
    private Long id;
    /**
     * 项目id
     */
    private Long projUseId;
    /**
     * 剩余次数
     */
    private Integer surplusCount;
    /**
     * 是否使用完成Y完成,N未完成
     */
    private String isOver;
    /**
     * 有效期
     */
    @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
    @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_DD)
    private Date failTime;
    /**
     * 单次扣减金额
     */
    private Double price;
    /**
     * 套餐状态,有效,无效,冻结,转让,退款
     */
    private String status;
    /**
     * 使用情况余额
     */
    private Double balance;
    /**
     * 备注
     */
    private String remark;
    /**
     * 项目名称
     */
    private String projName;
    /**
     * 操作类型
     */
    private String optionType;
    /**
     * 开始时间
     */
    @Extend
    private String beginTime;
    /**
     *结束时间
     */
    @Extend
    private String endTime;
    public String getBeginTime() {
        return beginTime;
    }
    public void setBeginTime(String beginTime) {
        this.beginTime = beginTime;
    }
    public String getEndTime() {
        return endTime;
    }
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Long getProjUseId() {
        return projUseId;
    }
    public void setProjUseId(Long projUseId) {
        this.projUseId = projUseId;
    }
    public Integer getSurplusCount() {
        return surplusCount;
    }
    public void setSurplusCount(Integer surplusCount) {
        this.surplusCount = surplusCount;
    }
    public String getIsOver() {
        return isOver;
    }
    public void setIsOver(String isOver) {
        this.isOver = isOver;
    }
    public Date getFailTime() {
        return failTime;
    }
    public void setFailTime(Date failTime) {
        this.failTime = failTime;
    }
    public Double getPrice() {
        return price;
    }
    public void setPrice(Double price) {
        this.price = price;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public Double getBalance() {
        return balance;
    }
    public void setBalance(Double balance) {
        this.balance = balance;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getProjName() {
        return projName;
    }
    public void setProjName(String projName) {
        this.projName = projName;
    }
    public String getOptionType() {
        return optionType;
    }
    public void setOptionType(String optionType) {
        this.optionType = optionType;
    }
}
zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java
@@ -1,6 +1,7 @@
package com.matrix.system.hive.dao;
import com.matrix.system.hive.bean.SysProjUse;
import com.matrix.system.hive.bean.SysProjUseFlow;
import org.apache.ibatis.annotations.Param;
import com.matrix.core.pojo.PaginationVO;
@@ -18,7 +19,9 @@
public interface SysProjUseDao{
    public int insert(SysProjUse sysProjUse);
    public int insertFlow(SysProjUseFlow sysProjUseFlow);
    public int update(SysProjUse sysProjUse);
    /**
     * 批量修改余次信息
@@ -37,6 +40,7 @@
    public List<SysProjUse> selectByModel(@Param("record") SysProjUse sysProjUse);
    public List<SysProjUse> selectFlowByProjUseId(Long projUseId);
    public int  selectTotalRecord(@Param("record") SysProjUse sysProjUse);
    
@@ -124,4 +128,8 @@
    public int updateTcStatus(@Param("id") Long id, @Param("status") String status);
    List<SysProjUse> selectHasValidProjUse();
    List<SysProjUseFlow> selectProjUseFlow(@Param("record") SysProjUseFlow projUseFlow, @Param("pageVo")PaginationVO pageVo);
    Integer selectProjUseFlowTotal(@Param("record") SysProjUseFlow projUseFlow);
}
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
@@ -63,6 +63,9 @@
    @Override
    public int modify(SysProjUse sysProjUse) {
        //插入套餐项目操作记录
        return sysProjUseDao.update(sysProjUse);
zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml
@@ -160,7 +160,7 @@
        times,
        gift_money,
        balance,
        (SELECT STAFF_NAME from sys_shopstaff_info a WHERE operation_id=a.id) staffName,
        (SELECT su_name from sys_users a WHERE operation_id=a.su_id) staffName,
        (SELECT VIP_NAME FROM sys_vip_info b WHERE vip_id=b.ID) vipName,
        (SELECT card_NAME FROM money_card_use c WHERE car_use_id=c.ID) cardName
        from money_card_use_flow
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -685,28 +685,25 @@
            <if test="record.queryNoGoodsype != null and record.queryNoGoodsype !='' ">
                and good_type !=#{record.queryNoGoodsype}
            </if>
            <if test="record.name != null and record.name !='' ">
                and (instr(name,#{record.name}) or instr(zjm,#{record.name}))
            </if>
            <if test="record.zjm != null and record.zjm !='' ">
                and instr(zjm,#{record.zjm})
            </if>
            <if test="record.staus != null and record.staus !='' ">
                and staus =#{record.staus}
            </if>
            <if test="record.code != null and record.code !=''">
                and code = #{record.code}
            </if>
            <if test="record.isAssemble != null and record.isAssemble !='' ">
                and is_assemble =#{record.isAssemble}
            </if>
            <if test="record.deleted != null and record.deleted !='' ">
                and deleted =#{record.deleted}
            </if>
            <if test="record.isDel != null and record.isDel !='' ">
                and is_del = #{record.isDel}
            </if>
            <if test="record.zjm != null and record.zjm !='' ">
                and instr(zjm,#{record.zjm})
            </if>
            <if test="record.cateId != null and record.cateId !='' ">
                and cate_id =#{record.cateId}
            </if>
@@ -722,32 +719,44 @@
                and is_vip_car = #{record.isVipCar}
            </if>
            <if test="record.isCourse != null and record.isCourse !=''">
                and is_course = #{record.isCourse}
            </if>
            <if test="record.code != null and record.code !=''">
                and code = #{record.code}
            </if>
            <if test="record.startTime != null ">
                and create_time <![CDATA[ >= ]]> #{record.startTime}
            </if>
            <if test="record.endTime != null ">
                and create_time <![CDATA[ <= ]]> #{record.endTime}
            </if>
            <if test="record.shopId != null and record.shopId !='' ">
                <![CDATA[    and ( shop_id = #{record.shopId}
                or  ISNULL(use_shop) || LENGTH(trim(use_shop))<1
                or FIND_IN_SET(#{record.shopId},use_shop) ) ]]>
                <![CDATA[    and ( shop_id = #{record.shopId} or
                      (  headquarters=1 and  ( ISNULL(use_shop) or LENGTH(trim(use_shop))<1 or FIND_IN_SET(#{record.shopId},use_shop))))]]>
            </if>
            <if test="record.companyId != null and record.companyId !='' ">
                and company_id = #{record.companyId}
            </if>
            <if test="record.isDel != null and record.isDel !='' ">
                and is_del = #{record.isDel}
            </if>
            <if test="record.headquarters != null and record.headquarters !='' ">
                and headquarters = #{record.headquarters}
            </if>
        </if>
    </select>
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
@@ -5,7 +5,12 @@
<mapper namespace="com.matrix.system.hive.dao.SysProjUseDao">
    <resultMap type="SysProjUse" id="SysProjUseMap">
        <id property="id" column="ID"/>
        <result property="createBy" column="create_by" />
        <result property="createTime" column="create_time" />
        <result property="updateBy" column="update_by" />
        <result property="updateTime" column="update_time" />
        <result property="orderItemId" column="ORDER_ITEM_ID"/>
        <result property="projId" column="PROJ_ID"/>
        <result property="surplusCount" column="SURPLUS_COUNT"/>
@@ -26,17 +31,115 @@
        <result property="deductionNum" column="deductionNum"/>
        <result property="isCourse" column="is_course"/>
        <result property="timeLength" column="time_length"/>
        <!-- 对应项目信息-->
        <association property="projInfo" javaType="ShoppingGoods"
                     resultMap="com.matrix.system.hive.dao.ShoppingGoodsDao.ShoppingGoodsMap"/>
    </resultMap>
    <!-- 余次使用记录map -->
    <resultMap type="com.matrix.system.hive.bean.SysProjUseFlow" id="SysProjUseFlowMap">
        <id property="id" column="id"/>
        <result property="createBy" column="create_by" />
        <result property="createTime" column="create_time" />
        <result property="updateBy" column="update_by" />
        <result property="updateTime" column="update_time" />
        <result property="projUseId" column="proj_use_id"/>
        <result property="surplusCount" column="surplus_count"/>
        <result property="isOver" column="is_over"/>
        <result property="failTime" column="fail_time"/>
        <result property="price" column="price"/>
        <result property="status" column="status"/>
        <result property="balance" column="balance"/>
        <result property="remark" column="remark"/>
        <result property="projName" column="proj_name"/>
        <result property="optionType" column="option_type"/>
    </resultMap>
    <!-- 插入流水 -->
    <insert id="insertFlow" parameterType="SysProjUse" useGeneratedKeys="true"
            keyProperty="id">
        INSERT INTO sys_proj_use_flow (
        create_by,
        create_time,
        update_by,
        update_time,
        id,
        proj_use_id,
        surplus_count,
        is_over,
        fail_time,
        price,
        status,
        balance,
        remark,
        proj_name,
        option_type
        )
        VALUES (
        #{createBy},
        now(),
        #{updateBy},
        now(),
        #{id},
        #{projUseId},
        #{surplusCount},
        #{isOver},
        #{failTime},
        #{price},
        #{status},
        #{balance},
        #{remark},
        #{projName},
        #{optionType}
        )
    </insert>
    <!-- 查询流水 -->
    <select id="selectProjUseFlow" resultMap="SysProjUseFlowMap">
        select * from sys_proj_use_flow
        <where>
                and proj_use_id=#{record.projUseId}
            <if test="record.createBy !=null and record.createBy!='' ">
                and instr(createBy,#{record.createBy})
            </if>
            <if test="record.beginTime !=null and record.beginTime!=''">
                and create_time >= #{record.beginTime}
            </if>
            <if test="record.endTime !=null and record.endTime!=''">
                <![CDATA[ and create_time <=  #{record.endTime} ]]>
            </if>
        </where>
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
            <if test="pageVo.sort !=null  and pageVo.order !=null">
                order by
                ${pageVo.sort} ${pageVo.order}
            </if>
            <if test="pageVo.offset >=0  and pageVo.limit >0">
                limit
                #{pageVo.offset},#{pageVo.limit}
            </if>
        </if>
    </select>
    <select id="selectProjUseFlowTotal" resultType="java.lang.Integer">
        select count(*) from sys_proj_use_flow
        <where>
            and proj_use_id=#{record.projUseId}
            <if test="record.createBy !=null and record.createBy!='' ">
                and instr(createBy,#{record.createBy})
            </if>
            <if test="record.beginTime !=null and record.beginTime!=''">
                and create_time >= #{record.beginTime}
            </if>
            <if test="record.endTime !=null and record.endTime!=''">
                <![CDATA[ and create_time <=  #{record.endTime} ]]>
            </if>
        </where>
    </select>
    <!-- 插入方法 -->
    <insert id="insert" parameterType="SysProjUse" useGeneratedKeys="true"
@@ -737,4 +840,5 @@
        where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效'
    </select>
</mapper>
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/projUseFlow-list.html
New file
@@ -0,0 +1,128 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
    <meta http-equiv="Cache-Control" content="no-siteapp"/>
    <!-- 本框架基本脚本和样式 -->
    <script type="text/javascript"
            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
    <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
</head>
<body class=" container-fluid">
<div class="pd-10">
    <!-- 搜索框部分start -->
    <div class="row form-head">
        <form class="form-inline" id="serchform">
            <div class="form-group mr-20">
                <label>创建时间</label>
                <input autocomplete="off"   name="beginTime" type="text" class="form-control datetimepicker" id="beginTime">-
                <input autocomplete="off"   name="endTime" type="text" class="form-control datetimepicker" id="endTime">
            </div>
            <div class="form-group mr-20">
                <label >操作人</label>
                <input autocomplete="off"   name="createBy" class="form-control">
            </div>
            <input type="hidden" name="projUseId" th:value="${param.projUseId}" >
            <div class="form-group">
                <button onclick="myGrid.serchData(1)" type="button"
                        class="btn btn-sm btn-info">
                    <i class="fa fa-search "></i> 搜索
                </button>
                <button type="reset" class="btn btn-sm btn-info ">
                    <i class="fa fa-refresh "></i> 重置
                </button>
            </div>
        </form>
    </div>
    <div class="row mt-10">
        <div id="option-bar">
            <!-- 功能按钮部分 -->
        </div>
        <!-- 数据表格部分 -->
        <table id="mgrid">
            <thead>
            <tr>
                <th data-formatter="MGrid.indexfn" data-align="center" data-width="30px">序号</th>
                <th data-field="projName"  >项目名称</th>
                <th data-field="optionType">操作类型</th>
                <th data-field="createBy">操作人</th>
                <th data-field="createTime" data-formatter="MGrid.getTime" data-sortable="true">操作时间</th>
                <th data-field="surplusCount">剩余次数</th>
                <th data-field="balance">余额</th>
                <th data-field="status">状态</th>
                <th data-field="isOver" data-formatter="getYesOrNo">是否使用完成</th>
                <th data-field="failTime" data-formatter="MGrid.getTime">有效期</th>
                <th data-field="price">单次扣减金额</th>
                <th data-field="remark">备注</th>
              </tr>
            </thead>
        </table>
        <!-- 数据表格部分end -->
    </div>
    <div class="form-group ">
        <div class="col-sm-12 text-center fixed-button">
            <a class="btn btn-danger radius" href="javascript:;"
               onclick="MTools.closeForm()"><i class="fa fa-close"></i> 关闭</a>
        </div>
    </div>
</div>
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
<script type="text/javascript" th:inline="javascript" >
    //定义表格对象
    var myGrid;
    $(function () {
        //时间
        var _initParam = {
            format: 'yyyy-mm-dd hh:ii',
            todayBtn: true,
            autoclose: true,
            startView: 2,
            maxView: 3,
            minView: 0
        };
        MTools.ininDatetimepicker(_initParam);
        //限制结束时间不小于开始时间
        var initParam = {
            format: 'yyyy-mm-dd hh:ii',
            todayBtn: true,
            autoclose: true,
            startView: 2,
            maxView: 3,
            minView: 0
        };
        MTools.limitStartEndTime(initParam);
        myGrid = MGrid.initGrid({
            url: basePath + "/admin/projUser/findProjUseFlow",
            sortName:"createTime",
            sortOrder:"desc",
        });
    });
    function getYesOrNo(value, row, index){
        switch(value){
            case 'Y':
                return "是";
            case 'N':
                return "否";
            default:
                return value;
        }
    }
</script>
</body>
</html>
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -262,6 +262,7 @@
                                        <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
                                        <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
                                        <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
                                        <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button>
                                    </template>
                                </el-table-column>
                            </el-table>
@@ -297,6 +298,7 @@
                                        <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效' && scope.row.taocanId == null" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
                                        <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结' && scope.row.taocanId == null" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
                                        <el-button matrix:btn="vipInfo-cardEdit" v-if="scope.row.taocanId == null" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
                                        <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button>
                                    </template>
                                </el-table-column>
                            </el-table>
@@ -357,6 +359,7 @@
                                        <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
                                        <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
                                        <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
                                        <el-button  type="text" size="small" @click="openMoneyCardUseFlow(scope.$index, scope.row)">操作记录</el-button>
                                    </template>
                                </el-table-column>
                            </el-table>
@@ -978,6 +981,28 @@
                    content : [ basePath + url + row.id ]
                });
            },
            openProjUseFlow(index, row) {
                layer.open({
                    type : 2,
                    title : "操作记录",
                    area : MUI.SIZE_M,
                    maxmin : true,
                    content : [ basePath + "/admin/redirect/hive/beautySalon/projUseFlow-list?projUseId=" + row.id ]
                });
            },
            openMoneyCardUseFlow(index, row) {
                layer.open({
                    type : 2,
                    title : "充值卡变更记录",
                    area : MUI.SIZE_M,
                    maxmin : true,
                    content : [ basePath + "/admin/redirect/hive/vip/moneyCardUseFlow-list?vipId=" + row.vipId ]
                });
            },
            tabProjInvalid(index, row) {
                let _this = this;
                let projType = _this.projTab.projType;
zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUse-form.html
@@ -71,7 +71,7 @@
        <div class="form-group">
            <label class="col-sm-2 control-label">充值卡备注</label>
            <div class="col-sm-10">
            <div class="col-sm-4">
                <textarea class="form-control" name="remark" rows="4" th:text="${obj?.remark}"></textarea>
                <div class="Validform_checktip"></div>
            </div>
@@ -80,7 +80,7 @@
        <div class="form-group">
            <label class="col-sm-2 control-label">本次修改说明<span class="text-danger">*</span></label>
            <div class="col-sm-10">
            <div class="col-sm-4">
                <input dataType="*1-200" errormsg="修改充值卡必须填写修改说明" class="form-control" name="changeRemark"/>
                <div class="Validform_checktip"></div>
            </div>
zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUseFlow-list.html
@@ -16,25 +16,11 @@
</head>
<body class=" container-fluid">
<div class="pd-10">
    <!-- 搜索框部分start -->
    <div class="row form-head">
        <form class="form-inline" id="serchform">
            <!-- 用于套餐的查询 -->
            <input autocomplete="off"   type="hidden" name="vipId" value="" id="vipId">
            <div class="form-group mr-20">
                <label>操作内容</label>
                <input autocomplete="off"   name="content" type="text" class="form-control">
            </div>
            <div class="form-group">
                <button onclick="myGrid.serchData(1)" type="button"
                        class="btn btn-sm btn-info">
                    <i class="fa fa-search "></i> 搜索
                </button>
                <button type="reset" class="btn btn-sm btn-info ">
                    <i class="fa fa-refresh "></i> 重置
                </button>
            </div>
    <div class="row form-head">
        <form class="form-inline" id="serchform2">
            <!-- 用于套餐的查询 -->
            <input autocomplete="off"   type="hidden" name="vipId" th:value="${param.vipId}" class="vipId">
        </form>
    </div>
    <div class="row mt-10">
@@ -42,48 +28,46 @@
        </div>
        <!-- 数据表格部分 -->
        <table id="mgrid">
        <table id="mgrid2">
            <thead>
            <tr>
                <th data-formatter="MGrid.indexfn" data-align="center"
                    data-width="30px">序号</th>
                <th data-field="vipName">客户姓名</th>
                <!--
                <th data-field="orderNo">订单编号/服务单编号</th>
                 -->
                <th data-field="content" data-sortable="true">操作内容</th>
                <th data-field="staffName">操作人</th>
                <th data-field="createTime" data-formatter="MGrid.getTime">操作时间</th>
                <th data-field="cardName">充值卡名称</th>
                <th data-field="vipName">客户姓名</th>
                <th data-field="type">变更类型</th>
                <th data-field="orderNo">单据编号</th>
                <th data-field="total" data-formatter="MGrid.getYk" >本金</th>
                <th data-field="giftMoney" data-formatter="MGrid.getYk" >赠送金额</th>
                <th data-field="balance">余额</th>
                <th data-field="times">次数</th>
                <th data-field="staffName">操作人</th>
                <th data-field="content" data-sortable="true">备注</th>
            </tr>
            </thead>
        </table>
        <!-- 数据表格部分end -->
        <div class="form-group ">
            <div class="col-sm-12 text-center fixed-button">
                <a class="btn btn-danger radius" href="javascript:;"
                   onclick="MTools.closeForm()"><i class="fa fa-close"></i> 关闭</a>
            </div>
        </div>
    </div>
</div>
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
<script type="text/javascript">
    //初始化表格
    var myGrid;
    myGrid=MGrid.initGrid({
        url:basePath+"/admin/moneyCardUseFlow/showList?vipId="+$.query.get("vipId"),
    //初始化表格
    var myGrid2;
    myGrid2=MGrid.initGrid({
        tableSelecter: "#mgrid2",// 表格选择器 请保持唯一
        serchFormSelecter: "#serchform2",// 搜索表单选择器
        url:basePath+"/admin/moneyCardUse/showCardFlowList",
    });
    function buidOperate(value, row, index){
        return html;
    }
    function getYesOrNo(value, row, index){
        switch(value){
            case 'Y':
                return "是";
            case 'N':
                return "否";
            default:
                return value;
        }
    }
</script>
</body>
zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html
@@ -58,9 +58,16 @@
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">备注</label>
            <div class="col-sm-10">
                <textarea   class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea>
            <label class="col-sm-2 control-label">项目备注</label>
            <div class="col-sm-4">
                <textarea    class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea>
                <div class="Validform_checktip"></div>
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">修改备注<span class="text-danger">*</span></label>
            <div class="col-sm-4">
                <textarea   datatype="*1-200" class="form-control" name="updateRemark" rows="4"  ></textarea>
                <div class="Validform_checktip"></div>
            </div>
        </div>
zq-erp/src/main/resources/templates/views/admin/hive/vip/tc-form.html
@@ -50,7 +50,7 @@
        </div>
        <div class="form-group">
            <div class="col-sm-8 col-md-offset-2" id="projBox">
            <div class="col-sm-4 col-md-offset-2" id="projBox">
                <table class="table table-striped table-hover table-bordered"
                       id="mgrid">
                    <thead>
@@ -90,9 +90,16 @@
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">备注</label>
            <div class="col-sm-10">
                <textarea   class="form-control" name="remark" rows="4" >[[${obj.remark}]]</textarea>
            <label class="col-sm-2 control-label">套餐备注</label>
            <div class="col-sm-4">
                <textarea    class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea>
                <div class="Validform_checktip"></div>
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">修改备注<span class="text-danger">*</span></label>
            <div class="col-sm-4">
                <textarea   datatype="*1-200" class="form-control" name="updateRemark" rows="4"  ></textarea>
                <div class="Validform_checktip"></div>
            </div>
        </div>
zq-xcx/project.config.json
@@ -21,7 +21,7 @@
    "checkSiteMap": true,
    "uploadWithSourceMap": true,
    "compileHotReLoad": false,
    "useMultiFrameRuntime": false,
    "useMultiFrameRuntime": true,
    "useApiHook": true,
    "babelSetting": {
      "ignore": [],
@@ -29,6 +29,7 @@
      "outputPath": ""
    },
    "enableEngineNative": false,
    "bundle": false,
    "useIsolateContext": true,
    "useCompilerModule": true,
    "userConfirmedUseCompilerModuleSwitch": false,
@@ -36,7 +37,7 @@
    "packNpmManually": false,
    "packNpmRelationList": [],
    "minifyWXSS": true,
    "bundle": false
    "useApiHostProcess": false
  },
  "compileType": "miniprogram",
  "libVersion": "1.9.98",