LaveyD 6 дней назад
Родитель
Сommit
c35100eb67

+ 42 - 45
src/components/GlobalComponents/OrderDetail.vue

@@ -76,7 +76,6 @@
           <div class="title" style="display: flex;justify-content: space-between;margin-bottom: 10px;">
             <div>
               检票景点明细
-              <i class="el-icon-setting" style="cursor: pointer; margin-left: 10px;" title="设置显示列" @click="showColumnConfig" />
             </div>
             <el-input v-model="ticketNoSearch1" placeholder="输入票号查询"></el-input>
           </div>
@@ -109,7 +108,11 @@
                     prop="singleDayLimitTimes"
                     label="单日可检票次数"
                     width="150"
-                  ></el-table-column>
+                  >
+                    <template slot-scope="scope">
+                      {{ scope.row.singleDayLimitTimes === -1 ? "无限制" : scope.row.singleDayLimitTimes }}
+                    </template>
+                  </el-table-column>
                 </el-table>
               </template>
             </el-table-column>
@@ -149,6 +152,7 @@
               v-if="isColumnVisible('status')"
               width="100"
               prop="status"
+              align="center"
               label="状态">
               <template slot-scope="scope">
                 <!-- 组件新增功能是否向左浮动展示,默认为false不浮动 -->
@@ -314,37 +318,6 @@
             <el-table-column prop="checkerName" label="检票设备名称"> </el-table-column>
             <el-table-column prop="checkTime" label="检票时间"> </el-table-column>
           </el-table>
-
-          <!-- 新增功能:工行分账信息,但if判断需要后续改动 -->
-          <div class="title" v-if="orderData.payContext != null" style="display: flex;justify-content: space-between;margin: 10px 0;">
-            工行分账明细
-          </div>
-          <el-table v-if="orderData.payContext != null" border :data="checkLogList" :max-height="200">
-            <el-table-column prop="id" label="ID"> </el-table-column>
-            <el-table-column prop="createTime" label="创建时间"> </el-table-column>
-            <el-table-column prop="recNum" label="拆分顺序号"> </el-table-column>
-            <el-table-column prop="originalGhMerId" label="原交易商户编号"> </el-table-column>
-            <el-table-column prop="ghOrderId" label="原工行订单编号"> </el-table-column>
-            <el-table-column prop="ghAppId" label="应用APPID"> </el-table-column>
-            <el-table-column prop="subMerId" label="分账二级商户编号"> </el-table-column>
-            <el-table-column prop="subMerPrtclNo" label="分账二级商户协议编号"> </el-table-column>
-            <el-table-column prop="subOrderId" label="商户子订单编号"> </el-table-column>
-            <el-table-column prop="ghSubOrderId" label="工行子订单编号"> </el-table-column>
-            <el-table-column prop="ghSubOrderTransactionId" label="工行交易流水号"> </el-table-column>
-            <el-table-column prop="splitFee" label="分账金额"> </el-table-column>
-            <el-table-column prop="termId" label="交易终端号"> </el-table-column>
-            <el-table-column prop="status" label="分账状态"> </el-table-column>
-            <el-table-column prop="splitSubmitTime" label="分账开始时间"> </el-table-column>
-            <el-table-column prop="splitCompleteTime" label="分账完成时间"> </el-table-column>
-            <el-table-column prop="splitCode" label="错误代码"> </el-table-column>
-            <el-table-column prop="splitMsg" label="错误信息"> </el-table-column>
-            <el-table-column prop="refundSubOrderId" label="子订单退货编号"> </el-table-column>
-            <el-table-column prop="refundSubmitTime" label="退款提交时间"> </el-table-column>
-            <el-table-column prop="refundCompleteTime" label="退款开始时间"> </el-table-column>
-            <el-table-column prop="refundFee" label="退款金额"> </el-table-column>
-            <el-table-column prop="refundCode" label="退款错误代码"> </el-table-column>
-            <el-table-column prop="refundMsg" label="退款错误信息"> </el-table-column>
-          </el-table>
         </el-tab-pane>
         <el-dialog
           title="选择显示列"
@@ -387,11 +360,9 @@
             <div class="title">退款信息</div>
             <el-table border :data="orderData.payContext.payRefundList || []">
               <el-table-column prop="status" label="退款状态">
-                <!-- 转义 -->
-                <div v-if="orderData.payContext.payRefundList.status == 'SUBMIT'">已提交</div>
-                <div v-if="orderData.payContext.payRefundList.status == 'UNKNOWN'">未知</div>
-                <div v-if="orderData.payContext.payRefundList.status == 'SUCCESS'">成功</div>
-                <div v-if="orderData.payContext.payRefundList.status == 'FAILURE'">失败</div>
+                <template slot-scope="scope">
+                  {{ ({ SUBMIT: '已提交', UNKNOWN: '未知', SUCCESS: '成功', FAILURE: '失败' })[scope.row.status] || scope.row.status }}
+                </template>
               </el-table-column>
               <el-table-column prop="refundFee" label="退款金额">
               </el-table-column>
