gcz 11 mesiacov pred
rodič
commit
b554ef3de0

+ 18 - 0
src/api/statisticalReport/statistics.js

@@ -127,4 +127,22 @@ export function downMarketPersonSaleCount(params) {
   });
 }
 
+// 团队明细
+export const marketTeamSaleCount = (query) => {
+  return request({
+    url: '/order/operationReport/marketTeamSaleCount',
+    method: 'get',
+    params: query
+  })
+}
+// 团队明细导出
+export function downMarketTeamSaleCount(params) {
+  return request({
+    url: '/order/operationReport/marketPersonSaleCountExport',
+    method: 'get',
+    responseType: 'blob',
+    params
+  });
+}
+
 

+ 70 - 29
src/views/statisticalReport/teamdetail.vue

@@ -3,7 +3,7 @@
  * @Author: gcz
  * @Date: 2024-05-16 14:48:39
  * @LastEditors: gcz
- * @LastEditTime: 2024-05-16 14:48:49
+ * @LastEditTime: 2024-05-21 14:59:18
  * @FilePath: \great_webui\src\views\statisticalReport\teamdetail.vue
  * @Copyright: Copyright (c) 2016~2024 by gcz, All Rights Reserved. 
 -->
@@ -21,7 +21,7 @@
         </el-form-item>
         <el-form-item label="团队类型" label-width="120px">
           <el-select
-            v-model="queryParams.type"
+            v-model="queryParams.teamType"
             placeholder="团队类型"
             @change="getList"
             clearable
@@ -60,52 +60,68 @@
         <el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
         <!-- <el-table-column label="剧目名称" align="center" prop="performName" />
         <el-table-column label="票务名称" align="center" prop="goodsName" /> -->
-        <el-table-column label="场次日期" align="center">
+        <el-table-column label="团队类型" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.performDate }}</span>
+            <span>{{ scope.row.teamType }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="场次" align="center">
+        <el-table-column label="团队名称" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.performTimeStart }} -- {{ scope.row.performTimeEnd }}</span>
+            <span>{{ scope.row.teamName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="销售量" align="center">
+        <el-table-column label="票种(元)" align="center">
+          
+        </el-table-column>
+        <el-table-column label="结算价(元)" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.settlementAmount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="人次" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.saleTotal?scope.row.saleTotal+'张' : '-' }}</span>
+            <span>{{ scope.row.personNext }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="核销量" align="center">
+        <el-table-column label="收入" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.usedTotal?scope.row.usedTotal+'张' : '-' }}</span>
+            <span>{{ scope.row.salePriceAmount }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="核销率" align="center">
+        <el-table-column label="收入占比" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.usedRate?scope.row.usedRate+'%' : '-' }}</span>
+            <span>{{ scope.row.incomeRatio?scope.row.incomeRatio+'%' : '-' }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="核销上座率" align="center">
+        <el-table-column label="销售员" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.occupancyRate?scope.row.occupancyRate+'%' : '-' }}</span>
+            <span>{{ scope.row.salerPerson }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="备注" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.remark }}</span>
           </template>
         </el-table-column>
       </el-table>
+      <ul class="total-remark" v-if="responseData.saleTotalRemarkOnColor">
+        <li><span class="til">合计:</span><div class="html-wap" v-html="responseData.saleTotalRemarkOnColor||'-'"></div> </li>
+      </ul>
   
-      <pagination
+      <!-- <pagination
         v-show="total>0"
         :total="total"
         :page.sync="queryParams.pageNum"
         :limit.sync="queryParams.pageSize"
         @pagination="getList"
-      />
+      /> -->
   
     </div>
   </template>
   
   <script>
   
-  import { performTimeCount, downTimeCountListXls } from '@/api/statisticalReport/statistics'
+  import { marketTeamSaleCount, downMarketTeamSaleCount } from '@/api/statisticalReport/statistics'
   import { exportExcel } from '@/utils/exportexcel'
   import { seatPricePageList } from '@/api/distribution/ticketMr'
   import moment from "moment"
@@ -137,8 +153,8 @@
         dateRange: [],
         // 查询参数
         queryParams: {
-          pageNum: 1,
-          pageSize: 10,
+          // pageNum: 1,
+          // pageSize: 10,
         },
         visibleStatus: false,
         newObj: {},
@@ -152,9 +168,9 @@
     },
     created() {
     //   this.$set(this.queryParams,'performStartDate',moment().format("yyyy-MM-DD"))
-    this.$set(this,'selectTime',[moment().format("yyyy-MM-DD"),moment().format("yyyy-MM-DD")]);
+      this.$set(this,'selectTime',[moment().format("yyyy-MM-DD"),moment().format("yyyy-MM-DD")]);
       this.getList();
-      this.ticketListApi();
+      // this.ticketListApi();
     },
     methods: {
       /** 查询列表 */
@@ -164,13 +180,16 @@
           this.queryParams.beginDate = this.selectTime[0];
           this.queryParams.endDate = this.selectTime[1];
         }
-        performTimeCount(this.addDateRange(this.queryParams, this.dateRange))
+        marketTeamSaleCount(this.addDateRange(this.queryParams, this.dateRange))
         .then(response => {
-            this.dataList = response.data.rows;
+            this.responseData = response.data;
+            this.dataList = response.data.dataList||[];
             this.total = response.data.total;
             this.loading = false;
           }
-        );
+        ).catch(()=>{
+          this.loading = false;
+        });
       },
       /** 票务列表查询 */
       ticketListApi() {
@@ -224,8 +243,9 @@
         this.$set(this.queryParams, 'performEndDate', '');
         this.$set(this.queryParams, 'goodsId', '');
         this.$set(this.queryParams, 'seatTypeId', '');
-        this.$set(this.queryParams, 'type', '');
-        this.queryParams.pageNum = 1;
+        this.$set(this.queryParams, 'teamType', '');
+        // this.queryParams.pageNum = 1;
+        this.$set(this,'selectTime',[moment().format("yyyy-MM-DD"),moment().format("yyyy-MM-DD")]);
         this.handleQuery();
       },
       /**
@@ -248,9 +268,9 @@
                 postMap[key] = this.queryParams[key]
               }
             }
-            downTimeCountListXls(postMap)
+            downMarketTeamSaleCount(postMap)
               .then((res) => {
-                exportExcel(res, '场次销售分析', '.xlsx');
+                exportExcel(res, '团队明细', '.xlsx');
                 this.handleExportLoading = false;
               })
               .catch(() => {
@@ -264,4 +284,25 @@
     }
   };
   </script>
-  
+  <style lang="scss" scoped>
+  .total-remark{
+    margin-top: 24px;
+    margin-bottom: 24px;
+    padding-left: 0;
+    li{
+      list-style: none;
+      display: flex;
+      ::v-deep .html-wap{
+        span{
+          color: blue;
+          margin: 0 5px;
+          display: inline-block;
+        }
+      }
+    }
+    .til{
+      font-weight: bold;
+      color: #333;
+    }
+  }
+  </style>