Commit ec0fa03a by Kyle_Li

update: 查看门店

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