From 68defbe491894e01c4402922de33c39633fca091 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 29 Mar 2022 14:25:54 +0800
Subject: [PATCH] 系统名称
---
zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html | 518 ++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 311 insertions(+), 207 deletions(-)
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
index cb72dd9..e1eed9a 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
@@ -2,219 +2,323 @@
<!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/plugin/jquery-2.1.4.min.js}"></script>
-<script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
-
-</head>
-<body class="gray-bg">
-
-
- <div class="ibox-content">
- <!-- 搜索框部分start -->
- <form class="form-inline" id="serchform">
- <div class="row mb-10">
- <div class="col-sm-8">
- <button onclick="myGrid.serchData()" type="button" class="btn btn-info btn-sm"><i class="fa fa-search" ></i> 搜索</button>
- <button onclick="myGrid.resetForm()" type="button" class="btn btn-default btn-sm"><i class="fa fa-refresh " ></i> 重置</button>
- <button matrix:btn="ygyjbb-exportExcel" onclick="exportExcel()" type="button" class="btn btn-default btn-sm"><i class="fa fa-download" ></i> 导出</button>
- </div>
- </div>
- <div class="form-group mr-20">
- <label >选择年月</label> <select
- class="form-control" name="year" id="select_year">
- <option value="">年份</option>
- <option value="2010">2010</option>
- <option value="2011">2011</option>
- <option value="2012">2012</option>
- <option value="2013">2013</option>
- <option value="2014">2014</option>
- <option value="2015">2015</option>
- <option value="2016">2016</option>
- <option value="2017">2017</option>
- <option value="2018">2018</option>
- <option value="2019">2019</option>
- <option value="2020">2020</option>
- <option value="2021">2021</option>
- </select> <select class="form-control" name="month" id="select_month">
- <option value="01">1</option>
- <option value="02">2</option>
- <option value="03">3</option>
- <option value="04">4</option>
- <option value="05">5</option>
- <option value="06">6</option>
- <option value="07">7</option>
- <option value="08">8</option>
- <option value="09">9</option>
- <option value="10">10</option>
- <option value="11">11</option>
- <option value="12">12</option>
- </select>
- <select class="form-control" name="day" id="select_day">
- <option value="">日</option>
- <th:block th:each="i:${#numbers.sequence(1, 31)}" >
- <option th:value="${i }" th:text="${i }"></option>
- </th:block>
- </select>
- </div>
- <div class="form-group mr-20">
- <label>日期范围</label>
- <input name="beginTime" type="text" class="form-control datetimepicker" id="beginTime">-
- <input name="endTime" type="text" class="form-control datetimepicker" id="endTime">
- </div>
- </form>
-
-
- <table id="mgrid">
- <thead>
- <tr>
- <th data-formatter="MGrid.indexfn" data-align="center"
- data-width="30px" data-footer-formatter="footCountTitle">序号</th>
- <th data-field="datatime">时间</th>
- <th data-field="orderType">订单类型</th>
- <th data-field="orderNo" data-formatter="buildOpenDetail" >订单编号</th>
- <th data-field="levelName">会员级别</th>
- <th data-field="vipName">姓名</th>
- <th data-field="proName">项目名称</th>
- <th data-field="zkTotal" data-footer-formatter="countColumn">总现金业绩
- <i data-toggle="tooltip" data-placement="top" title="总现金业绩=售卡+项目+产品" class="fa fa-question-circle"></i>
- </th>
-
- <th data-field="cardCash" data-footer-formatter="countColumn" >售卡业绩
- <i data-toggle="tooltip" data-placement="top" title="售卡业绩:现金购买充值卡,套餐,充值的收款金额" class="fa fa-question-circle"></i>
- </th>
-
- <th data-field="projCash" data-footer-formatter="countColumn">项目业绩
- <i data-toggle="tooltip" data-placement="top" title="项目业绩:现金购买单个项目的业绩" class="fa fa-question-circle"></i>
- </th>
-
- <th data-field="goodsCash" data-footer-formatter="countColumn">产品业绩
- <i data-toggle="tooltip" data-placement="top" title="产品业绩:现金购买产品的业绩" class="fa fa-question-circle"></i>
- </th>
-
- <th data-field="consume" data-footer-formatter="countColumn">余额划扣业绩
- <i data-toggle="tooltip" data-placement="top" title="余额划扣业绩:从客户的充值卡余额中划扣消费的金额" class="fa fa-question-circle"></i>
- </th>
-
- <th data-field="hisConsume" data-footer-formatter="countColumn">本金消耗
- <i data-toggle="tooltip" data-placement="top" title="消耗金额:客户做服务时划扣的本金" class="fa fa-question-circle"></i>
- </th>
- <th data-field="freeConsume" data-footer-formatter="countColumn">赠送消耗
- <i data-toggle="tooltip" data-placement="top" title="赠送消耗:客户做服务时划扣的赠送金额" class="fa fa-question-circle"></i>
- </th>
- <th data-field="projPercentage" data-footer-formatter="countColumn">服务提成
- <i data-toggle="tooltip" data-placement="top" title="服务提成:为美疗师手动设置的项目服务提成" class="fa fa-question-circle"></i>
- </th>
- <th data-field="guwen">顾问</th>
- <th data-field="meiliao">美疗师</th>
- <th data-field="numberOfPeople" data-footer-formatter="countColumn">人头</th>
- <th data-field="projNum" data-footer-formatter="countColumn">项目个数</th>
- <th data-field="projTime" data-footer-formatter="countColumn">项目时间</th>
- <th data-field="shopName">门店</th>
-
- </tr>
- </thead>
- </table>
- </div>
-
- <script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+ <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>
- <script type="text/javascript">
- var myGrid;
- var initParam = {
- format : "yyyy-mm-dd hh:ii", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss"
- minView: "hour", //"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour"
+</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-select v-model="form.year" style="width:120px;" placeholder="请选择年份">
+ <el-option v-for="item in years"
+ :key="item"
+ :label="item"
+ :value="item"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-select v-model="form.month" style="width:120px;" placeholder="请选择月份">
+ <el-option v-for="item in months"
+ :key="item"
+ :label="item"
+ :value="item"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-select v-model="form.day" style="width:120px;" placeholder="请选择日">
+ <el-option v-for="item in days"
+ :key="item"
+ :label="item"
+ :value="item"></el-option>
+ </el-select>
+ </el-form-item>
+ <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="业绩规则" prop="achieveRuleId">
+ <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.vipQueryKey"></el-input>
+ </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-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"></el-table-column>
+ <el-table-column prop="datatime" width="150" label="时间"></el-table-column>
+ <el-table-column prop="orderNo" width="180" label="订单编号">
+ <template slot-scope="scope">
+ <el-link @click="jumpOrder(scope.row.orderType, scope.row.orderNo)" type="primary">{{scope.row.orderNo}}</el-link>
+ </template>
+ </el-table-column>
+ <el-table-column prop="orderType" label="订单类型"></el-table-column>
+ <el-table-column prop="vipName" label="会员姓名"></el-table-column>
+ <el-table-column prop="proName" label="产品" width="200"></el-table-column>
+ <el-table-column prop="achieveRuleName" label="业绩规则" width="200"></el-table-column>
+ <el-table-column prop="cateName" label="产品分类"></el-table-column>
+ <el-table-column prop="zkTotal" label="订单金额"></el-table-column>
+ <el-table-column prop="goodsCash" label="现金"></el-table-column>
+ <el-table-column prop="cardCash" label="划扣"></el-table-column>
+ <!-- <el-table-column prop="goodsCash" label="订单业绩"></el-table-column>-->
+ <el-table-column prop="meiliao" label="员工"></el-table-column>
+ <el-table-column v-for="(item, index) in customColumns" width="120" :key="index" :label="item.value">
+ <template slot-scope="scope">
+ <span v-if="item.value == scope.row.achieveType">{{scope.row.goodsCash}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="hisConsume" label="本金消耗"></el-table-column>
+ <el-table-column prop="freeConsume" label="赠送消耗"></el-table-column>
+ <el-table-column prop="projPercentage" label="服务提成"></el-table-column>
+ <el-table-column prop="numberOfPeople" label="人头"></el-table-column>
+ <el-table-column prop="projNum" label="项目个数"></el-table-column>
+ <el-table-column prop="projTime" label="服务时间"></el-table-column>
+ <el-table-column prop="guwen" label="操作人"></el-table-column>
+ <el-table-column prop="shopName" label="门店"></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" th:inline="javascript">
+ var vue = new Vue({
+ el : "#app",
+ data : {
+ tableData : [],
+ customColumns : [],
+ achieveRulsList : [],
+ shopList : [],
+ achieveUsers : [],
+ years : [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022],
+ months : ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
+ days : [],
+ form : {
+ year : '',
+ month : '',
+ day : '',
+ timeRange : '',
+ vipQueryKey : '',
+ beaultId : '',
+ achieveRuleId : '',
+ shopId : ''
+ },
+ page : {
+ currentPage : 1,
+ size : 10,
+ total : 0
}
- MTools.ininDatetimepicker(initParam);
- //限制结束时间不小于开始时间
- MTools.limitStartEndTime({});
-
- var date = new Date();
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- var year_options = "";
- for (var i = 9; i > 0; i--) {
- year_options += "<option value='" + (year - i) + "'>" + (year - i)
- + "</option>";
- }
- year_options += "<option value='"+year+"' selected='selected'>" + year
- + "</option>";
- $("#select_year").html(year_options);
- $("#select_month").find("option").each(function(row) {
- var option_month = $(this).val();
- if (month == option_month) {
- $(this).attr("selected", true);
- }
- });
+ },
+ created : function() {
+ this.initDays();
+ this.queryCustomColumns();
+ this.queryShops();
+ this.queryAchieveUsers();
+ this.getAchieveRule();
+ },
+ methods : {
+ queryTableData () {
- function buildOpenDetail(value, row, index){
- var html = [];
- if(row.orderType=='服务单'){
- html[0] = '<a onClick="fnPublci.showServiceOrder(1 , \'' + value +'\')" class="text-primary " >'+value+'</a>'
- }else{
- html[0] = '<a onClick="fnPublci.showOrder(1 , \'' + value +'\')" class="text-primary " >'+value+'</a>'
- }
+ let _this = this;
+ let form = _this.form;
+ let page = _this.page;
+ let params = {};
+ params.year=form.year;
+ params.achieveRuleId=form.achieveRuleId;
+ params.month=form.month;
+ params.year=form.year;
+ params.day=form.day;
+ params.vipQueryKey=form.vipQueryKey;
+ params.beaultId=form.beaultId;
+ params.shopId=form.shopId;
+ params.limit = page.size;
+ params.offset = (page.currentPage - 1) * page.size;
- return html.join("");
- }
-
-
-
-
- $(function() {
- MTools.autoFullSelect();
- myGrid = MGrid.initGrid({
- url : basePath+"/admin/achieve/findDailyInfoNew",
- showExport : true,
- showFooter : true,
- height:'auto',
- width:'auto',
- exportDataType : "basic", //basic', 'all', 'selected'.
- exportTypes : [ 'excel', 'xlsx' ], //导出类型
- exportOptions : {
- ignoreColumn : [ 0 ],
- fileName : "每日单据统计" + MTools.getTime(), //文件名称设置
- worksheetName : 'Sheet1', //表格工作区名称
- tableName : '每日单据统计',
- excelstyles : [ 'background-color', 'color', 'font-size',
- 'font-weight' ],
+ 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"):'';
}
- });
- $('[data-toggle="tooltip"]').tooltip()
-
- });
-
- function footCountTitle(data) {
- return "<b>合计</b>";
- };
- function countColumn(data) {
- console.log(data)
- field = this.field;
- var resultsumQuantity = parseFloat((data.reduce(function(sum, row) {
- console.log(sum,row[field]);
- return sum + (+row[field]);
- }, 0)).toFixed(2));//保留有效数字
- return "<b>"+resultsumQuantity+"</b>";
- };
-
-
- function exportExcel(){
-
- var param=MForm.toUrlParam("#serchform");
-
- window.location.href=basePath+"/admin/achieve/exportDailyInfoNew?"+param;
+ AjaxProxy.requst({
+ app: _this,
+ data: params,
+ url: basePath + "/admin/achieve/findDailyInfoNew",
+ callback: function (loj) {
+ _this.tableData = loj.rows;
+ _this.page.total = loj.total;
+ }
+ });
+ },
+ queryCustomColumns() {
+ let _this = this;
+ AjaxProxy.requst({
+ app: _this,
+ url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX',
+ callback: function (data) {
+ _this.customColumns = data.rows;
+ _this.queryTableData();
+ }
+ });
+ },
+ /**
+ * 获取规则
+ */
+ 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;
+ }
+ });
+ },
+ queryShops() {
+ let _this = this;
+ AjaxProxy.requst({
+ app: _this,
+ url: basePath + '/admin/shopInfo/findAllWithPermi',
+ callback: function (data) {
+ _this.shopList = data.rows;
+ }
+ });
+ },
+ queryAchieveUsers() {
+ let _this = this;
+ AjaxProxy.requst({
+ app: _this,
+ url: basePath + '/admin/getShopStaffByRoleName?roleName=美疗师',
+ callback: function (data) {
+ _this.achieveUsers = data.rows;
+ }
+ });
+ },
+ resetForm(formName) {
+ // this.$refs[formName].resetFields();
+ this.form = {
+ timeRange : '',
+ vipQueryKey : '',
+ beaultId : '',
+ shopId : ''
+ }
+ },
+ search() {
+ this.queryTableData();
+ },
+ handleSizeChange(val) {
+ this.page.size = val;
+ this.queryTableData();
+ },
+ handleCurrentChange(val) {
+ this.page.currentPage = val;
+ this.queryTableData();
+ },
+ initDays() {
+ let _this = this;
+ for (var i = 1; i <= 31 ; i++) {
+ _this.days.push(i);
+ }
+ },
+ getRequestParam() {
+ var form = this.form;
+ var params = 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"):'';
+ }
+ return params;
+ },
+ exportExcel() {
+ window.location.href=basePath+"/admin/achieve/exportDailyInfoNew?"+MTools.jsonToUrlParam(this.getRequestParam());
+ },
+ jumpOrder(type, value) {
+ if(type=='服务单') {
+ fnPublci.showServiceOrder(1, value);
+ } else {
+ fnPublci.showOrder(1, value);
+ }
+ }
}
-
- </script>
+ });
+</script>
</body>
</html>
--
Gitblit v1.9.1