<template> 
 | 
  <GlobalWindow title="套餐卡详情" :visible.sync="isShowModal" width="1000px" @close="close" @confirm="close"> 
 | 
    <div> 
 | 
      <div class="modal_title">套餐名称:{{ detail.name }}</div> 
 | 
      <div class="place"> 
 | 
        <span>套餐号:{{ detail.code }}</span> 
 | 
        <span v-if="detail.useType == 1">有效期:{{ detail.useStartDate }}至{{ detail.useEndDate }}</span> 
 | 
        <span v-if="detail.useType == 0">有效期:{{ detail.useStartDate }}至{{ detail.useEndDate }}</span> 
 | 
        <span v-if="detail.useType == 2">有效期:{{ detail.useStartDate }}至{{ detail.useEndDate }}</span> 
 | 
      </div> 
 | 
      <div class="df_ac"> 
 | 
        <el-tabs style="flex: 1;" v-model="activeTab" @tab-click="handleClick"> 
 | 
          <el-tab-pane label="套餐使用明细" name="0" /> 
 | 
          <el-tab-pane label="套餐操作记录" name="2" /> 
 | 
        </el-tabs> 
 | 
        <div style="border-bottom: 2px solid #e5e7ec; margin-top: 1px;">{{ activeTab == 0 ? '使用情况' : '操作情况' }}:{{ pagination.total }}次</div> 
 | 
      </div> 
 | 
      <el-table v-if="activeTab == 0" v-loading="loading" :data="list" stripe border> 
 | 
        <el-table-column prop="createDate" align="center" label="使用时间" min-width="120" show-overflow-tooltip /> 
 | 
        <el-table-column prop="goodsorderId" align="center" label="关联订单" min-width="140" show-overflow-tooltip /> 
 | 
        <el-table-column prop="" align="center" label="骑车时长" min-width="80" show-overflow-tooltip> 
 | 
          <template v-slot="{ row }"> 
 | 
            {{ row.rideTime }}分钟 
 | 
          </template> 
 | 
        </el-table-column> 
 | 
        <el-table-column prop="ridePrice" align="center" label="抵扣金额" min-width="100" show-overflow-tooltip /> 
 | 
      </el-table> 
 | 
      <el-table v-if="activeTab == 2" v-loading="loading" :data="list" stripe border> 
 | 
        <el-table-column prop="createDate" align="center" label="操作时间" min-width="120" show-overflow-tooltip /> 
 | 
        <el-table-column prop="info" align="center" label="操作类型" min-width="100" show-overflow-tooltip> 
 | 
          <template v-slot="{ row }"> 
 | 
           <span v-if="row.type == 0">用户骑行使用</span> 
 | 
           <span v-if="row.type == 1">套餐作废</span> 
 | 
           <span v-if="row.type == 2">套餐调整</span> 
 | 
          </template> 
 | 
        </el-table-column> 
 | 
        <el-table-column prop="editInfo" align="center" label="操作备注" min-width="200" show-overflow-tooltip /> 
 | 
        <el-table-column prop="creatorName" align="center" label="操作人" min-width="80" show-overflow-tooltip /> 
 | 
      </el-table> 
 | 
      <div class="table_btns"> 
 | 
        <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> 
 | 
      </div> 
 | 
    </div> 
 | 
  </GlobalWindow> 
 | 
</template> 
 | 
<script> 
 | 
import { comboSalerDetailPost, discountLogLog } from '@/api/business/combo.js' 
 | 
import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
import BasePageTemp from '@/components/base/BasePageTemp' 
 | 
export default { 
 | 
  name: 'ComboDetail', 
 | 
  extends: BasePageTemp, 
 | 
  components: { 
 | 
    GlobalWindow 
 | 
  }, 
 | 
  data() { 
 | 
    return { 
 | 
      isShowModal: false, 
 | 
      activeTab: '0', 
 | 
      detail: {}, 
 | 
      pagination: { 
 | 
        page: 1, 
 | 
        rows: 10 
 | 
      }, 
 | 
      totalCount: 0, 
 | 
      list: [], 
 | 
      loading: false 
 | 
    } 
 | 
  }, 
 | 
  created() { 
 | 
    // this.detail = this.$route.query 
 | 
    // this.comboDetail() 
 | 
  }, 
 | 
  methods: { 
 | 
    getDetail(row) { 
 | 
      comboSalerDetailPost(row.id).then(res => { 
 | 
        this.detail = res 
 | 
        this.activeTab = '0' 
 | 
        this.getList() 
 | 
      }, () => { 
 | 
  
 | 
      }) 
 | 
    }, 
 | 
    handleClick(val) { 
 | 
      this.getList() 
 | 
    }, 
 | 
    getList(page) { 
 | 
      const { pagination, activeTab, detail } = this 
 | 
      this.loading = true 
 | 
      if (page) { pagination.page = page } 
 | 
      discountLogLog({ 
 | 
        model: { 
 | 
          type: activeTab, 
 | 
          discountMemberId: detail.id 
 | 
        }, 
 | 
        capacity: pagination.pageSize, 
 | 
        page: pagination.page, 
 | 
      }).then(res => { 
 | 
        this.loading = false 
 | 
        this.list = res.records || [] 
 | 
        this.pagination.total = res.total || 0 
 | 
      }, () => { 
 | 
        this.loading = false 
 | 
      }) 
 | 
    }, 
 | 
    close() { 
 | 
      this.isShowModal = false 
 | 
      this.$emit('close') 
 | 
    }, 
 | 
    currentPageChange(val) { 
 | 
      this.pagination.page = val 
 | 
      this.comboDetail() 
 | 
    }, 
 | 
    pageSizeChange(val) { 
 | 
      this.pagination.rows = val 
 | 
      this.comboDetail() 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
.modal_title { 
 | 
  font-size: 18px; 
 | 
  font-weight: 500; 
 | 
  margin-bottom: 6px; 
 | 
} 
 | 
  
 | 
.place { 
 | 
  color: #999999; 
 | 
  font-size: 13px; 
 | 
  display: flex; 
 | 
  margin-bottom: 8px; 
 | 
  
 | 
  span { 
 | 
    margin-right: 60px; 
 | 
  } 
 | 
} 
 | 
</style> 
 |