ll
liukangdong
2025-02-21 c6ac7827159e71f6906a42ceb29a4f83a2f239f6
admin/src/views/combo/components/OrderDetail.vue
@@ -1,42 +1,92 @@
<template>
  <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking">
    <div class="title">支付明细</div>
    <el-table :data="list" stripe border>
      <el-table-column prop="id" label="订单编号" show-overflow-tooltip align="center"></el-table-column>
      <el-table-column prop="onlineorderId" label="交易单号" show-overflow-tooltip align="center"></el-table-column>
      <el-table-column prop="refundType" label="交易类型" width="100px" align="center">
  <GlobalWindow :title="title" width="1000px" :visible.sync="visible" :confirm-working="isWorking">
    <div class="title">订单信息</div>
    <div class="info_warp">
      <div class="item">
        <div class="la">订单编号:</div>
        <div class="val">{{ info.id }}</div>
      </div>
      <div class="item">
        <div class="la">订单状态:</div>
        <div class="val">{{ info.status == 1 ? '已支付' : '未支付' }}</div>
      </div>
      <div class="item">
        <div class="la">下单时间:</div>
        <div class="val">{{ info.createDate }}</div>
      </div>
      <div class="item">
        <div class="la">支付时间:</div>
        <div class="val">{{ info.payDate }}</div>
      </div>
      <div class="item">
        <div class="la">订单金额:</div>
        <div class="val">{{ info.money }}</div>
      </div>
      <div class="item">
        <div class="la">支付方式:</div>
        <div class="val">{{ info.payWay == 0 ? '微信' : '支付宝' }}</div>
      </div>
      <div class="item">
        <div class="la">支付单号:</div>
        <div class="val">{{ info.onlineOrderid }}</div>
      </div>
      <div class="item">
        <div class="la">完成时间:</div>
        <div class="val">{{ info.closeDate }}</div>
      </div>
      <div class="item">
        <div class="la">备注:</div>
        <div class="val">{{ info.closeInfo }}</div>
      </div>
    </div>
    <div class="title">买家信息</div>
    <div class="info_warp">
      <div class="item">
        <div class="la">呢称:</div>
        <div class="val">{{ form.member.name }}</div>
      </div>
      <div class="item">
        <div class="la">手机号:</div>
        <div class="val">{{ form.member.phone }}</div>
      </div>
      <div class="item">
        <div class="la">openId:</div>
        <div class="val">{{ form.member.openid }}</div>
      </div>
    </div>
    <div class="title">商品信息</div>
    <el-table :data="[goods]" stripe border>
      <el-table-column prop="name" min-width="100px" label="套餐卡" show-overflow-tooltip align="center"></el-table-column>
      <el-table-column prop="refundType" label="有效期" min-width="160px" align="center">
        <template slot-scope="{row}">
          {{ typeToStr(row.refundType) }}
          {{ row.startDate }} 至 {{ row.endDate }}
        </template>
      </el-table-column>
      <el-table-column prop="money" label="交易金额(元)" width="100px" align="center"></el-table-column>
      <el-table-column prop="payWay" label="渠道" width="100px" align="center">
      <el-table-column label="数量" width="80px" align="center">
        <template slot-scope="{row}">
          {{ row.payWay==0? '微信' : '支付宝' }}
          <span>1</span>
        </template>
      </el-table-column>
      <el-table-column prop="payDate" label="交易时间" width="150px" align="center"></el-table-column>
      <el-table-column prop="price" label="价格" width="100px" align="center"></el-table-column>
      <el-table-column prop="payWay" label="状态" width="100px" align="center">
        <template slot-scope="{row}">
          {{ info.status == 1 ? '已支付' : '未支付' }}
        </template>
      </el-table-column>
    </el-table>
    <div class="title">骑行记录</div>
    <el-table
      :data="memberRidesList"
      stripe
      border
    >
      <el-table-column prop="openid" label="用户" width="250px" show-overflow-tooltip align="center"></el-table-column>
      <el-table-column prop="bikeCode" label="车辆编号" width="100px" align="center"></el-table-column>
      <el-table-column prop="bikeType" label="车类型" width="200px" align="center"></el-table-column>
      <el-table-column prop="rideTime" label="借出时长(分)" width="200px" align="center"></el-table-column>
      <el-table-column prop="duration" label="计费时长(分)" width="200px" align="center"></el-table-column>
      <el-table-column prop="bikeType" label="车类型" width="150px" align="center"></el-table-column>
      <el-table-column prop="rentDate" label="借出时间" width="150px" align="center"></el-table-column>
      <el-table-column prop="backDate" label="还车时间" width="150px" align="center"></el-table-column>
      <el-table-column prop="closeStatus" fixed="right" label="结算状态" width="100px" align="center">
        <template slot-scope="{row}">
          {{ row.closeStatus == 0 ? '未结算' : '已结算' }}
    <div v-if="form.refundList && form.refundList.length > 0" class="title">退款信息</div>
    <el-table v-if="form.refundList && form.refundList.length > 0" :data="form.refundList" stripe border>
      <el-table-column prop="createDate" label="退款时间" min-width="180px" show-overflow-tooltip align="center"></el-table-column>
      <el-table-column prop="money" label="退款金额" min-width="100px" align="center"></el-table-column>
      <el-table-column label="状态" min-width="100px" align="center">
        <template v-slot="{row}">
          <span v-if="row.status == 0">预退款</span>
          <span v-if="row.status == 1">退款失败</span>
          <span v-if="row.status == 2">退款完成</span>
        </template>
      </el-table-column>
      <el-table-column prop="reason" label="退款备注" min-width="100px" align="center"></el-table-column>
      <el-table-column prop="creatorName" label="操作人" min-width="100px" align="center"></el-table-column>
    </el-table>
    <div slot="footer">
      <el-button @click="visible=false">返回</el-button>
@@ -56,8 +106,10 @@
    return {
      // 表单数据
      form: {
        goodsorderId: ''
        member: {}
      },
      info: {},
      goods: {},
      list: [],
      memberRidesList: [],
      // 0结算退款 1强制结算退款 2结算后退款 [99: 虚拟type 支付押金]
@@ -78,7 +130,11 @@
      this.title = title
      this.visible = true
      // 新建
      console.log('target', target)
      this.form = target
      this.info = target.goodsOrder
      this.goods = target.discountMember
      this.$nextTick(() => {
        this.list = target.payOrderDTOList
        this.memberRidesList = target.memberRidesList
@@ -94,7 +150,23 @@
}
</script>
<style scoped>
<style scoped lang="scss">
.info_warp {
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  .item {
    display: flex;
    width: 33.3%;
    margin-bottom: 6px;
    .val {
      color: #666666;
    }
  }
}
.title {
  font-size: 18px;
  font-weight: 600;