@@ -411,13 +382,9 @@
               border
               :data="orderData.payContext.payRefundTaskList || []">
               <el-table-column prop="status" label="退款明细状态">
-                <!-- 转义 -->
-                <div v-if="orderData.payContext.payRefundTaskList.status == 'CREATE'">已创建</div>
-                <div v-if="orderData.payContext.payRefundTaskList.status == 'NEED_RETRY'">待重试</div>
-                <div v-if="orderData.payContext.payRefundTaskList.status == 'UNKNOWN'">未知</div>
-                <div v-if="orderData.payContext.payRefundTaskList.status == 'REFUND_SUCCESS'">退款成功</div>
-                <div v-if="orderData.payContext.payRefundTaskList.status == 'SUCCESS'">退款完成</div>
-                <div v-if="orderData.payContext.payRefundTaskList.status == 'FAILURE'">失败</div>
+                <template slot-scope="scope">
+                  {{ ({ CREATE: '已创建', NEED_RETRY: '待重试', UNKNOWN: '未知', REFUND_SUCCESS: '退款成功', SUCCESS: '退款完成', FAILURE: '失败' })[scope.row.status] || scope.row.status }}
+                </template>
               </el-table-column>
               <el-table-column prop="refundFee" label="退款金额">
               </el-table-column>
@@ -430,6 +397,36 @@
               <el-table-column prop="errMsg" label="退款错误信息">
               </el-table-column>
             </el-table>
+            <!-- 新增功能:工行分账信息,但if判断需要后续改动 -->
+            <div class="title" v-if="orderData.payContext" style="display: flex;justify-content: space-between;margin: 10px 0;">
+              工行分账明细
+            </div>
+            <el-table border :data="orderData.payContext.payGonghangSplitRecordList || []" :max-height="200">
+              <el-table-column prop="id" label="ID"> </el-table-column>
+              <el-table-column prop="createTime" label="创建时间"> </el-table-column>
+              <el-table-column prop="recNum" label="拆分顺序号"> </el-table-column>
+              <el-table-column prop="originalGhMerId" label="原交易商户编号"> </el-table-column>
+              <el-table-column prop="ghOrderId" label="原工行订单编号"> </el-table-column>
+              <el-table-column prop="ghAppId" label="应用APPID"> </el-table-column>
+              <el-table-column prop="subMerId" label="分账二级商户编号"> </el-table-column>
+              <el-table-column prop="subMerPrtclNo" label="分账二级商户协议编号"> </el-table-column>
+              <el-table-column prop="subOrderId" label="商户子订单编号"> </el-table-column>
+              <el-table-column prop="ghSubOrderId" label="工行子订单编号"> </el-table-column>
+              <el-table-column prop="ghSubOrderTransactionId" label="工行交易流水号"> </el-table-column>
+              <el-table-column prop="splitFee" label="分账金额"> </el-table-column>
+              <el-table-column prop="termId" label="交易终端号"> </el-table-column>
+              <el-table-column prop="status" label="分账状态"> </el-table-column>
+              <el-table-column prop="splitSubmitTime" label="分账开始时间"> </el-table-column>
+              <el-table-column prop="splitCompleteTime" label="分账完成时间"> </el-table-column>
+              <el-table-column prop="splitCode" label="错误代码"> </el-table-column>
+              <el-table-column prop="splitMsg" label="错误信息"> </el-table-column>
+              <el-table-column prop="refundSubOrderId" label="子订单退货编号"> </el-table-column>
+              <el-table-column prop="refundSubmitTime" label="退款提交时间"> </el-table-column>
+              <el-table-column prop="refundCompleteTime" label="退款开始时间"> </el-table-column>
+              <el-table-column prop="refundFee" label="退款金额"> </el-table-column>
+              <el-table-column prop="refundCode" label="退款错误代码"> </el-table-column>
+              <el-table-column prop="refundMsg" label="退款错误信息"> </el-table-column>
+            </el-table>
           </template>
         </el-tab-pane>
         <!-- <el-tab-pane class="block-title" label="购票信息" name="customerInfo">

+ 1 - 1
src/pages/queryReport/checkStatistic.vue

@@ -174,7 +174,7 @@ export default {
         { prop: 'checkPrice', label: '检票金额', values: 'checkPrice' },
         { prop: 'orderDateDay', label: '统计日期', values: 'orderDateDay' }
       ],
-      selectKeys: ['orderDateDay'], // 默认选中
+      selectKeys: [''], // 默认选中
       tableIndex: 1,
       OrderIndexArr: [],
       tableData: [],

