From c1147646b9ef1d713a202d7ab8cf3ea8d677f142 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 27 九月 2025 21:56:54 +0800
Subject: [PATCH] fix:优化评价

---
 ruoyi-ui/src/views/system/order/detail.vue |  105 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 72 insertions(+), 33 deletions(-)

diff --git a/ruoyi-ui/src/views/system/order/detail.vue b/ruoyi-ui/src/views/system/order/detail.vue
index d09d496..886735a 100644
--- a/ruoyi-ui/src/views/system/order/detail.vue
+++ b/ruoyi-ui/src/views/system/order/detail.vue
@@ -45,10 +45,10 @@
             <div slot="header"><b>鏈嶅姟瑕佹眰</b></div>
             <el-descriptions :column="1" border>
               <el-descriptions-item label="鍑哄彂鍦�">{{ serviceInfo.startAddress }}</el-descriptions-item>
-              <el-descriptions-item label="鍑哄彂鍦颁綅缃�">{{ serviceInfo.startLocation }}</el-descriptions-item>
+              <!-- <el-descriptions-item label="鍑哄彂鍦颁綅缃�">{{ serviceInfo.startLocation }}</el-descriptions-item> -->
               <el-descriptions-item label="鐩殑鍦�">{{ serviceInfo.endAddress }}</el-descriptions-item>
-              <el-descriptions-item label="鐩殑鍦颁綅缃�">{{ serviceInfo.endLocation }}</el-descriptions-item>
-              <el-descriptions-item label="杞繍閲岀▼">{{ serviceInfo.distance }}</el-descriptions-item>
+              <!-- <el-descriptions-item label="鐩殑鍦颁綅缃�">{{ serviceInfo.endLocation }}</el-descriptions-item> -->
+              <el-descriptions-item label="杞繍閲岀▼">{{ serviceInfo.distance }} 鍏噷</el-descriptions-item>
               <el-descriptions-item label="鎼姮鏈嶅姟">{{ serviceInfo.liftService }}</el-descriptions-item>
               <el-descriptions-item label="鎼姮妤煎眰">{{ serviceInfo.liftFloor }}</el-descriptions-item>
               <el-descriptions-item label="鍖绘姢瑕佹眰">{{ serviceInfo.medicalStaff }}</el-descriptions-item>
@@ -64,7 +64,7 @@
               <el-descriptions-item label="鏄惁鏈夋剰璇�">{{ medicalInfo.hasConsciousness }}</el-descriptions-item>
               <el-descriptions-item label="鐥呬汉鎯呭喌">{{ medicalInfo.patientCondition }}</el-descriptions-item>
               <el-descriptions-item label="浣跨敤鍛煎惛鏈�">{{ medicalInfo.useVentilator }}</el-descriptions-item>
-              <el-descriptions-item label="璇婃柇鐥呮儏">{{ medicalInfo.diagnosis }}</el-descriptions-item>
+              <el-descriptions-item label="璇婃柇鐥呮儏">{{ medicalInfo.complaint }}</el-descriptions-item>
             </el-descriptions>
           </el-card>
         </el-col>
@@ -79,7 +79,7 @@
               <el-descriptions-item label="璋冨害鏃堕棿">{{ dispatchInfo.dispatchTime }}</el-descriptions-item>
               <el-descriptions-item label="璋冨害鐘舵��">{{ dispatchInfo.dispatchStatus }}</el-descriptions-item>
               <el-descriptions-item label="鍙告満">{{ dispatchInfo.driver }}</el-descriptions-item>
-              <el-descriptions-item label="杞︾墝">{{ dispatchInfo.carNo }}</el-descriptions-item>
+              <el-descriptions-item label="杞︾墝">{{ dispatchInfo.carLicense }}</el-descriptions-item>
               <el-descriptions-item label="鍖荤敓">{{ dispatchInfo.doctor }}</el-descriptions-item>
               <!-- <el-descriptions-item label="鑱屼綅">{{ dispatchInfo.doctorPosition }}</el-descriptions-item> -->
               <el-descriptions-item label="鎶ゅ+">{{ dispatchInfo.nurse }}</el-descriptions-item>
@@ -97,44 +97,55 @@
               style="width: 100%"
               :size="isMobile ? 'mini' : 'medium'"
               class="responsive-table">
-              <el-table-column prop="paymentNo" label="鏀舵娴佹按" min-width="120" />
-              <el-table-column prop="paymentTime" label="鏀舵鏃堕棿" min-width="140" />
-              <el-table-column prop="amount" label="閲戦" min-width="100" />
-              <el-table-column prop="method" label="鏂瑰紡" min-width="100" />
-              <el-table-column prop="remark" label="澶囨敞" min-width="120" />
+              <el-table-column prop="id" label="鏀舵娴佹按" min-width="120" />
+              <el-table-column
+                prop="paidMoneyTime"
+                label="鏀舵鏃堕棿"
+                min-width="140"
+                :formatter="(row, column, cellValue) => formatDateTime(cellValue)"
+              />
+              <el-table-column prop="paidMoney" label="閲戦(鍏�)" min-width="100" />
+              <el-table-column prop="vtext" label="鏂瑰紡" min-width="100" />
+              <el-table-column prop="paidMoneyMono" label="澶囨敞" min-width="120" />
             </el-table>
           </el-card>
         </el-col>
       </el-row>
 
