dct 7 mesiacov pred
rodič
commit
913e4a8a3b

+ 35 - 31
src/api/queryReport.js

@@ -1,46 +1,50 @@
 import http from '@/utils/request'
 // 获取导出任务列表
 export function getExportMissionList (params) {
-  return http.post('exportMission/getExportMissionList', params)
+  return http.post('exportMission/getExportMissionList', { data: params })
 }
 // 导出售票统计
 export function exportOrderStatistics (params) {
-  return http.post('exportMission/exportOrderStatistics', params)
+  return http.post('exportMission/exportOrderStatistics', { data: params })
 }
 // 导出免票统计
 export function exportFreeTicketStatistics (params) {
-  return http.post('/exportMission/exportFreeList', params)
+  return http.post('/exportMission/exportFreeList', { data: params })
 }
 
 // 导出检票统计
 export function exportCheckStatistics (params) {
-  return http.post('/exportMission/exportCheckStatistics', params)
+  return http.post('/exportMission/exportCheckStatistics', { data: params })
 }
 
 // 导出线上销售日报
 export function exportDailyOtaSale (params) {
-  return http.post('/exportMission/exportDailyOtaSale', params)
+  return http.post('/exportMission/exportDailyOtaSale', { data: params })
 }
 // 导出线下销售日报
 export function exportDailyOfflineSale (params) {
-  return http.post('/exportMission/exportDailyOfflineSale', params)
+  return http.post('/exportMission/exportDailyOfflineSale', { data: params })
+}
+// 检票统计入园
+export function getCheckerAccessStatistics (params) {
+  return http.post('/admin/statistics/checkerAccessStatistics', { data: params })
 }
 
 // 导出检票统计按票数
 export function exportCheckStatisticsInTicketCount (params) {
-  return http.post('/exportMission/exportCheckStatisticsInTicketCount', params)
+  return http.post('/exportMission/exportCheckStatisticsInTicketCount', { data: params })
 }
 // 导出改签统计
 export function exportModifyOrderStatistics (params) {
-  return http.post('/exportMission/exportModifyOrderStatistics', params)
+  return http.post('/exportMission/exportModifyOrderStatistics', { data: params })
 }
 // 导出退票统计
 export function exportCancelOrderStatistics (params) {
-  return http.post('/exportMission/exportCancelList', params)
+  return http.post('/exportMission/exportCancelList', { data: params })
 }
 // 导出交班统计
 export function exportSaleStatisticsByTicketSpot (params) {
-  return http.post('/exportMission/exportSaleStatisticsByTicketSpot', params)
+  return http.post('/exportMission/exportSaleStatisticsByTicketSpot', { data: params })
 }
 
 // 导出自定义售票统计
