From 4351e71d782741143a98f86f6648acd16689165f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 27 May 2022 19:48:02 +0800
Subject: [PATCH] Merge branch 'developer' into hive2.0
---
zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/achieveNewStatiostics.html | 373 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 373 insertions(+), 0 deletions(-)
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/achieveNewStatiostics.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/achieveNewStatiostics.html
new file mode 100644
index 0000000..286d33b
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/achieveNewStatiostics.html
@@ -0,0 +1,373 @@
+<!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>
\ No newline at end of file
--
Gitblit v1.9.1