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