Commit d9ed0c6c by chenyu

update: update

parent 34c53e1a
<template>
<div id="UserInfoCard">
<el-popover
placement="top-start"
width="400"
height="180"
trigger="hover"
@show="showSingleInfo">
<div
class="pointer"
@click="linkDetail"
>
<div class="singelinfo">
<div class="singelinfo-img"><img
width="100"
height="100"
:src="scopeData.thirdImgUrl ? scopeData.thirdImgUrl : './static/img/default.png'"
alt=""
></div>
<div class="singelinfo-content pLeft10 pRight10">
<span class="lheigth0">{{ scopeData.memberName }}
<span
:title="singleInfo.status == 0 ? '取消关注公众号' : singleInfo.status == 1 ? '已关注公众号' : '未关注公众号'"
class="channelicon fr"
:class="singleInfo.status == 0 ? 'gzhiconcanclegray' : singleInfo.status == 1 ? 'gzhicon' : 'gzhicongray'"
></span>
<span
:title="singleInfo.wxStatus == 0 ? '未使用小程序' : singleInfo.wxStatus == 1 ? '使用过小程序' : ''"
class="channelicon fr mr6"
:class="singleInfo.wxStatus == 0 ? 'xcxicongray' : singleInfo.wxStatus == 1 ? 'xcxicon' : ''"
></span>
</span>
<p class="lheigth0">
<span class="evl-right">{{ singleInfo.sex}}</span>
<span class="evl-right">{{ singleInfo.age }}</span>
<span :title="singleInfo.cardNo">{{ singleInfo.cardNo | formatCardName }}</span></p>
<p class="lheigth0"><span>{{ singleInfo.mainStoreName }}</span></p>
<div class="singelinfo-cost">
<div class="singelinfo-costitem">
<p>{{ singleInfo.costFee }}</p>
<p>消费总额</p>
</div>
<div class="singelinfo-costitem">
<p>{{ singleInfo.costTimes }}</p>
<p>消费次数</p>
</div>
<div class="singelinfo-costitem">
<p>{{ singleInfo.lastCost }}</p>
<p>最近消费</p>
</div>
</div>
</div>
</div>
<div class="singelinfo-jl mBottom20 mTop20">
<a class="singelinfo-jlitem">消费记录 ({{ singleInfo.numOfSale }})</a>
<a class="singelinfo-jlitem">营销记录 ({{ singleInfo.numOfmarket }})</a>
<a class="singelinfo-jlitem">卡券记录 ({{ singleInfo.couponCount }})</a>
</div>
</div>
<span slot="reference" class="member-span"><img
class="tablecontent-cellimg mr6"
width="60"
height="60"
:src="scopeData.thirdImgUrl ? scopeData.thirdImgUrl : './static/img/default.png'"
alt=""
></span>
</el-popover>
</div>
</template>
<script>
export default {
name: 'UserInfoCard',
methods: {
showSingleInfo() {
this.$emit('showSingleInfo')
},
linkDetail() {
this.$emit('linkDetail')
}
},
props: {
scopeData: Object,
singleInfo: Object
}
}
</script>
<style lang="scss" scoped>
#UserInfoCard {
display: inline-block;
}
</style>
<template>
<div class="batch-list">
<template v-if="dataList.length > 0">
<div v-for="(item, index) in dataList"
:key="index"
class="batch-item">
<p class="batch-item-name">{{item.name}}</p>
<div class="batch-item-progress">
<el-progress :percentage="item.taskCount == 0 ? 100 : (+((item.finishCount*100/item.taskCount).toFixed(2)))">
</el-progress>
</div>
</div>
</template>
<div v-else
style="text-align: center;">
暂无批量处理数据
</div>
</div>
</template>
<script>
export default {
name: "batchList",
props: {
dataList: {
type: Array,
default() {
return [];
}
}
},
data() {
return {};
},
methods: {},
watch: {}
};
</script>
<style lang="less" scoped>
.batch-list {
.batch-item {
display: flex;
justify-content: flex-start;
align-items: center;
.batch-item-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.batch-item-progress {
display: inline-block;
width: 300px;
}
}
}
</style>
<style lang="less">
</style>
\ No newline at end of file
<template>
<div>
<el-dialog title="设置显示字段"
custom-class="table-colum-dailog"
:visible.sync="dilogFieldVisible"
@close="cancel"
width="600px">
<div class="checkwtip mBottom10">请选择您想显示的列表字段,最多勾选8个选项,已经勾选了 <span
class="curcheck">{{ checkedFieldsCopy.length }}</span></div>
<el-checkbox-group v-model="checkedFieldsCopy"
class="table-colum-wrap"
:min="0"
:max="8">
<el-checkbox v-for="(item, index) in memberFields"
class="table-colum-item"
:key="index"
:label="item.code"
:disabled="item.code==='name'">{{item.name}}</el-checkbox>
</el-checkbox-group>
<span slot="footer"
class="dilog-footer">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary"
@click="submitFields">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
name: "tableColumDailog",
props: {
checkedFields: {
type: Array,
default: () => {
return [];
}
},
memberFields: {
type: Array,
default: () => {
return [];
}
},
dilogFieldVisible: {
type: Boolean,
default: false
},
pageName: {
type: String,
default: ''
},
},
data() {
return {
checkedFieldsCopy: []
};
},
methods: {
submitFields() {
this.$emit('update:dilogFieldVisible', false);
this.$emit('submit', this.checkedFieldsCopy.join(","));
},
cancel() {
this.checkedFieldsCopy = [].concat(this.checkedFields);
this.$emit('update:dilogFieldVisible', false);
}
},
watch: {
dilogFieldVisible(n, o) {
if (!!n)
this.checkedFieldsCopy = [].concat(this.checkedFields);
}
}
};
</script>
<style lang="less" scoped>
.table-colum-wrap {
display: flex;
flex-wrap: wrap;
width: 100%;
.table-colum-item {
flex: 25%;
line-height: 35px;
}
.table-colum-item + .table-colum-item {
margin-left: 0;
}
}
</style>
<style lang="less">
// 去除dailog-footer上边框
.table-colum-dailog .el-dialog__footer {
border-top: none !important;
}
</style>
\ No newline at end of file
......@@ -332,6 +332,7 @@ export default {
// 取消
cancelFilter() {
this.$refs.peopleFilter.cancelSet();
},
// 获取需要回显的数据, 供保存时候使用
getBackData(val) {
......
......@@ -12,7 +12,6 @@ import gicinput from './common/gicinput'
import gictextarea from './common/gictextarea'
import 'babel-polyfill';
import directive from './utils/directive.js';
// import vueGicCard from '@gic-test/vue-gic-card'
// import vueGicStore from '@gic-test/vue-gic-store'
// import vueGicPeople from '@gic-test/vue-gic-people/src/lib'
......
......@@ -38,25 +38,33 @@ export const constantRouterMap = [
{
path: "/",
name: "Layout",
redirect: "/wechattotal",
redirect: "/allCustomers",
component: Layout,
children: [
{
path: "/wechattotal",
component: _import("wechatmembers", "wechat-total"),
path: "/allCustomers",
component: _import("allCustomers", "allCustomersList"),
meta: {
title: "微信总量",
keepAlive: true
}
},
{
path: "/wechatmembers",
component: _import("wechatmembers", "wechatmembers"),
meta: {
title: "微信会员",
title: "全部客户",
keepAlive: true
}
},
// {
// path: "/wechattotal",
// component: _import("wechatmembers", "wechat-total"),
// meta: {
// title: "微信总量",
// keepAlive: true
// }
// },
// {
// path: "/wechatmembers",
// component: _import("wechatmembers", "wechatmembers"),
// meta: {
// title: "微信会员",
// keepAlive: true
// }
// },
{
path: "/talkLogPage",
component: _import("wechatmembers", "talkLogPage"),
......@@ -64,35 +72,35 @@ export const constantRouterMap = [
title: "微信会员-通话记录"
}
},
{
path: "/infoMall",
component: _import("wechatmembers", "infoMall"),
meta: {
title: "微信会员-微信商城消费"
}
},
{
path: "/posmembers",
component: _import("posmembers", "posmembers"),
meta: {
title: "pos会员",
keepAlive: true
}
},
{
path: "/onlinemembers",
component: _import("onlinemembers", "onlinemembers"),
meta: {
title: "电商会员"
}
},
{
path: "/buyermembers",
component: _import("buyermembers", "buyermembers"),
meta: {
title: "电商买家"
}
},
// {
// path: "/infoMall",
// component: _import("wechatmembers", "infoMall"),
// meta: {
// title: "微信会员-微信商城消费"
// }
// },
// {
// path: "/posmembers",
// component: _import("posmembers", "posmembers"),
// meta: {
// title: "pos会员",
// keepAlive: true
// }
// },
// {
// path: "/onlinemembers",
// component: _import("onlinemembers", "onlinemembers"),
// meta: {
// title: "电商会员"
// }
// },
// {
// path: "/buyermembers",
// component: _import("buyermembers", "buyermembers"),
// meta: {
// title: "电商买家"
// }
// },
{
path: "/frozenList",
component: _import("wechatmembers", "frozenList"),
......@@ -114,57 +122,57 @@ export const constantRouterMap = [
title: "微信会员-设置"
}
},
{
path: "/labelmanager",
component: _import("labelmanager", "labelmanager"),
meta: {
title: "会员标签"
}
},
{
path: "/achievement",
component: _import("achievement", "achievement_sale"),
meta: {
title: "会员成就-消费类"
}
},
{
path: "/achievement_interaction",
component: _import("achievement", "achievement_interaction"),
meta: {
title: "会员成就-互动类"
}
},
{
// 微信会员回收站数据页面
path: "/memberReturn",
component: _import("memberlist", "memberReturn"),
meta: {
title: "微信会员回收站"
}
},
{
// POS会员回收站数据页面
path: "/posRecycle",
component: _import("memberlist", "pos-recycle"),
meta: {
title: "POS会员回收站"
}
},
{
path: "/membergroupAdd",
component: _import("membergroup", "membergroupAdd"),
meta: {
title: "会员分组-新增"
}
},
{
path: "/membergroup",
component: _import("membergroup", "membergroup"),
meta: {
title: "会员分组"
}
},
// {
// path: "/labelmanager",
// component: _import("labelmanager", "labelmanager"),
// meta: {
// title: "会员标签"
// }
// },
// {
// path: "/achievement",
// component: _import("achievement", "achievement_sale"),
// meta: {
// title: "会员成就-消费类"
// }
// },
// {
// path: "/achievement_interaction",
// component: _import("achievement", "achievement_interaction"),
// meta: {
// title: "会员成就-互动类"
// }
// },
// {
// // 微信会员回收站数据页面
// path: "/memberReturn",
// component: _import("memberlist", "memberReturn"),
// meta: {
// title: "微信会员回收站"
// }
// },
// {
// // POS会员回收站数据页面
// path: "/posRecycle",
// component: _import("memberlist", "pos-recycle"),
// meta: {
// title: "POS会员回收站"
// }
// },
// {
// path: "/membergroupAdd",
// component: _import("membergroup", "membergroupAdd"),
// meta: {
// title: "会员分组-新增"
// }
// },
// {
// path: "/membergroup",
// component: _import("membergroup", "membergroup"),
// meta: {
// title: "会员分组"
// }
// },
{
path: "/cardvoucher",
component: _import("wechatmembers", "cardvoucher"),
......@@ -172,13 +180,13 @@ export const constantRouterMap = [
title: "微信会员-卡券"
}
},
{
path: "/membergroupDetail",
component: _import("membergroup", "membergroupDetail"),
meta: {
title: "会员分组-详情"
}
},
// {
// path: "/membergroupDetail",
// component: _import("membergroup", "membergroupDetail"),
// meta: {
// title: "会员分组-详情"
// }
// },
{
path: "/membertask",
component: _import("membertask", "membertask"),
......@@ -186,29 +194,29 @@ export const constantRouterMap = [
title: "会员任务"
}
},
{
path: "/posmemberDetail",
component: _import("wechatmembers", "wechatTotalDetail"),
meta: {
title: "pos会员-详情",
channel:'posMember'
}
},
{
path: "/wechatmemberDetail",
component: _import("wechatmembers", "wechatTotalDetail"),
meta: {
title: "微信会员-详情",
channel:'wxMember'
}
},
{
path: "/wechatTotalDetail",
component: _import("wechatmembers", "wechatTotalDetail"),
meta: {
title: "微信总量-详情"
}
},
// {
// path: "/posmemberDetail",
// component: _import("wechatmembers", "wechatTotalDetail"),
// meta: {
// title: "pos会员-详情",
// channel:'posMember'
// }
// },
// {
// path: "/wechatmemberDetail",
// component: _import("wechatmembers", "wechatTotalDetail"),
// meta: {
// title: "微信会员-详情",
// channel:'wxMember'
// }
// },
// {
// path: "/wechatTotalDetail",
// component: _import("wechatmembers", "wechatTotalDetail"),
// meta: {
// title: "微信总量-详情"
// }
// },
{
path: "/integralDataPage",
component: _import("wechatmembers", "integralDataPage"),
......
......@@ -57,6 +57,7 @@ export function formatLongTime(timeStr, type) {
});
} else {
return timeStr.replace(/^(\d{4})(\d{2})(\d{2})$/g, function(match, p, p1, p2){
console.log(p, p1, p2);
return [p, p1, p2].join('-');
});
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
No preview for this file type
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