+ 1 - 1
src/pages/queryReport/refundStatistic.vue

@@ -149,7 +149,7 @@ export default {
         { prop: 'cancelSettlementPrice', label: '退票结算金额', values: 'cancelSettlementPrice' },
         { prop: 'orderDateDay', label: '统计日期', values: 'orderDateDay' }
       ],
-      selectKeys: ['orderDateDay'], // 默认选中
+      selectKeys: [''], // 默认选中
       tableData: [],
       otaSourceList: [],
       loading: false

+ 88 - 1
src/pages/queryReport/salesQuery.vue

@@ -246,6 +246,8 @@
           @click="reportExport">
           导出
         </el-button>
+
+        <i class="el-icon-setting" style="cursor: pointer; margin-left: 10px;" title="设置显示列" @click="showColumnConfig" />
       </div>
     </el-form>
 
@@ -259,6 +261,7 @@
         v-loading="loading"
         :data="tableData">
         <el-table-column
+          v-if="isColumnVisible('orderNo')"
           width="300"
           prop="orderNo"
           label="订单"
@@ -283,6 +286,7 @@
           </template>
         </el-table-column>
         <el-table-column
+          v-if="isColumnVisible('firstTicketTypeName')"
           width="160"
           prop="firstTicketTypeName"
           show-overflow-tooltip
@@ -299,6 +303,7 @@
           </template>
         </el-table-column> -->
         <el-table-column
+          v-if="isColumnVisible('isOnlineOrder')"
           width="150"
           prop="isOnlineOrder"
           label="渠道"
@@ -316,6 +321,7 @@
           </template>
         </el-table-column>
         <el-table-column
+          v-if="isColumnVisible('payStatus')"
           label="支付状态"
           width="100"
           fixed="right"
@@ -345,6 +351,7 @@
           </template>
         </el-table-column> -->
         <el-table-column
+          v-if="isColumnVisible('saleInfo')"
           width="140"
           label="售票"
         >
@@ -354,7 +361,8 @@
           </template>
         </el-table-column>
         <el-table-column
-          width="140"
+          v-if="isColumnVisible('buyerInfo')"
+          width="160"
           label="购买方"
         >
           <template slot-scope="scope">
@@ -379,6 +387,7 @@
           label="购买方证件号">
         </el-table-column> -->
         <el-table-column
+          v-if="isColumnVisible('ticketNum')"
           width="80"
           prop="ticketNum"
           label="所含票数"
@@ -403,6 +412,7 @@
           prop="ticketStatus">
         </el-table-column> -->
         <el-table-column
+          v-if="isColumnVisible('price')"
           width="80"
           label="总价(¥)"
         >
@@ -411,6 +421,7 @@
           </template>
         </el-table-column>
         <el-table-column
+          v-if="isColumnVisible('status')"
           width="100"
           label="订单状态"
           fixed="right"
@@ -420,6 +431,7 @@
           </template>
         </el-table-column>
         <el-table-column
+          v-if="isColumnVisible('createOrderRemark')"
           label="下单备注"
           show-overflow-tooltip
           prop="createOrderRemark">
@@ -504,6 +516,19 @@
 
     <OrderDetail ref="orderDetail"></OrderDetail>
 
+    <el-dialog
+      title="选择显示列"
+      :visible.sync="dialogVisible"
+      append-to-body>
+      <el-checkbox-group v-model="tempSelectedColumns">
+        <el-checkbox v-for="column in fixedColumns" :key="column.value" :label="column.value">{{ column.label }}</el-checkbox>
+      </el-checkbox-group>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="saveUserConfig">确 定</el-button>
+      </span>
+    </el-dialog>
+
     <el-dialog
       title="开票"
       :visible.sync="visible"
@@ -1480,8 +1505,24 @@ import moment from 'moment'
 import { payPOS } from '@/api/pay'
 import { getSelf } from '@/api/systemSetting/account'
 import { getSystemConfigList } from '@/api/systemConfig'
+import { addUserConfig, getUserConfig } from '@/api/configSetting'
 import { EventBus } from '@/utils/eventBus'
 
