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