微信用户模块初始化提交

master
elliott 2 years ago
parent b8637a122d
commit a5d5cf0058

@ -0,0 +1,106 @@
package com.flossom.system.controller;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.flossom.common.core.utils.poi.ExcelUtil;
import com.flossom.common.core.web.controller.BaseController;
import com.flossom.common.core.web.domain.AjaxResult;
import com.flossom.common.core.web.page.TableDataInfo;
import com.flossom.common.log.annotation.Log;
import com.flossom.common.log.enums.BusinessType;
import com.flossom.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.flossom.system.domain.WxUserMember;
import com.flossom.system.service.IWxUserMemberService;
/**
* Controller
*
* @author flossom
* @date 2023-12-08
*/
@RestController
@RequestMapping("/member")
public class WxUserMemberController extends BaseController
{
@Autowired
private IWxUserMemberService wxUserMemberService;
/**
*
*/
@RequiresPermissions("system:member:list")
@GetMapping("/list")
public TableDataInfo list(WxUserMember wxUserMember)
{
startPage();
List<WxUserMember> list = wxUserMemberService.selectWxUserMemberList(wxUserMember);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("system:member:export")
@Log(title = "用户", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, WxUserMember wxUserMember)
{
List<WxUserMember> list = wxUserMemberService.selectWxUserMemberList(wxUserMember);
ExcelUtil<WxUserMember> util = new ExcelUtil<WxUserMember>(WxUserMember.class);
util.exportExcel(response, list, "用户数据");
}
/**
*
*/
@RequiresPermissions("system:member:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(wxUserMemberService.selectWxUserMemberById(id));
}
/**
*
*/
@RequiresPermissions("system:member:add")
@Log(title = "用户", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody WxUserMember wxUserMember)
{
return toAjax(wxUserMemberService.insertWxUserMember(wxUserMember));
}
/**
*
*/
@RequiresPermissions("system:member:edit")
@Log(title = "用户", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody WxUserMember wxUserMember)
{
return toAjax(wxUserMemberService.updateWxUserMember(wxUserMember));
}
/**
*
*/
@RequiresPermissions("system:member:remove")
@Log(title = "用户", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(wxUserMemberService.deleteWxUserMemberByIds(ids));
}
}

@ -0,0 +1,383 @@
package com.flossom.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.flossom.common.core.annotation.Excel;
import com.flossom.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* wx_user_member
*
* @author flossom
* @date 2023-12-08
*/
public class WxUserMember extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 昵称 */
@Excel(name = "昵称")
private String nickname;
/** 头像 */
@Excel(name = "头像")
private String headimg;
/** 姓名 */
@Excel(name = "姓名")
private String username;
/** 积分 */
@Excel(name = "积分")
private BigDecimal credit;
/** openid */
@Excel(name = "openid")
private String openid;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String unionid;
/** 用户类型1游客 2会员 */
@Excel(name = "用户类型1游客 2会员")
private Integer userType;
/** 会员等级0 不是会员1以上为会员 */
@Excel(name = "会员等级0 不是会员1以上为会员")
private Integer level;
/** 手机 */
@Excel(name = "手机")
private String mobile;
/** 密码 */
@Excel(name = "密码")
private String password;
/** 个人二维码 */
@Excel(name = "个人二维码")
private String userQr;
/** 省 */
@Excel(name = "省")
private String province;
/** 市 */
@Excel(name = "市")
private String city;
/** 区 */
@Excel(name = "区")
private String area;
/** 生日 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
private Date birthday;
/** 1可以2不可以 */
@Excel(name = "1可以2不可以")
private Integer clock;
/** 1可以2不可以 */
@Excel(name = "1可以2不可以")
private Integer activity;
/** 微信号 */
@Excel(name = "微信号")
private String wechat;
/** 应该是邀请码来的 */
@Excel(name = "应该是邀请码来的")
private String code;
/** 1 未对接到中控 2已经对接 3对接失败 */
@Excel(name = "1 未对接到中控 2已经对接 3对接失败")
private Integer isAbutment;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private BigDecimal collagenDay;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private BigDecimal collagenMount;
/** 登陆时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "登陆时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date loginTime;
/** 状态0正常 1停用 */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private Integer status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setNickname(String nickname)
{
this.nickname = nickname;
}
public String getNickname()
{
return nickname;
}
public void setHeadimg(String headimg)
{
this.headimg = headimg;
}
public String getHeadimg()
{
return headimg;
}
public void setUsername(String username)
{
this.username = username;
}
public String getUsername()
{
return username;
}
public void setCredit(BigDecimal credit)
{
this.credit = credit;
}
public BigDecimal getCredit()
{
return credit;
}
public void setOpenid(String openid)
{
this.openid = openid;
}
public String getOpenid()
{
return openid;
}
public void setUnionid(String unionid)
{
this.unionid = unionid;
}
public String getUnionid()
{
return unionid;
}
public void setUserType(Integer userType)
{
this.userType = userType;
}
public Integer getUserType()
{
return userType;
}
public void setLevel(Integer level)
{
this.level = level;
}
public Integer getLevel()
{
return level;
}
public void setMobile(String mobile)
{
this.mobile = mobile;
}
public String getMobile()
{
return mobile;
}
public void setPassword(String password)
{
this.password = password;
}
public String getPassword()
{
return password;
}
public void setUserQr(String userQr)
{
this.userQr = userQr;
}
public String getUserQr()
{
return userQr;
}
public void setProvince(String province)
{
this.province = province;
}
public String getProvince()
{
return province;
}
public void setCity(String city)
{
this.city = city;
}
public String getCity()
{
return city;
}
public void setArea(String area)
{
this.area = area;
}
public String getArea()
{
return area;
}
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}
public Date getBirthday()
{
return birthday;
}
public void setClock(Integer clock)
{
this.clock = clock;
}
public Integer getClock()
{
return clock;
}
public void setActivity(Integer activity)
{
this.activity = activity;
}
public Integer getActivity()
{
return activity;
}
public void setWechat(String wechat)
{
this.wechat = wechat;
}
public String getWechat()
{
return wechat;
}
public void setCode(String code)
{
this.code = code;
}
public String getCode()
{
return code;
}
public void setIsAbutment(Integer isAbutment)
{
this.isAbutment = isAbutment;
}
public Integer getIsAbutment()
{
return isAbutment;
}
public void setCollagenDay(BigDecimal collagenDay)
{
this.collagenDay = collagenDay;
}
public BigDecimal getCollagenDay()
{
return collagenDay;
}
public void setCollagenMount(BigDecimal collagenMount)
{
this.collagenMount = collagenMount;
}
public BigDecimal getCollagenMount()
{
return collagenMount;
}
public void setLoginTime(Date loginTime)
{
this.loginTime = loginTime;
}
public Date getLoginTime()
{
return loginTime;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("nickname", getNickname())
.append("headimg", getHeadimg())
.append("username", getUsername())
.append("credit", getCredit())
.append("openid", getOpenid())
.append("unionid", getUnionid())
.append("userType", getUserType())
.append("level", getLevel())
.append("mobile", getMobile())
.append("password", getPassword())
.append("userQr", getUserQr())
.append("province", getProvince())
.append("city", getCity())
.append("area", getArea())
.append("birthday", getBirthday())
.append("clock", getClock())
.append("activity", getActivity())
.append("wechat", getWechat())
.append("code", getCode())
.append("isAbutment", getIsAbutment())
.append("collagenDay", getCollagenDay())
.append("collagenMount", getCollagenMount())
.append("loginTime", getLoginTime())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

@ -0,0 +1,61 @@
package com.flossom.system.mapper;
import java.util.List;
import com.flossom.system.domain.WxUserMember;
/**
* Mapper
*
* @author flossom
* @date 2023-12-08
*/
public interface WxUserMemberMapper
{
/**
*
*
* @param id
* @return
*/
public WxUserMember selectWxUserMemberById(Long id);
/**
*
*
* @param wxUserMember
* @return
*/
public List<WxUserMember> selectWxUserMemberList(WxUserMember wxUserMember);
/**
*
*
* @param wxUserMember
* @return
*/
public int insertWxUserMember(WxUserMember wxUserMember);
/**
*
*
* @param wxUserMember
* @return
*/
public int updateWxUserMember(WxUserMember wxUserMember);
/**
*
*
* @param id
* @return
*/
public int deleteWxUserMemberById(Long id);
/**
*
*
* @param ids
* @return
*/
public int deleteWxUserMemberByIds(Long[] ids);
}

@ -0,0 +1,61 @@
package com.flossom.system.service;
import java.util.List;
import com.flossom.system.domain.WxUserMember;
/**
* Service
*
* @author flossom
* @date 2023-12-08
*/
public interface IWxUserMemberService
{
/**
*
*
* @param id
* @return
*/
public WxUserMember selectWxUserMemberById(Long id);
/**
*
*
* @param wxUserMember
* @return
*/
public List<WxUserMember> selectWxUserMemberList(WxUserMember wxUserMember);
/**
*
*
* @param wxUserMember
* @return
*/
public int insertWxUserMember(WxUserMember wxUserMember);
/**
*
*
* @param wxUserMember
* @return
*/
public int updateWxUserMember(WxUserMember wxUserMember);
/**
*
*
* @param ids
* @return
*/
public int deleteWxUserMemberByIds(Long[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteWxUserMemberById(Long id);
}

@ -3,6 +3,8 @@ package com.flossom.system.service.impl;
import java.util.List;
import com.flossom.common.core.utils.DateUtils;
import com.flossom.common.security.utils.SecurityUtils;
import com.flossom.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.flossom.system.mapper.SysFiringInfoMapper;
@ -55,6 +57,7 @@ public class SysFiringInfoServiceImpl implements ISysFiringInfoService
public int insertSysFiringInfo(SysFiringInfo sysFiringInfo)
{
sysFiringInfo.setCreateTime(DateUtils.getNowDate());
sysFiringInfo.setCreateBy(SecurityUtils.getLoginUser().getUsername());
return sysFiringInfoMapper.insertSysFiringInfo(sysFiringInfo);
}

@ -0,0 +1,97 @@
package com.flossom.system.service.impl;
import java.util.List;
import com.flossom.common.core.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.flossom.system.mapper.WxUserMemberMapper;
import com.flossom.system.domain.WxUserMember;
import com.flossom.system.service.IWxUserMemberService;
/**
* Service
*
* @author flossom
* @date 2023-12-08
*/
@Service
public class WxUserMemberServiceImpl implements IWxUserMemberService
{
@Autowired
private WxUserMemberMapper wxUserMemberMapper;
/**
*
*
* @param id
* @return
*/
@Override
public WxUserMember selectWxUserMemberById(Long id)
{
return wxUserMemberMapper.selectWxUserMemberById(id);
}
/**
*
*
* @param wxUserMember
* @return
*/
@Override
public List<WxUserMember> selectWxUserMemberList(WxUserMember wxUserMember)
{
return wxUserMemberMapper.selectWxUserMemberList(wxUserMember);
}
/**
*
*
* @param wxUserMember
* @return
*/
@Override
public int insertWxUserMember(WxUserMember wxUserMember)
{
wxUserMember.setCreateTime(DateUtils.getNowDate());
return wxUserMemberMapper.insertWxUserMember(wxUserMember);
}
/**
*
*
* @param wxUserMember
* @return
*/
@Override
public int updateWxUserMember(WxUserMember wxUserMember)
{
wxUserMember.setUpdateTime(DateUtils.getNowDate());
return wxUserMemberMapper.updateWxUserMember(wxUserMember);
}
/**
*
*
* @param ids
* @return
*/
@Override
public int deleteWxUserMemberByIds(Long[] ids)
{
return wxUserMemberMapper.deleteWxUserMemberByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
public int deleteWxUserMemberById(Long id)
{
return wxUserMemberMapper.deleteWxUserMemberById(id);
}
}

@ -0,0 +1,191 @@
<?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="com.flossom.system.mapper.WxUserMemberMapper">
<resultMap type="WxUserMember" id="WxUserMemberResult">
<result property="id" column="id" />
<result property="nickname" column="nickname" />
<result property="headimg" column="headimg" />
<result property="username" column="username" />
<result property="credit" column="credit" />
<result property="openid" column="openid" />
<result property="unionid" column="unionid" />
<result property="userType" column="user_type" />
<result property="level" column="level" />
<result property="mobile" column="mobile" />
<result property="password" column="password" />
<result property="userQr" column="user_qr" />
<result property="province" column="province" />
<result property="city" column="city" />
<result property="area" column="area" />
<result property="birthday" column="birthday" />
<result property="clock" column="clock" />
<result property="activity" column="activity" />
<result property="wechat" column="wechat" />
<result property="code" column="code" />
<result property="isAbutment" column="is_abutment" />
<result property="collagenDay" column="collagen_day" />
<result property="collagenMount" column="collagen_mount" />
<result property="loginTime" column="login_time" />
<result property="status" column="status" />
<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="remark" column="remark" />
</resultMap>
<sql id="selectWxUserMemberVo">
select id, nickname, headimg, username, credit, openid, unionid, user_type, level, mobile, password, user_qr, province, city, area, birthday, clock, activity, wechat, code, is_abutment, collagen_day, collagen_mount, login_time, status, create_by, create_time, update_by, update_time, remark from wx_user_member
</sql>
<select id="selectWxUserMemberList" parameterType="WxUserMember" resultMap="WxUserMemberResult">
<include refid="selectWxUserMemberVo"/>
<where>
<if test="nickname != null and nickname != ''"> and nickname like concat('%', #{nickname}, '%')</if>
<if test="headimg != null and headimg != ''"> and headimg = #{headimg}</if>
<if test="username != null and username != ''"> and username like concat('%', #{username}, '%')</if>
<if test="credit != null "> and credit = #{credit}</if>
<if test="openid != null and openid != ''"> and openid = #{openid}</if>
<if test="unionid != null and unionid != ''"> and unionid = #{unionid}</if>
<if test="userType != null "> and user_type = #{userType}</if>
<if test="level != null "> and level = #{level}</if>
<if test="mobile != null and mobile != ''"> and mobile = #{mobile}</if>
<if test="password != null and password != ''"> and password = #{password}</if>
<if test="userQr != null and userQr != ''"> and user_qr = #{userQr}</if>
<if test="province != null and province != ''"> and province = #{province}</if>
<if test="city != null and city != ''"> and city = #{city}</if>
<if test="area != null and area != ''"> and area = #{area}</if>
<if test="birthday != null "> and birthday = #{birthday}</if>
<if test="clock != null "> and clock = #{clock}</if>
<if test="activity != null "> and activity = #{activity}</if>
<if test="wechat != null and wechat != ''"> and wechat = #{wechat}</if>
<if test="code != null and code != ''"> and code = #{code}</if>
<if test="isAbutment != null "> and is_abutment = #{isAbutment}</if>
<if test="collagenDay != null "> and collagen_day = #{collagenDay}</if>
<if test="collagenMount != null "> and collagen_mount = #{collagenMount}</if>
<if test="loginTime != null "> and login_time = #{loginTime}</if>
<if test="status != null "> and status = #{status}</if>
</where>
</select>
<select id="selectWxUserMemberById" parameterType="Long" resultMap="WxUserMemberResult">
<include refid="selectWxUserMemberVo"/>
where id = #{id}
</select>
<insert id="insertWxUserMember" parameterType="WxUserMember" useGeneratedKeys="true" keyProperty="id">
insert into wx_user_member
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="nickname != null">nickname,</if>
<if test="headimg != null">headimg,</if>
<if test="username != null">username,</if>
<if test="credit != null">credit,</if>
<if test="openid != null">openid,</if>
<if test="unionid != null">unionid,</if>
<if test="userType != null">user_type,</if>
<if test="level != null">level,</if>
<if test="mobile != null">mobile,</if>
<if test="password != null">password,</if>
<if test="userQr != null">user_qr,</if>
<if test="province != null">province,</if>
<if test="city != null">city,</if>
<if test="area != null">area,</if>
<if test="birthday != null">birthday,</if>
<if test="clock != null">clock,</if>
<if test="activity != null">activity,</if>
<if test="wechat != null">wechat,</if>
<if test="code != null">code,</if>
<if test="isAbutment != null">is_abutment,</if>
<if test="collagenDay != null">collagen_day,</if>
<if test="collagenMount != null">collagen_mount,</if>
<if test="loginTime != null">login_time,</if>
<if test="status != null">status,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="nickname != null">#{nickname},</if>
<if test="headimg != null">#{headimg},</if>
<if test="username != null">#{username},</if>
<if test="credit != null">#{credit},</if>
<if test="openid != null">#{openid},</if>
<if test="unionid != null">#{unionid},</if>
<if test="userType != null">#{userType},</if>
<if test="level != null">#{level},</if>
<if test="mobile != null">#{mobile},</if>
<if test="password != null">#{password},</if>
<if test="userQr != null">#{userQr},</if>
<if test="province != null">#{province},</if>
<if test="city != null">#{city},</if>
<if test="area != null">#{area},</if>
<if test="birthday != null">#{birthday},</if>
<if test="clock != null">#{clock},</if>
<if test="activity != null">#{activity},</if>
<if test="wechat != null">#{wechat},</if>
<if test="code != null">#{code},</if>
<if test="isAbutment != null">#{isAbutment},</if>
<if test="collagenDay != null">#{collagenDay},</if>
<if test="collagenMount != null">#{collagenMount},</if>
<if test="loginTime != null">#{loginTime},</if>
<if test="status != null">#{status},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateWxUserMember" parameterType="WxUserMember">
update wx_user_member
<trim prefix="SET" suffixOverrides=",">
<if test="nickname != null">nickname = #{nickname},</if>
<if test="headimg != null">headimg = #{headimg},</if>
<if test="username != null">username = #{username},</if>
<if test="credit != null">credit = #{credit},</if>
<if test="openid != null">openid = #{openid},</if>
<if test="unionid != null">unionid = #{unionid},</if>
<if test="userType != null">user_type = #{userType},</if>
<if test="level != null">level = #{level},</if>
<if test="mobile != null">mobile = #{mobile},</if>
<if test="password != null">password = #{password},</if>
<if test="userQr != null">user_qr = #{userQr},</if>
<if test="province != null">province = #{province},</if>
<if test="city != null">city = #{city},</if>
<if test="area != null">area = #{area},</if>
<if test="birthday != null">birthday = #{birthday},</if>
<if test="clock != null">clock = #{clock},</if>
<if test="activity != null">activity = #{activity},</if>
<if test="wechat != null">wechat = #{wechat},</if>
<if test="code != null">code = #{code},</if>
<if test="isAbutment != null">is_abutment = #{isAbutment},</if>
<if test="collagenDay != null">collagen_day = #{collagenDay},</if>
<if test="collagenMount != null">collagen_mount = #{collagenMount},</if>
<if test="loginTime != null">login_time = #{loginTime},</if>
<if test="status != null">status = #{status},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWxUserMemberById" parameterType="Long">
delete from wx_user_member where id = #{id}
</delete>
<delete id="deleteWxUserMemberByIds" parameterType="String">
delete from wx_user_member where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询用户列表
export function listMember(query) {
return request({
url: '/system/member/list',
method: 'get',
params: query
})
}
// 查询用户详细
export function getMember(id) {
return request({
url: '/system/member/' + id,
method: 'get'
})
}
// 新增用户
export function addMember(data) {
return request({
url: '/system/member',
method: 'post',
data: data
})
}
// 修改用户
export function updateMember(data) {
return request({
url: '/system/member',
method: 'put',
data: data
})
}
// 删除用户
export function delMember(id) {
return request({
url: '/system/member/' + id,
method: 'delete'
})
}

@ -0,0 +1,572 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="昵称" prop="nickname">
<el-input
v-model="queryParams.nickname"
placeholder="请输入昵称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="头像" prop="headimg">
<el-input
v-model="queryParams.headimg"
placeholder="请输入头像"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="姓名" prop="username">
<el-input
v-model="queryParams.username"
placeholder="请输入姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="积分" prop="credit">
<el-input
v-model="queryParams.credit"
placeholder="请输入积分"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="openid" prop="openid">
<el-input
v-model="queryParams.openid"
placeholder="请输入openid"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="unionid" prop="unionid">
<el-input
v-model="queryParams.unionid"
placeholder="请输入unionid"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="会员等级0 不是会员1以上为会员" prop="level">
<el-input
v-model="queryParams.level"
placeholder="请输入会员等级0 不是会员1以上为会员"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机" prop="mobile">
<el-input
v-model="queryParams.mobile"
placeholder="请输入手机"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input
v-model="queryParams.password"
placeholder="请输入密码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="个人二维码" prop="userQr">
<el-input
v-model="queryParams.userQr"
placeholder="请输入个人二维码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="省" prop="province">
<el-input
v-model="queryParams.province"
placeholder="请输入省"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="市" prop="city">
<el-input
v-model="queryParams.city"
placeholder="请输入市"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="区" prop="area">
<el-input
v-model="queryParams.area"
placeholder="请输入区"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生日" prop="birthday">
<el-date-picker clearable
v-model="queryParams.birthday"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择生日">
</el-date-picker>
</el-form-item>
<el-form-item label="1可以2不可以" prop="clock">
<el-input
v-model="queryParams.clock"
placeholder="请输入1可以2不可以"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="1可以2不可以" prop="activity">
<el-input
v-model="queryParams.activity"
placeholder="请输入1可以2不可以"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="微信号" prop="wechat">
<el-input
v-model="queryParams.wechat"
placeholder="请输入微信号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="应该是邀请码来的" prop="code">
<el-input
v-model="queryParams.code"
placeholder="请输入应该是邀请码来的"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="1 未对接到中控 2已经对接 3对接失败" prop="isAbutment">
<el-input
v-model="queryParams.isAbutment"
placeholder="请输入1 未对接到中控 2已经对接 3对接失败"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="${comment}" prop="collagenDay">
<el-input
v-model="queryParams.collagenDay"
placeholder="请输入${comment}"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="${comment}" prop="collagenMount">
<el-input
v-model="queryParams.collagenMount"
placeholder="请输入${comment}"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="登陆时间" prop="loginTime">
<el-date-picker clearable
v-model="queryParams.loginTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择登陆时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:member:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:member:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:member:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:member:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="memberList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" />
<el-table-column label="昵称" align="center" prop="nickname" />
<el-table-column label="头像" align="center" prop="headimg" />
<el-table-column label="姓名" align="center" prop="username" />
<el-table-column label="积分" align="center" prop="credit" />
<el-table-column label="openid" align="center" prop="openid" />
<el-table-column label="${comment}" align="center" prop="unionid" />
<el-table-column label="用户类型1游客 2会员" align="center" prop="userType" />
<el-table-column label="会员等级0 不是会员1以上为会员" align="center" prop="level" />
<el-table-column label="手机" align="center" prop="mobile" />
<el-table-column label="密码" align="center" prop="password" />
<el-table-column label="个人二维码" align="center" prop="userQr" />
<el-table-column label="省" align="center" prop="province" />
<el-table-column label="市" align="center" prop="city" />
<el-table-column label="区" align="center" prop="area" />
<el-table-column label="生日" align="center" prop="birthday" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.birthday, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="1可以2不可以" align="center" prop="clock" />
<el-table-column label="1可以2不可以" align="center" prop="activity" />
<el-table-column label="微信号" align="center" prop="wechat" />
<el-table-column label="应该是邀请码来的" align="center" prop="code" />
<el-table-column label="1 未对接到中控 2已经对接 3对接失败" align="center" prop="isAbutment" />
<el-table-column label="${comment}" align="center" prop="collagenDay" />
<el-table-column label="${comment}" align="center" prop="collagenMount" />
<el-table-column label="登陆时间" align="center" prop="loginTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="${comment}" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:member:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:member:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改用户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="昵称" prop="nickname">
<el-input v-model="form.nickname" placeholder="请输入昵称" />
</el-form-item>
<el-form-item label="头像" prop="headimg">
<el-input v-model="form.headimg" placeholder="请输入头像" />
</el-form-item>
<el-form-item label="姓名" prop="username">
<el-input v-model="form.username" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="积分" prop="credit">
<el-input v-model="form.credit" placeholder="请输入积分" />
</el-form-item>
<el-form-item label="openid" prop="openid">
<el-input v-model="form.openid" placeholder="请输入openid" />
</el-form-item>
<el-form-item label="${comment}" prop="unionid">
<el-input v-model="form.unionid" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="会员等级0 不是会员1以上为会员" prop="level">
<el-input v-model="form.level" placeholder="请输入会员等级0 不是会员1以上为会员" />
</el-form-item>
<el-form-item label="手机" prop="mobile">
<el-input v-model="form.mobile" placeholder="请输入手机" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" placeholder="请输入密码" />
</el-form-item>
<el-form-item label="个人二维码" prop="userQr">
<el-input v-model="form.userQr" placeholder="请输入个人二维码" />
</el-form-item>
<el-form-item label="省" prop="province">
<el-input v-model="form.province" placeholder="请输入省" />
</el-form-item>
<el-form-item label="市" prop="city">
<el-input v-model="form.city" placeholder="请输入市" />
</el-form-item>
<el-form-item label="区" prop="area">
<el-input v-model="form.area" placeholder="请输入区" />
</el-form-item>
<el-form-item label="生日" prop="birthday">
<el-date-picker clearable
v-model="form.birthday"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择生日">
</el-date-picker>
</el-form-item>
<el-form-item label="1可以2不可以" prop="clock">
<el-input v-model="form.clock" placeholder="请输入1可以2不可以" />
</el-form-item>
<el-form-item label="1可以2不可以" prop="activity">
<el-input v-model="form.activity" placeholder="请输入1可以2不可以" />
</el-form-item>
<el-form-item label="微信号" prop="wechat">
<el-input v-model="form.wechat" placeholder="请输入微信号" />
</el-form-item>
<el-form-item label="应该是邀请码来的" prop="code">
<el-input v-model="form.code" placeholder="请输入应该是邀请码来的" />
</el-form-item>
<el-form-item label="1 未对接到中控 2已经对接 3对接失败" prop="isAbutment">
<el-input v-model="form.isAbutment" placeholder="请输入1 未对接到中控 2已经对接 3对接失败" />
</el-form-item>
<el-form-item label="${comment}" prop="collagenDay">
<el-input v-model="form.collagenDay" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="collagenMount">
<el-input v-model="form.collagenMount" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="登陆时间" prop="loginTime">
<el-date-picker clearable
v-model="form.loginTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择登陆时间">
</el-date-picker>
</el-form-item>
<el-form-item label="${comment}" prop="remark">
<el-input v-model="form.remark" placeholder="请输入${comment}" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listMember, getMember, delMember, addMember, updateMember } from "@/api/system/member";
export default {
name: "Member",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
memberList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
nickname: null,
headimg: null,
username: null,
credit: null,
openid: null,
unionid: null,
userType: null,
level: null,
mobile: null,
password: null,
userQr: null,
province: null,
city: null,
area: null,
birthday: null,
clock: null,
activity: null,
wechat: null,
code: null,
isAbutment: null,
collagenDay: null,
collagenMount: null,
loginTime: null,
status: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询用户列表 */
getList() {
this.loading = true;
listMember(this.queryParams).then(response => {
this.memberList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
nickname: null,
headimg: null,
username: null,
credit: null,
openid: null,
unionid: null,
userType: null,
level: null,
mobile: null,
password: null,
userQr: null,
province: null,
city: null,
area: null,
birthday: null,
clock: null,
activity: null,
wechat: null,
code: null,
isAbutment: null,
collagenDay: null,
collagenMount: null,
loginTime: null,
status: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加用户";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getMember(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改用户";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateMember(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addMember(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除用户编号为"' + ids + '"的数据项?').then(function() {
return delMember(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/member/export', {
...this.queryParams
}, `member_${new Date().getTime()}.xlsx`)
}
}
};
</script>
Loading…
Cancel
Save