Commit d4f770dc by 黑潮

Merge branch 'feature/销售线索2期' of http://115.159.76.241/marketing-web/marketing into feature/销售线索2期

parents 2636b03d c421ca44
......@@ -17,7 +17,12 @@
<!--转为树结构下钻-->
<div class="area_content">
<div class="tree">
<el-tree ref="treeList" :expand-on-click-node="false" highlight-current :props="defaultProps" @node-click="refreshLazyTree" :load="loadNode" lazy node-key="storeGroupId" :default-expanded-keys="allStoreId"></el-tree>
<el-tree ref="treeList" :expand-on-click-node="false" highlight-current :props="defaultProps" @node-click="refreshLazyTree" :load="loadNode" lazy node-key="storeGroupId" :default-expanded-keys="allStoreId">
<span class="node-label" v-if="data.storeGroupName.length <= 10" slot-scope="{ data }">{{ data.storeGroupName }}</span>
<el-tooltip effect="dark" :content="data.storeGroupName" placement="top" slot-scope="{ data }" v-else>
<span class="custom-tree-node">{{ data.storeGroupName }}</span>
</el-tooltip>
</el-tree>
</div>
<div class="map_area">
<div class="top">
......@@ -73,7 +78,8 @@ export default {
}
],
defaultProps: {
label: 'storeGroupName'
label: 'storeGroupName',
isLeaf: 'isLeaf'
},
tabsIndex: 0,
taskTabIndex: 0,
......@@ -348,6 +354,9 @@ export default {
let params = { level: node.level, storeGroupId: node.data ? node.data.storeGroupId : null };
if (node.level === 0) {
let allStore = await getGroupTree(params);
allStore.result.forEach(el => {
el.isLeaf = !el.child;
});
this.allStoreId.push(allStore.result[0].storeGroupId); // 设置默认展开所有门店的叶子节点
this.$nextTick(() => this.$refs.treeList.setCurrentKey(this.allStoreId[0])); // 设置树默认高亮结点
return resolve(allStore.result || []);
......@@ -358,6 +367,9 @@ export default {
this.getTableFirstData();
}
let otherArea = await getGroupTree(params);
otherArea.result.forEach(el => {
el.isLeaf = !el.child;
});
return resolve(otherArea.result || []);
},
// 点击表格映射到树结构
......@@ -517,12 +529,19 @@ export default {
display: flex;
border-top: 1px solid #dcdfe6;
.tree {
width: 243px;
padding-top: 20px;
width: 223px;
padding: 20px 20px 0 0;
border-right: 1px solid #dcdfe6;
/deep/ .el-tree-node__label {
.node-label {
font-family: PingFangSC-Regular, PingFang SC;
color: #303133;
}
.custom-tree-node {
font-family: PingFangSC-Regular, PingFang SC;
color: #303133;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
/deep/ .el-tree-node__expand-icon {
margin-left: 31px;
......
......@@ -4,7 +4,7 @@
<h2>卡券收益</h2>
<span>计划中的卡券,计划中卡券触达的人群使用该卡券消费的收益,包含已过计划收益有效期的数据</span>
</div>
<template v-if="tableData.length">
<template v-if="!tableData.length">
<div class="list">
<div class="list_left">
<div>
......@@ -19,7 +19,7 @@
</div>
<div>
<p>
使用人数<span> (使用率 {{ formatterRate((list.useMbrNum / list.touchMbrNum) * 100) }}</span>
使用人数<span> (使用率 {{ formatterRate((list.useMbrNum / list.getMbrNum) * 100) }}</span>
</p>
<p>{{ formatterNum(list.useMbrNum) }}</p>
</div>
......@@ -27,7 +27,7 @@
<div class="list_right">
<div>
<p>销售单数</p>
<p>{{ formatterNum(list.salesAmt) }}</p>
<p>{{ formatterNum(list.orderCnt) }}</p>
</div>
<div>
<p>销售单金额(元)</p>
......@@ -61,7 +61,7 @@
<div class="empty" v-else>
<div class="content">
<span class="icon iconfont">&#xe76e;</span>
<span>本计划未使用卡券营销</span>
<span class="none-tip">本计划未使用卡券营销</span>
</div>
</div>
</div>
......@@ -87,9 +87,9 @@ export default {
{ label: '领取人数', prop: 'getMbrNum', minWidth: '160', align: 'left', fixed: 'left', formatter: row => this.formatterNum(row.getMbrNum) },
{ label: '领取率', prop: 'drawRate', minWidth: '160', align: 'left', fixed: 'left', formatter: row => this.formatterRate((row.getMbrNum / row.touchMbrNum) * 100) },
{ label: '使用人数', prop: 'useMbrNum', minWidth: '160', align: 'left', fixed: 'left', formatter: row => this.formatterNum(row.useMbrNum) },
{ label: '使用率', prop: 'useRate', minWidth: '160', align: 'left', fixed: 'left', formatter: row => this.formatterRate((row.useMbrNum / row.touchMbrNum) * 100) },
{ label: '使用率', prop: 'useRate', minWidth: '160', align: 'left', fixed: 'left', formatter: row => this.formatterRate((row.useMbrNum / row.getMbrNum) * 100) },
{ label: '销售单数', prop: 'orderCnt', minWidth: '160', align: 'left', fixed: 'left', formatter: row => this.formatterNum(row.orderCnt) },
{ label: '销售单金额', prop: 'salesAmt', minWidth: '160', align: 'left', fixed: 'left', formatter: row => this.formatterNum(row.salesAmt) }
{ label: '销售单金额', prop: 'salesAmt', minWidth: '160', align: 'left', fixed: 'left', formatter: row => parseInt(row.salesAmt || 0).toLocaleString('zh', { minimumFractionDigits: 2 }) }
]
};
},
......@@ -226,6 +226,10 @@ export default {
font-size: 30px;
margin-right: 10px;
}
.none-tip {
color: #c0c4cc;
font-size: 14px;
}
}
}
}
......
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