-      <!-- 杩愯鎯呭喌 -->
-      <el-row>
-        <el-col :span="24">
+
+      <!-- 璁㈠崟鎯呭喌 -->
+      <el-row :gutter="20">
+        <!-- 璋冨害淇℃伅 -->
+        <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
           <el-card class="inner-card">
-            <div slot="header">
-              <b>杩愯鎯呭喌</b>
-              <span style="float: right">绮102311</span>
-            </div>
-            <el-table
-              :data="operationInfo"
-              border
-              style="width: 100%"
-              :size="isMobile ? 'mini' : 'medium'"
-              class="responsive-table">
-              <el-table-column prop="status" label="鍑鸿溅鐘舵��" min-width="100" />
-              <el-table-column prop="operator" label="鎿嶄綔浜�" min-width="100" />
-              <el-table-column prop="operateTime" label="鎿嶄綔鏃堕棿" min-width="140" />
-              <el-table-column prop="location" label="鍧愭爣浣嶇疆" min-width="200" show-overflow-tooltip />
-            </el-table>
+            <div slot="header"><b>璇︽儏</b></div>
+            <el-descriptions :column="isMobile ? 1 : 2" border>
+              <el-descriptions-item label="鏈嶅姟璇勪环">{{ otherInfo.serviceOrdVisit }}</el-descriptions-item>
+              <el-descriptions-item label="鍙戠エ鐘舵��">{{ otherInfo.invoiceStatus }}</el-descriptions-item>
+              <el-descriptions-item label="鐭ユ儏鍚屾剰涔�">
+                <div v-if="otherInfo.imageUrls && otherInfo.imageUrls.length > 0" class="image-container">
+                  <el-image
+                    v-for="image in otherInfo.imageUrls"
+                    :key="image"
+                    :src="`https://sys.966120.com.cn${image}`"
+                    :preview-src-list="otherInfo.imageUrls"
+                    class="preview-image"
+                  />
+                </div>
+                <span v-else>鏆傛棤鍥剧墖</span>
+              </el-descriptions-item>
+            </el-descriptions>
           </el-card>
         </el-col>
       </el-row>
+
     </el-card>
   </div>
 </template>
 
 <script>
 import { getOrderDetail } from '@/api/system/order'
+import { parseTime } from '@/utils/ruoyi'
 
 export default {
   name: 'OrderDetail',
@@ -147,7 +158,7 @@
       medicalInfo: {},
       dispatchInfo: {},
       paymentInfo: [],
-      operationInfo: [],
+      otherInfo: [],
       screenWidth: document.documentElement.clientWidth // 灞忓箷瀹藉害
     }
   },
@@ -157,8 +168,19 @@
     }
   },
   created() {
+    // 鑾峰彇璺敱鍙傛暟涓殑璁㈠崟ID
     const orderId = this.$route.params.id
-    this.getDetail(orderId)
+
+    // 鑾峰彇URL鏌ヨ鍙傛暟
+    const urlParams = new URLSearchParams(window.location.search)
+    const params = {
+      appId: urlParams.get('appId'),
+      timestamp: urlParams.get('timestamp'),
+      sign: urlParams.get('sign')
+    }
+
+    // 璋冪敤鑾峰彇璇︽儏鏂规硶锛屼紶鍏ユ墍鏈夊弬鏁�
+    this.getDetail(orderId, params)
     // 鐩戝惉绐楀彛澶у皬鍙樺寲
     window.addEventListener('resize', this.handleResize)
   },
@@ -168,8 +190,8 @@
   },
   methods: {
     /** 鑾峰彇璁㈠崟璇︽儏 */
-    getDetail(orderId) {
-      getOrderDetail(orderId).then(response => {
+    getDetail(orderId, params) {
+      getOrderDetail(orderId, params).then(response => {
         const { data } = response
         // 鏍规嵁鍚庣杩斿洖鐨勬暟鎹粨鏋勮缃悇涓璞$殑鍊�
         this.orderInfo = data.orderInfo || {}
@@ -178,7 +200,7 @@
         this.medicalInfo = data.medicalInfo || {}
         this.dispatchInfo = data.dispatchInfo || {}
         this.paymentInfo = data.paymentInfo || []
-        this.operationInfo = data.operationInfo || []
+        this.otherInfo = data.otherInfo || []
 
         console.log(this.orderInfo)
 
@@ -187,6 +209,12 @@
     // 澶勭悊绐楀彛澶у皬鍙樺寲
     handleResize() {
       this.screenWidth = document.documentElement.clientWidth
+    },
+    formatDateTime(time) {
+      if (!time) {
+        return '';
+      }
+      return parseTime(time, '{y}-{m}-{d} {h}:{i}:{s}');
     }
   }
 }
@@ -220,4 +248,15 @@
   .el-descriptions-item { padding: 8px !important; }
   .el-descriptions-item__label { width: 100px !important; }
 }
+.image-container {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 10px;
+}
+.preview-image {
+  width: 100px;
+  height: 100px;
+  object-fit: cover;
+  cursor: pointer;
+}
 </style>

--
Gitblit v1.9.1