MrShi
2026-05-18 b099e758396f61b39d24cf5fa6be7bb0d10c2b4d
admin/src/views/business/orderManagement.vue
@@ -20,7 +20,7 @@
      <el-form-item label="类型" prop="type">
        <el-select v-model="searchForm.type" clearable placeholder="请选择类型" @change="search">
          <el-option label="就地存取" :value="0"></el-option>
          <el-option label="异地存取" :value="1"></el-option>
          <el-option label="同城寄送" :value="1"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="订单状态" prop="status">
@@ -32,11 +32,7 @@
          <el-option label="已接单" :value="3"></el-option>
          <el-option label="派送中" :value="4"></el-option>
          <el-option label="已到店/已送达" :value="5"></el-option>
          <el-option label="存在逾期" :value="6"></el-option>
          <el-option label="已完成" :value="7"></el-option>
          <el-option label="订单关闭(退款)" :value="96"></el-option>
          <el-option label="取消逾期" :value="97"></el-option>
          <el-option label="取消中" :value="98"></el-option>
          <el-option label="已取消" :value="99"></el-option>
        </el-select>
      </el-form-item>
@@ -68,11 +64,13 @@
        <el-table-column label="类型" min-width="80px">
          <template slot-scope="{row}">
            <span v-if="row.type === 0">就地存取</span>
            <span v-else-if="row.type === 1">异地存取</span>
            <span v-else-if="row.type === 1">同城寄送</span>
            <span v-else>-</span>
          </template>
        </el-table-column>
        <el-table-column prop="orderLevel" label="订单级别" min-width="80px"></el-table-column>
        <el-table-column prop="isUrgent" label="订单级别" min-width="80px">
          <template slot-scope="{row}"><span v-if="row.type ===1">{{ row.isUrgent === 1?'极速达':'标速达' }}</span></template>
        </el-table-column>
        <el-table-column label="物品保费(元)" min-width="120px">
          <template slot-scope="{row}">¥{{ (row.declaredFee / 100).toFixed(2) }}</template>
        </el-table-column>
@@ -85,6 +83,9 @@
        <el-table-column label="实付现金(元)" min-width="120px">
          <template slot-scope="{row}">¥{{ (row.payAmount / 100).toFixed(2) }}</template>
        </el-table-column>
        <el-table-column label="加急费(元)" min-width="120px">
          <template slot-scope="{row}"><span v-if="row.type ===1 ">¥{{ (row.platformRewardAmount / 100).toFixed(2) }}</span></template>
        </el-table-column>
        <el-table-column label="退款金额(元)" min-width="120px">
          <template slot-scope="{row}">¥{{ (row.refundAmount / 100).toFixed(2) }}</template>
        </el-table-column>
@@ -92,18 +93,32 @@
          <template slot-scope="{row}">¥{{ (row.overdueAmount / 100).toFixed(2) }}</template>
        </el-table-column>
        <el-table-column label="异常金额" min-width="100px">
          <template slot-scope="{row}">¥{{ (row.exceptionAmount / 100).toFixed(2) }}</template>
          <template slot-scope="{row}">¥{{ ((row.exceptionAmount || 0) / 100).toFixed(2) }}</template>
        </el-table-column>
        <el-table-column label="结算状态" min-width="100px">
        <el-table-column label="优惠券折扣" min-width="100px">
          <template slot-scope="{row}">¥{{ ((row.deductionAmount || 0) / 100).toFixed(2) }}</template>
        </el-table-column>
        <el-table-column  prop="statusDesc"  label="订单状态" min-width="100px">
          <template slot-scope="{row}">
            <span :style="{ color: row.status <7 ? '#e6a23c' :  (row.status ===7 ? '#67c23a' : 'grey' )}">
              {{ row.statusDesc }}
            </span>
          </template>
        </el-table-column>
        <el-table-column  label="结算状态" min-width="100px">
          <template slot-scope="{row}">
            <span :style="{ color: row.settlementStatus === 1 ? '#67c23a' : '#e6a23c' }">
              {{ row.settlementStatus === 1 ? '已结算' : '未结算' }}
            </span>
          </template>
        </el-table-column>
        <el-table-column prop="payTime" label="支付时间" min-width="150px"> </el-table-column>
        <el-table-column prop="createTime" label="创建时间" min-width="150px"> </el-table-column>
        <el-table-column label="操作" min-width="120" fixed="right">
          <template slot-scope="{row}">
            <el-button type="text" @click="handleDispatch(row)">手动派单</el-button>
            <el-button type="text" v-if="row.status === 2" @click="handleDispatch(row)">手动派单</el-button>
            <el-button type="text" v-if="row.status === 7 && row.manualRefund === 0" @click="handleManualRefund(row)">手动退款</el-button>
            <el-button type="text" v-if="row.status === 2">异常派单</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -113,8 +128,9 @@
        :pagination="tableData.pagination"
      ></pagination>
    </template>
    <OperaDispatch ref="operaDispatch" />
    <OperaOrderDetail ref="operaOrderDetail" />
    <OperaDispatch ref="operaDispatch" @success="handlePageChange" />
    <OperaOrderDetail ref="operaOrderDetail"  @success="handlePageChange"  />
    <OperaManualRefund ref="operaManualRefund" @success="handlePageChange" />
  </TableLayout>
</template>
@@ -124,10 +140,11 @@
import Pagination from '@/components/common/Pagination'
import OperaDispatch from '@/components/business/OperaDispatch'
import OperaOrderDetail from '@/components/business/OperaOrderDetail'
import OperaManualRefund from '@/components/business/OperaManualRefund'
export default {
  name: 'OrderManagement',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaDispatch, OperaOrderDetail },
  components: { TableLayout, Pagination, OperaDispatch, OperaOrderDetail, OperaManualRefund },
  data () {
    return {
      searchForm: {
@@ -175,6 +192,13 @@
    handleDispatch (row) {
      this.$refs.operaDispatch.open(row)
    },
    handleManualRefund (row) {
      this.$refs.operaManualRefund.open(row)
    },
    handleExceptionDispatch (row) {
      // 异常派单逻辑
      this.$message.info('异常派单功能待实现')
    },
    handleOrderDetail (row) {
      this.$refs.operaOrderDetail.open(row)
    }