<!DOCTYPE HTML>
|
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
|
<head>
|
<meta charset="utf-8">
|
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
<LINK rel="Bookmark" href="../images/favicon.ico">
|
<!-- 本框架基本脚本和样式 -->
|
<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
|
<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
|
<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
|
<title></title>
|
<style>
|
.panel-body{
|
overflow: hidden;
|
}
|
.buttonPanel{
|
background: #ffffff;
|
padding: 10px 10px ;
|
margin: 0px 0px 10px 0px;
|
}
|
.rowPanel{
|
background: #ffffff;
|
padding: 0px 10px ;
|
padding-top: 10px;
|
margin: 0px 0px 10px 0px;
|
}
|
.paginationStyle{
|
background: #ffffff;
|
padding: 10px 10px;
|
margin: 0px 0px 10px 0px;
|
text-align: right;
|
}
|
</style>
|
</head>
|
<body>
|
<div class="panel-body" id="app">
|
|
<el-row class="buttonPanel">
|
<el-button @click="exportExcel" type="primary" >导出</el-button>
|
</el-row>
|
|
<el-row class="rowPanel" >
|
<el-form ref="form" :model="form" inline >
|
|
<el-form-item label="业绩规则" >
|
<el-select v-model="form.achieveRuleId" filterable placeholder="请选择业绩规则">
|
<el-option
|
v-for="item in achieveRulsList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="员工姓名" >
|
<el-input v-model="form.staffName"></el-input>
|
</el-form-item>
|
|
|
<el-form-item label="统计门店" >
|
<el-select v-model="form.shopId" placeholder="请选择">
|
<el-option
|
v-for="item in shopList"
|
:key="item.shopShortName"
|
:label="item.shopShortName"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
|
|
<el-form-item label="订单类型" >
|
<el-select v-model="form.orderType" placeholder="请选择">
|
<el-option
|
v-for="item in orderTypeList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="统计时间" prop="datetimeArr">
|
<el-date-picker
|
v-model="form.datetimeArr"
|
type="daterange"
|
range-separator="至" format="yyyy-MM-dd HH:mm"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期">
|
</el-date-picker>
|
</el-form-item>
|
|
<el-button type="primary" @click="search" >搜索</el-button>
|
<el-button @click="resetForm('form')">重置</el-button>
|
</el-form>
|
</el-row>
|
|
<el-row class="table-style" >
|
|
<el-table id="proj" :data="table.rows" :height="height" stripe @sort-change="sortChange">
|
<el-table-column
|
sortable="custom"
|
prop="ruleName"
|
label="规则名称"
|
width="180">
|
</el-table-column>
|
<el-table-column
|
prop="shopName"
|
label="门店名称"
|
show-overflow-tooltip
|
width="240">
|
</el-table-column>
|
<el-table-column
|
prop="guwen"
|
label="业绩归属人"
|
show-overflow-tooltip
|
width="180">
|
</el-table-column>
|
<el-table-column
|
prop="createBy"
|
label="业绩创建人"
|
show-overflow-tooltip
|
width="180">
|
</el-table-column>
|
<el-table-column
|
sortable="custom"
|
prop="zkTotal"
|
label="订单金额">
|
</el-table-column>
|
<el-table-column
|
sortable="custom"
|
prop="goodsCash"
|
label="现金">
|
</el-table-column>
|
<el-table-column
|
sortable="custom"
|
prop="cardCash"
|
label="划扣">
|
</el-table-column>
|
<el-table-column
|
sortable="custom"
|
prop="hisConsume"
|
label="本金消耗">
|
</el-table-column>
|
<el-table-column
|
sortable="custom"
|
prop="freeConsume"
|
label="赠送消耗">
|
</el-table-column>
|
<el-table-column
|
sortable="custom"
|
prop="projPercentage"
|
label="服务提成">
|
</el-table-column>
|
<el-table-column
|
sortable="custom"
|
prop="numberOfPeople"
|
label="人头">
|
</el-table-column>
|
|
<el-table-column
|
sortable="custom"
|
prop="projNum"
|
label="项目个数">
|
</el-table-column>
|
|
<el-table-column
|
sortable="custom"
|
prop="projTime"
|
label="服务时间">
|
</el-table-column>
|
|
<el-table-column
|
sortable="custom"
|
prop="orderType"
|
label="订单类型">
|
</el-table-column>
|
|
</el-table>
|
</el-row>
|
<el-row class="paginationStyle" >
|
<el-pagination background
|
@size-change="changePageSize"
|
@current-change="changeCurrentPage"
|
:current-page="table.currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="table.pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="table.total">
|
</el-pagination>
|
</el-row>
|
|
</div>
|
</body>
|
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
|
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
|
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
|
<script type="text/javascript" th:inline="javascript">
|
|
var vue = new Vue({
|
el: '#app',
|
data: {
|
table:{
|
rows:[],
|
total:0,
|
pageSize:10,
|
currentPage:1,
|
},
|
form:{
|
achieveRuleId:null,
|
staffName:null,
|
shopId:null,
|
orderType:'',
|
order:'',
|
sort:'',
|
beginTime:'',
|
endTime:'',
|
},
|
height:'calc(100vh - 240px)',
|
|
//提成规则
|
achieveRulsList:[],
|
//业绩用户列表
|
userList: [],
|
shopList:[{id:0,shopShortName:'全部'}],
|
|
orderTypeList:[
|
{value:'',label:'全部'},
|
{value:'订单',label:'订单'},
|
{value:'服务单',label:'服务单'},
|
|
],
|
},
|
created: function () {
|
let _this=this;
|
//获取业绩用户列表
|
AjaxProxy.requst({
|
app: _this,
|
url: basePath + '/admin/shopAll',
|
callback: function (data) {
|
_this.userList = data.rows;
|
}
|
});
|
AjaxProxy.requst({
|
app:_this,
|
url:basePath+"/admin/shopInfo/findAll",
|
callback:function (data) {
|
data.rows.forEach(shop=>{
|
_this.shopList.push(shop);
|
});
|
}
|
|
})
|
this.getAchieveRule();
|
this.loadData();
|
window.addEventListener("keydown", this.keydown);
|
},
|
methods: {
|
changePageSize(val) {
|
this.table.pageSize = val;
|
this.loadData();
|
},
|
changeCurrentPage(val) {
|
this.table.currentPage = val;
|
this.loadData();
|
},
|
resetForm(formName) {
|
this.$refs[formName].resetFields();
|
this.form={
|
achieveRuleId:null,
|
staffName:null,
|
shopId:null,
|
orderType:'',
|
order:'',
|
sort:'',
|
beginTime:'',
|
endTime:'',
|
};
|
},
|
sortChange:function (column){
|
if(column.order){
|
if(column.order.indexOf("desc")){
|
this.form.order="desc";
|
}else{
|
this.form.order="asc";
|
}
|
this.form.sort=column.prop;
|
this.loadData();
|
}
|
},
|
loadData:function(){
|
let _this = this;
|
let data=_this.getRequestParam();
|
data.pageSize=_this.table.pageSize;
|
data.pageNum=_this.table.currentPage;
|
AjaxProxy.requst({
|
app: _this,
|
data:data,
|
url: basePath + '/admin/achieve/achieveNewStatistics',
|
callback: function (data) {
|
_this.table.rows = data.rows;
|
_this.table.total=data.total;
|
}
|
});
|
},
|
|
/**
|
* 获取规则
|
*/
|
getAchieveRule(){
|
let _this = this;
|
AjaxProxy.requst({
|
app: _this,
|
data: {pageNum:1,pageSize:1000},
|
url: basePath + "/admin/achieveRule/selectList",
|
callback: function (data) {
|
_this.achieveRulsList=data.rows;
|
}
|
});
|
},
|
|
getRequestParam(){
|
let _this = this;
|
return {
|
achieveRuleId:_this.form.achieveRuleId,
|
staffName:_this.form.staffName,
|
shopId:_this.form.shopId,
|
orderType:_this.form.orderType,
|
beginTime:_this.form.datetimeArr?moment(_this.form.datetimeArr[0]).format("YYYY-MM-DD HH:mm"):'',
|
endTime:_this.form.datetimeArr?moment(_this.form.datetimeArr[1]).format("YYYY-MM-DD HH:mm"):'',
|
order:_this.form.order,
|
sort:_this.form.sort,
|
}
|
},
|
search:function(){
|
this.table.currentPage=1;
|
this.loadData();
|
},
|
keydown(evt){
|
if(evt.keyCode==13) {
|
this.search();
|
}
|
},
|
|
//导出
|
exportExcel(){
|
var reqParam = this.getRequestParam();
|
reqParam.beginTimeStr = reqParam.beginTime;
|
reqParam.endTimeStr = reqParam.endTime;
|
reqParam.beginTime = null;
|
reqParam.endTime = null;
|
var param = MTools.jsonToUrlParam(reqParam);
|
console.log(param);
|
window.location.href=basePath+"/admin/achieve/exportAchieveNewStatisticsExcel?"+param;
|
}
|
|
}
|
});
|
|
|
</script>
|
</body>
|
</html>
|