935090232@qq.com
2022-01-05 f6e63e5c6ff1268aeca020fcd3f0aeb7fac94e59
zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
@@ -2,21 +2,22 @@
<!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"/>
   <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 {
@@ -36,6 +37,30 @@
<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"
@@ -44,7 +69,16 @@
                        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>
@@ -61,38 +95,51 @@
         <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">
                        :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="50"></el-table-column>
         <el-table-column prop="datatime" label="时间"></el-table-column>
         <el-table-column prop="orderNo" label="订单编号"></el-table-column>
         <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="产品"></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="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 prop="hisConsume" label="本金消耗"></el-table-column>
         <el-table-column prop="freeConsume" label="赠送消耗"></el-table-column>
         <el-table-column v-for="(item, index) in customColumns" :key="index" :label="item.value">
         <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
@@ -112,19 +159,26 @@
<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:src="@{/js/systools/MJsBase.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 : {
@@ -134,16 +188,27 @@
         }
      },
      created : function() {
         this.initDays();
         this.queryCustomColumns();
         this.queryShops();
         this.queryAchieveUsers();
         this.getAchieveRule();
      },
      methods : {
         queryTableData () {
            let _this = this;
            var form = _this.form;
            var page = _this.page;
            var params = _this.form;
            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;
@@ -151,11 +216,15 @@
               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"):'';
            }
            $.AjaxProxy({
               p:params
            }).invoke(basePath + "/admin/achieve/findDailyInfoNew", function (loj) {
               _this.tableData = loj.getValue("rows");
               _this.page.total = loj.getResult().total;
            AjaxProxy.requst({
               app: _this,
               data: params,
               url: basePath + "/admin/achieve/findDailyInfoNew",
               callback: function (loj) {
                  _this.tableData = loj.rows;
                  _this.page.total = loj.total;
               }
            });
         },
         queryCustomColumns() {
@@ -166,6 +235,20 @@
               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;
               }
            });
         },
@@ -208,6 +291,31 @@
         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);
            }
         }
      }
   });