Commit ec0fa03a by Kyle_Li

update: 查看门店

parent ff36bbbc
...@@ -124,6 +124,7 @@ export default { ...@@ -124,6 +124,7 @@ export default {
}; };
}, },
created() { created() {
this.form = this.$route.query;
this.init(); this.init();
}, },
mounted() { mounted() {
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="text" @click="$router.push({ path: '/target-store', query: { tab: activeName, year: row.performanceYm, applicationId } })">查看门店</el-button> <el-button type="text" @click="$router.push({ path: '/target-store', query: { tab: activeName, performanceYm: row.performanceYm, applicationId } })">查看门店</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -64,7 +64,7 @@ export default { ...@@ -64,7 +64,7 @@ export default {
return { return {
haoban: {}, haoban: {},
tableData: [], tableData: [],
activeName: '1', activeName: '1', // 1业绩,2新增
search: { search: {
date: new Date().getFullYear() date: new Date().getFullYear()
}, },
...@@ -101,7 +101,7 @@ export default { ...@@ -101,7 +101,7 @@ export default {
const para = { const para = {
...that.haoban, ...that.haoban,
enterpriseId: that.brandId, enterpriseId: that.brandId,
perfromanceType: that.activeName, performanceType: that.activeName,
performanceYear: that.search.date performanceYear: that.search.date
}; };
getTargetList(para, { headers: { sign: that.brandId } }) getTargetList(para, { headers: { sign: that.brandId } })
......
...@@ -7,11 +7,7 @@ ...@@ -7,11 +7,7 @@
* @LastEditTime: 2020-11-09 10:40:34 * @LastEditTime: 2020-11-09 10:40:34
--> -->
<template> <template>
<div class="common-app-right" style="padding: 0" v-loading="loading"> <div class="common-app-right" v-loading="loading">
<el-tabs v-model="activeName" @tab-click="getData">
<el-tab-pane label="已设置指标门店" name="0"></el-tab-pane>
<el-tab-pane label="未设置指标门店" name="1"></el-tab-pane>
</el-tabs>
<div class="list-content"> <div class="list-content">
<div class="content-search"> <div class="content-search">
...@@ -25,24 +21,22 @@ ...@@ -25,24 +21,22 @@
@change="searchChange"> @change="searchChange">
</el-input> </el-input>
<el-select v-model="search.performanceYear" placeholder="选择年份" style="width: 100px" @change="searchChange"> <el-select v-model="search.performanceSubType" placeholder="全部指标类型" @change="searchChange">
<el-option v-for="item in yearList" :key="item" :label="item" :value="item"></el-option> <el-option label="业绩指标日权重" value="1"></el-option>
<el-option label="业绩指标日指标" value="2"></el-option>
</el-select> </el-select>
<span v-show="activeName === '0'"> <el-select v-model="search.flag" placeholder="全部状态" clearable @change="searchChange">
<el-select v-model="search.type" placeholder="全部指标类型" clearable @change="searchChange"> <el-option label="日指标已完善" value="0"></el-option>
<el-option label="业绩指标日权重" value="1"></el-option> <el-option label="日指标未完善" value="1"></el-option>
<el-option label="业绩指标日指标" value="2"></el-option> <el-option label="导购指标已完善" value="2"></el-option>
<el-option label="新增会员日权重" value="3"></el-option> <el-option label="导购指标未完善" value="3"></el-option>
<el-option label="新增会员日指标" value="4"></el-option> </el-select>
</el-select>
<el-select v-model="search.storeEdit" placeholder="全部编辑权限" clearable @change="searchChange">
<el-option label="店长可编辑" value="1"></el-option>
<el-option label="店长不可编辑" value="0"></el-option>
</el-select>
</span> <el-select v-model="search.storeEdit" placeholder="全部编辑权限" clearable @change="searchChange">
<el-option label="店长可编辑" value="1"></el-option>
<el-option label="店长不可编辑" value="0"></el-option>
</el-select>
<el-select v-model="search.storeType" style="width: 106px;margin-right: -1px" @change="storeChange"> <el-select v-model="search.storeType" style="width: 106px;margin-right: -1px" @change="storeChange">
<el-option label="门店分组" value="1"></el-option> <el-option label="门店分组" value="1"></el-option>
...@@ -63,25 +57,16 @@ ...@@ -63,25 +57,16 @@
</div> </div>
<el-select placeholder="操作" @change="batchOperation"> <el-select placeholder="批量操作" @change="batchOperation">
<el-option label="新增指标" :value="1" v-show="activeName === '0'"></el-option> <el-option label="完善日指标" :value="1"></el-option>
<el-option label="编辑指标" :value="2"></el-option>
<el-option label="修改编辑权限" :value="3" v-show="activeName === '0'"></el-option>
</el-select> </el-select>
</div> </div>
<div class="content-data" v-show="activeName === '1'"> <div class="content-data">
<div> <div>
<!-- <span class="color2">年业绩指标:¥ </span> <span class="color2">总业绩指标:¥ </span>
<span class="color1">100,000</span> <span class="color1">100,000</span>
<span class="color2">年新增会员指标:¥ </span>
<span class="color1">100,000</span> -->
</div> </div>
<span>
<el-checkbox v-model="search1.noPerformanceFlag" :true-label="1" :false-label="0" @change="searchChange">未设置业绩指标门店</el-checkbox>
<el-checkbox v-model="search1.noAddMemberFlag" :true-label="1" :false-label="0" @change="searchChange">未设置新增会员指标门店</el-checkbox>
</span>
</div> </div>
<el-table <el-table
...@@ -92,25 +77,44 @@ ...@@ -92,25 +77,44 @@
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="门店" show-overflow-tooltip> <el-table-column label="指标类型" show-overflow-tooltip>
<template slot-scope="{row}"> <template slot-scope="{row}">
<div>{{ row.storeName || '--' }}</div> {{ ['业绩', '新增会员'][row.performanceType - 1] }}
<div style="color: #909399;font-size:12px">{{ row.storeCode || '--' }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="年业绩指标" show-overflow-tooltip> <el-table-column label="门店名称" show-overflow-tooltip>
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ row.performanceYearValue ? `¥${row.performanceYearValue}` : '未设置' }} {{ row.storeName || '--' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="年新增会员指标" show-overflow-tooltip> <el-table-column label="业绩指标" show-overflow-tooltip>
<template slot="label">
{{ [ '业绩', '新增会员' ][tab - 1] }}指标
</template>
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ row.addMemberValue ? `¥${row.addMemberValue}` : '未设置' }} {{ row.perfromanceValue ? `¥${row.perfromanceValue}` : '--' }}
</template>
</el-table-column>
<el-table-column label="日指标" show-overflow-tooltip>
<template slot-scope="{row}">
<div :class="{
'state-point': true,
'state-point-success': row.dayFlag == 1,
'state-point-default': row.dayFlag == 0,
}">
{{ [ '未完善', '已完善' ][row.dayFlag] }}
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="编辑权限" show-overflow-tooltip> <el-table-column label="导购指标" show-overflow-tooltip>
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ [ '店长不可编辑', '店长可编辑' ][row.storeEdit] || '--' }} <div :class="{
'state-point': true,
'state-point-success': row.clerkFlag == 1,
'state-point-default': row.clerkFlag == 0,
}">
{{ [ '未完善', '已完善' ][row.clerkFlag] }}
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="更新时间" show-overflow-tooltip> <el-table-column label="更新时间" show-overflow-tooltip>
...@@ -126,9 +130,45 @@ ...@@ -126,9 +130,45 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="date" label="操作"> <el-table-column prop="date" label="操作" width="220">
<template> <template slot-scope="{row}">
<el-button type="text" @click="$router.push({ path: '/perfect-day-target' })">完善日指标</el-button> <el-button
type="text"
:disabled="row.dayFlag != 1"
@click="$router.push({
path: '/perfect-perfect-sale-target-target',
query: {
applicationId,
tab: haoban.performanceType,
performanceYm: haoban.performanceYm,
performanceSubType: search.performanceSubType,
performanceType: row.performanceType,
storeInfoId: row.storeInfoId,
storeName: row.storeName,
perfromanceValue: row.perfromanceValue,
flag: row.clerkFlag == 1
}
})">
{{ [ '完善', '查看' ][row.clerkFlag] }}导购指标
</el-button>
<el-button
type="text"
@click="$router.push({
path: '/perfect-day-target',
query: {
applicationId,
tab: haoban.performanceType,
performanceYm: haoban.performanceYm,
performanceSubType: search.performanceSubType,
performanceType: row.performanceType,
storeInfoId: row.storeInfoId,
storeName: row.storeName,
perfromanceValue: row.perfromanceValue,
flag: row.dayFlag == 1
}
})">
{{ [ '完善', '查看' ][row.dayFlag] }}日指标
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -153,7 +193,7 @@ ...@@ -153,7 +193,7 @@
import gicSelectGroupMult from '@/components/common/gic-select-group-mult.vue'; import gicSelectGroupMult from '@/components/common/gic-select-group-mult.vue';
import gicSelectTag from '@/components/common/gic-select-tag.vue'; import gicSelectTag from '@/components/common/gic-select-tag.vue';
import fetch from '@/api/target-manage-app.js'; import fetch from '@/api/target-manage-app.js';
const { getYearList, getStorePerformanceList, getNoStorePerformanceList } = fetch; const { getStorePerformanceDetail } = fetch;
export default { export default {
name: 'TargetStore', name: 'TargetStore',
components: { gicSelectGroupMult, gicSelectTag }, components: { gicSelectGroupMult, gicSelectTag },
...@@ -171,15 +211,11 @@ export default { ...@@ -171,15 +211,11 @@ export default {
search: { search: {
search: '', search: '',
performanceYear: new Date().getFullYear(), performanceSubType: '1',
type: '',
storeEdit: '', // 1店长可编辑,0店长不可编辑 storeEdit: '', // 1店长可编辑,0店长不可编辑
storeType: '1', // 1门店分组,2门店标签 storeType: '1', // 1门店分组,2门店标签
storeParam: '', storeParam: '',
}, flag: '',
search1: {
noPerformanceFlag: '0',
noAddMemberFlag: '0'
}, },
multipleSelection: [], multipleSelection: [],
...@@ -190,35 +226,37 @@ export default { ...@@ -190,35 +226,37 @@ export default {
pageSize: 20, pageSize: 20,
total: 0 total: 0
}, },
yearList: [], flagList: [
typeList: [ { dayFlag: 1, clerkFlag: 0 },
{ performanceType: 1, performanceSubType: 1 }, { dayFlag: 0, clerkFlag: 0 },
{ performanceType: 1, performanceSubType: 2 }, { dayFlag: 0, clerkFlag: 1 },
{ performanceType: 2, performanceSubType: 1 }, { dayFlag: 0, clerkFlag: 0 },
{ performanceType: 2, performanceSubType: 2 },
] ]
}; };
}, },
created() { created() {
const { tab, applicationId } = this.$route.query; const { tab, applicationId, performanceYm } = this.$route.query;
this.activeName = tab || '0'; // this.activeName = tab || '0';
this.applicationId = applicationId; this.applicationId = applicationId;
const { staffId, wxEnterpriseId } = JSON.parse(localStorage.getItem('haoBanUser')); const { staffId, wxEnterpriseId } = JSON.parse(localStorage.getItem('haoBanUser'));
this.haoban = { staffId, wxEnterpriseId }; this.haoban = { staffId, wxEnterpriseId, performanceType: tab, performanceYm };
// 修改面包屑
let bread = [ { name: '指标管理', path: '/target-list' }, { name: '查看门店' } ];
bread[0].path += `?applicationId=${applicationId}&tab=${tab}`;
this.$emit('change-nav', bread);
}, },
mounted() { mounted() {
const that = this; const that = this;
that.$emit('showTab', '/target-store'); that.$emit('showTab', '/target-list');
that.$emit('change-nav', [ { name: '指标管理', path: '/target-list' }, { name: '查看门店' } ]);
this.getData(); this.getData();
this.getYearList();
}, },
methods: { methods: {
getData() { getData() {
this.loading = true; this.loading = true;
const { storeType, storeParam, type } = this.search; const { storeType, storeParam, flag } = this.search;
let params = { let params = {
...this.search, ...this.search,
...this.haoban, ...this.haoban,
...@@ -226,20 +264,9 @@ export default { ...@@ -226,20 +264,9 @@ export default {
enterpriseId: this.brandId, enterpriseId: this.brandId,
storeType: storeParam ? storeType : '', storeType: storeParam ? storeType : '',
}; };
if (flag) params = { ...params, ...this.flagList[flag] }; // 状态
if (this.activeName === '0') { // 已设置 getStorePerformanceDetail(params, { headers: { sign: this.brandId } })
params = {
...params,
...this.typeList[type - 1]
};
} else if (this.activeName === '1') { // 未设置
params = {
...params,
...this.search1
};
}
[ getStorePerformanceList, getNoStorePerformanceList ][this.activeName](params, { headers: { sign: this.brandId } })
.then(res => { .then(res => {
const { result, totalCount } = res.result || {}; const { result, totalCount } = res.result || {};
this.tableData = result || []; this.tableData = result || [];
...@@ -285,12 +312,6 @@ export default { ...@@ -285,12 +312,6 @@ export default {
this.page.pageNum = val; this.page.pageNum = val;
this.getData(); this.getData();
}, },
// 获取年份
getYearList() {
getYearList('', { headers: { sign: this.brandId } }).then(res => {
this.yearList = res.result || [];
});
},
// 筛选条件变更 // 筛选条件变更
searchChange() { searchChange() {
this.handleCurrentChange(1); this.handleCurrentChange(1);
...@@ -331,6 +352,57 @@ export default { ...@@ -331,6 +352,57 @@ export default {
}; };
</script> </script>
<style> <style lang='less' scoped>
.list-content {
.el-input {
width: 180px;
margin-right: 10px;
}
.el-select {
width: 148px;
margin-right: 10px;
}
.el-date-picker {
margin-right: 10px;
}
}
// .el-select .el-input.is-focus .el-input__inner {
// z-index: 2;
// }
.content-search {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
.content-first {
display: flex;
// align-content: center;
}
.content-data {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
.color1 {
color: #303133;
font-size: 16px;
padding-right: 15px;
font-weight: 500;
}
.color2 {
position: relative;
color: #606266;
font-size: 14px;
font-weight: 400;
&:not(:first-of-type) {
padding-left: 16px;
&::before {
content: '|';
position: absolute;
top: 0;
left: 0;
color: #DCDFE6;
}
}
}
</style> </style>
\ No newline at end of file
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