@@ -50,27 +54,27 @@ export function exportCustomizeOrderStatistics (params) {
 
 // 按日期导出售票统计
 export function exportOrderStatisticsByDate (params) {
-  return http.post('/exportMission/exportOrderStatisticsByDate', params)
+  return http.post('/exportMission/exportOrderStatisticsByDate', { data: params })
 }
 
 // 导出会员交易统计
 export function exportMemberTradeStatistics (params) {
-  return http.post('/exportMission/exportMemberTradeStatistics', params)
+  return http.post('/exportMission/exportMemberTradeStatistics', { data: params })
 }
 
 // 导出会员交易记录
 export function exportMemberTradeList (params) {
-  return http.post('/exportMission/exportMemberTradeList', params)
+  return http.post('/exportMission/exportMemberTradeList', { data: params })
 }
 
 // 删除报表
 export function deleteExportMission (params) {
-  return http.post('/exportMission/deleteExportMission', params)
+  return http.post('/exportMission/deleteExportMission', { data: params })
 }
 
 // 删除报表
 export function getOrderStatisticsByDate (params) {
-  return http.post('/order/getOrderStatisticsByDate', params)
+  return http.post('/order/getOrderStatisticsByDate', { data: params })
 }
 
 // 获取导出类型列表
@@ -85,80 +89,80 @@ export function exportOrderGrandTotalStatistics () {
 
 // 按团散销售统计(图表)
 export function getGroupIndividual (params) {
-  return http.post('/orderStatistics/getGroupIndividual', params)
+  return http.post('/orderStatistics/getGroupIndividual', { data: params })
 }
 
 // 按渠道销售统计(图表)
 export function getSaleChannel (params) {
-  return http.post('/orderStatistics/getSaleChannel', params)
+  return http.post('/orderStatistics/getSaleChannel', { data: params })
 }
 
 // 按门票会员销售额占比销售统计(图表)
 export function getTicketMemberMoneyPercent (params) {
-  return http.post('/orderStatistics/getTicketMemberMoneyPercent', params)
+  return http.post('/orderStatistics/getTicketMemberMoneyPercent', { data: params })
 }
 
 // 销售同比分析(图表)
 export function getTicketSaleYearOnYear (params) {
-  return http.post('/orderStatistics/getTicketSaleYearOnYear', params)
+  return http.post('/orderStatistics/getTicketSaleYearOnYear', { data: params })
 }
 
 // 场次售票统计
 export function getTicketSaleByBatch (params) {
-  return http.post('/orderStatistics/getTicketSaleByBatch', params)
+  return http.post('/orderStatistics/getTicketSaleByBatch', { data: params })
 }
 
 // 导出取票统计
 export function exportTicketPrintStatistics (params) {
-  return http.post('/exportMission/exportTicketPrintStatistics', params)
+  return http.post('/exportMission/exportTicketPrintStatistics', { data: params })
 }
 
 // 导出场次售票统计
 export function exportTicketSaleByBatch (params) {
-  return http.post('/exportMission/exportTicketSaleByBatch', params)
+  return http.post('/exportMission/exportTicketSaleByBatch', { data: params })
 }
 
 // 线上销售日报(czg private)
 export function getDailyOtaSale (params) {
-  return http.post('/chengzhanguan/getDailyOtaSale', params)
+  return http.post('/chengzhanguan/getDailyOtaSale', { data: params })
 }
 
 // 线下销售日报(czg private)
 export function getDailyOfflineSale (params) {
-  return http.post('/chengzhanguan/getDailyOfflineSale', params)
+  return http.post('/chengzhanguan/getDailyOfflineSale', { data: params })
 }
 
 // 现金销售日报(czg private)
 export function getDailyOfflineCashSale (params) {
-  return http.post('/chengzhanguan/getDailyOfflineCashSale', params)
+  return http.post('/chengzhanguan/getDailyOfflineCashSale', { data: params })
 }
 
 // 日销售报表(czg private)
 export function getDailySale (params) {
-  return http.post('/chengzhanguan/getDailySale', params)
+  return http.post('/chengzhanguan/getDailySale', { data: params })
 }
 
 // 报表导出 4个tab页共用(czg private)
 export function exportChengzhanguanReport (params) {
-  return http.post('/chengzhanguan/exportChengzhanguanReport', params)
+  return http.post('/chengzhanguan/exportChengzhanguanReport', { data: params })
 }
 
 // 年龄报表查询(czg private)
 export function getAgeWithIdType (params) {
-  return http.post('/chengzhanguan/getAgeWithIdType', params)
+  return http.post('/chengzhanguan/getAgeWithIdType', { data: params })
 }
 
 // 年龄报表导出(czg private)
 export function exportAgeWithIdType (params) {
-  return http.post('/chengzhanguan/exportAgeWithIdType', params)
+  return http.post('/chengzhanguan/exportAgeWithIdType', { data: params })
 }
 
 // 日订单统计报表
 export function getDailyOrderStatistics (params) {
-  return http.post('/orderStatistics/getDailyOrderStatistics', params)
+  return http.post('/orderStatistics/getDailyOrderStatistics', { data: params })
 }
 
 // 日订单统计报表导出
 export function exportDailyOrderStatistics (params) {
-  return http.post('/exportMission/exportDailyOrderStatistics', params)
+  return http.post('/exportMission/exportDailyOrderStatistics', { data: params })
 }

+ 22 - 14
src/api/systemConfig.js

@@ -2,8 +2,8 @@ import http from '@/utils/request'
 export function getSystemConfigList () {
   return http.post('/admin/system-config/list', {
     data: {
-      pageNum: 1,
-      pageSize: 1000
+      configKey: '',
+      configDesc: ''
     }
   })
 }
@@ -17,30 +17,36 @@ export function updateSystemConfig (params) {
 }
 export function getPayChannel () {
   return http.post('/admin/system-config/list', {
-    pageNum: 1,
-    pageSize: 1000
+    data: {
+      configKey: '',
+      configDesc: ''
+    }
   }).then(res => {
-    let item = res.list.find(item => item.config_key === 'payChannel')
+    let item = res.data.find(item => item.config_key === 'payChannel')
     return item.config_value.split(',')
   })
 }
 
 export function getCustomerType () {
   return http.post('/admin/system-config/list', {
-    pageNum: 1,
-    pageSize: 1000
+    data: {
+      configKey: '',
+      configDesc: ''
+    }
   }).then(res => {
-    let item = res.list.find(item => item.config_key === 'customerType')
+    let item = res.data.find(item => item.config_key === 'customerType')
     return item.config_value.split(',')
   })
 }
 
 export function getTravelAgencyType () {
   return http.post('/admin/system-config/list', {
-    pageNum: 1,
-    pageSize: 1000
+    data: {
+      configKey: '',
+      configDesc: ''
+    }
   }).then(res => {
-    let item = res.list.find(item => item.config_key === 'travel_agency_type')
+    let item = res.data.find(item => item.config_key === 'travel_agency_type')
     return item.config_value.split(',')
   })
 }
@@ -48,10 +54,12 @@ export function getTravelAgencyType () {
 export function getManualTicketCheckScenic () {
   /* 获取系统配置里的是否开启人工检票里选景点的功能 */
   return http.post('/admin/system-config/list', {
-    pageNum: 1,
-    pageSize: 1000
+    data: {
+      configKey: '',
+      configDesc: ''
+    }
   }).then(res => {
-    let item = res.list.find(item => item.config_key === 'manual_ticket_check_scenic')
+    let item = res.data.find(item => item.config_key === 'manual_ticket_check_scenic')
     console.log('系统配置里的人工检票是否开启景点选择:', JSON.stringify(item), 'Y/N:', item.config_value)
     /* item.config_value.split(',') 为 [1] 这种数组, item.config_value为1或9 */
     return item.config_value /* 1 or 0 */

+ 40 - 69
src/pages/queryReport/checkStatistic/CheckStatisticInTicketCount.vue

@@ -8,6 +8,24 @@
       <div class="block-title">
         查询条件
       </div>
+      <el-form-item
+        label="检票闸机"
+        prop="checkerId">
+        <el-select
+          v-model="form.checkerId"
+          clearable
+          filterable>
+          <el-option
+            value=""
+            label="全部"></el-option>
+          <el-option
+            v-for="item in deviceList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item
         label="起始时间"
         prop="checkTimeBegin">
@@ -27,7 +45,7 @@
           placeholder="选择日期时间">
         </el-date-picker>
       </el-form-item>
-      <el-form-item
+      <!-- <el-form-item
         label="票种"
         prop="ticketTypeIdList">
         <el-select v-model="form.ticketTypeIdList">
@@ -79,34 +97,6 @@
             label="团体">
           </el-option>
         </el-select>
-      </el-form-item>
-      <!-- <el-form-item
-        label="是否按分销商分组"
-        style="white-space:nowrap">
-        <el-switch
-          v-model="isShow_otaName"
-          active-color="#13ce66"
-          inactive-color="#ff4949">
-        </el-switch>
-      </el-form-item> -->
-
-      <!-- <el-form-item
-        label="分组筛选"
-        style="width:100%">
-        <el-checkbox-group
-          v-model="selectKeys"
-          :max="4">
-          <draggable :list="groupKeys">
-            <el-checkbox
-              :key="item.value"
-              :label="item.value"
-              v-for="(item) in groupKeys"
-            >
-              {{ item.label }}
-            </el-checkbox>
-          </draggable>
-        </el-checkbox-group>
-        (可拖拽排序)
       </el-form-item> -->
 
       <div
@@ -156,18 +146,18 @@
           label="票种标签">
         </el-table-column> -->
         <el-table-column
-          prop="otaSourceName"
-          label="订单渠道">
+          prop="checkerName"
+          label="检票设备">
         </el-table-column>
         <el-table-column
-          prop="ticketTypeName"
-          label="票种">
+          prop="enterNums"
+          label="进入总次数">
         </el-table-column>
         <el-table-column
-          prop="unitPrice"
-          label="单价">
+          prop="outNums"
+          label="出入总次数">
         </el-table-column>
-        <el-table-column
+        <!-- <el-table-column
           prop="checkCount"
           label="检票数量">
         </el-table-column>
@@ -178,19 +168,21 @@
         <el-table-column
           prop="checkPrice"
           label="检票金额">
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
     </div>
   </div>
 </template>
 <script>
-import { exportCheckStatisticsInTicketCount } from '@/api/queryReport'
+import { getCheckerAccessStatistics } from '@/api/queryReport'
 import { totalRowClassName } from '@/utils'
 import moment from 'moment'
-import { apiOrder } from '@/api/order.js'
+// import { apiOrder } from '@/api/order.js'
+import { getDeviceList } from '@/api/checker'
 // import ReaderInput from '@/components/ReaderInput'
 // import draggable from 'vuedraggable'
 // import moment from 'moment'
+
 export default {
   name: 'checkStatistic',
   computed: {
@@ -230,6 +222,7 @@ export default {
       OrderIndexArr: [],
       isShow_otaName: false,
       tableData: [],
+      deviceList: [],
       loading: false
     }
   },
@@ -282,12 +275,15 @@ export default {
     reset () {
       this.$refs.form.resetFields()
     },
+    getDeviceList () {
+      getDeviceList({ pageSize: -1, pageNum: 1 }).then((res) => {
+        this.deviceList = res?.data.records
+      })
+    },
     // 获取表格数据
     getCheckStatistic () {
       this.loading = true
       this.tableIndex++
-      let groupArray = []
-      let orderIndexArr = []
       this.finalGroup = []
       this.finalGroup = this.groupKeys.filter(i => {
         return this.selectKeys.includes(i.value)
@@ -299,34 +295,8 @@ export default {
         this.form.checkTimeEnd = moment(this.form.checkTimeEnd).format('YYYY-MM-DD HH:mm:ss')
       }
       // this.form.keyGroupBy = this.finalGroup.map(i => i.value)
-      apiOrder('orderCheckStatistics', this.form).then(res => {
+      getCheckerAccessStatistics(this.form).then(res => {
         this.tableData = res.data
-
-        this.finalGroup.forEach(i => {
-          groupArray.push({})
-        })
-        groupArray.forEach((group, index) => {
-          const keyName = this.finalGroup[index].prop || this.finalGroup[index].value
-
-          this.tableData.forEach((el, index) => {
-            if (el[keyName] === '小计') {
-              this.index++
-            }
-
-            !group[el[keyName] + this.index] && (group[el[keyName] + this.index] = [])
-            group[el[keyName] + this.index].push(index)
-          })
-
-          const arr = []
-          for (let k in group) {
-            if (group[k].length > 1) {
-              arr.push(group[k])
-            }
-          }
-          orderIndexArr.push(arr)
-        })
-
-        this.OrderIndexArr = orderIndexArr
       }).finally(() => {
         this.loading = false
       })
@@ -358,7 +328,8 @@ export default {
     },
     reportExport () {
       this.form.export = true
-      exportCheckStatisticsInTicketCount(this.form).then(() => {
+      this.form.exportDetail = true
+      getCheckerAccessStatistics(this.form).then(() => {
         this.$message.success('导出成功。')
         this.goToDownload()
       }, () => {

+ 0 - 4
src/pages/queryReport/freeQuery.vue

@@ -200,10 +200,6 @@ export default {
         this.form.checkTimeEnd = moment(this.form.checkTimeEnd).format('YYYY-MM-DD HH:mm:ss')
       }
       apiFreeList(this.form).then(res => {
-        if (res.code !== '200') {
-          this.$message.error(res.msg)
-          return
-        }
         this.total = res.data.total
         this.tableData = res.data.records
       }).finally(() => {

+ 4 - 4
src/pages/queryReport/freeStatistic.vue

@@ -185,10 +185,10 @@ export default {
         this.form.checkTimeEnd = moment(this.form.checkTimeEnd).format('YYYY-MM-DD HH:mm:ss')
       }
       getFreeTicketStatistics(this.form).then(res => {
-        if (res.code !== '200') {
-          this.$message.error(res.msg)
-          return
-        }
+        // if (res.code !== '200') {
+        //   this.$message.error(res.msg)
+        //   return
+        // }
         this.tableData = res.data
       }).finally(() => {
         this.loading = false

+ 1 - 1
src/router/index.js

@@ -716,7 +716,7 @@ let routerMap = [
         path: 'checkStatistic',
         name: 'checkStatistic',
         component: require('@/pages/queryReport/checkStatistic').default,
-        meta: { title: '检票统计', permissionName: 'querystats:check_stats' }
+        meta: { title: '检票设备入园', permissionName: 'querystats:check_stats' }
       },
       {
         path: 'freeStatistic',

+ 6 - 1
src/utils/request.js

@@ -45,13 +45,18 @@ service.interceptors.response.use(response => {
   /**
   * code为非20000是抛错 可结合自己业务进行修改
   */
-  console.log(response)
   const { code, msg } = response.data
 
   if (code === '999999' && msg.includes('请登录后再访问') && getToken()) {
     store.dispatch('LogOut').then(() => {
       router.push('/login')
     })
+  } else if (code !== '200') {
+    Message({
+      message: msg,
+      type: 'error'
+    })
+    return Promise.reject(response.data)
   } else {
     return response.data
   }