jiangping
2025-02-28 69283b5a4559509187516355602e32e4bdac9d5d
admin/src/views/combo/order.vue
@@ -6,7 +6,7 @@
      <el-button type="primary" @click="handleEx()">导出</el-button>
    </div>
    <el-table v-loading="loading" :data="list" stripe border>
      <el-table-column prop="code" align="center" label="订单编号" min-width="180" show-overflow-tooltip>
      <el-table-column prop="code" align="center" label="订单编号" min-width="200" show-overflow-tooltip>
        <template scope="{row}">
          <span @click="handleDetail(row.id)" class="primaryColor pointer">{{ row.code }}</span>
        </template>
@@ -15,7 +15,7 @@
      <el-table-column prop="money" align="center" label="合计(元)" min-width="80" show-overflow-tooltip />
      <el-table-column prop="money" align="center" label="实付(元)" min-width="80" show-overflow-tooltip />
      <el-table-column prop="refundMoney" align="center" label="已退金额(元)" min-width="100" show-overflow-tooltip />
      <el-table-column prop="memberId" align="center" label="用户信息" min-width="140" show-overflow-tooltip />
      <el-table-column prop="openid" align="center" label="用户信息" min-width="200" show-overflow-tooltip />
      <el-table-column prop="payWay" align="center" label="支付方式" min-width="80" show-overflow-tooltip>
        <template v-slot="{ row }">
          <span v-if="row.payWay == 0">微信支付</span>
@@ -27,12 +27,19 @@
          <span>小程序端</span>
        </template>
      </el-table-column>
      <el-table-column prop="payWay" align="center" label="订单状态" min-width="80" show-overflow-tooltip>
        <template v-slot="{ row }">
          <span v-if="row.status == 0">未支付</span>
          <span v-if="row.status == 1">已支付</span>
        </template>
      </el-table-column>
      <el-table-column prop="refundUserName" align="center" label="操作人" min-width="80" show-overflow-tooltip />
      <el-table-column prop="createDate" align="center" label="创建时间" min-width="140" show-overflow-tooltip />
      <el-table-column label="操作" fixed="right" align="center" min-width="80" show-overflow-tooltip>
      <el-table-column prop="createDate" align="center" label="创建时间" min-width="160" show-overflow-tooltip />
      <el-table-column label="操作" fixed="right" align="center" min-width="120" show-overflow-tooltip>
        <template v-slot="{ row }">
          <span @click="handleDetail(row.id)" class="primaryColor pointer">查看详情</span>
          <span v-if="row.status == 1 && (row.refundMoney < row.money)" @click="handRefund(row.id)" class="primaryColor pointer ml10">退款</span>
          <span v-if="row.status == 1 && (row.refundMoney < row.money)" @click="handRefund(row.id)"
            class="primaryColor pointer ml10">退款</span>
        </template>
      </el-table-column>
    </el-table>
@@ -55,6 +62,7 @@
  comboListOrderEx,
  comboOrderDetailPost
} from '@/api/business/combo.js'
import dayjs from 'dayjs'
export default {
  extends: BasePageTemp,
  components: {
@@ -73,19 +81,22 @@
            label: '订单编号',
          },
          {
            filed: 'name',
            filed: 'discountName',
            type: 'input',
            label: '套餐卡',
            placeholder: '请输入卡名称',
          },
          {
            filed: 'pay',
            filed: 'payWay',
            type: 'select',
            label: '支付方式',
            options: []
            options: [
              { label: '微信', value: 0 },
              { label: '支付宝', value: 1 },
            ]
          },
          {
            filed: 'status',
            filed: 'payStatus',
            type: 'select',
            label: '订单状态',
            options: [
@@ -94,12 +105,12 @@
            ]
          },
          {
            filed: 'time',
            type: 'date',
            filed: 'selDate',
            type: 'daterange',
            label: '支付时间',
          },
          {
            filed: 'username',
            filed: 'openid',
            type: 'input',
            label: '用户信息',
          },
@@ -109,6 +120,8 @@
    }
  },
  created() {
    let date = dayjs().format('YYYY-MM-DD')
    this.$set(this.filters, 'selDate', [date, date])
    this.getList()
    // this.initData()
  },
@@ -117,22 +130,36 @@
      this.$refs.RefundRef.open(id)
    },
    handleDetail(id) {
      comboOrderDetailPost({id})
      comboOrderDetailPost({ id })
        .then(res => {
          this.$refs.OrderDetailRef.open('订单详情', res)
          if (res) {
            this.$refs.OrderDetailRef.open('订单详情', res)
          }
        })
        .catch(err => {
          this.$tip.apiFailed(err)
        })
    },
    handleEx() {
      const { pagination, filters } = this
      this.$dialog.exportConfirm('确认导出吗?')
        .then(() => {
          this.loading = true
          if (filters.selDate && filters.selDate.length > 0) {
            filters.startDate = filters.selDate[0] + ' 00:00:00'
            filters.endDate = filters.selDate[1] + ' 00:00:00'
          } else {
            filters.startDate = null
            filters.endDate = null
          }
          comboListOrderEx({
            page: 1,
            capacity: 1000000,
            model: this.filters
            model: {
              ...filters,
              type: 1
            },
          })
            .then(response => {
              this.download(response)
@@ -154,6 +181,13 @@
    getList(page) {
      const { pagination, filters } = this
      this.loading = true
      if (filters.selDate && filters.selDate.length > 0) {
        filters.startDate = filters.selDate[0] + ' 00:00:00'
        filters.endDate = filters.selDate[1] + ' 00:00:00'
      } else {
        filters.startDate = null
        filters.endDate = null
      }
      if (page) { pagination.page = page }
      comboOrderPost({
        model: {