+const fixedColumns = [
+  { value: 'orderNo', label: '订单' },
+  { value: 'firstTicketTypeName', label: '票种' },
+  { value: 'isOnlineOrder', label: '渠道' },
+  { value: 'payStatus', label: '支付状态' },
+  { value: 'saleInfo', label: '售票' },
+  { value: 'buyerInfo', label: '购买方' },
+  { value: 'ticketNum', label: '所含票数' },
+  { value: 'price', label: '总价(¥)' },
+  { value: 'status', label: '订单状态' },
+  { value: 'createOrderRemark', label: '下单备注' }
+]
+
+const STAT_KEY = 'orderDetail'
+
 export default {
   name: 'salesQuery',
   computed: {
@@ -1603,6 +1644,10 @@ export default {
         { value: 'updatePlayDate', label: '游玩日期' },
         { value: 'updateScenicTimes', label: '检票次数' }
       ],
+      dialogVisible: false,
+      fixedColumns,
+      selectedColumns: fixedColumns.map(i => i.value),
+      tempSelectedColumns: fixedColumns.map(i => i.value),
       editOrderDialogVisible: false,
       editOrderInfo: {
         orderId: '',
@@ -1638,6 +1683,7 @@ export default {
     // 如果存在查询条件,则设置到组件的数据中
       this.form = searchParams // 记住上次搜索条件
     }
+    this.loadUserConfig()
     // this.getSaleChannelList()
     // this.getOrderList()
   },
@@ -1653,6 +1699,47 @@ export default {
   },
   methods: {
     getPayStatus,
+    showColumnConfig () {
+      this.dialogVisible = true
+      this.loadUserConfig(false)
+    },
+    loadUserConfig (applyToTable = true) {
+      getUserConfig({ statKey: STAT_KEY }).then(config => {
+        const fields = config?.data?.fields || config?.fields || config?.data?.columns || config?.columns || config?.data || []
+        let nextSelected = []
+        if (Array.isArray(fields) && fields.length) {
+          nextSelected = fields
+            .filter(i => Number(i.isShow) === 1)
+            .map(i => i.fieldKey)
+        } else {
+          nextSelected = fixedColumns.map(i => i.value)
+        }
+        if (applyToTable) {
+          this.selectedColumns = nextSelected
+        }
+        this.tempSelectedColumns = [...nextSelected]
+      }).catch(() => {
+        const nextSelected = fixedColumns.map(i => i.value)
+        if (applyToTable) {
+          this.selectedColumns = nextSelected
+        }
+        this.tempSelectedColumns = [...nextSelected]
+      })
+    },
+    saveUserConfig () {
+      const fields = this.fixedColumns.map(item => ({
+        fieldKey: item.value,
+        fieldName: item.label,
+        isShow: this.tempSelectedColumns.includes(item.value) ? 1 : 0
+      }))
+      addUserConfig({ statKey: STAT_KEY, fields }).then(() => {
+        this.selectedColumns = [...this.tempSelectedColumns]
+        this.dialogVisible = false
+      })
+    },
+    isColumnVisible (columnKey) {
+      return this.selectedColumns.includes(columnKey)
+    },
     hasPermission (key) {
       return !!this.permissionList.some(item => item.code === key)
     },

+ 4 - 5
src/pages/ticketSetting/ticket/Dialog.vue

@@ -64,7 +64,7 @@
           <!-- 新增开票状态 -->
           <el-form-item
             verify
-            label="开票状态"
+            label="是否支持开票"
             prop="isSupportInvoice"
           >
             <el-switch
@@ -109,8 +109,6 @@
               :precision="2"
             ></el-input-number>
           </el-form-item> -->
-
-
           <el-form-item
             verify
             label="多日票类型"
@@ -126,6 +124,7 @@
               :label="2">
               按照首次核销时间延长
             </el-radio>
+            <el-tag type="warning" style="margin-left: 10px;">票种如果可以使用多天,按照哪种方式延长游玩天数</el-tag>
           </el-form-item>
 
           <el-form-item
@@ -1182,7 +1181,7 @@ const defaultForm = {
   category: 'ticket', // 大类
   name: '', // 名称
   isSale: 1, // 在售状态 0为禁售 1为在售 默认为1
-  isSupportInvoice:1, // 是否支持发票 0为不支持 1为支持 默认为1
+  isSupportInvoice: 1, // 是否支持发票 0为不支持 1为支持 默认为1
   price: '', // 窗口价格
   onlinePrice: 0, // 线上价格
   highPrice: 0, // 虚拟高价(划线价格)
@@ -1220,7 +1219,7 @@ const defaultForm = {
   ticketTypeScenicList: [], // 票种绑定的景点数组
   source: ['window', 'term'], // 票种绑定的销售渠道 窗口:window ; 自助机:term,示例值([window])
   useDateType: 1, // 使用日期类型 1日历票 2期票 默认为1
-  useDaysDelayType:1, // 使用日期截止类型 1按使用日期截止 2按使用天数截止 默认为1
+  useDaysDelayType: 1, // 使用日期截止类型 1按使用日期截止 2按使用天数截止 默认为1
   payGonghangTicketTypeMerchantList: [], // 工行子商户列表
   ticketTypeInvoiceSellerList: [], // 发票销售方列表
   ticketTypeScenicSplitRequests: [] // 子分账景点