|
@@ -84,14 +84,14 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</van-collapse-item>
|
|
</van-collapse-item>
|
|
|
- <!-- 色卡 -->
|
|
|
|
|
|
|
+ <!-- 色卡 销售员和销售部主管显示-->
|
|
|
<van-collapse-item name="4" v-if="empLevel == '2' || empLevel == '3'">
|
|
<van-collapse-item name="4" v-if="empLevel == '2' || empLevel == '3'">
|
|
|
<template #title>
|
|
<template #title>
|
|
|
<div class="itemHeader" @click.stop>
|
|
<div class="itemHeader" @click.stop>
|
|
|
<span class="itemTitle">{{ pantone.title }}</span>
|
|
<span class="itemTitle">{{ pantone.title }}</span>
|
|
|
<el-popover placement="right" trigger="click" popper-class="hintPopover">
|
|
<el-popover placement="right" trigger="click" popper-class="hintPopover">
|
|
|
<div class="popoverConten">
|
|
<div class="popoverConten">
|
|
|
- {{ pantone.tip }}
|
|
|
|
|
|
|
+ {{ pantone.pantoneData.tip }}
|
|
|
</div>
|
|
</div>
|
|
|
<div slot="reference" class="hintIconBox">
|
|
<div slot="reference" class="hintIconBox">
|
|
|
<img class="hintIcon" :src="hintIcon" />
|
|
<img class="hintIcon" :src="hintIcon" />
|
|
@@ -99,13 +99,69 @@
|
|
|
</el-popover>
|
|
</el-popover>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
+ <div class="reportContent">
|
|
|
|
|
+ <template v-if="empLevel == '3'">
|
|
|
|
|
+ <div v-for="(val, key, index) in pantone.pantoneData" :key="index">
|
|
|
|
|
+ <div class="title">{{ (val, key) }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- <div class="reportPantone">
|
|
|
|
|
+ <div class="firstItem">
|
|
|
|
|
+ <div class="left">
|
|
|
|
|
+ <div class="lebel">已领用</div>
|
|
|
|
|
+ <div class="value">{{ val.ywyylyNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="right">
|
|
|
|
|
+ <div class="lebel">已发放门店</div>
|
|
|
|
|
+ <div class="value">{{ val.ywyyffNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="secondItem">
|
|
|
|
|
+ <div class="left">
|
|
|
|
|
+ <div class="lebel">门店未签收</div>
|
|
|
|
|
+ <div class="value">{{ val.mdwqsNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="right">
|
|
|
|
|
+ <div class="lebel">门店未签收</div>
|
|
|
|
|
+ <div class="value" @click="pantoneClick">{{ val.wqsmdNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div> -->
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-if="empLevel == '2'">
|
|
|
|
|
+ <div v-for="(val, key, index) in pantone.pantoneData" :key="index">
|
|
|
|
|
+ <div class="title">{{ key }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="reportPantone">
|
|
|
|
|
+ <div class="firstItem">
|
|
|
|
|
+ <div class="left">
|
|
|
|
|
+ <div class="lebel">直发销售部数</div>
|
|
|
|
|
+ <div class="value">{{ val.zfxsbNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="right">
|
|
|
|
|
+ <div class="lebel">业务员已领用</div>
|
|
|
|
|
+ <div class="value">{{ val.ywyylyNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="secondItem">
|
|
|
|
|
+ <div class="left">
|
|
|
|
|
+ <div class="lebel">业务员已发放</div>
|
|
|
|
|
+ <div class="value">{{ val.ywyyffNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="right">
|
|
|
|
|
+ <div class="lebel">门店未签收</div>
|
|
|
|
|
+ <div class="value" @click="pantoneClick(val)">{{ val.wqsmdNum }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </div>
|
|
|
</van-collapse-item>
|
|
</van-collapse-item>
|
|
|
</van-collapse>
|
|
</van-collapse>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script>
|
|
<script>
|
|
|
-import { getReportTarget } from '@/api/index';
|
|
|
|
|
|
|
+import { getReportTarget, getReportMaterial } from '@/api/index';
|
|
|
import hintIcon from '@/assets/hintIcon.png';
|
|
import hintIcon from '@/assets/hintIcon.png';
|
|
|
import visitPage from './visitPage.vue';
|
|
import visitPage from './visitPage.vue';
|
|
|
import { mapState } from 'vuex';
|
|
import { mapState } from 'vuex';
|
|
@@ -307,7 +363,7 @@ export default {
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
- resData: {},
|
|
|
|
|
|
|
+ resData: null,
|
|
|
},
|
|
},
|
|
|
report: {
|
|
report: {
|
|
|
title: '',
|
|
title: '',
|
|
@@ -315,9 +371,10 @@ export default {
|
|
|
},
|
|
},
|
|
|
pantone: {
|
|
pantone: {
|
|
|
title: '色卡',
|
|
title: '色卡',
|
|
|
|
|
+ tip: '',
|
|
|
pantoneData: {},
|
|
pantoneData: {},
|
|
|
},
|
|
},
|
|
|
- pantoneData: [
|
|
|
|
|
|
|
+ pantoneItem: [
|
|
|
// 业务员
|
|
// 业务员
|
|
|
{
|
|
{
|
|
|
firstRowLLabel: '已领用',
|
|
firstRowLLabel: '已领用',
|
|
@@ -341,11 +398,10 @@ export default {
|
|
|
secondRowRProp: 'secondRowRProp',
|
|
secondRowRProp: 'secondRowRProp',
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
- pantoneData: null,
|
|
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
activated() {
|
|
activated() {
|
|
|
- debugger;
|
|
|
|
|
|
|
+ if (!this.userInfo) return;
|
|
|
this.empLevel = this.userInfo.empLevel;
|
|
this.empLevel = this.userInfo.empLevel;
|
|
|
// 获取拜访数据
|
|
// 获取拜访数据
|
|
|
this.getVisitCollapseData();
|
|
this.getVisitCollapseData();
|
|
@@ -379,9 +435,9 @@ export default {
|
|
|
visitRateThisMonth: '27.0%',
|
|
visitRateThisMonth: '27.0%',
|
|
|
},
|
|
},
|
|
|
};
|
|
};
|
|
|
- this.visitCollapse.collapseLosding = false;
|
|
|
|
|
- this.visitCollapse.tipsPopoverlabel = resData.reminderContent;
|
|
|
|
|
this.visitCollapse.resData = resData;
|
|
this.visitCollapse.resData = resData;
|
|
|
|
|
+ this.visitCollapse.tipsPopoverlabel = resData.reminderContent;
|
|
|
|
|
+ this.visitCollapse.collapseLosding = false;
|
|
|
},
|
|
},
|
|
|
getReportData() {
|
|
getReportData() {
|
|
|
if (this.empLevel == '1') {
|
|
if (this.empLevel == '1') {
|
|
@@ -402,7 +458,41 @@ export default {
|
|
|
this.report.reportData = res.data || {};
|
|
this.report.reportData = res.data || {};
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- getPantoneData() {},
|
|
|
|
|
|
|
+ getPantoneData() {
|
|
|
|
|
+ let resData = {
|
|
|
|
|
+ ColorCard1988: {
|
|
|
|
|
+ materialDataId: 141,
|
|
|
|
|
+ ywyylyNum: 64,
|
|
|
|
|
+ wqsmdNum: 0,
|
|
|
|
|
+ ywyyffNum: 64,
|
|
|
|
|
+ materialTypeId: 139,
|
|
|
|
|
+ deptId: 1105,
|
|
|
|
|
+ materialDataName: '1988色卡',
|
|
|
|
|
+ zfxsbNum: 64,
|
|
|
|
|
+ mdwqsNum: 0,
|
|
|
|
|
+ materialCode: 'WL20240904063',
|
|
|
|
|
+ materialTypeName: '直发类色卡',
|
|
|
|
|
+ },
|
|
|
|
|
+ ColorCard388: {
|
|
|
|
|
+ materialDataId: 140,
|
|
|
|
|
+ ywyylyNum: 174,
|
|
|
|
|
+ wqsmdNum: 2,
|
|
|
|
|
+ ywyyffNum: 173,
|
|
|
|
|
+ materialTypeId: 139,
|
|
|
|
|
+ deptId: 1105,
|
|
|
|
|
+ materialDataName: '趋势经典色卡384',
|
|
|
|
|
+ zfxsbNum: 279,
|
|
|
|
|
+ mdwqsNum: 5,
|
|
|
|
|
+ materialCode: 'WL20240904062',
|
|
|
|
|
+ materialTypeName: '直发类色卡',
|
|
|
|
|
+ },
|
|
|
|
|
+ tip: '2024年色卡累计发放情况',
|
|
|
|
|
+ };
|
|
|
|
|
+ this.pantone.tip = resData.tip;
|
|
|
|
|
+ this.pantone.pantoneData = resData;
|
|
|
|
|
+ delete this.pantone.pantoneData.tip;
|
|
|
|
|
+ // getReportMaterial().then((res)=>{})
|
|
|
|
|
+ },
|
|
|
// 汇报下属详情-点击
|
|
// 汇报下属详情-点击
|
|
|
reportClick(type) {
|
|
reportClick(type) {
|
|
|
if (type == 'fillingRate') {
|
|
if (type == 'fillingRate') {
|
|
@@ -413,6 +503,19 @@ export default {
|
|
|
this.$router.push({ path: 'subordinateHistoricalDaily' });
|
|
this.$router.push({ path: 'subordinateHistoricalDaily' });
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ // 色卡查看详情
|
|
|
|
|
+ pantoneClick(val) {
|
|
|
|
|
+ // 业务员进入未拜访列表
|
|
|
|
|
+ if (this.empLevel == '3') {
|
|
|
|
|
+ this.$router.push({ path: '/noVIsit' });
|
|
|
|
|
+ } else if (this.empLevel == '2') {
|
|
|
|
|
+ // 销售部主管
|
|
|
|
|
+ this.$router.push({
|
|
|
|
|
+ path: '/hintDetail',
|
|
|
|
|
+ query: { fromType: 'pantone', materialCode: val.materialCode }, // materialCode物料来源
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
},
|
|
},
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|