|
|
|
|
@ -224,6 +224,7 @@
|
|
|
|
|
v-model="queryParams.deviceNumEnd"
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
></el-input-number>
|
|
|
|
|
<el-button icon="el-icon-close" circle @click="clearDeviceNum"></el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="积分范围" prop="credit">
|
|
|
|
|
<el-input-number
|
|
|
|
|
@ -239,6 +240,7 @@
|
|
|
|
|
v-model="queryParams.creditEnd"
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
></el-input-number>
|
|
|
|
|
<el-button icon="el-icon-close" circle @click="clearCredit"></el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
@ -312,13 +314,15 @@
|
|
|
|
|
icon="el-icon-search"
|
|
|
|
|
size="mini"
|
|
|
|
|
@click="handleQuery"
|
|
|
|
|
>搜索</el-button
|
|
|
|
|
>搜索
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
icon="el-icon-refresh"
|
|
|
|
|
size="mini"
|
|
|
|
|
@click="resetQuery"
|
|
|
|
|
>重置</el-button
|
|
|
|
|
>重置
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</div>
|
|
|
|
|
@ -393,11 +397,11 @@
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column label="头像" align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-avatar shape="circle" :size="50" :src="scope.row.headimg" />
|
|
|
|
|
<el-avatar shape="circle" :size="50" :src="scope.row.headimg"/>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="会员昵称" align="center" prop="nickname" />
|
|
|
|
|
<el-table-column label="用户编号" align="center" prop="id" />
|
|
|
|
|
<el-table-column label="会员昵称" align="center" prop="nickname"/>
|
|
|
|
|
<el-table-column label="用户编号" align="center" prop="id"/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="手机号码"
|
|
|
|
|
align="center"
|
|
|
|
|
@ -418,9 +422,9 @@
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span>{{ scope.row.province }}</span
|
|
|
|
|
><br />
|
|
|
|
|
><br/>
|
|
|
|
|
<span>{{ scope.row.city }}</span
|
|
|
|
|
><br />
|
|
|
|
|
><br/>
|
|
|
|
|
<span>{{ scope.row.area }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
@ -506,7 +510,7 @@
|
|
|
|
|
<span v-show="scope.row.userType == 1">会员</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="unionid" align="center" prop="unionid" />
|
|
|
|
|
<el-table-column label="unionid" align="center" prop="unionid"/>
|
|
|
|
|
<el-table-column label="用户权限" align="center" prop="">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span v-show="scope.row.clock == 1">开启打卡</span>
|
|
|
|
|
@ -574,13 +578,15 @@
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
@click="informationSynchronization(scope.row)"
|
|
|
|
|
>个人信息同步</el-button
|
|
|
|
|
>个人信息同步
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
@click="integralSynchronization(scope.row)"
|
|
|
|
|
>积分同步</el-button
|
|
|
|
|
>积分同步
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
@ -617,19 +623,20 @@
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click="ocEditRemarkDialog()">关 闭</el-button>
|
|
|
|
|
<el-button type="primary" @click="submitEditRemark()"
|
|
|
|
|
>确 定</el-button
|
|
|
|
|
>确 定
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<el-form ref="form" :model="form" label-width="120px">
|
|
|
|
|
<el-form-item label="头像" prop="headimg">
|
|
|
|
|
<el-avatar shape="circle" :size="50" :src="form.headimg" />
|
|
|
|
|
<el-avatar shape="circle" :size="50" :src="form.headimg"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="会员昵称" prop="nickname" style="width: 44%">
|
|
|
|
|
<el-input v-model="form.nickname" placeholder="请输入昵称" />
|
|
|
|
|
<el-input v-model="form.nickname" placeholder="请输入昵称"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="手机号码" prop="mobile" style="width: 44%">
|
|
|
|
|
<el-input v-model="form.mobile" placeholder="请输入手机" />
|
|
|
|
|
<el-input v-model="form.mobile" placeholder="请输入手机"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="用户编号" prop="id">
|
|
|
|
|
<span>{{ form.id }}</span>
|
|
|
|
|
@ -748,7 +755,7 @@
|
|
|
|
|
</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="id" label="序号" style="width: 10%"/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="content"
|
|
|
|
|
label="备注内容"
|
|
|
|
|
@ -852,7 +859,7 @@
|
|
|
|
|
></el-input-number>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="说明 " prop="remarkContent">
|
|
|
|
|
<el-input v-model="integralForm.remarkContent" />
|
|
|
|
|
<el-input v-model="integralForm.remarkContent"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
@ -931,7 +938,7 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="40">
|
|
|
|
|
<el-form-item label="话术通知内容" prop="scriptContent">
|
|
|
|
|
<el-input v-model="scriptForm.scriptContent" disabled />
|
|
|
|
|
<el-input v-model="scriptForm.scriptContent" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
@ -1119,7 +1126,8 @@
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
disabled
|
|
|
|
|
>已撤销</el-button
|
|
|
|
|
>已撤销
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
@ -1198,7 +1206,7 @@
|
|
|
|
|
>
|
|
|
|
|
<el-form ref="form" label-width="150px">
|
|
|
|
|
<el-form-item label="全部字段" prop="allFields">
|
|
|
|
|
<el-switch v-model="allFields" @click.native="isExportAllFields()" />
|
|
|
|
|
<el-switch v-model="allFields" @click.native="isExportAllFields()"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<el-form
|
|
|
|
|
@ -1321,13 +1329,13 @@
|
|
|
|
|
:data="userInstrumentQuery.userInstrumentList"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column type="index" width="50" label="序号" />
|
|
|
|
|
<el-table-column type="index" width="50" label="序号"/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="instrumentName"
|
|
|
|
|
label="仪器名称"
|
|
|
|
|
width="150px"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column prop="serial" label="仪器序列号" width="200" />
|
|
|
|
|
<el-table-column prop="serial" label="仪器序列号" width="200"/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="serialImage"
|
|
|
|
|
label="仪器序列号图片"
|
|
|
|
|
@ -1341,7 +1349,7 @@
|
|
|
|
|
></el-image>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="updateTime" label="操作时间" width="200" />
|
|
|
|
|
<el-table-column prop="updateTime" label="操作时间" width="200"/>
|
|
|
|
|
</el-table>
|
|
|
|
|
</template>
|
|
|
|
|
<pagination
|
|
|
|
|
@ -1388,12 +1396,12 @@ import {
|
|
|
|
|
listUserInstrument,
|
|
|
|
|
} from '@/api/system/member'
|
|
|
|
|
import Treeselect from '@riophae/vue-treeselect'
|
|
|
|
|
import { tagTreeSelect } from '@/api/system/wechatTab'
|
|
|
|
|
import {tagTreeSelect} from '@/api/system/wechatTab'
|
|
|
|
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: 'Member',
|
|
|
|
|
components: { Treeselect },
|
|
|
|
|
components: {Treeselect},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
// 折叠搜索
|
|
|
|
|
@ -1599,18 +1607,18 @@ export default {
|
|
|
|
|
// 表单校验
|
|
|
|
|
batchMiniProgramRules: {
|
|
|
|
|
tagIdArray: [
|
|
|
|
|
{ required: true, message: '请选择小程序标签', trigger: 'change' },
|
|
|
|
|
{required: true, message: '请选择小程序标签', trigger: 'change'},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
batchIntegralRules: {
|
|
|
|
|
source: [
|
|
|
|
|
{ required: true, message: '请选择积分操作类型', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请选择积分操作类型', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
floatScore: [
|
|
|
|
|
{ required: true, message: '请输入变动积分', trigger: 'change' },
|
|
|
|
|
{required: true, message: '请输入变动积分', trigger: 'change'},
|
|
|
|
|
],
|
|
|
|
|
remarkContent: [
|
|
|
|
|
{ required: true, message: '输入积分操作说明', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '输入积分操作说明', trigger: 'blur'},
|
|
|
|
|
{
|
|
|
|
|
min: 1,
|
|
|
|
|
max: 500,
|
|
|
|
|
@ -1620,42 +1628,42 @@ export default {
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
batchRemarkRules: {
|
|
|
|
|
content: [{ required: true, message: '请输入备注', trigger: 'blur' }],
|
|
|
|
|
content: [{required: true, message: '请输入备注', trigger: 'blur'}],
|
|
|
|
|
},
|
|
|
|
|
batchScriptRules: {
|
|
|
|
|
isCustom: [
|
|
|
|
|
{ required: true, message: '请选择话术类型', trigger: 'change' },
|
|
|
|
|
{required: true, message: '请选择话术类型', trigger: 'change'},
|
|
|
|
|
],
|
|
|
|
|
scriptTemplateId: [
|
|
|
|
|
{ required: true, message: '请选择话术标题', trigger: 'change' },
|
|
|
|
|
{required: true, message: '请选择话术标题', trigger: 'change'},
|
|
|
|
|
],
|
|
|
|
|
// scriptContent: [
|
|
|
|
|
// {required: true, message: '请选择话术标题'}
|
|
|
|
|
// ],
|
|
|
|
|
titile: [
|
|
|
|
|
{ required: true, message: '请输入话术标题', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请输入话术标题', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
content: [
|
|
|
|
|
{ required: true, message: '请输入话术内容', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请输入话术内容', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
type: [
|
|
|
|
|
{ required: true, message: '请选择跳转类型', trigger: 'change' },
|
|
|
|
|
{required: true, message: '请选择跳转类型', trigger: 'change'},
|
|
|
|
|
],
|
|
|
|
|
link: [{ required: true, message: '请输入链接地址', trigger: 'blur' }],
|
|
|
|
|
link: [{required: true, message: '请输入链接地址', trigger: 'blur'}],
|
|
|
|
|
linkParams: [
|
|
|
|
|
{ required: true, message: '请输入跳转参数', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请输入跳转参数', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
redirectAppid: [
|
|
|
|
|
{ required: true, message: '请输入小程序APPID', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请输入小程序APPID', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
redirectUrl: [
|
|
|
|
|
{ required: true, message: '请输入小程序页面', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请输入小程序页面', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
videoNo: [
|
|
|
|
|
{ required: true, message: '请输入视频号ID', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请输入视频号ID', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
feedId: [
|
|
|
|
|
{ required: true, message: '请输入视频号feedId', trigger: 'blur' },
|
|
|
|
|
{required: true, message: '请输入视频号feedId', trigger: 'blur'},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
@ -1728,7 +1736,7 @@ export default {
|
|
|
|
|
this.miniProgramTagTree = Response.data
|
|
|
|
|
})
|
|
|
|
|
// 外部标签树
|
|
|
|
|
tagTreeSelect({ type: 2 }).then((response) => {
|
|
|
|
|
tagTreeSelect({type: 2}).then((response) => {
|
|
|
|
|
this.wecomTagTree = response.data
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
@ -1920,7 +1928,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
/** 查询部门下拉树结构 */
|
|
|
|
|
getDeptTree() {
|
|
|
|
|
tagTreeSelect({ type: 1 }).then((response) => {
|
|
|
|
|
tagTreeSelect({type: 1}).then((response) => {
|
|
|
|
|
this.chatTagOptions = response.data
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
@ -2171,7 +2179,8 @@ export default {
|
|
|
|
|
this.cancelIntegralDialog(true)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 批量操作:导出数据 */
|
|
|
|
|
@ -2249,7 +2258,8 @@ export default {
|
|
|
|
|
this.getList()
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 开关活动
|
|
|
|
|
openOrCloseActivity(row) {
|
|
|
|
|
@ -2280,7 +2290,8 @@ export default {
|
|
|
|
|
this.getList()
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 信息同步
|
|
|
|
|
informationSynchronization(row) {
|
|
|
|
|
@ -2297,7 +2308,8 @@ export default {
|
|
|
|
|
.then(() => {
|
|
|
|
|
alert('用户id' + row.id)
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 积分同步
|
|
|
|
|
integralSynchronization(row) {
|
|
|
|
|
@ -2314,7 +2326,8 @@ export default {
|
|
|
|
|
.then(() => {
|
|
|
|
|
alert('用户id' + row.id)
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/** 提交按钮 */
|
|
|
|
|
submitForm() {
|
|
|
|
|
@ -2555,7 +2568,8 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/** 删除按钮操作 */
|
|
|
|
|
handleDelete(row) {
|
|
|
|
|
@ -2569,7 +2583,8 @@ export default {
|
|
|
|
|
this.getList()
|
|
|
|
|
this.$modal.msgSuccess('删除成功')
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 打开用户消息列表窗口
|
|
|
|
|
viewMessageDetail(row) {
|
|
|
|
|
@ -2621,7 +2636,7 @@ export default {
|
|
|
|
|
this.userIntegralLogQuery.total = Response.total
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
userIntegralSortChang({ column, prop }) {
|
|
|
|
|
userIntegralSortChang({column, prop}) {
|
|
|
|
|
this.userIntegralLogQuery.orderByColumn = prop
|
|
|
|
|
this.userIntegralLogQuery.isAsc =
|
|
|
|
|
column.order == 'ascending' ? 'asc' : 'desc'
|
|
|
|
|
@ -2671,6 +2686,17 @@ export default {
|
|
|
|
|
this.exportFieldList.area = null
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
clearDeviceNum() {
|
|
|
|
|
this.queryParams.deviceNumStart = undefined;
|
|
|
|
|
this.queryParams.deviceNumEnd = undefined;
|
|
|
|
|
},
|
|
|
|
|
clearCredit() {
|
|
|
|
|
this.queryParams.creditStart = undefined;
|
|
|
|
|
this.queryParams.creditEnd = undefined;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|