LaveyD il y a 3 semaines
Parent
commit
f7460f72b0

+ 5 - 0
src/api/checker.js

@@ -135,3 +135,8 @@ export function addSubProject (params) {
 export function updateSubProject (params) {
   return http.post('/admin/subProject/update', { data: params })
 }
+
+// 查询某个统计的配置字段
+export function getFiledByStatKey (params) {
+  return http.post('/admin/statFieldConfig/getFiledByStatKey', { data: params })
+}

+ 2 - 2
src/components/GlobalComponents/OrderDetail.vue

@@ -76,15 +76,15 @@
             检票景点明细
             <el-input v-model="ticketNoSearch1" placeholder="输入票号查询"></el-input>
           </div>
-          <el-table border :data="checkDetailList" :max-height="400">
+          <el-table border :data="checkDetailList" :max-height="450">
             <el-table-column type="expand">
               <template slot-scope="props">
                 <div class="title">检票景点</div>
                 <el-table :data="props.row.ticketCheckScenicList" :max-height="200">
                   <el-table-column
                     prop="scenicName"
-                    width="240"
                     show-overflow-tooltip
+                    width="300"
                     label="景点"
                   ></el-table-column>
                   <el-table-column

+ 145 - 0
src/pages/checkerManage/statKeyManage.vue

@@ -0,0 +1,145 @@
+<template>
+  <div class="form-wrap">
+    <el-form
+      class="search-box"
+      ref="form"
+      :model="form"
+      :inline="true"
+    >
+      <div class="block-title">
+        查询条件
+      </div>
+      <el-form-item
+        label="统计标识"
+        prop="statKey">
+        <el-select v-model="form.statKey" placeholder="请选择统计字段标识">
+          <el-option
+            label="售票统计"
+            value="orderSaleStatistics">
+          </el-option>
+          <el-option
+            label="报表明细"
+            value="orderDetail">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <div class="btn-wrap">
+        <el-button
+          @click="reset">
+          重置
+        </el-button>
+        <el-button
+          type="primary"
+          @click="getList(true)">
+          搜索
+        </el-button>
+      </div>
+    </el-form>
+
+    <div class="table-box">
+      <!-- <div class="block-title">
+        数据权限列表
+      </div> -->
+      <el-table
+        border
+        v-loading="loading"
+        :data="tableData">
+        <el-table-column
+          prop="fieldKey"
+          label="字段属性标识">
+        </el-table-column>
+        <el-table-column
+          prop="fieldName"
+          label="字段属性名称">
+        </el-table-column>
+        <el-table-column
+          prop="isShow"
+          label="是否显示">
+          <template slot-scope="scope">
+            {{ scope.row.isShow === 1 ? '是' : '否' }}
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <!-- 弹框 -->
+  </div>
+</template>
+
+<script>
+import { getFiledByStatKey } from '@/api/checker'
+
+export default {
+  data () {
+    return {
+      form: {
+        statKey: 'orderSaleStatistics'
+      },
+      loading: false,
+      tableData: [],
+      total: 0,
+      dialogVisible: false,
+      configDialogVisible: false,
+      currentItem: {},
+      adminList: [],
+      ticketTypeList: [],
+      scenicList: [],
+      payChannelList: [],
+      deviceList: []
+    }
+  },
+  created () {
+    this.getList()
+  },
+  components: {
+  },
+  methods: {
+    reset () {
+      this.$refs.form.resetFields()
+    },
+    handleSizeChange (size) {
+      this.form.pageSize = size
+      this.getList()
+    },
+    // 获取通道列表
+    getList (goFirst) {
+      let params = { ...this.form }
+
+      goFirst && (params.pageNum = 1)
+      this.loading = true
+      getFiledByStatKey(params).then(res => {
+        console.log('res', res)
+        this.tableData = res.data || []
+        this.loading = false
+      })
+    },
+    // 打开弹框
+    openAddDialog () {
+      this.currentItem = {
+        id: '',
+        name: ''
+      }
+      this.dialogVisible = true
+    },
+    openEditDialog (item) {
+      this.currentItem = {
+        id: item.id,
+        name: item.name,
+        adminIds: item.admins ? item.admins.map(adm => adm.id) || [] : [],
+        ticketTypeIds: item.ticketTypes ? item.ticketTypes.map(tt => tt.id) || [] : [],
+        scenicIds: item.scenicList ? item.scenicList.map(sc => sc.id) || [] : [],
+        payChannelIds: item.payChannelList ? item.payChannelList.map(pc => pc.id) || [] : [],
+        checkerIds: item.checkerList ? item.checkerList.map(ch => ch.id) || [] : []
+      }
+      this.dialogVisible = true
+    },
+    getNameList (list, key = 'name') {
+      if (!list) return ''
+      return list.map(item => item[key]).join(',')
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 14 - 1
src/pages/ticketSetting/ticket/Dialog.vue

@@ -969,6 +969,18 @@
                     <span class="unit" style="margin-left: 20px; font-size: 16px;">{{ scope.row.splitRatio * 100 }}%</span>
                   </template>
                 </el-table-column>
+                <el-table-column
+                  label="固定金额"
+                  min-width="90">
+                  <template slot-scope="scope">
+                    <el-input-number
+                      controls-position="right"
+                      :min="0"
+                      v-model="scope.row.fixedAmount"
+                    ></el-input-number>
+                    <Tip msg="避免小数点情况 优先按照固定金额计算分账金额否则按照分账比例" style="margin-left: 10px;"></Tip>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   width="90"
                   class-name="align-item"
@@ -1447,7 +1459,8 @@ export default {
     handleAddInvoiceSeller () {
       this.form.ticketTypeInvoiceSellerList.push({
         invoiceSellerId: '',
-        splitRatio: 0
+        splitRatio: 0,
+        fixedAmount: ''
       })
     },
     delInvoiceSeller (index) {

+ 8 - 2
src/router/index.js

@@ -233,6 +233,12 @@ let routerMap = [
         name: 'subProjectManage',
         component: require('@/pages/checkerManage/subProjectManage').default,
         meta: { title: '数据权限管理', permissionName: 'ticket-manage:subProject-manage' }
+      },
+      {
+        path: 'statKeyManage',
+        name: 'statKeyManage',
+        component: require('@/pages/checkerManage/statKeyManage').default,
+        meta: { title: '统计字段配置管理', permissionName: 'ticket-manage:statKey-manage' }
       }
     ]
   },
@@ -260,13 +266,13 @@ let routerMap = [
         path: 'osSaleStatistic',
         name: 'osSaleStatistic',
         component: require('@/pages/queryReport/osSaleStatistic').default,
-        meta: { title: '分账统计', permissionName: 'ticket-manage:order-scenic-split-statistics' }
+        meta: { title: '分账统计', permissionName: 'statistics-center:order-scenic-split-statistics' }
       },
       {
         path: 'ghSplitRecordStatistic',
         name: 'ghSplitRecordStatistic',
         component: require('@/pages/queryReport/ghSplitRecordStatistic').default,
-        meta: { title: '工行商户统计', permissionName: 'ticket-manage:gh-mer-split-statistics' }
+        meta: { title: '工行商户统计', permissionName: 'statistics-center:gh-mer-split-statistics' }
       },
       {
         path: 'checkQuery',