Commit 92ffbecf by caoyanzhi

Merge branch 'feature/4月-会员通'

parents 5004e109 a387bf2e
......@@ -25,6 +25,7 @@
"sycodecomponent": "^1.0.2",
"viser-vue": "^2.3.0",
"vue": "2.6.6",
"vue-clipboard2": "^0.3.3",
"vue-router": "^3.0.1",
"vue-style-loader": "^3.1.2",
"vuex": "^3.0.1",
......
......@@ -98,7 +98,7 @@
:label="memberFieldsName[colum]"
:prop="colum"
show-overflow-tooltip
:min-width="colum==='name'?200:150"
:min-width="colum==='name' ?200 : colum == 'status' ? 170 : 150"
:fixed="colum==='name'"
:sortable="['name','grade','status','channel','createCardStoreName','cardNo','forzenStatus','mainStoreName'].includes(colum)?false:isExist[colum]?'custom':false"
>
......@@ -114,19 +114,26 @@
<span v-else-if="colum == 'grade'">{{ row.gradeName }}</span>
<!-- 状态 -->
<span v-else-if="colum == 'status'">
<span title="取消关注公众号" v-if="row.status==0" style="margin-right: 6px;"><svg
class="icon status-icon unfollow"
aria-hidden="true"
>
<use xlink:href="#icon-weixinquguan" />
</svg></span><i
:title="row.status==1?'已关注公众号':'未关注公众号'"
v-else
:class="['iconfont status-icon ',row.status==1?'icon-weixin1 follow':'icon-weixin1']"
/><i
:title="row.wxStatus==1?'已使用小程序':'未使用小程序'"
:class="['iconfont status-icon icon-xiaochengxu1',row.wxStatus==1?'used':'']"
/>
<template v-if="!Array.isArray(row.memberSources) || row.memberSources.filter(el => el.highlight == 1 || el.highlight == 2).length == 0">--</template>
<template v-else>
<!-- 1100:公众号 1600:小程序 1700:企业微信 1303:微盟 1302:天猫会员通 -->
<span class="channel-box" v-for="channel in row.memberSources.filter(el => el.highlight == 1 || el.highlight == 2)" :key="channel.parentSourceCode">
<template v-if="channel.highlight == 1">
<img class="channel-icon" v-if="channel.parentSourceCode == 1100" src="../../../static/img/channel-icon/weixin-1.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1600" src="../../../static/img/channel-icon/xiaochengxu-1.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1700" src="../../../static/img/channel-icon/qiyeweixin-1.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1303" src="../../../static/img/channel-icon/weimen-1.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1302" src="../../../static/img/channel-icon/tianmao-1.png" alt="">
</template>
<template v-if="channel.highlight == 2">
<img class="channel-icon" v-if="channel.parentSourceCode == 1100" src="../../../static/img/channel-icon/weixin-2.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1600" src="../../../static/img/channel-icon/xiaochengxu-2.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1700" src="../../../static/img/channel-icon/qiyeweixin-2.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1303" src="../../../static/img/channel-icon/weimen-2.png" alt="">
<img class="channel-icon" v-if="channel.parentSourceCode == 1302" src="../../../static/img/channel-icon/tianmao-2.png" alt="">
</template>
</span>
</template>
</span>
<!-- 关联渠道 -->
<span v-else-if="colum == 'channel'">
......@@ -276,6 +283,17 @@ export default { ...action };
@import './allCustomersList.less';
</style>
<style lang="less">
.channel-box {
display: inline-block;
+.channel-box {
margin-left: 6px;
}
.channel-icon {
width: 20px;
height: 20px;
vertical-align: middle;
}
}
// 去除dailog-footer上边框
.customer-dialog .el-dialog__footer {
padding-top: 0;
......
......@@ -259,6 +259,9 @@ export default {
this.getCliqueGradeList();
},
methods: {
onCopy() {
this.$message.success('复制成功');
},
initData () {
this.count = 0;
this.fullscreenLoading = true;
......@@ -279,6 +282,10 @@ export default {
const ret = res.data.result;
if (api === 'memberLoadBaseDetail') {
this.member = Object.assign({}, ret.member);
if (!Array.isArray(this.member.memberSources)) {
this.member.memberSources = [];
}
this.member.memberSources = this.member.memberSources.filter(el => el.highlight == 1 || el.highlight == 2);
const extendInfo={
babyConfigTemplate:ret.extendInfo.babyConfigTemplate||{},
fieldList:ret.extendInfo.fieldList||[],
......
......@@ -2,16 +2,8 @@
<div class="wechat-point-details">
<div class="search-top mBottom20">
<div class="left-search-wrap">
<searchinput
stylelink="width: 280px"
prefix-icon="el-icon-search"
placeholder="请输入会员姓名/昵称/手机"
v-model="searchStr"
@handleSearch="handleSearch"
></searchinput>
<el-select
v-model="intervalInOut"
style="margin:0 6px;"
placeholder="所有日志"
@change="handleSearch"
>
......@@ -48,6 +40,10 @@
:value="item.dictCode"
></el-option>
</el-select>
<el-select v-model="sourceType" placeholder="所有来源渠道" @change="handleSearch">
<el-option label="所有来源渠道" :value=-1></el-option>
<el-option v-for="item in sourceTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
<el-button
v-if="getCodeAuth('memberAdjustIntegral')"
......@@ -65,6 +61,7 @@
<el-table-column
prop="callBeginTime"
label="时间"
min-width="155px"
>
<template slot-scope="scope">
{{ scope.row.createTime | formatTime }}
......@@ -73,6 +70,7 @@
<el-table-column
prop="intervalInout"
label="日志类型"
min-width="80px"
>
<template slot-scope="scope">
<span v-if="scope.row.intervalInout == 1">积分获取</span>
......@@ -82,6 +80,7 @@
<el-table-column
prop="intervalHistory"
label="日志详情"
min-width="80px"
>
<template slot-scope="scope">
<span :style="{color: scope.row.intervalHistory > 0 ? 'green' : 'red'}">{{ scope.row.intervalHistory }}</span>
......@@ -90,22 +89,28 @@
<el-table-column
prop="memberIntegralName"
label="事由"
min-width="80px"
></el-table-column>
<el-table-column prop="sourceType" label="来源渠道" min-width="80px" :formatter="formatSourceType"></el-table-column>
<el-table-column
prop="remark"
label="备注"
min-width="160px"
></el-table-column>
<el-table-column
prop="mainStoreName"
label="服务门店"
min-width="160px"
></el-table-column>
<el-table-column
prop="openStoreName"
label="开卡门店"
min-width="160px"
></el-table-column>
<el-table-column
prop="intervalEffect"
label="积分成本主体"
min-width="110px"
>
<template slot-scope="scope">
<span v-if="scope.row.intervalInout == 0">--</span>
......@@ -220,34 +225,23 @@ export default {
loseVisible: false,
loseData: [],
memberId: this.$route.query.memberId || "",
navpath: [
{
name: "首页",
path: "/"
},
{
name: "客户列表",
path: "/allCustomers"
},
{
name: "客户详情",
path:"/customerDetail?memberId=" + this.$route.query.memberId || ""
},
{
name: "会员积分明细",
path: ""
}
],
page: {
currentPage: 1,
pageSize: 20,
totalCount: 0
},
sourceTypeList: [
{ label: 'GIC计算', value: 1 },
{ label: 'ERP同步', value: 2 },
{ label: 'API同步', value: 3 },
{ label: '批处理导入', value: 4 },
{ label: '天猫会员通', value: 5 }
],
memberData: [],
intervalInOut: -1,
dictCode: -1,
searchStr: "",
searchType: 1,
sourceType: -1,
beginTime: "",
endTime: "",
storeName: "",
......@@ -260,6 +254,10 @@ export default {
},
mixins: [authMethods],
methods: {
formatSourceType(row, col, val) {
const type = this.sourceTypeList.find(el => el.value == val) || {};
return type.label || '--';
},
linkRoute(route) {
this.$router.push({ path: route, query: { memberId: this.memberId } });
},
......@@ -303,8 +301,8 @@ export default {
currentPage: this.page.currentPage,
intervalInOut: this.intervalInOut,
dictCode: this.dictCode,
searchStr: this.searchStr,
searchType: this.searchType,
sourceType: this.sourceType,
beginTime: this.beginTime,
endTime: this.endTime,
storeName: this.storeName
......
......@@ -22,6 +22,8 @@ import directive from './utils/directive.js';
// import vueGicFooter from '@gic-test/vue-gic-footer'
import authCode from '../config/authCode';
import * as custom from './common/filters/custom'
import VueClipboard from 'vue-clipboard2';
Vue.use(VueClipboard);
Vue.config.productionTip = false;
Vue.config.devtools = true;
axios.defaults.withCredentials = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment