|
<!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>
|
<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/moment.min.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"/>
|
<script type="text/javascript" th:src="@{/js/function/public.js}"></script>
|
</head>
|
<style>
|
.table-style {
|
margin: 20px 0;
|
padding: 20px 10px;
|
border: 1px solid #DCDFE6;
|
background-color: white;
|
}
|
.search-form {
|
background-color: white;
|
padding-top: 10px;
|
padding-left: 20px;
|
padding-bottom: 10px;
|
}
|
</style>
|
<body>
|
<div id="app" style="">
|
<el-row class="search-form">
|
<el-form ref="form" :model="form" inline>
|
<el-form-item label="日期范围">
|
<el-date-picker v-model="form.timeRange"
|
type="datetimerange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期">
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="业绩归属人">
|
<el-select v-model="form.beaultId" placeholder="请选择">
|
<el-option v-for="item in achieveUsers"
|
:key="item.suId"
|
:label="item.suName"
|
:value="item.suId"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="会员">
|
<el-input v-model="form.vipQueryKey"></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.id"
|
:label="item.shopName"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-button type="primary" @click="search" >搜索</el-button>
|
<el-button @click="resetForm('form')">重置</el-button>
|
<!-- <el-button type="warning" @click="exportExcel">导出</el-button>-->
|
</el-form>
|
</el-row>
|
<el-row class="table-style">
|
<el-table :data="tableData" style="width: 100%">
|
<el-table-column type="index" width="30" fixed="left"></el-table-column>
|
<el-table-column prop="datatime" width="150" label="时间" fixed="left"></el-table-column>
|
<el-table-column prop="beautyName" label="美疗师" fixed="left"></el-table-column>
|
<el-table-column prop="vipName" label="客户" fixed="left"></el-table-column>
|
<el-table-column prop="isAppoint" label="是否指定客" width="100">
|
<template slot-scope="scope">
|
<span v-if="scope.row.isAppoint ==1 ">是</span>
|
<span v-else>否</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="客流" align="center">
|
<el-table-column prop="orderCnt" label="是否会员">
|
<template slot-scope="scope">
|
<span v-if="scope.row.orderCnt > 0">是</span>
|
<span v-else>否</span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="arrivalWay" label="到店途径"></el-table-column>
|
<el-table-column prop="arriveCnt" label="当月到店次数" width="120"></el-table-column>
|
</el-table-column>
|
<el-table-column label="实操业绩" align="center">
|
<el-table-column prop="projInfo" label="项目->消耗产品" width="230"></el-table-column>
|
<el-table-column prop="projCnt" label="项目数量"></el-table-column>
|
<el-table-column prop="ticheng" label="手工费"></el-table-column>
|
<el-table-column prop="consume" label="耗卡"></el-table-column>
|
</el-table-column>
|
<el-table-column label="现金业绩" align="center">
|
<el-table-column prop="payMethods" label="消费类型" width="200"></el-table-column>
|
<el-table-column prop="orderType" label="特色项目"></el-table-column>
|
<el-table-column prop="teamPay" label="团购销售"></el-table-column>
|
<el-table-column prop="tcAndProjCash" label="卡项销售"></el-table-column>
|
<el-table-column prop="productCash" label="产品销售"></el-table-column>
|
<el-table-column prop="cardCash" label="会员充值"></el-table-column>
|
<el-table-column prop="cashPay" label="总业绩"></el-table-column>
|
<el-table-column prop="cardPay" label="划卡"></el-table-column>
|
</el-table-column>
|
</el-table>
|
<el-row style="margin-top: 10px;">
|
<el-pagination
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page="page.currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="page.size"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="page.total">
|
</el-pagination>
|
</el-row>
|
</el-row>
|
</div>
|
<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">
|
var vue = new Vue({
|
el : "#app",
|
data : {
|
tableData : [],
|
shopList : [],
|
form : {
|
timeRange : '',
|
vipQueryKey : '',
|
beaultId : '',
|
shopId : ''
|
},
|
page : {
|
currentPage : 1,
|
size : 10,
|
total : 0
|
}
|
},
|
created : function() {
|
this.queryTableData();
|
},
|
methods : {
|
queryTableData() {
|
let _this = this;
|
let params = {};
|
let page = _this.page;
|
let form = _this.form;
|
|
if (form.timeRange) {
|
params.beginTime = form.timeRange?moment(form.timeRange[0]).format("YYYY-MM-DD HH:mm"):'';
|
params.endTime = form.timeRange?moment(form.timeRange[1]).format("YYYY-MM-DD HH:mm"):'';
|
}
|
params.vipQueryKey=form.vipQueryKey;
|
params.beaultId=form.beaultId;
|
params.limit = page.size;
|
params.offset = (page.currentPage - 1) * page.size;
|
AjaxProxy.requst({
|
app: _this,
|
data: params,
|
url: basePath + "/admin/achieve/findDailyBeautyList",
|
callback: function (loj) {
|
_this.tableData = loj.rows;
|
_this.page.total = loj.total;
|
|
_this.queryAchieveUsers();
|
_this.queryShops();
|
}
|
});
|
},
|
queryAchieveUsers() {
|
let _this = this;
|
AjaxProxy.requst({
|
app: _this,
|
url: basePath + '/admin/getShopStaffByRoleName',
|
callback: function (data) {
|
_this.achieveUsers = data.rows;
|
}
|
});
|
},
|
resetForm(formName) {
|
// this.$refs[formName].resetFields();
|
this.form = {
|
timeRange : '',
|
vipQueryKey : '',
|
beaultId : ''
|
}
|
},
|
search() {
|
this.queryTableData();
|
},
|
queryShops() {
|
let _this = this;
|
AjaxProxy.requst({
|
app: _this,
|
url: basePath + '/admin/shopInfo/findAllWithPermi',
|
callback: function (data) {
|
_this.shopList = data.rows;
|
}
|
});
|
},
|
handleSizeChange(val) {
|
this.page.size = val;
|
this.queryTableData();
|
},
|
handleCurrentChange(val) {
|
this.page.currentPage = val;
|
this.queryTableData();
|
},
|
}
|
})
|
</script>
|
</body>
|
</html>
|