2 Achegas 8592406c6b ... 14504ed0b1

Autor SHA1 Mensaxe Data
  dct 14504ed0b1 修改 hai 6 meses
  dct 7f481c4d01 修改 hai 7 meses

+ 9 - 1
src/api/order.js

@@ -31,11 +31,19 @@ export function apiCheckList (params) {
 export function apiFreeList (params) {
   return http.post('/admin/freeLog/list', { data: params })
 }
-
 // 删除免票记录
 export function deleteFreeRecord (id) {
   return http.post('/admin/freeLog/delete', { data: { idList: [id] } })
 }
+// 获取游客列表
+export function apiVisitorList (params) {
+  return http.post('/admin/customer', { data: params })
+}
+// 删除游客记录
+export function deleteVisitorRecord (id) {
+  return http.post('/admin/customer/delete', { data: { idList: [id] } })
+}
+
 // 免票统计
 export function getFreeTicketStatistics (params) {
   return http.post('/admin/statistics/freeLogStatistics', { data: params })

+ 135 - 323
src/pages/queryReport/OrderStatistics.vue

@@ -11,9 +11,9 @@
       </div>
       <el-form-item
         label="起始时间"
-        prop="startDate">
+        prop="timeBegin">
         <el-date-picker
-          v-model="form.startDate"
+          v-model="form.timeBegin"
           type="datetime"
           placeholder="选择日期时间">
         </el-date-picker>
@@ -21,10 +21,10 @@
 
       <el-form-item
         label="截止时间"
-        prop="endDate">
+        prop="timeEnd">
         <el-date-picker
           default-time="23:59:59"
-          v-model="form.endDate"
+          v-model="form.timeEnd"
           type="datetime"
           placeholder="选择日期时间">
         </el-date-picker>
@@ -32,10 +32,10 @@
 
       <el-form-item
         label="票种列表"
-        prop="keyList1"
+        prop="ticketTypeIdList"
       >
         <el-select
-          v-model="form.keyList1"
+          v-model="form.ticketTypeIdList"
           multiple
           collapse-tags
           filterable
@@ -57,10 +57,10 @@
 
       <el-form-item
         label="售票员"
-        prop="keyList7">
+        prop="adminIdList">
         <el-select
           multiple
-          v-model="form.keyList7">
+          v-model="form.adminIdList">
           <el-option
             v-for="item in salesList"
             :key="item.id"
@@ -71,14 +71,22 @@
       </el-form-item>
 
       <el-form-item
-        label="景点"
-        prop="keyWords4">
-        <el-select v-model="form.keyWords4">
+        label="类型"
+        prop="ticketCategory"
+      >
+        <el-select
+          v-model="form.ticketCategory"
+          multiple
+          collapse-tags
+          clearable
+          placeholder="请选择"
+          @change="selectAllCate">
           <el-option
-            value=""
-            label="全部"></el-option>
+            :value="0"
+            label="全部">
+          </el-option>
           <el-option
-            v-for="item in userScenic"
+            v-for="item in ticketCategory"
             :key="item.id"
             :value="item.id"
             :label="item.name">
@@ -86,253 +94,81 @@
         </el-select>
       </el-form-item>
 
-      <template>
-        <el-form-item
-          label="游玩开始时间"
-          prop="keyWords5">
-          <el-date-picker
-            v-model="form.keyWords5"
-            type="datetime"
-            placeholder="选择日期时间">
-          </el-date-picker>
-        </el-form-item>
-
-        <el-form-item
-          label="游玩截止时间"
-          prop="keyWords6">
-          <el-date-picker
-            default-time="23:59:59"
-            v-model="form.keyWords6"
-            type="datetime"
-            placeholder="选择日期时间">
-          </el-date-picker>
-        </el-form-item>
-
-        <el-form-item
-          label="类型"
-          prop="keyList3"
+      <el-form-item
+        label="销售渠道"
+        prop="otaSourceNameList"
+      >
+        <el-select
+          v-model="form.otaSourceNameList"
+          placeholder="请选择"
+          multiple
+          clearable
         >
-          <el-select
-            v-model="form.keyList3"
-            multiple
-            collapse-tags
-            clearable
-            placeholder="请选择"
-            @change="selectAllCate">
-            <el-option
-              :value="0"
-              label="全部">
-            </el-option>
-            <el-option
-              v-for="item in ticketCategory"
-              :key="item.id"
-              :value="item.id"
-              :label="item.name">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          label="票种归类标签"
-          prop="keyList4">
-          <el-select
-            v-model="form.keyList4"
-            multiple
-            filterable
-            clearable>
-            <el-option-group
-              v-for="group in ticketTagList"
-              :key="group.name"
-              :label="group.name">
-              <el-option
-                v-for="item in group.children"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id">
-              </el-option>
-            </el-option-group>
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          label="最低价格"
-          prop="keyWords8">
-          <el-input v-model.number="form.keyWords8"></el-input>
-        </el-form-item>
-
-        <el-form-item
-          label="最高价格"
-          prop="keyWords9">
-          <el-input v-model.number="form.keyWords9"></el-input>
-        </el-form-item>
-
-        <el-form-item
-          label="是否取票"
-          prop="keyWords11">
-          <el-select
-            v-model="form.keyWords11"
-            clearable
-            placeholder="请选择"
+          <el-option
+            v-for="(item,idx) in saleChannel"
+            :key="idx"
+            :label="item"
+            :value="item"
           >
-            <el-option
-              label="全部"
-              value=""></el-option>
-            <el-option
-              label="是"
-              :value="1"
-            >
-            </el-option>
-            <el-option
-              label="否"
-              :value="0"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
+          </el-option>
+        </el-select>
+      </el-form-item>
 
-        <el-form-item
-          label="销售渠道"
-          prop="keyList5"
-        >
-          <el-select
-            v-model="form.keyList5"
-            placeholder="请选择"
-            multiple
-            clearable
-          >
-            <el-option
-              v-for="(item,idx) in saleChannel"
-              :key="idx"
-              :label="item"
-              :value="item"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item
-          label="票状态列表"
-          prop="keyList2">
-          <el-select
-            v-model="form.keyList2"
-            multiple
-            collapse-tags
-            clearable
-            placeholder="请选择">
-            <el-option
-              v-for="item in ticketStatusDic"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value">
-            </el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item
-          label="支付方式"
-          prop="keyList6">
-          <el-select
-            v-model="form.keyList6"
-            filterable
-            multiple
-            clearable>
-            <el-option
-              v-for="item in payChannelOptions"
-              :key="item"
-              :label="item"
-              :value="item">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          label="售票点"
-          prop="keyList8"
-        >
-          <el-select
-            v-model="form.keyList8"
-            multiple>
-            <el-option
-              v-for="item in ticketSpotList"
-              :key="item.id"
-              :value="item.id"
-              :label="item.name"></el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item
-          label="添加取票统计"
-          prop="keyWords13"
-        >
-          <el-switch
-            v-model="form.keyWords13"
-            :active-value="1"
-            :inactive-value="0"
-          >
-          </el-switch>
-        </el-form-item>
+      <!-- <el-form-item
+        label="票状态列表"
+        prop="ticketStatus">
+        <el-select
+          v-model="form.ticketStatus"
+          multiple
+          collapse-tags
+          clearable
+          placeholder="请选择">
+          <el-option
+            v-for="item in ticketStatusDic"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value">
+          </el-option>
+        </el-select>
+      </el-form-item> -->
 
-        <el-form-item
-          label="订单标签"
-          prop="keyWords28"
-        >
-          <el-select
-            clearable
-            v-model="form.keyWords28"
-            placeholder="请选择">
-            <el-option
-              v-for="item in orderTagList"
-              :key="item"
-              :label="item"
-              :value="item">
-            </el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item
-          label="门票类型"
-          prop="isStorage"
-        >
-          <el-select
-            v-model="form.isStorage"
-            placeholder="请选择"
-          >
-            <el-option
-              label="全部"
-              :value="null"
-            >
-            </el-option>
-            <el-option
-              label="普通票"
-              :value="0"
-            >
-            </el-option>
-            <el-option
-              label="预印票"
-              :value="1"
+      <el-form-item
+        label="支付方式"
+        prop="payChannelList">
+        <el-select
+          v-model="form.payChannelList"
+          filterable
+          multiple
+          clearable>
+          <el-option
+            v-for="item in payChannelOptions"
+            :key="item"
+            :label="item"
+            :value="item">
+          </el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        label="分组筛选"
+        style="width:100%">
+        <el-checkbox-group
+          v-model="selectKeys"
+          :min="0"
+          :max="4">
+          <draggable :list="groupKeys">
+            <el-checkbox
+              :key="item.value"
+              :label="item.value"
+              v-for="(item) in groupKeys"
+              :disabled="disabled(item)"
             >
-            </el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item
-          label="分组筛选"
-          style="width:100%">
-          <el-checkbox-group
-            v-model="selectKeys"
-            :min="0"
-            :max="4">
-            <draggable :list="groupKeys">
-              <el-checkbox
-                :key="item.value"
-                :label="item.value"
-                v-for="(item) in groupKeys"
-                :disabled="disabled(item)"
-              >
-                {{ item.label }}
-              </el-checkbox>
-            </draggable>
-          </el-checkbox-group>
-          (可拖拽排序)
-        </el-form-item>
-      </template>
+              {{ item.label }}
+            </el-checkbox>
+          </draggable>
+        </el-checkbox-group>
+        (可拖拽排序)
+      </el-form-item>
 
       <div class="btn-wrap">
         <el-button
@@ -366,7 +202,7 @@
         <el-table-column
           v-for="(item) in finalGroup"
           :key="item.value"
-          :prop="item.prop||item.value"
+          :prop="item.prop || item.value"
           :label="item.label">
         </el-table-column>
 
@@ -459,7 +295,7 @@
           label="售票员">
         </el-table-column>
         <el-table-column
-          prop="source"
+          prop="otaSourceName"
           label="销售渠道">
         </el-table-column>
         <el-table-column
@@ -473,28 +309,22 @@
 
 <script>
 import { getScenic, getTicketTypeList } from '@/api/ticketType'
-import { getOrderStatistics } from '@/api/order.js'
-import { getTicketTypeTagList } from '@/api/ticketTypeTag'
+import { getOrderStatistics } from '@/api/order'
 import { exportCustomizeOrderStatistics } from '@/api/queryReport'
 import { ticketStatusDic } from '@/assets/staticData'
-import { getTicketSpotList } from '@/api/ticketSpot'
 import { getSystemConfigList } from '@/api/systemConfig'
 import draggable from 'vuedraggable'
 import Tip from '@/components/Tip'
 import moment from 'moment'
 
 const groupKeys = [
-  { value: 'orderDateYear', label: '订单日期(年)' },
-  { value: 'orderDateMonth', label: '订单日期(月)' },
-  { value: 'orderDateDay', label: '订单日期(日)' },
-  { value: 'otaName', label: 'OTA 名称' },
-  { value: 'batchConfigId', label: '场次名', prop: 'batchConfigName' },
-  { value: 'agencyName', label: '旅行社' },
-  { value: 'managerId', label: '售票员', prop: 'managerName' },
-  { value: 'ticketTypeId', label: '票种', prop: 'ticketTypeName' },
+  { value: 'ticketTypeName', label: '票种', prop: 'ticketTypeName' },
+  { value: 'adminName', label: '售票员', prop: 'adminName' },
+  { value: 'otaSourceName', label: '销售渠道' },
   { value: 'payChannel', label: '支付方式' },
-  { value: 'pricePlanId', label: '价格方案', prop: 'pricePlanName' },
-  { value: 'unitPrice', label: '单价' }
+  { value: 'orderDateDay', label: '统计日期' },
+  { value: 'orderDateMonth', label: '统计月份' },
+  { value: 'orderDateYear', label: '统计年份' }
 ]
 
 export default {
@@ -521,8 +351,8 @@ export default {
   },
   data () {
     return {
-      finalGroup: [{ value: 'ticketTypeId', label: '票种', prop: 'ticketTypeName' }],
-      selectKeys: ['ticketTypeId'],
+      finalGroup: [{ value: 'ticketTypeName', label: '票种', prop: 'ticketTypeName' }],
+      selectKeys: ['ticketTypeName'],
       ticketStatusDic,
       ticketTypeList: [],
       oldTicketTypeOptions: [[]],
@@ -531,28 +361,18 @@ export default {
       ticketSpotList: [],
       groupKeys,
       form: {
-        startDate: new Date(moment().startOf('day').format('YYYY-MM-DD HH:mm:ss')),
-        endDate: new Date(moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')),
-        keyWords2: '', // 票种id
-        keyWords4: '', // 景点
-        keyWords5: '',
-        keyWords6: '',
-        keyWords7: '',
-        keyWords8: '',
-        keyWords9: '',
-        keyWords11: '',
-        keyWords13: 0,
-        keyWords28: '',
+        timeBegin: new Date(moment().startOf('day').format('YYYY-MM-DD HH:mm:ss')),
+        timeEnd: new Date(moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')),
         isStorage: null,
-        keyList1: [],
-        keyList2: [],
-        keyList3: [],
-        keyList4: [],
-        keyList5: [], // 渠道id
-        keyList6: [],
-        keyList7: [], // 售票员id
-        keyList8: [],
-        keyGroupBy: ['ticketTypeId']
+        ticketTypeIdList: [],
+        ticketStatus: [],
+        ticketCategory: [],
+        otaSourceNameList: [], // 渠道id
+        payChannelList: [],
+        adminIdList: [], // 售票员id
+        groupByList: ['ticketTypeName'],
+        pageSize: 10,
+        pageNum: 1
       },
       tableData: [],
       loading: false,
@@ -576,8 +396,6 @@ export default {
       this.selectKeys = lastSelectKeys
     }
     this.getSaleStatistic()
-    this.getTicketTagList()
-    this.getTicketSpotList()
     const res = await getSystemConfigList()
     /*
     const orderTagList = res.list.find(v => v.config_key === 'orderTagList')?.config_value || []
@@ -606,20 +424,6 @@ export default {
         return 'boldBorder'
       }
     },
-    getTicketTagList () {
-      getTicketTypeTagList({}).then(res => {
-        this.ticketTagList = res.children
-      })
-    },
-    getTicketSpotList () {
-      return getTicketSpotList({
-        pageNum: 1,
-        pageSize: 10000
-      }).then(res => {
-        let list = res.list
-        this.ticketSpotList = list
-      })
-    },
     disabled (item) {
       if (item.value.includes('orderDate')) {
         if (this.selectKeys.find(v => v.includes('orderDate'))) {
@@ -643,26 +447,26 @@ export default {
       const oldVal = this.oldTicketTypeOptions.length === 1 ? [] : this.oldTicketTypeOptions[1]
 
       // 若是全部选择
-      if (val.includes(0)) this.form.keyList1 = allValues
+      if (val.includes(0)) this.form.ticketTypeIdList = allValues
 
       // 取消全部选中  上次有 当前没有 表示取消全选
-      if (oldVal.includes(0) && !val.includes(0)) this.form.keyList1 = []
+      if (oldVal.includes(0) && !val.includes(0)) this.form.ticketTypeIdList = []
 
       // 点击非全部选中  需要排除全部选中 以及 当前点击的选项
       // 新老数据都有全部选中
       if (oldVal.includes(0) && val.includes(0)) {
         const index = val.indexOf(0)
         val.splice(index, 1) // 排除全选选项
-        this.form.keyList1 = val
+        this.form.ticketTypeIdList = val
       }
 
       // 全选未选 但是其他选项全部选上 则全选选上 上次和当前 都没有全选
       if (!oldVal.includes(0) && !val.includes(0)) {
-        if (val.length === allValues.length - 1) this.form.keyList1 = [0].concat(val)
+        if (val.length === allValues.length - 1) this.form.ticketTypeIdList = [0].concat(val)
       }
 
       // 储存当前最后的结果 作为下次的老数据
-      this.oldTicketTypeOptions[1] = this.form.keyList1
+      this.oldTicketTypeOptions[1] = this.form.ticketTypeIdList
     },
     selectAllCate (val) {
       let allValues = this.ticketCategory.map(i => i.id)
@@ -672,26 +476,26 @@ export default {
       const oldVal = this.oldTicketCateOptions.length === 1 ? [] : this.oldTicketCateOptions[1]
 
       // 若是全部选择
-      if (val.includes(0)) this.form.keyList3 = allValues
+      if (val.includes(0)) this.form.ticketCategory = allValues
 
       // 取消全部选中  上次有 当前没有 表示取消全选
-      if (oldVal.includes(0) && !val.includes(0)) this.form.keyList3 = []
+      if (oldVal.includes(0) && !val.includes(0)) this.form.ticketCategory = []
 
       // 点击非全部选中  需要排除全部选中 以及 当前点击的选项
       // 新老数据都有全部选中
       if (oldVal.includes(0) && val.includes(0)) {
         const index = val.indexOf(0)
         val.splice(index, 1) // 排除全选选项
-        this.form.keyList3 = val
+        this.form.ticketCategory = val
       }
 
       // 全选未选 但是其他选项全部选上 则全选选上 上次和当前 都没有全选
       if (!oldVal.includes(0) && !val.includes(0)) {
-        if (val.length === allValues.length - 1) this.form.keyList3 = [0].concat(val)
+        if (val.length === allValues.length - 1) this.form.ticketCategory = [0].concat(val)
       }
 
       // 储存当前最后的结果 作为下次的老数据
-      this.oldTicketCateOptions[1] = this.form.keyList3
+      this.oldTicketCateOptions[1] = this.form.ticketCategory
     },
     reset () {
       this.$refs.form.resetFields()
@@ -711,13 +515,13 @@ export default {
         pageNum: 1,
         pageSize: 999
       }).then(res => {
-        this.ticketTypeList = res.list
+        this.ticketTypeList = res.data?.records || []
       })
     },
     // 获取景点列表
     getScenicList () {
       return getScenic().then(res => {
-        this.scenicList = res?.data.children.map(item => item.data)
+        this.scenicList = res.data?.records || []
       })
     },
     // 获取表格数据
@@ -734,7 +538,15 @@ export default {
         return this.selectKeys.includes(i.value)
       })
 
-      this.form.keyGroupBy = this.finalGroup.map(i => i.value)
+      this.form.groupByList = this.finalGroup.map(i => i.value)
+
+      if (this.form.timeBegin) {
+        this.form.timeBegin = moment(this.form.timeBegin).format('YYYY-MM-DD HH:mm:ss')
+      }
+
+      if (this.form.timeEnd) {
+        this.form.timeEnd = moment(this.form.timeEnd).format('YYYY-MM-DD HH:mm:ss')
+      }
 
       getOrderStatistics(this.form).then(res => {
         this.tableData = res.data || []

+ 201 - 0
src/pages/queryReport/visitorQuery.vue

@@ -0,0 +1,201 @@
+<template>
+  <div class="form-wrap">
+    <el-form
+      class="searchBox"
+      ref="form"
+      :model="form"
+      :inline="true"
+      label-width="100px"
+    >
+      <div class="block-title">
+        查询条件
+      </div>
+      <el-form-item
+        label="身份证号"
+        prop="idcard">
+        <ReaderInput v-model="form.idcard"></ReaderInput>
+      </el-form-item>
+      <el-form-item
+        label="姓名">
+        <el-input v-model="form.name"></el-input>
+      </el-form-item>
+      <el-form-item
+        label="手机号">
+        <el-input v-model="form.phone"></el-input>
+      </el-form-item>
+      <div class="btn-wrap">
+        <el-button
+          @click="reset"
+        >
+          重置
+        </el-button>
+        <el-button
+          :disabled="loading"
+          type="primary"
+          @click="getVisitorList(true)"
+        >
+          搜索
+        </el-button>
+      </div>
+    </el-form>
+
+    <div class="tableBox">
+      <div class="block-title">
+        统计信息
+      </div>
+      <el-table
+        stripe
+        border
+        v-loading="loading"
+        :data="tableData">
+        <el-table-column
+          prop="name"
+          label="姓名"
+          width="120">
+        </el-table-column>
+        <el-table-column
+          prop="idcard"
+          label="身份证"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="province"
+          label="省份"
+        ></el-table-column>
+        <el-table-column
+          prop="cityCode"
+          label="市级编码"
+        ></el-table-column>
+        <el-table-column
+          prop="birthDate"
+          label="出生日期"
+        ></el-table-column>
+        <el-table-column
+          prop="gender"
+          label="性别"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.gender === 1 ? '男' : '女' }}
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="age"
+          label="年龄"
+        ></el-table-column>
+        <el-table-column
+          prop="phone"
+          label="手机号"
+        ></el-table-column>
+        <el-table-column
+          prop="imageUrl"
+          label="图片地址"
+          width="120">
+        </el-table-column>
+        <el-table-column
+          label="操作"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <el-link
+              type="primary"
+              @click="deleteRecord(scope.row.id)">
+              删除
+            </el-link>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        background
+        :current-page.sync="form.pageNum"
+        @current-change="getVisitorList()"
+        layout="total, prev, pager, next"
+        :total="total"
+      >
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+import { apiVisitorList, deleteVisitorRecord } from '@/api/order'
+import { orderStatusDic, channelList } from '@/assets/staticData'
+import { getPayStatus } from '@/utils/index'
+import ReaderInput from '@/components/ReaderInput'
+
+export default {
+  name: 'freeQuery',
+  computed: {
+    salesList () {
+      return this.$store.state.user.salesList
+    },
+    saleChannel () {
+      return this.$store.state.app.saleChannel
+    },
+    payChannelOptions () {
+      return this.$store.getters.payChannelOptions
+    },
+    ticketTypeList () {
+      return this.$store.state.app.ticketTypeList
+    },
+    scenicList () {
+      return this.$store.state.app.scenicList
+    }
+  },
+  components: {
+    ReaderInput
+  },
+  data () {
+    return {
+      channelList,
+      orderStatusDic,
+      form: {
+        idcard: '', // 身份证
+        name: '', // 姓名
+        phone: '', // 手机号
+        pageNum: 1,
+        pageSize: 10
+      },
+      tableData: [],
+      total: 0,
+      loading: false,
+      deviceList: []
+    }
+  },
+  created () {
+    this.getVisitorList()
+  },
+  methods: {
+    getPayStatus,
+    reset () {
+      this.$refs.form.resetFields()
+    },
+    getVisitorList (goFirst) {
+      this.loading = true
+      goFirst && (this.form.pageNum = 1)
+
+      apiVisitorList(this.form).then(res => {
+        this.total = res.data.total
+        this.tableData = res.data.records
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    deleteRecord (id) {
+      this.$confirm('是否删除该记录?', '提示', {
+        type: 'warning'
+      }).then(() => {
+        deleteVisitorRecord(id).then(() => {
+          this.$message.success('删除成功')
+          this.getVisitorList()
+        })
+      }).catch(() => {
+        // 取消删除
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 14 - 8
src/router/index.js

@@ -670,12 +670,12 @@ let routerMap = [
       //   component: require('@/pages/queryReport/salesStatistic').default,
       //   meta: { title: process.env.VUE_APP_PROJECT === 'czg' ? '预约统计' : '售票统计', permissionName: 'querystats:sale_stats' }
       // },
-      // {
-      //   path: 'orderStatistic',
-      //   name: 'orderStatistic',
-      //   component: require('@/pages/queryReport/OrderStatistics').default,
-      //   meta: { title: process.env.VUE_APP_PROJECT === 'czg' ? '自定义预约统计' : '自定义售票统计', permissionName: 'querystats:sale_stats' }
-      // },
+      {
+        path: 'orderStatistic',
+        name: 'orderStatistic',
+        component: require('@/pages/queryReport/OrderStatistics').default,
+        meta: { title: '自定义售票统计', permissionName: 'querystats:sale_stats' }
+      },
       // {
       //   path: 'batchorderStatistic',
       //   name: 'batchorderStatistic',
@@ -730,17 +730,23 @@ let routerMap = [
         component: require('@/pages/queryReport/freeStatistic').default,
         meta: { title: '免票统计', permissionName: 'querystats:sale_stats' }
       },
+      {
+        path: 'visitorQuery',
+        name: 'visitorQuery',
+        component: require('@/pages/queryReport/visitorQuery').default,
+        meta: { title: '游客列表', permissionName: 'querystats:visitor_query' }
+      },
       {
         path: 'vistorStaticstics',
         name: 'vistorStaticstics',
         component: () => import('@/pages/visitor/vistorStaticstics'),
-        meta: { title: '客户画像', permissionName: 'customer:customer_stats' }
+        meta: { title: '客画像', permissionName: 'customer:customer_stats' }
       },
       {
         path: 'checkStatistic',
         name: 'checkStatistic',
         component: require('@/pages/queryReport/checkStatistic').default,
-        meta: { title: '检票设备入园', permissionName: 'querystats:check_stats' }
+        meta: { title: '检票设备统计', permissionName: 'querystats:check_stats' }
       }
       // {
       //   path: 'salesDaily',