rk
3 天以前 a59ff44b2eaa7020f0529632d9ec064c4dc38e27
admin/src/components/business/OperaDriverDetail.vue
@@ -2,7 +2,7 @@
  <GlobalWindow
    :title="title"
    :visible.sync="visible"
    width="900px"
    width="calc(100% - 255px )"
    :withFooter="false"
  >
    <div class="driver-detail">
@@ -153,116 +153,158 @@
          </div>
        </div>
      </div>
      <div v-show="activeTab === 'business'" class="tab-content">
        <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
          <el-form-item label="订单编号" prop="orderNo">
            <el-input v-model="searchForm.orderNo" clearable placeholder="请输入订单编号"></el-input>
          <el-form-item label="订单编号" prop="code">
            <el-input v-model="searchForm.code" style="width: 150px;" clearable placeholder="请输入订单编号" @keypress.enter.native="search"></el-input>
          </el-form-item>
          <el-form-item label="物品信息" prop="goodsInfo">
            <el-input v-model="searchForm.goodsInfo" clearable placeholder="请输入物品信息"></el-input>
            <el-input v-model="searchForm.goodsInfo" style="width: 150px;" clearable placeholder="请输入物品信息" @keypress.enter.native="search"></el-input>
          </el-form-item>
          <el-form-item label="创建时间" prop="createTime">
            <el-date-picker type="daterange" v-model="searchForm.createTime" clearable value-format="yyyy-MM-dd"
                            range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="handleDateChange" />
          </el-form-item>
          <el-form-item label="订单状态" prop="orderStatus">
            <el-select v-model="searchForm.orderStatus" clearable placeholder="请选择订单状态">
              <el-option label="待取件" :value="1"></el-option>
              <el-option label="配送中" :value="2"></el-option>
              <el-option label="已完成" :value="3"></el-option>
              <el-option label="已取消" :value="4"></el-option>
          <el-form-item label="订单状态" prop="status">
            <el-select v-model="searchForm.status" clearable style="width: 150px;" placeholder="请选择订单状态" @change="search">
              <el-option label="全部" value=""></el-option>
              <el-option label="待支付" :value="0"></el-option>
              <el-option label="待寄存" :value="1"></el-option>
              <el-option label="已寄存" :value="2"></el-option>
              <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="7"></el-option>
              <el-option label="已取消" :value="99"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="结算状态" prop="settleStatus">
            <el-select v-model="searchForm.settleStatus" clearable placeholder="请选择结算状态">
              <el-option label="未结算" :value="0"></el-option>
          <el-form-item label="结算状态" prop="settlementStatus">
            <el-select v-model="searchForm.settlementStatus" style="width: 150px;" clearable placeholder="请选择结算状态" @change="search">
              <el-option label="待结算" :value="0"></el-option>
              <el-option label="已结算" :value="1"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="创建时间" prop="createTime1">
            <el-date-picker type="daterange" v-model="searchForm.createTime1" clearable value-format="yyyy-MM-dd"
                            range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="handleDateChange" />
          </el-form-item>
          <section>
            <el-button type="primary" @click="searchBusiness">搜索</el-button>
            <el-button @click="resetBusiness">重置</el-button>
            <el-button type="primary" @click="search">搜索</el-button>
            <el-button @click="reset">重置</el-button>
            <el-button :loading="isWorking.export" @click="exportExcel">导出</el-button>
          </section>
        </el-form>
<!--
        <div class="statistics">
          <span>订单数:{{ statistics.orderCount }}</span>
          <span>订单总价:¥{{ (statistics.orderAmount / 100).toFixed(2) }}</span>
          <span>结算总价:¥{{ (statistics.settleAmount / 100).toFixed(2) }}</span>
        </div>
