Commit 4a9f82b6 by huaying

Merge branch 'feature/9月-基础迭代' into test

parents e6d0b3ca c430dbf4
......@@ -6,6 +6,7 @@
<title></title>
<link rel="stylesheet" href="//at.alicdn.com/t/font_688955_2dxzdzrb3a7.css">
<link rel="stylesheet" href="//at.alicdn.com/t/font_3276801_5bjk41qthxj.css">
<script src="//at.alicdn.com/t/c/font_3380872_ytparjbow6j.js"></script>
<script src="//at.alicdn.com/t/font_3276801_5bjk41qthxj.js"></script>
</head>
<body style="background-color: #f0f2f5;min-width: 1400px;">
......
......@@ -12,10 +12,11 @@
<p class="batch-txt">{{ list.length ? '存在分组正在被以下模块使用,请先删除对应的内容后再来删除分组。' : '删除后无法恢复,确认要删除该分组吗?' }}</p>
</div>
<div v-if="operNum == 2">
选择分类:<el-select v-model="groupId" placeholder="清选择分类" v-loadmore="loadMoreGroupList" filterable remote :remote-method="searchGroupList" class="select-classify">
<!-- 选择分类:<el-select v-model="groupId" placeholder="请选择分类" v-loadmore="loadMoreGroupList" filterable remote :remote-method="searchGroupList" class="select-classify">
<el-option v-for="el in groupList" :key="el.memberTagGroupClassifyId" :value="el.memberTagGroupClassifyId" :label="el.classifyName"></el-option>
<i class="el-icon-search" slot="prefix"></i>
</el-select>
</el-select> -->
选择分组:<dm-select-scroller :width="305" clearable :data="groupList" v-model="groupId" placeholder="请选择分类" @load="loadMoreGroupList" @remote-search="searchGroupList" :loading="loadings" :total-count="totalCountGounp" :props="propsGroup"></dm-select-scroller>
</div>
<!-- <div v-if="operNum == 2">
<p class="title">
......@@ -70,7 +71,13 @@ export default {
pageNum: 1,
totalPage: 1
},
loading: false
totalCountGounp: 0,
loading: false,
loadings: false,
propsGroup: {
label: 'classifyName',
value: 'memberTagGroupClassifyId'
}
};
},
directives: {
......@@ -78,8 +85,8 @@ export default {
inserted(el, binding) {
const SELECTDOWN_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap');
SELECTDOWN_DOM.addEventListener('scroll', function() {
const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight;
if (CONDITION) {
const CONDITION = this.scrollHeight - this.scrollTop -100 <= this.clientHeight;
if (CONDITION && !this.loadings) {
binding.value();
}
})
......@@ -161,22 +168,19 @@ export default {
},
searchGroupList(classifyName) {
this.params.classifyName = classifyName;
this.params.pageNum = 0;
this.loadMoreGroupList();
this.params.pageNum = 1;
this.getMemberGroupList();
},
loadMoreGroupList() {
if (this.params.pageNum + 1 > this.params.totalPage) {
return
}
this.params.pageNum = this.params.pageNum + 1;
this.params.pageNum++;
this.getMemberGroupList();
},
getMemberGroupList() {
const { classifyName, pageNum } = this.params;
this.loading = true;
if (pageNum == 1) {
this.groupList = [];
}
this.loadings = true;
memberGroupList({
classifyName,
pageNum,
......@@ -185,12 +189,24 @@ export default {
requestProject: 'gic-member-tag-web',
}).then(res => {
const { errorCode, result } = res;
if (pageNum == 1) {
this.groupList = [];
}
if (errorCode != 0) return;
if (Array.isArray(result.result)) {
this.groupList = this.groupList.concat(result.result.filter(el => el.classifyName != '未分类' && el.classifyName != null));
}
this.params.totalPage = result.totalPage;
}).finally(() => this.loading = false);
this.totalCountGounp = result.totalCount || 0;
}).catch(() => {
if (pageNum == 1) {
this.groupList = [];
}
}).finally(() => {
setTimeout(()=>{
this.loadings = false;
}, 500)
});
},
checkGroup() {
this.loading = true;
......
......@@ -54,7 +54,10 @@
<span>
<div class="flex">
<span class="table-member__img inline-block middle border-box m-r-10">
<img :src="scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')" />
<img v-if="scope.row.thirdImgUrl" class="member-icon" :src="scope.row.thirdImgUrl" />
<svg v-else aria-hidden="true" class="member-icon">
<use xlink:href="#icon-user-default"></use>
</svg>
</span>
<div class="inline-block">
<span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span>
......@@ -863,9 +866,10 @@ export default {
text-align: center;
border-radius: 50%;
overflow: hidden;
img {
.member-icon {
display: inline-block;
width: 100%;
height: 100%;
vertical-align: middle;
border-radius: 4px;
}
......
<template>
<el-dialog :visible.sync="visible" custom-class="delete-dialog" width="416px" @close="onClose">
<div class="dialog-content">
<i class="el-alert__icon el-icon-warning is-big icon" />
<i class="el-alert__icon el-icon-warning is-big icons" />
<h2>{{ title }}</h2>
<div v-loading="loading">
<p class="desc">{{ desc }}</p>
......@@ -132,8 +132,8 @@ export default {
.ml10 {
margin-left: 10px;
}
.icon {
font-size: 21px;
.icons {
font-size: 21px !important;
position: absolute;
color: #fa8c16;
left: 30px;
......
......@@ -54,7 +54,7 @@ export default {
listsParams: {
// type: '', // 类型 0:客户分组,1:固化分组
pageNum: 1, // 页码,从1开始
pageSize: 20, // 页面大小
pageSize: 40, // 页面大小
totalPage: 1,
classifyName: '' // 分类名
},
......@@ -82,7 +82,7 @@ export default {
this.getMemberGroupList();
},
onScroll(e) {
if ((e.target.scrollTop + e.target.clientHeight) >= this.lists.length * 20) {
if ((e.target.scrollTop + e.target.clientHeight) >= this.lists.length * 40 && !this.memberGroupLoading) {
this.onPageNumChange();
}
},
......@@ -261,7 +261,8 @@ export default {
</script>
<style lang="scss" scoped>
.add-category, .search-box {
.add-category,
.search-box {
padding: 0 15px;
}
.add-group {
......@@ -289,8 +290,8 @@ export default {
margin: 0 4px;
}
&:hover {
color: #2F54EB;
background: #F2F3F5;
color: #2f54eb;
background: #f2f3f5;
.icon:hover {
background: RGBA(229, 230, 235, 1);
}
......@@ -308,23 +309,22 @@ export default {
color: #303133;
overflow-y: auto;
.active-li {
color: #2F54EB;
background-color: #ebeffe;
.wrap span{
padding-left: 6px;
color: #2f54eb;
background-color: #ebeffe;
.wrap span {
padding-left: 6px;
color: #2f54eb;
}
.icon:hover {
background: #d8defc;
}
}
.wrap span{
.wrap span {
padding-left: 6px;
color: #303133;
}
}
.more {
line-height: 26px;
text-align: center;
......
......@@ -79,7 +79,10 @@
<span>
<div class="flex">
<span class="table-member__img inline-block middle border-box m-r-10">
<img :src="scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')" />
<img v-if="scope.row.thirdImgUrl" class="member-icon" :src="scope.row.thirdImgUrl" />
<svg v-else aria-hidden="true" class="member-icon">
<use xlink:href="#icon-user-default"></use>
</svg>
</span>
<div class="inline-block">
<span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span>
......@@ -911,7 +914,7 @@ export default {
.table-member__img {
text-align: center;
img {
.member-icon {
display: inline-block;
width: 40px;
height: 40px;
......
......@@ -627,7 +627,8 @@ export default {
}else if(res.data.errorCode == '200009'){
this.$alert(res.data.message, '提示', {
confirmButtonText: '知道了',
type: 'warning'
type: 'warning',
customClass: 'addNewGroupClass'
})
} else {
this.$message.warning(res.data.message);
......
......@@ -381,7 +381,7 @@
<div class="right-box" v-show="isTagRecommend">
<div class="common-wrap__opt flex-between">
<div class="desc">覆盖人数于每日上午8点半进行更新</div>
<div class="tips">覆盖人数于每日上午8点半进行更新,仅统计线下订单</div>
<!-- <div class="batch-option">
<el-button type="primary" class="fr ghost-btn" @click="isNew = !isNew">{{ `查看${isNew ? '旧' : '新'}版金字塔会员分层` }}</el-button>
</div> -->
......
......@@ -55,7 +55,10 @@
<span>
<div class="flex">
<span class="table-member__img inline-block middle border-box m-r-10">
<img :src="scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')" />
<img v-if="scope.row.thirdImgUrl" class="member-icon" :src="scope.row.thirdImgUrl" />
<svg v-else aria-hidden="true" class="member-icon">
<use xlink:href="#icon-user-default"></use>
</svg>
</span>
<div class="inline-block">
<span>{{ scope.row.memberName }}<span class="tips" v-if="scope.row.nickName"> ({{ scope.row.nickName }})</span></span>
......@@ -227,6 +230,34 @@
<template v-if="item.code === 'highCostPaid'">
<span>{{scope.row.highCostPaid}}</span>
</template>
<!-- 消费总额/实付(全渠道) -->
<template v-if="item.code == 'allChannelCostAllPaid'">
<span>{{scope.row.allChannelCostAllPaid}}</span>
</template>
<!-- 消费次数(全渠道) -->
<template v-if="item.code == 'allChannelCostTimes'">
<span>{{scope.row.allChannelCostTimes}}</span>
</template>
<!-- 最高单笔/实付(全渠道) -->
<template v-if="item.code == 'allChannelHighCostPaid'">
<span>{{scope.row.allChannelHighCostPaid}}</span>
</template>
<!-- 最近消费时间(全渠道) -->
<template v-if="item.code == 'allChannelLastCostTime'">
<span>{{scope.row.allChannelLastCostTime | formatTimeYMD}}</span>
</template>
<!-- 客单价(全渠道) -->
<template v-if="item.code == 'allChannelAvgCost'">
<span>{{scope.row.allChannelAvgCost}}</span>
</template>
<!-- 连带率(全渠道) -->
<template v-if="item.code == 'allChannelAvgNumber'">
<span>{{scope.row.allChannelAvgNumber}}</span>
</template>
<!-- 平均折扣(全渠道) -->
<template v-if="item.code == 'allChannelDiscountRate'">
<span>{{scope.row.allChannelDiscountRate}}</span>
</template>
</template>
</el-table-column>
<el-table-column label-class-name="table-header__handle" v-if="$getButtonLimit($buttonCode.memberTagToCheck)" fixed="right" :min-width="160">
......@@ -853,7 +884,7 @@ export default {
.table-member__img {
text-align: center;
img {
.member-icon {
display: inline-block;
width: 40px;
height: 40px;
......
......@@ -525,7 +525,8 @@ export default {
}else if(res.errorCode == '200009'){
this.$alert(res.message, '提示', {
confirmButtonText: '知道了',
type: 'warning'
type: 'warning',
customClass: 'addNewGroupClass'
})
}
})
......@@ -966,7 +967,7 @@ export default {
.member-tag .el-tabs__header {
margin-bottom: 0;
}
.el-message-box__status.el-icon-warning {
.addNewGroupClass .el-message-box__status.el-icon-warning {
top: 12px !important;
&::before {
font-size: 21px !important;
......
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