Commit 140ae901 by 陈羽

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

parent 2aaae491
......@@ -11,13 +11,20 @@
import salesleadsTaskinfo from '@/components/review/salesleads-task-info.vue';
-->
<template>
<el-dialog title="完成详情" :visible.sync="dialogVisible" width="600px">
<el-dialog title="完成详情" :visible.sync="dialogVisible" width="600px" @close="close">
<div class="">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
<el-form-item label="完成时间" prop="appName"> </el-form-item>
<el-form-item label="完成方式" prop="appId"> </el-form-item>
<el-form-item label="备注" prop="title"> </el-form-item>
<el-form-item label="图片" prop="title"> </el-form-item>
<el-form :model="form" :rules="rules" ref="form" label-width="120px" class="demo-form">
<el-form-item label="完成时间" prop="overdueTime"> {{ form.finishTime | formatTimeStamp }}</el-form-item>
<el-form-item label="完成方式" prop="touchTypes"> {{ form.touchFinishTypeName }}</el-form-item>
<el-form-item label="备注" prop="finishRemark"> {{ form.finishRemark }} </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>
</div>
</el-dialog>
......@@ -37,19 +44,24 @@ export default {
return {
dialogVisible: true,
form: {
appName: '',
appId: '',
title: ''
finishTime: null,
finishRemark: '',
touchFinishTypeName: '',
remarkImgUrl: []
}
};
},
methods: {},
methods: {
close() {
this.$emit('close');
}
},
watch: {
item(newData) {
const that = this;
if (Object.keys(newData).length) {
that.$nextTick(() => {
that.ruleForm = JSON.parse(JSON.stringify(newData));
that.form = JSON.parse(JSON.stringify(newData));
});
}
}
......@@ -58,10 +70,34 @@ export default {
const that = this;
if (Object.keys(that.item).length) {
that.$nextTick(() => {
that.ruleForm = JSON.parse(JSON.stringify(that.item));
that.form = JSON.parse(JSON.stringify(that.item));
});
}
}
};
</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 {
url: '/enterpriseSet?/adminList',
parentCode: null,
project: 'office'
},
{
menuCode: null,
rightName: '销售线索',
url: '/salesleads?/storeList',
parentCode: null,
project: 'office'
}
// {
// menuCode: null,
......
......@@ -161,11 +161,6 @@ export const constantRouterMap = [
component: _import('salesleads', 'taskList'),
},
{
path: '/taskDetail/:id',
name: '计划视图',
component: _import('salesleads', 'taskDetail')
},
{
path: '/salesleadsSet',
name: '销售线索设置',
component: _import('salesleads', 'salesleadsSet')
......
......@@ -23,7 +23,10 @@
</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 class="m-t-20">
<el-table class="select-table" ref="multipleTable" v-loading="loading" :data="tableData" tooltip-effect="dark" :style="{ width: '100%', minHeight: tableH }">
......@@ -64,9 +67,9 @@
</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="currentPage" :page-sizes="[20, 40, 60, 80]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </dm-pagination>
</div> -->
<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="8"> </dm-pagination>
</div>
</div>
</div>
</div>
......@@ -106,7 +109,8 @@ export default {
pageSize: 20,
total: 0,
tableData: [],
addShow: false
addShow: false,
activeBrand: ''
};
},
computed: {},
......
......@@ -42,9 +42,9 @@
</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 class="block common-wrap__page text-right m-t-24" v-if="tableData.length">
<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>
......@@ -140,6 +140,7 @@ export default {
let resData = res.data;
if (resData.errorCode == 1 && resData.result) {
that.tableData = resData.result.result || [];
this.total = resData.result.totalCount || 0;
return false;
}
errMsg.errorMsg(resData);
......
......@@ -314,3 +314,27 @@ export default {
}
}
</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 {
}
},
mounted() {
this.$emit('showTab', 3);
this.getDeatil();
document.documentElement.style.backgroundColor = '#f0f2f5';
},
......
......@@ -21,10 +21,25 @@
<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>
<el-popover placement="bottom-start" width="550" trigger="click" popper-class="salesleads-popover">
<div class="tips-content">
<p>展示所选期间内的导购线索,以线索为主体,不以时间为主体。</p>
<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 class="table-condition-search m-t-20">
<el-select class="w-103" v-model="pageParams.taskStatus" slot="prepend" placeholder="所有完成情况" @change="reFetch">
......@@ -32,7 +47,7 @@
</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 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">
<template slot-scope="scope">{{ scope.row.taskTitle || '--' }}</template>
</el-table-column>
......@@ -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>
</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>
......@@ -114,6 +129,7 @@ export default {
return {
headDefault,
bgHeight: window.screen.availHeight - 298 + 'px',
loading: false,
// 面包屑参数
navpath: [
{
......@@ -246,8 +262,39 @@ export default {
});
});
},
showDetail() {
this.confirmDetailShow = true;
showDetail(item) {
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: {},
......@@ -255,6 +302,11 @@ export default {
const that = this;
that.getFilterOpts();
that.getTableList();
if (that.$route.query.tab) {
that.$emit('showTab', 2);
} else {
that.$emit('showTab', 1);
}
document.documentElement.style.backgroundColor = '#f0f2f5';
},
destroyed() {
......
......@@ -21,12 +21,25 @@
<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>
<el-popover placement="bottom-start" title="标题" width="200" trigger="click" content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。">
<div slot="reference" class="el-alert__content">查看指标说明</div>
</el-popover>
</div>
<el-popover placement="bottom-start" width="550" trigger="click" popper-class="salesleads-popover">
<div class="tips-content">
<p>展示所选期间内的导购线索,以线索为主体,不以时间为主体。</p>
<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 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>
......@@ -193,13 +206,22 @@ export default {
});
},
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: {},
mounted() {
// const that = this;
const that = this;
// that.getTableList();
if (this.$route.query.gicTaskId) {
that.$emit('showTab', 2);
} else {
that.$emit('showTab', 1);
}
document.documentElement.style.backgroundColor = '#f0f2f5';
},
destroyed() {
......
......@@ -21,10 +21,25 @@
<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>
<el-popover placement="bottom-start" width="550" trigger="click" popper-class="salesleads-popover">
<div class="tips-content">
<p>展示所选期间内的导购线索,以线索为主体,不以时间为主体。</p>
<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 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>
......@@ -184,13 +199,14 @@ export default {
});
},
showDetail(item) {
this.$router.push(`taskDetail/${item.gicTaskId}`);
this.$router.push(`storeList?gicTaskId=${item.gicTaskId}`);
}
},
watch: {},
mounted() {
// const that = this;
const that = this;
// that.getTableList();
that.$emit('showTab', 2);
document.documentElement.style.backgroundColor = '#f0f2f5';
},
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