From a59ff44b2eaa7020f0529632d9ec064c4dc38e27 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 28 四月 2026 22:08:46 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 admin/src/components/business/OperaDriverDetail.vue |  159 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 93 insertions(+), 66 deletions(-)

diff --git a/admin/src/components/business/OperaDriverDetail.vue b/admin/src/components/business/OperaDriverDetail.vue
index 5b25e54..da17929 100644
--- a/admin/src/components/business/OperaDriverDetail.vue
+++ b/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>

--
Gitblit v1.9.3