-->
        <el-table :data="businessData.list" stripe>
          <el-table-column prop="orderNo" label="订单编号" min-width="150px"></el-table-column>
        <el-table :data="tableData.list" stripe>
          <el-table-column prop="code" label="订单编号" min-width="160px">
            <template slot-scope="{row}">
              <span class="bluestate" @click="$refs.operaOrderDetail.open(row)">{{ row.code }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="goodsInfo" label="物品信息" min-width="120px"></el-table-column>
          <el-table-column prop="type" label="类型" min-width="80px"></el-table-column>
          <el-table-column prop="level" 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.insuranceAmount / 100).toFixed(2) }}</template>
            <template slot-scope="{row}">¥{{ (row.declaredFee / 100).toFixed(2) }}</template>
          </el-table-column>
          <el-table-column label="物品保费(元)" min-width="120px">
            <template slot-scope="{row}">¥{{ (row.declaredFee / 100).toFixed(2) }}</template>
          </el-table-column>
          <el-table-column label="基础服务费(元)" min-width="120px">
            <template slot-scope="{row}">¥{{ (row.serviceAmount / 100).toFixed(2) }}</template>
            <template slot-scope="{row}">¥{{ (row.price / 100).toFixed(2) }}</template>
          </el-table-column>
          <el-table-column label="订单状态" min-width="100px">
          <el-table-column label="订单总价(元)" min-width="120px">
            <template slot-scope="{row}">¥{{ (row.totalAmount / 100).toFixed(2) }}</template>
          </el-table-column>
          <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.urgentAmount / 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>
          <el-table-column label="超时金额" min-width="100px">
            <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>
          </el-table-column>
          <el-table-column  prop="statusDesc"  label="订单状态" min-width="100px">
            <template slot-scope="{row}">
              <span v-if="row.orderStatus === 1">待取件</span>
              <span v-else-if="row.orderStatus === 2">配送中</span>
              <span v-else-if="row.orderStatus === 3">已完成</span>
              <span v-else-if="row.orderStatus === 4">已取消</span>
              <span v-else>-</span>
            <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">
          <el-table-column  label="结算状态" min-width="100px">
            <template slot-scope="{row}">
              <span :style="{ color: row.settleStatus === 1 ? '#67c23a' : '#e6a23c' }">
                {{ row.settleStatus === 1 ? '已结算' : '未结算' }}
              </span>
            <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>
        <pagination
          @size-change="handleBusinessSizeChange"
          @current-change="handleBusinessPageChange"
          :pagination="businessData.pagination"
            @size-change="handleSizeChange"
            @current-change="handlePageChange"
            :pagination="tableData.pagination"
        ></pagination>
      </div>
    </div>
    <OperaOrderDetail ref="operaOrderDetail"  @success="handlePageChange"  />
  </GlobalWindow>
</template>
<script>
import GlobalWindow from '@/components/common/GlobalWindow'
import BaseTable from '@/components/base/BaseTable'
import Pagination from '@/components/common/Pagination'
import { getById } from '@/api/business/driver'
import OperaOrderDetail from '@/components/business/OperaOrderDetail'
export default {
  name: 'OperaDriverDetail',
  components: { GlobalWindow, Pagination },
  extends: BaseTable,
  components: { GlobalWindow, Pagination ,OperaOrderDetail},
  data () {
    return {
      title: '司机详情',
      visible: false,
      activeTab: 'basic',
      isSearchWorking: false,
      detailInfo: {},
      searchForm: {
        orderNo: '',
        goodsInfo: '',
        createTime: '',
        createTime1: '',
        startTime: '',
        endTime: '',
        orderStatus: '',
        settleStatus: ''
        settleStatus: '',
        acceptDriver:null
      },
      statistics: {
        orderCount: 0,
        orderAmount: 0,
        settleAmount: 0
      },
      businessData: {
        list: [],
        pagination: { page: 1, size: 10, total: 0 }
      }
    }
  },
  created () {
    this.config({
      api: '/business/orderManagement',
      'field.id': 'id'
    })
    this.search()
  },
  methods: {
    open (title, row) {
@@ -274,29 +316,14 @@
      }).catch(e => {
        this.$tip.apiFailed(e)
      })
    },
    searchBusiness () {
    },
    resetBusiness () {
      this.searchForm = {
        orderNo: '',
        goodsInfo: '',
        createTime: '',
        startTime: '',
        endTime: '',
        orderStatus: '',
        settleStatus: ''
      }
      this.searchBusiness()
      this.searchForm.acceptDriver = row.id
      this.search()
    },
    handleDateChange (val) {
      this.searchForm.startTime = val ? val[0] : ''
      this.searchForm.endTime = val ? val[1] : ''
      this.searchForm.createStartTime = val ? val[0] : ''
      this.searchForm.createEndTime = val ? val[1] : ''
      this.search()
    },
    handleBusinessSizeChange () {
    },
    handleBusinessPageChange () {
    }
  }
}
</script>