Commit 140ae901 by 陈羽

update: 绑定门店列表添加分页

parent 2aaae491
...@@ -11,13 +11,20 @@ ...@@ -11,13 +11,20 @@
import salesleadsTaskinfo from '@/components/review/salesleads-task-info.vue'; import salesleadsTaskinfo from '@/components/review/salesleads-task-info.vue';
--> -->
<template> <template>
<el-dialog title="完成详情" :visible.sync="dialogVisible" width="600px"> <el-dialog title="完成详情" :visible.sync="dialogVisible" width="600px" @close="close">
<div class=""> <div class="">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm"> <el-form :model="form" :rules="rules" ref="form" label-width="120px" class="demo-form">
<el-form-item label="完成时间" prop="appName"> </el-form-item> <el-form-item label="完成时间" prop="overdueTime"> {{ form.finishTime | formatTimeStamp }}</el-form-item>
<el-form-item label="完成方式" prop="appId"> </el-form-item> <el-form-item label="完成方式" prop="touchTypes"> {{ form.touchFinishTypeName }}</el-form-item>
<el-form-item label="备注" prop="title"> </el-form-item> <el-form-item label="备注" prop="finishRemark"> {{ form.finishRemark }} </el-form-item>
<el-form-item label="图片" prop="title"> </el-form-item> <el-form-item label="图片" prop="imgUrl">
<template v-for="item in form.remarkImgUrl">
<el-popover placement="right-start" :open-delay="200" width="300" trigger="hover" :key="item">
<img style="display:block;width:100%" :src="item" alt="" />
<el-image slot="reference" style="width: 40px; height: 40px" :src="item" fit="cover"></el-image>
</el-popover>
</template>
</el-form-item>
</el-form> </el-form>
</div> </div>
</el-dialog> </el-dialog>
...@@ -37,19 +44,24 @@ export default { ...@@ -37,19 +44,24 @@ export default {
return { return {
dialogVisible: true, dialogVisible: true,
form: { form: {
appName: '', finishTime: null,
appId: '', finishRemark: '',
title: '' touchFinishTypeName: '',
remarkImgUrl: []
} }
}; };
}, },
methods: {}, methods: {
close() {
this.$emit('close');
}
},
watch: { watch: {
item(newData) { item(newData) {
const that = this; const that = this;
if (Object.keys(newData).length) { if (Object.keys(newData).length) {
that.$nextTick(() => { that.$nextTick(() => {
that.ruleForm = JSON.parse(JSON.stringify(newData)); that.form = JSON.parse(JSON.stringify(newData));
}); });
} }
} }
...@@ -58,10 +70,34 @@ export default { ...@@ -58,10 +70,34 @@ export default {
const that = this; const that = this;
if (Object.keys(that.item).length) { if (Object.keys(that.item).length) {
that.$nextTick(() => { that.$nextTick(() => {
that.ruleForm = JSON.parse(JSON.stringify(that.item)); that.form = JSON.parse(JSON.stringify(that.item));
}); });
} }
} }
}; };
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
>>> .el-dialog__header {
padding: 19px 28px;
}
>>> .el-dialog__body {
padding-top: 10px;
}
>>> .el-form-item {
margin-bottom: 0;
.el-form-item__label {
line-height: 30px;
}
.el-form-item__content {
font-size: 14px;
font-weight: 400;
color: #303133;
line-height: 30px;
}
.el-popover__reference {
margin-top: 10px;
margin-right: 10px;
border-radius: 4px;
}
}
</style>
...@@ -91,13 +91,6 @@ export default { ...@@ -91,13 +91,6 @@ export default {
url: '/enterpriseSet?/adminList', url: '/enterpriseSet?/adminList',
parentCode: null, parentCode: null,
project: 'office' project: 'office'
},
{
menuCode: null,
rightName: '销售线索',
url: '/salesleads?/storeList',
parentCode: null,
project: 'office'
} }
// { // {
// menuCode: null, // menuCode: null,
......
...@@ -161,11 +161,6 @@ export const constantRouterMap = [ ...@@ -161,11 +161,6 @@ export const constantRouterMap = [
component: _import('salesleads', 'taskList'), component: _import('salesleads', 'taskList'),
}, },
{ {
path: '/taskDetail/:id',
name: '计划视图',
component: _import('salesleads', 'taskDetail')
},
{
path: '/salesleadsSet', path: '/salesleadsSet',
name: '销售线索设置', name: '销售线索设置',
component: _import('salesleads', 'salesleadsSet') component: _import('salesleads', 'salesleadsSet')
......
...@@ -23,7 +23,10 @@ ...@@ -23,7 +23,10 @@
</div> </div>
</div> </div>
</div> </div>
<div><span class="color-909399 font-13 m-r-19">最多授权 10 个商户</span><el-button v-if="tableData.length < 10" type="primary" @click="AddAuthMerchant">新建授权</el-button></div> <div>
<span class="color-909399 font-13 m-r-19">最多授权 10 个商户</span>
<el-button v-if="tableData.length < 10" type="primary" @click="AddAuthMerchant">新建授权</el-button>
</div>
</div> </div>
<div class="m-t-20"> <div class="m-t-20">
<el-table class="select-table" ref="multipleTable" v-loading="loading" :data="tableData" tooltip-effect="dark" :style="{ width: '100%', minHeight: tableH }"> <el-table class="select-table" ref="multipleTable" v-loading="loading" :data="tableData" tooltip-effect="dark" :style="{ width: '100%', minHeight: tableH }">
...@@ -64,9 +67,9 @@ ...@@ -64,9 +67,9 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <div class="block common-wrap__page text-right m-t-24" v-if="tableData.length != 0"> <div class="block common-wrap__page text-right m-t-24" v-if="tableData.length != 0">
<dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[20, 40, 60, 80]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </dm-pagination> <dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[20, 40, 60, 80]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="8"> </dm-pagination>
</div> --> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -106,7 +109,8 @@ export default { ...@@ -106,7 +109,8 @@ export default {
pageSize: 20, pageSize: 20,
total: 0, total: 0,
tableData: [], tableData: [],
addShow: false addShow: false,
activeBrand: ''
}; };
}, },
computed: {}, computed: {},
......
...@@ -42,9 +42,9 @@ ...@@ -42,9 +42,9 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <div class="block common-wrap__page text-right m-t-24" v-if="tableData.length != 0"> <div class="block common-wrap__page text-right m-t-24" v-if="tableData.length">
<dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum" :page-sizes="[20, 40, 60, 80]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </dm-pagination> <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageParams.pageNum" :page-sizes="[10, 20, 30]" :page-size="pageParams.pageSize" layout="total, sizes, prev, pager, next" :total="total"> </el-pagination>
</div> --> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -140,6 +140,7 @@ export default { ...@@ -140,6 +140,7 @@ export default {
let resData = res.data; let resData = res.data;
if (resData.errorCode == 1 && resData.result) { if (resData.errorCode == 1 && resData.result) {
that.tableData = resData.result.result || []; that.tableData = resData.result.result || [];
this.total = resData.result.totalCount || 0;
return false; return false;
} }
errMsg.errorMsg(resData); errMsg.errorMsg(resData);
......
...@@ -314,3 +314,27 @@ export default { ...@@ -314,3 +314,27 @@ export default {
} }
} }
</style> </style>
<style lang="scss">
.salesleads-popover {
padding: 14px !important;
.m-b-10 {
margin-bottom: 10px;
}
p {
font-size: 14px;
font-weight: 400;
color: #303133;
line-height: 20px;
}
.temp {
color: #909399;
margin-bottom: 4px;
}
.m-l--6 {
margin-left: -6px;
}
.m-b-14 {
margin-bottom: 14px;
}
}
</style>
...@@ -138,6 +138,7 @@ export default { ...@@ -138,6 +138,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.$emit('showTab', 3);
this.getDeatil(); this.getDeatil();
document.documentElement.style.backgroundColor = '#f0f2f5'; document.documentElement.style.backgroundColor = '#f0f2f5';
}, },
......
...@@ -21,10 +21,25 @@ ...@@ -21,10 +21,25 @@
<span class="el-alert__title color-303133 font-13">筛选时间:2020-12-31至2021-12-31</span> <span class="el-alert__title color-303133 font-13">筛选时间:2020-12-31至2021-12-31</span>
</div> </div>
</div> </div>
<div role="tips" class="tips flex flex-align-center"> <el-popover placement="bottom-start" width="550" trigger="click" popper-class="salesleads-popover">
<i class="el-icon-warning-outline font-14 color-2f54eb"></i> <div class="tips-content">
<div class="el-alert__content">查看指标说明</div> <p>展示所选期间内的导购线索,以线索为主体,不以时间为主体。</p>
</div> <p class="temp">如 所选时间为 20210401~20210403,则显示期间相关的导购线索数据。</p>
<p class="m-b-14">导购线索:计划中触达到门店导购端的都归入导购线索,包括话务、企微任务。</p>
<p class="m-l--6">【 任务完成率 】:</p>
<p class="m-b-10">导购任务完成数 / 任务总数,任务完成数不含放弃数。</p>
<p class="m-l--6">【 触达转化收益 】:</p>
<p>
通过导购线索触达,且触达的会员在触达效益计算有效期内前来消费的人数。<br />
多个导购线索任务触达的,转化只记在首个触达任务上;收益只计销售单,<br />
不看退货单和换货单;金额是应付还是实付看ERP传入的值。数据更新频率:1天1次
</p>
</div>
<div slot="reference" role="tips" class="tips flex flex-align-center">
<i class="el-icon-warning-outline font-14 color-2f54eb"></i>
<div class="el-alert__content">查看指标说明</div>
</div>
</el-popover>
</div> </div>
<div class="table-condition-search m-t-20"> <div class="table-condition-search m-t-20">
<el-select class="w-103" v-model="pageParams.taskStatus" slot="prepend" placeholder="所有完成情况" @change="reFetch"> <el-select class="w-103" v-model="pageParams.taskStatus" slot="prepend" placeholder="所有完成情况" @change="reFetch">
...@@ -32,7 +47,7 @@ ...@@ -32,7 +47,7 @@
</el-select> </el-select>
</div> </div>
<div class="m-t-20"> <div class="m-t-20">
<el-table class="select-table" ref="multipleTable" :data="tableData" tooltip-effect="dark" :style="{ width: '100%', minHeight: tableH }"> <el-table v-loading="loading" class="select-table" ref="multipleTable" :data="tableData" tooltip-effect="dark" :style="{ width: '100%', minHeight: tableH }">
<el-table-column label="任务标题" show-overflow-tooltip width="87"> <el-table-column label="任务标题" show-overflow-tooltip width="87">
<template slot-scope="scope">{{ scope.row.taskTitle || '--' }}</template> <template slot-scope="scope">{{ scope.row.taskTitle || '--' }}</template>
</el-table-column> </el-table-column>
...@@ -92,7 +107,7 @@ ...@@ -92,7 +107,7 @@
<dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum" :page-sizes="[20, 40, 60, 80]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </dm-pagination> <dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum" :page-sizes="[20, 40, 60, 80]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </dm-pagination>
</div> </div>
</div> </div>
<salesleads-taskinfo :item="confirmDetail" v-if="confirmDetailShow"></salesleads-taskinfo> <salesleads-taskinfo :item="confirmDetail" v-if="confirmDetailShow" @close="close"></salesleads-taskinfo>
</div> </div>
</div> </div>
</div> </div>
...@@ -114,6 +129,7 @@ export default { ...@@ -114,6 +129,7 @@ export default {
return { return {
headDefault, headDefault,
bgHeight: window.screen.availHeight - 298 + 'px', bgHeight: window.screen.availHeight - 298 + 'px',
loading: false,
// 面包屑参数 // 面包屑参数
navpath: [ navpath: [
{ {
...@@ -246,8 +262,39 @@ export default { ...@@ -246,8 +262,39 @@ export default {
}); });
}); });
}, },
showDetail() { showDetail(item) {
this.confirmDetailShow = true; console.log(item);
const that = this;
that.loading = true;
const para = {
enterpriseId: 'ff8080815dacd3a2015dacd3ef5c0000',
taskId: 'b72417e8bb89481bb841c1f02e47602b'
};
getRequest('/haoban-task-manage-web/market/clue/web/task-finish-info', para)
.then(res => {
let resData = res.data;
if (resData.errorCode == 1 && resData.result) {
that.confirmDetail = { ...resData.result };
if (resData.result.remarkImgUrl) {
that.confirmDetail.remarkImgUrl = resData.result.remarkImgUrl.split(',');
}
this.confirmDetailShow = true;
} else {
errMsg.errorMsg(resData);
}
that.loading = false;
})
.catch(function(error) {
that.loading = false;
that.$message.error({
duration: 1000,
message: error.message
});
});
},
close() {
this.confirmDetailShow = false;
this.confirmDetail = {};
} }
}, },
watch: {}, watch: {},
...@@ -255,6 +302,11 @@ export default { ...@@ -255,6 +302,11 @@ export default {
const that = this; const that = this;
that.getFilterOpts(); that.getFilterOpts();
that.getTableList(); that.getTableList();
if (that.$route.query.tab) {
that.$emit('showTab', 2);
} else {
that.$emit('showTab', 1);
}
document.documentElement.style.backgroundColor = '#f0f2f5'; document.documentElement.style.backgroundColor = '#f0f2f5';
}, },
destroyed() { destroyed() {
......
...@@ -21,12 +21,25 @@ ...@@ -21,12 +21,25 @@
<span class="el-alert__title color-303133 font-13">仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31</span> <span class="el-alert__title color-303133 font-13">仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31</span>
</div> </div>
</div> </div>
<div role="tips" class="tips flex flex-align-center"> <el-popover placement="bottom-start" width="550" trigger="click" popper-class="salesleads-popover">
<i class="el-icon-warning-outline font-14 color-2f54eb"></i> <div class="tips-content">
<el-popover placement="bottom-start" title="标题" width="200" trigger="click" content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"> <p>展示所选期间内的导购线索,以线索为主体,不以时间为主体。</p>
<div slot="reference" class="el-alert__content">查看指标说明</div> <p class="temp">如 所选时间为 20210401~20210403,则显示期间相关的导购线索数据。</p>
</el-popover> <p class="m-b-14">导购线索:计划中触达到门店导购端的都归入导购线索,包括话务、企微任务。</p>
</div> <p class="m-l--6">【 任务完成率 】:</p>
<p class="m-b-10">导购任务完成数 / 任务总数,任务完成数不含放弃数。</p>
<p class="m-l--6">【 触达转化收益 】:</p>
<p>
通过导购线索触达,且触达的会员在触达效益计算有效期内前来消费的人数。<br />
多个导购线索任务触达的,转化只记在首个触达任务上;收益只计销售单,<br />
不看退货单和换货单;金额是应付还是实付看ERP传入的值。数据更新频率:1天1次
</p>
</div>
<div slot="reference" role="tips" class="tips flex flex-align-center">
<i class="el-icon-warning-outline font-14 color-2f54eb"></i>
<div class="el-alert__content">查看指标说明</div>
</div>
</el-popover>
</div> </div>
<div class="table-condition-search m-t-20"> <div class="table-condition-search m-t-20">
<el-input placeholder="请输入门店名称" prefix-icon="el-icon-search" v-model="pageParams.storeName" class="w-260" @change="reFetch" clearable @clear="clearInput"> </el-input> <el-input placeholder="请输入门店名称" prefix-icon="el-icon-search" v-model="pageParams.storeName" class="w-260" @change="reFetch" clearable @clear="clearInput"> </el-input>
...@@ -193,13 +206,22 @@ export default { ...@@ -193,13 +206,22 @@ export default {
}); });
}, },
showDetail(item) { showDetail(item) {
this.$router.push(`storeDetail/${item.storeId}`); if (this.$route.query.gicTaskId) {
this.$router.push(`storeDetail/${item.storeId}?tab=2`);
} else {
this.$router.push(`storeDetail/${item.storeId}`);
}
} }
}, },
watch: {}, watch: {},
mounted() { mounted() {
// const that = this; const that = this;
// that.getTableList(); // that.getTableList();
if (this.$route.query.gicTaskId) {
that.$emit('showTab', 2);
} else {
that.$emit('showTab', 1);
}
document.documentElement.style.backgroundColor = '#f0f2f5'; document.documentElement.style.backgroundColor = '#f0f2f5';
}, },
destroyed() { destroyed() {
......
<!--
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2019-03-20 14:36:37
* @LastEditors: 无尘
* @LastEditTime: 2020-08-26 10:05:42
-->
<template>
<div class="my-customer-wrap common-set-wrap">
<!-- <nav-crumb :navpath="navpath"> </nav-crumb> -->
<div class="right-content">
<div class="right-box" :style="{ 'min-height': bgHeight }">
<div class="apps-content flex" :style="{ 'min-height': bgHeight }">
<div class="apps-content-right">
<div class="overstore-body">
<div class="overstore-tip">
<div role="alert" class="el-alert el-alert--info flex flex-align-start ">
<i class="el-alert__icon el-icon-warning font-12 color-2f54eb"></i>
<div class="el-alert__content">
<span class="el-alert__title color-303133 font-13">筛选时间:2020-12-31至2021-12-31</span>
</div>
</div>
<div role="tips" class="tips flex flex-align-center">
<i class="el-icon-warning-outline font-14 color-2f54eb"></i>
<div class="el-alert__content">查看指标说明</div>
</div>
</div>
<div class="table-condition-search m-t-20">
<el-select class="w-103" v-model="pageParams.taskStatus" slot="prepend" placeholder="所有完成情况" @change="reFetch">
<el-option label="已完成" :value="2"></el-option>
<el-option label="未完成" :value="1"></el-option>
</el-select>
</div>
<div class="m-t-20">
<el-table class="select-table" ref="multipleTable" :data="tableData" tooltip-effect="dark" :style="{ width: '100%', minHeight: tableH }">
<el-table-column label="任务标题" show-overflow-tooltip width="87">
<template slot-scope="scope">{{ scope.row.taskTitle || '--' }}</template>
</el-table-column>
<el-table-column prop="" label="指派对象" width="176">
<template slot-scope="scope">
<div class="flex flex-align-center personal-info">
<el-image :src="scope.row.clerkImgUrl || headDefault" fit="cover"></el-image>
<div>
<p class="color-303133 line-20">{{ scope.row.clerkName || '--' }}</p>
<p class="color-909399 line-20">{{ scope.row.clerkPhoneNum || '--' }}</p>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="" label="会员">
<template slot-scope="scope">
<div class="flex flex-align-center personal-info">
<el-image :src="scope.row.memberImgUrl || headDefault" fit="cover"></el-image>
<div>
<p class="color-303133 line-20">{{ scope.row.memberName || '--' }}</p>
<p class="color-909399 line-20">{{ scope.row.memberCardNum || '--' }}</p>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="" label="创建时间" width="114">
<template slot-scope="scope">
<div class="color-606266 line-20">{{ scope.row.createTime | timeStampToYmd }}</div>
<div class="color-606266 line-20">{{ scope.row.createTime | timeStampToHms }}</div>
</template>
</el-table-column>
<el-table-column prop="" label="逾期期限" width="114">
<template slot-scope="scope">
<div class="color-606266 line-20">{{ scope.row.overdueTime | timeStampToYmd }}</div>
<div class="color-606266 line-20">{{ scope.row.overdueTime | timeStampToHms }}</div>
</template>
</el-table-column>
<el-table-column prop="" label="逾期情况" width="102">
<template slot-scope="scope"><span class="point" :style="'background:' + overdueStyle[scope.row.overdueStatus] + ';'"></span>{{ scope.row.overdueStatus === 1 ? '未逾期' : scope.row.overdueStatus === 2 ? '已逾期' : '' }}</template>
</el-table-column>
<el-table-column prop="" label="完成状态" width="102">
<template slot-scope="scope"><span class="point" :style="'background:' + taskStyle[scope.row.taskStatus] + ';'"></span>{{ scope.row.taskStatus === 1 ? '未完成' : scope.row.taskStatus === 2 ? '已完成' : '' }}</template>
</el-table-column>
<el-table-column prop="" label="完成详情">
<template slot-scope="scope">
<el-button type="text" size="small" @click="showDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
<!-- <el-table-column prop="" label="操作" width="150">
<template slot-scope="scope">
<el-button type="text" size="small" @click="showDetail(scope.row)">预览</el-button>
<el-button type="text" size="small" @click="showDetail(scope.row)">删除</el-button>
</template>
</el-table-column> -->
</el-table>
<div class="block common-wrap__page text-right m-t-24" v-if="tableData.length != 0">
<dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum" :page-sizes="[20, 40, 60, 80]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </dm-pagination>
</div>
</div>
<salesleads-taskinfo :item="confirmDetail" v-if="confirmDetailShow"></salesleads-taskinfo>
</div>
</div>
</div>
</div>
</div>
<!-- <vue-gic-footer></vue-gic-footer> -->
</div>
</template>
<script>
import salesleadsTaskinfo from '@/components/review/salesleads-task-info.vue';
import headDefault from '@/assets/head_default.jpg';
import navCrumb from '@/components/nav/nav.vue';
import { getRequest } from '@/api/api';
import errMsg from '@/common/js/error';
import { _debounce } from '@/common/js/public';
export default {
name: 'taskDetail',
data() {
return {
headDefault,
bgHeight: window.screen.availHeight - 298 + 'px',
// 面包屑参数
navpath: [
{
name: '首页',
path: '/index'
},
{
name: '销售线索',
path: ''
}
],
pageParams: {
storeId: this.$route.params.id,
pageNum: 1,
pageSize: 20,
overdueStatus: 1
},
// 分页参数
total: 0,
tableData: [
{
taskId: '12', // 任务id
taskTitle: 'kasjhdk', // 任务名称
clerkId: 'sdfsdf', // 导购id
clerkName: 'sdfsdf', // 导购名字
clerkImgUrl: '', // 导购头像
clerkPhoneNum: '13634565656', // 导购手机号
memberId: 'sdfsdf', // 会员id
memberName: 'sdfsdf', // 会员名称
memberImgUrl: '', // 会员头像
memberCardNum: '3332345665654332039', // 会员卡号
createTime: '2021-03-24T15:19:00', // 创建时间
overdueTime: '2021-03-24T15:19:00', // 逾期时间
overdueStatus: 1, // 逾期状态
taskStatus: 2 // 完成状态
}
],
overdueStyle: ['none', '#2F54EB', '#F5222D'],
taskStyle: ['none', '#F5222D', '#33AF4A'],
confirmDetailShow: false,
confirmDetail: {},
pickerOptions: {
disabledDate: time => {
const end = new Date();
return time.getTime() < end.getTime() - 3600 * 1000 * 24 * 365 || time.getTime() > end.getTime();
}
}
};
},
computed: {},
methods: {
/**
* 路由跳转
*/
changeRoute(path) {
this.$router.push(path);
},
/**
* 筛选
*/
reFetch: _debounce(function(e, value) {
const that = this;
that.pageParams.pageNum = 1;
that.getTableList();
}, 500),
/**
* 分页---页码变化
* @param {Number} val
*/
handleSizeChange(val) {
const that = this;
that.pageParams.pageNum = 1;
that.pageParams.pageSize = val;
that.getTableList();
},
/**
* 分页---当前页变化
* @param {Number} val
*/
handleCurrentChange(val) {
const that = this;
that.pageParams.pageNum = val;
that.getTableList();
},
/**
* 获取列表数据
*/
getTableList(val) {
const that = this;
let para = { ...that.pageParams };
if (para.date) {
para.startTime = para.date[0];
para.endTime = para.date[1];
delete para.date;
}
getRequest('/haoban-manage3-web/store-full-list', para)
.then(res => {
let resData = res.data;
if (resData.errorCode == 1) {
that.tableData = resData.result.list || [];
that.total = resData.result.total;
} else {
errMsg.errorMsg(resData);
}
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
},
showDetail() {
this.confirmDetailShow = true;
}
},
watch: {},
mounted() {
// const that = this;
// that.getTableList();
document.documentElement.style.backgroundColor = '#f0f2f5';
},
destroyed() {
document.documentElement.style.backgroundColor = '#fff';
},
components: {
navCrumb,
salesleadsTaskinfo
}
};
</script>
<style type="text/scss" lang="scss" scoped>
.bg-82C5FF {
background: #82c5ff;
}
.color-508CEE {
color: #508cee;
}
.color-FF585C {
color: #ff585c;
}
.line-h-18 {
line-height: 18px;
}
.tooltip-text {
width: 100%;
white-space: pre-wrap;
word-break: break-all;
}
.w-260 {
width: 260px;
}
.el-alert--info {
background: rgba(240, 245, 255, 1);
border-radius: 2px;
border: 1px solid rgba(133, 165, 255, 1);
-webkit-box-align: flex-start;
-webkit-align-items: flex-start;
-ms-flex-align: flex-start;
align-items: flex-start;
.el-alert__icon {
font-size: 12px;
}
}
.my-customer-wrap {
height: 100%;
}
.right-content {
/*width: 100%;*/
padding: 0;
min-height: calc(100% - 160px);
.right-box {
background: #fff;
min-height: 500px;
padding: 0px;
.apps-content {
.apps-content-right {
width: 100%;
padding: 20px;
background: #fff;
.overstore-body {
background: #fff;
.overstore-tip {
display: flex;
justify-content: flex-start;
align-items: center;
.el-alert--info {
align-items: center;
width: 291px;
height: 32px;
padding: 0 0 0 17px;
margin-right: 17px;
.el-alert__content {
padding-left: 0;
}
}
.tips {
cursor: pointer;
.el-alert__content {
font-size: 13px;
font-weight: 400;
color: #2f54eb;
line-height: 1;
}
}
}
}
.daily-set-wrap {
height: 100%;
background: #fff;
}
.app-detail-wrap {
height: 100%;
background: #fff;
}
.common-set-wrap {
height: 100%;
background: #fff;
}
}
}
}
}
.personal-info {
.el-image {
width: 40px;
height: 40px;
margin-right: 10px;
}
}
.point {
display: inline-block;
width: 6px;
height: 6px;
vertical-align: top;
margin-top: 8px;
border-radius: 100%;
margin-right: 5px;
}
</style>
<style lang="sass"></style>
...@@ -21,10 +21,25 @@ ...@@ -21,10 +21,25 @@
<span class="el-alert__title color-303133 font-13">仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31</span> <span class="el-alert__title color-303133 font-13">仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31</span>
</div> </div>
</div> </div>
<div role="tips" class="tips flex flex-align-center"> <el-popover placement="bottom-start" width="550" trigger="click" popper-class="salesleads-popover">
<i class="el-icon-warning-outline font-14 color-2f54eb"></i> <div class="tips-content">
<div class="el-alert__content">查看指标说明</div> <p>展示所选期间内的导购线索,以线索为主体,不以时间为主体。</p>
</div> <p class="temp">如 所选时间为 20210401~20210403,则显示期间相关的导购线索数据。</p>
<p class="m-b-14">导购线索:计划中触达到门店导购端的都归入导购线索,包括话务、企微任务。</p>
<p class="m-l--6">【 任务完成率 】:</p>
<p class="m-b-10">导购任务完成数 / 任务总数,任务完成数不含放弃数。</p>
<p class="m-l--6">【 触达转化收益 】:</p>
<p>
通过导购线索触达,且触达的会员在触达效益计算有效期内前来消费的人数。<br />
多个导购线索任务触达的,转化只记在首个触达任务上;收益只计销售单,<br />
不看退货单和换货单;金额是应付还是实付看ERP传入的值。数据更新频率:1天1次
</p>
</div>
<div slot="reference" role="tips" class="tips flex flex-align-center">
<i class="el-icon-warning-outline font-14 color-2f54eb"></i>
<div class="el-alert__content">查看指标说明</div>
</div>
</el-popover>
</div> </div>
<div class="table-condition-search m-t-20"> <div class="table-condition-search m-t-20">
<el-input placeholder="请输入计划名称" prefix-icon="el-icon-search" v-model="pageParams.cluePlanName" class="w-260" @change="reFetch" clearable @clear="clearInput"> </el-input> <el-input placeholder="请输入计划名称" prefix-icon="el-icon-search" v-model="pageParams.cluePlanName" class="w-260" @change="reFetch" clearable @clear="clearInput"> </el-input>
...@@ -184,13 +199,14 @@ export default { ...@@ -184,13 +199,14 @@ export default {
}); });
}, },
showDetail(item) { showDetail(item) {
this.$router.push(`taskDetail/${item.gicTaskId}`); this.$router.push(`storeList?gicTaskId=${item.gicTaskId}`);
} }
}, },
watch: {}, watch: {},
mounted() { mounted() {
// const that = this; const that = this;
// that.getTableList(); // that.getTableList();
that.$emit('showTab', 2);
document.documentElement.style.backgroundColor = '#f0f2f5'; document.documentElement.style.backgroundColor = '#f0f2f5';
}, },
destroyed() { destroyed() {
......
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