|
|
|
|
@ -244,22 +244,6 @@
|
|
|
|
|
<el-table-column label="消息列表" align="center" prop=""/>
|
|
|
|
|
<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>
|
|
|
|
|
<el-button
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
@ -304,51 +288,31 @@
|
|
|
|
|
@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-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
|
|
|
|
<el-dialog width="30%" title="修改用户备注" :visible.sync="editRemarkVisible" append-to-body>
|
|
|
|
|
<el-form ref="form" :model="editRemarkForm" label-width="50px">
|
|
|
|
|
<el-form-item label="备注 " prop="content">
|
|
|
|
|
<el-input v-model="editRemarkForm.content" placeholder="请输入备注"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click="ocEditRemarkDialog()">关 闭</el-button>
|
|
|
|
|
<el-button type="primary" @click="submitEditRemark()">确 定</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
|
|
<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-avatar shape="circle" :size="50" :src="form.headimg"/>
|
|
|
|
|
</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="unionid" prop="unionid">
|
|
|
|
|
<el-input v-model="form.unionid" placeholder="请输入unionid"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="用户类型" prop="userType">
|
|
|
|
|
<el-radio v-model="form.userType" label="0">游客</el-radio>
|
|
|
|
|
<el-radio v-model="form.userType" label="1">会员</el-radio>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="会员等级" prop="level">
|
|
|
|
|
<el-input-number v-model="form.level" :min="1" :max="100" label="会员等级"></el-input-number>
|
|
|
|
|
<el-form-item label="会员昵称" prop="nickname" style="width: 44%">
|
|
|
|
|
<el-input v-model="form.nickname" placeholder="请输入昵称"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="手机" prop="mobile">
|
|
|
|
|
<el-form-item label="手机号码" prop="mobile" style="width: 44%">
|
|
|
|
|
<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 label="用户编号" prop="id">
|
|
|
|
|
<span>{{ form.id }}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="生日" prop="birthday">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
@ -358,25 +322,88 @@
|
|
|
|
|
placeholder="请选择生日">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="参与打卡" prop="clock">
|
|
|
|
|
<el-input v-model="form.clock" placeholder="请输入1可以2不可以"/>
|
|
|
|
|
<el-form-item label="是否完善" prop="isCompleteInformation">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span v-show="form.isCompleteInformation == 0">未完善</span>
|
|
|
|
|
<span v-show="form.isCompleteInformation == 1">完善</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="省" prop="provinceId" style="width: 40%">
|
|
|
|
|
<el-select v-model="form.provinceId" @change="getCityList(form.provinceId,true)" filterable clearable
|
|
|
|
|
placeholder="请选择省">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in provinceList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="市" prop="cityId" style="width: 40%">
|
|
|
|
|
<el-select v-model="form.cityId" @change="getAreaByPid(form.cityId, true)" filterable clearable
|
|
|
|
|
placeholder="请选择省">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in saveCityList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="区" prop="areaId" style="width: 40%">
|
|
|
|
|
<el-select v-model="form.areaId" filterable clearable placeholder="请选择市">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in saveAreaList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="小程序标签" prop="tagIdArray" style="width: 80%">
|
|
|
|
|
<treeselect v-model="form.miniProgramTags" :options="miniProgramTagTree" :multiple="true" :show-count="true"
|
|
|
|
|
placeholder="请选择小程序标签" :disable-branch-nodes="true"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="参与活动" prop="activity">
|
|
|
|
|
<el-input v-model="form.activity" placeholder="请输入1可以2不可以"/>
|
|
|
|
|
<el-form-item label="企微标签" prop="tagIdArray" style="width: 80%">
|
|
|
|
|
<treeselect v-model="form.wecomTags" :options="wecomTagTree" :multiple="true" :show-count="true"
|
|
|
|
|
placeholder="请选择企微标签" :disable-branch-nodes="true"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="微信号" prop="wechat">
|
|
|
|
|
<el-input v-model="form.wechat" placeholder="请输入微信号"/>
|
|
|
|
|
<el-form-item label="注册时间" prop="createTime">
|
|
|
|
|
<el-date-picker v-model="form.createTime" readonly disabled type="date" value-format="yyyy-MM-dd"/>
|
|
|
|
|
</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 label="积分" prop="credit">
|
|
|
|
|
<span>{{ form.credit }}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
|
|
<el-input v-model="form.remark" placeholder="请输入备注"/>
|
|
|
|
|
<el-form-item label="打卡状态" prop="clock">
|
|
|
|
|
<el-select v-model="form.clock" style="width: 20%">
|
|
|
|
|
<el-option label="开启打卡" :value="1"></el-option>
|
|
|
|
|
<el-option label="禁止打卡" :value="2"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="参与活动状态" prop="activity">
|
|
|
|
|
<el-select v-model="form.activity" style="width: 20%">
|
|
|
|
|
<el-option label="开启参与" :value="1"></el-option>
|
|
|
|
|
<el-option label="禁止参与" :value="2"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注列表" prop="remark">
|
|
|
|
|
<el-table :data="form.wxUserRemarkList" style="width: 100%">
|
|
|
|
|
<el-table-column prop="id" label="序号" style="width: 10%"/>
|
|
|
|
|
<el-table-column prop="content" label="备注内容" style="width: 60%"/>
|
|
|
|
|
<el-table-column prop="createTime" label="创建时间" style="width: 30%"/>
|
|
|
|
|
<el-table-column prop="createTime" label="操作" style="width: 10%">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="ocEditRemarkDialog(scope.row)">编辑
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="submitDelRemark(scope.row)">删除</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</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>
|
|
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
@ -563,6 +590,7 @@ import {
|
|
|
|
|
allAddRemark,
|
|
|
|
|
getMiniProgramTagsTree,
|
|
|
|
|
scriptTreeSelect,
|
|
|
|
|
editRemark, delRemark,
|
|
|
|
|
} from "@/api/system/member";
|
|
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
|
|
import {tagTreeSelect} from "@/api/system/wechatTab";
|
|
|
|
|
@ -591,6 +619,12 @@ export default {
|
|
|
|
|
title: "",
|
|
|
|
|
// 是否显示弹出层
|
|
|
|
|
open: false,
|
|
|
|
|
// 修改用户备注弹出层
|
|
|
|
|
editRemarkVisible: false,
|
|
|
|
|
editRemarkForm: {
|
|
|
|
|
id: null,
|
|
|
|
|
content: null
|
|
|
|
|
},
|
|
|
|
|
// 日期范围
|
|
|
|
|
dateRange: [],
|
|
|
|
|
// 表头统计
|
|
|
|
|
@ -603,6 +637,8 @@ export default {
|
|
|
|
|
miniProgramTags: [],
|
|
|
|
|
// 小程序标签树
|
|
|
|
|
miniProgramTagTree: [],
|
|
|
|
|
// 企微标签树
|
|
|
|
|
wecomTagTree: [],
|
|
|
|
|
// 查询条件,企微二级标签
|
|
|
|
|
wecomTags: [],
|
|
|
|
|
// 查询条件:购买渠道
|
|
|
|
|
@ -611,6 +647,9 @@ export default {
|
|
|
|
|
provinceList: null,
|
|
|
|
|
cityList: null,
|
|
|
|
|
areaList: null,
|
|
|
|
|
// 保存页面的,市区
|
|
|
|
|
saveCityList: null,
|
|
|
|
|
saveAreaList: null,
|
|
|
|
|
// 批量操作下拉项选择
|
|
|
|
|
batchOperateValue: null,
|
|
|
|
|
// 批量操作:小程序标签
|
|
|
|
|
@ -692,6 +731,8 @@ export default {
|
|
|
|
|
wecomTags: [], // 企微标签
|
|
|
|
|
miniProgramTags: [], // 小程序标签
|
|
|
|
|
purchaseChannels: [], // 购买渠道
|
|
|
|
|
isCompleteInformation: null, // 用户信息是否完善
|
|
|
|
|
wxUserRemarkList: null, // 备注列表
|
|
|
|
|
},
|
|
|
|
|
// 表单参数
|
|
|
|
|
form: {},
|
|
|
|
|
@ -746,6 +787,10 @@ export default {
|
|
|
|
|
getMiniProgramTagsTree().then(Response => {
|
|
|
|
|
this.miniProgramTagTree = Response.data
|
|
|
|
|
})
|
|
|
|
|
// 企微标签树
|
|
|
|
|
tagTreeSelect({type: 2}).then(response => {
|
|
|
|
|
this.wecomTagTree = response.data;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 获取省市区
|
|
|
|
|
getProvinceList() {
|
|
|
|
|
@ -753,18 +798,22 @@ export default {
|
|
|
|
|
this.provinceList = Response.data
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getCityList(pid) {
|
|
|
|
|
console.log(pid);
|
|
|
|
|
getCityList(pid, isSave) {
|
|
|
|
|
getRegionByPid(pid).then(Response => {
|
|
|
|
|
console.log(Response.data)
|
|
|
|
|
this.cityList = Response.data
|
|
|
|
|
if (isSave) {
|
|
|
|
|
this.saveCityList = Response.data;
|
|
|
|
|
} else {
|
|
|
|
|
this.cityList = Response.data;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getAreaByPid(pid) {
|
|
|
|
|
console.log(pid);
|
|
|
|
|
getAreaByPid(pid, isSave) {
|
|
|
|
|
getRegionByPid(pid).then(Response => {
|
|
|
|
|
console.log(Response.data)
|
|
|
|
|
this.areaList = Response.data
|
|
|
|
|
if (isSave) {
|
|
|
|
|
this.saveAreaList = Response.data;
|
|
|
|
|
} else {
|
|
|
|
|
this.areaList = Response.data;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 取消按钮
|
|
|
|
|
@ -796,7 +845,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
cancelscriptDialog(isclose) {
|
|
|
|
|
this.scriptForm.isCustom = null,
|
|
|
|
|
this.scriptForm.scriptName = null;
|
|
|
|
|
this.scriptForm.scriptName = null;
|
|
|
|
|
this.scriptForm.titile = null;
|
|
|
|
|
this.scriptForm.content = null;
|
|
|
|
|
this.scriptForm.tagType = null;
|
|
|
|
|
@ -1055,27 +1104,27 @@ export default {
|
|
|
|
|
this.form = response.data;
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.title = "修改用户";
|
|
|
|
|
|
|
|
|
|
// 回显省市区
|
|
|
|
|
if (this.form.provinceId != null) {
|
|
|
|
|
this.getCityList(this.form.provinceId, true);
|
|
|
|
|
}
|
|
|
|
|
if (this.form.areaId != null) {
|
|
|
|
|
this.getAreaByPid(this.form.cityId, true);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 提交按钮 */
|
|
|
|
|
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();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
if (this.form.id != null) {
|
|
|
|
|
updateMember(this.form).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("修改成功");
|
|
|
|
|
this.open = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
this.$modal.msgError("修改失败");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
/* 批量操作提交按钮 */
|
|
|
|
|
submitBatchOperate() {
|
|
|
|
|
@ -1157,8 +1206,52 @@ export default {
|
|
|
|
|
this.cancelRemarkDialog(true);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
// 打开用户备注修改
|
|
|
|
|
ocEditRemarkDialog(row) {
|
|
|
|
|
this.editRemarkVisible = !this.editRemarkVisible;
|
|
|
|
|
if (this.editRemarkVisible) {
|
|
|
|
|
this.editRemarkForm.id = row.id;
|
|
|
|
|
this.editRemarkForm.content = row.content;
|
|
|
|
|
} else {
|
|
|
|
|
this.editRemarkForm.content = null;
|
|
|
|
|
this.editRemarkForm.id = null;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 保存用户备注
|
|
|
|
|
submitEditRemark() {
|
|
|
|
|
editRemark(this.editRemarkForm).then(Response => {
|
|
|
|
|
this.$modal.msgSuccess("修改备注成功");
|
|
|
|
|
if (this.form.wxUserRemarkList != null && this.form.wxUserRemarkList.length > 0) {
|
|
|
|
|
let that = this;
|
|
|
|
|
this.form.wxUserRemarkList.forEach(function (item) {
|
|
|
|
|
if(item.id = that.editRemarkForm.id) {
|
|
|
|
|
item.content = that.editRemarkForm.content;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.ocEditRemarkDialog();
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 删除用户备注
|
|
|
|
|
submitDelRemark(row) {
|
|
|
|
|
this.$confirm("<span style='font-size: 18px'><strong>确定将选择的备注删除吗?</strong></span><br/>", '删除备注', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
dangerouslyUseHTMLString: true
|
|
|
|
|
}).then(() => {
|
|
|
|
|
delRemark(row.id).then(Response => {
|
|
|
|
|
this.$modal.msgSuccess("删除用户备注成功");
|
|
|
|
|
let list = this.form.wxUserRemarkList;
|
|
|
|
|
for (let i = 0; i < list.length; i++) {
|
|
|
|
|
if(list[i].id == row.id) {
|
|
|
|
|
this.form.wxUserRemarkList.splice(i, 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 删除按钮操作 */
|
|
|
|
|
handleDelete(row) {
|
|
|
|
|
|