|   | 
| <!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-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="客流"> | 
|                 <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="实操业绩"> | 
|                 <el-table-column prop="orderType" label="项目->消耗产品" width="130"></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="现金业绩"> | 
|                 <el-table-column prop="payMethods" label="消费类型"></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="orderType" 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 : [], | 
|             form : { | 
|                 timeRange : '', | 
|                 vipQueryKey : '', | 
|                 beaultId : '' | 
|             }, | 
|             page : { | 
|                 currentPage : 1, | 
|                 size : 10, | 
|                 total : 0 | 
|             } | 
|         }, | 
|         created : function() { | 
|             this.queryTableData(); | 
|             this.queryAchieveUsers(); | 
|         }, | 
|         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; | 
|                     } | 
|                 }); | 
|             }, | 
|             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(); | 
|             }, | 
|             handleSizeChange(val) { | 
|                 this.page.size = val; | 
|                 this.queryTableData(); | 
|             }, | 
|             handleCurrentChange(val) { | 
|                 this.page.currentPage = val; | 
|                 this.queryTableData(); | 
|             }, | 
|         } | 
|     }) | 
| </script> | 
| </body> | 
| </html> |