From d7dca690cedd12e271f0ee0b9050679d73796f5c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 06 一月 2025 09:28:10 +0800
Subject: [PATCH] 1

---
 admin/src/views/contract/components/contractDetail.vue |  130 +++++++++++++++++++++++++++++++------------
 1 files changed, 93 insertions(+), 37 deletions(-)

diff --git a/admin/src/views/contract/components/contractDetail.vue b/admin/src/views/contract/components/contractDetail.vue
index f13cf9a..3b49554 100644
--- a/admin/src/views/contract/components/contractDetail.vue
+++ b/admin/src/views/contract/components/contractDetail.vue
@@ -6,22 +6,25 @@
     :confirm-working="isWorking"
     @close="close"
     @confirm="confirm">
-    <div class="home_title" v-if="info">
-      <div class="left">
-        <span class="mr10">鍗曚綅鍚嶇О锛歿{info.renterName}}</span>
-        <el-tag type="success" v-if="info.status === 0">寰呮墽琛�</el-tag>
-        <el-tag type="success" v-if="info.status === 1">姝e父鎵ц涓�</el-tag>
-        <el-tag type="info" v-if="info.status === 2">宸插埌鏈�</el-tag>
-        <el-tag type="info" v-if="info.status === 3">閫�绉熺粨绠椾腑</el-tag>
-        <el-tag type="info" v-if="info.status === 4">宸查��绉�</el-tag>
+    <div style="width: 100%; position: sticky; top: 0; left: 0; z-index: 999; background: #ffffff;">
+      <div class="home_title" v-if="info">
+        <div class="left">
+          <span class="mr10">鍗曚綅鍚嶇О锛歿{info.renterName}}</span>
+          <el-tag type="success" v-if="info.status === 0">寰呮墽琛�</el-tag>
+          <el-tag type="success" v-if="info.status === 1">姝e父鎵ц涓�</el-tag>
+          <el-tag type="info" v-if="info.status === 2">宸插埌鏈�</el-tag>
+          <el-tag type="info" v-if="info.status === 3">閫�绉熺粨绠椾腑</el-tag>
+          <el-tag type="info" v-if="info.status === 4">宸查��绉�</el-tag>
+        </div>
+        <el-button plain type="danger" v-if="[0, 1, 2].includes(info.status)" @click="refund">閫�绉�</el-button>
       </div>
-      <el-button plain type="danger" v-if="[0, 1, 2].includes(info.status)" @click="refund">閫�绉�</el-button>
-    </div>
-    <div class="remark" v-if="info">{{info.remark}}</div>
-    <div class="tabs">
-      <div class="tab" :class="{ active: activeTabs === 0 }" @click="tabsClick(0)">鍚堝悓淇℃伅</div>
-      <div class="tab" :class="{ active: activeTabs === 1 }" @click="tabsClick(1)">鍏宠仈璐﹀崟</div>
-      <div class="tab" :class="{ active: activeTabs === 2 }" @click="tabsClick(2)">鎿嶄綔璁板綍</div>
+      <div class="remark" v-if="info">{{info.remark}}</div>
+      <div class="remark" v-if="info && info.status === 3">{{info.btRemark}}</div>
+      <div class="tabs">
+        <div class="tab" :class="{ active: activeTabs === 0 }" @click="tabsClick(0)">鍚堝悓淇℃伅</div>
+        <div class="tab" :class="{ active: activeTabs === 1 }" @click="tabsClick(1)">鍏宠仈璐﹀崟</div>
+        <div class="tab" :class="{ active: activeTabs === 2 }" @click="tabsClick(2)">鎿嶄綔璁板綍</div>
+      </div>
     </div>
     <div class="main" v-if="activeTabs === 0 && info">
       <div class="title">鍩虹淇℃伅</div>
@@ -40,7 +43,7 @@
         </div>
         <div class="item">
           <div class="la">鍚堝悓绉熻祦鏁�</div>
-          <div class="val">{{ info.totalArea }}</div>
+          <div class="val">{{ info.totalArea }}銕�</div>
         </div>
         <div class="item">
           <div class="la">鎵�灞炲叕鍙�</div>
@@ -99,7 +102,7 @@
       <div class="list" style="background: #F7F7F7; padding: 15px 20px;" v-if="info.type === 2 || info.type === 0">
         <div class="item">
           <div class="la">鎶奸噾閲戦</div>
-          <div class="val">{{ info.zlDeposit }}</div>
+          <div class="val">{{ info.zlDeposit }}鍏�</div>
         </div>
         <div class="item">
           <div class="la">浠樻鏂瑰紡</div>
@@ -110,20 +113,35 @@
         </div>
         <div class="item">
           <div class="la">鍏嶇鏈�</div>
-          <div class="val">{{ info.zlFreeStartDate }} ~ {{ info.zlFreeEndDate }}</div>
+          <div class="val" v-if="info.zlFreeStartDate && info.zlFreeEndDate">
+            {{ info.zlFreeStartDate }} ~ {{ info.zlFreeEndDate }}
+          </div>
+          <div class="val" v-else>
+            -
+          </div>
         </div>
       </div>
       <el-table :data="info.zlDetailList" stripe style="margin-bottom: 20px;" v-if="info.type === 2 || info.type === 0">
-        <el-table-column prop="startDate" label="寮�濮嬫棩鏈�" min-width="100" show-overflow-tooltip />
-        <el-table-column prop="endDate" label="缁撴潫鏃ユ湡" min-width="100" show-overflow-tooltip />
-        <el-table-column prop="price" label="鍚堝悓鍗曚环" min-width="100" show-overflow-tooltip />
-        <el-table-column prop="advanceDays" label="浠樻鎻愬墠澶╂暟" min-width="100" show-overflow-tooltip />
+        <el-table-column prop="startDate" label="寮�濮嬫棩鏈�" :key="Date.now()" min-width="100" show-overflow-tooltip />
+        <el-table-column prop="endDate" label="缁撴潫鏃ユ湡" :key="Date.now()" min-width="100" show-overflow-tooltip />
+        <el-table-column label="鍚堝悓鍗曚环" min-width="100" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            {{row.price}} {{returnUnit(row.circleType)}}
+          </template>
+        </el-table-column>
+        <el-table-column label="浠樻鎻愬墠澶╂暟" min-width="100" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            <template v-if="row.advanceDays">
+              {{row.advanceDays}}澶�
+            </template>
+          </template>
+        </el-table-column>
       </el-table>
       <div class="title" v-if="info.type === 1 || info.type === 0">鐗╀笟璐规潯娆�</div>
       <div class="list" style="background: #F7F7F7; padding: 15px 20px;" v-if="info.type === 1 || info.type === 0">
         <div class="item">
           <div class="la">鎶奸噾閲戦</div>
-          <div class="val">{{ info.wyDeposit }}</div>
+          <div class="val">{{ info.wyDeposit }}鍏�</div>
         </div>
         <div class="item">
           <div class="la">浠樻鏂瑰紡</div>
@@ -138,15 +156,27 @@
         </div>
       </div>
       <el-table :data="info.wyDetailList" stripe style="margin-bottom: 20px;" v-if="info.type === 1 || info.type === 0">
-        <el-table-column prop="startDate" label="寮�濮嬫棩鏈�" min-width="100" show-overflow-tooltip />
-        <el-table-column prop="endDate" label="缁撴潫鏃ユ湡" min-width="100" show-overflow-tooltip />
-        <el-table-column prop="price" label="鍚堝悓鍗曚环" min-width="100" show-overflow-tooltip />
-        <el-table-column prop="advanceDays" label="浠樻鎻愬墠澶╂暟" min-width="100" show-overflow-tooltip />
+        <el-table-column prop="startDate" label="寮�濮嬫棩鏈�" :key="Date.now()" min-width="100" show-overflow-tooltip />
+        <el-table-column prop="endDate" label="缁撴潫鏃ユ湡" :key="Date.now()" min-width="100" show-overflow-tooltip />
+        <el-table-column label="鍚堝悓鍗曚环" min-width="100" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            {{row.price}} {{returnUnit(row.circleType)}}
+          </template>
+        </el-table-column>
+        <el-table-column label="浠樻鎻愬墠澶╂暟" min-width="100" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            {{row.advanceDays}}澶�
+          </template>
+        </el-table-column>
       </el-table>
       <div class="title">鍚堝悓闄勪欢</div>
       <div class="list">
         <el-table :data="info.fileList" stripe>
-          <el-table-column prop="name" label="闄勪欢鍚嶇О" show-overflow-tooltip />
+          <el-table-column label="闄勪欢鍚嶇О" show-overflow-tooltip>
+            <template slot-scope="{row}">
+              <u style="color: #0c6ce3; cursor: pointer;" @click="xiazai(row.fileurlFull)">{{row.name}}</u>
+            </template>
+          </el-table-column>
           <el-table-column prop="userName" label="鎿嶄綔浜�" show-overflow-tooltip />
           <el-table-column prop="createDate" label="鎿嶄綔鏃堕棿" show-overflow-tooltip />
         </el-table>
@@ -182,18 +212,22 @@
         <el-table-column
           :key="Date.now()"
           prop="receivableFee"
-          label="搴旀敹閲戦">
+          :label="`搴�${type === 0 ? '鏀�' : '浠�'}閲戦`">
         </el-table-column>
         <el-table-column
           prop="actReceivableFee"
-          label="瀹炴敹閲戦">
+          :label="`瀹�${type === 0 ? '鏀�' : '浠�'}閲戦`">
         </el-table-column>
         <el-table-column
-          prop="needReceivableFee"
-          label="闇�鏀堕噾棰�">
+          :label="`闇�${type === 0 ? '鏀�' : '浠�'}閲戦`">
           <template slot-scope="{row}">
-            <el-tag type="success" v-if="row.needReceivableFee > 0">鏀�</el-tag>
-            <el-tag type="warning" v-else>浠�</el-tag>
+            <template v-if="type === 0">
+              <el-tag type="success" v-if="row.needReceivableFee > 0">鏀�</el-tag>
+              <el-tag type="warning" v-else-if="row.needReceivableFee < 0">浠�</el-tag>
+            </template>
+            <template v-else>
+              <el-tag type="warning" v-if="row.needReceivableFee !== 0">浠�</el-tag>
+            </template>
             <span style="margin-left: 10px;">{{Math.abs(row.needReceivableFee)}}</span>
           </template>
         </el-table-column>
@@ -201,10 +235,11 @@
           label="璐﹀崟鏉ユ簮">
           <template slot-scope="{row}">
             <span v-if="row.type === 0">鍚堝悓璐﹀崟</span>
-            <span v-if="row.type === 1">鑷缓璐﹀崟</span>
+            <span v-else>鑷缓璐﹀崟</span>
           </template>
         </el-table-column>
         <el-table-column
+          width="200"
           label="璁¤垂鍛ㄦ湡">
           <template slot-scope="{row}">
             {{ row.startDate }} ~ {{ row.endDate }}
@@ -310,7 +345,7 @@
       page: 1,
       total: 0,
       tableData: [],
-      
+
       loading: false
     }
   },
@@ -324,6 +359,27 @@
       this.tableData = []
       this.id = id
       this.getData()
+    },
+    xiazai (url) {
+      window.open(url)
+    },
+    returnUnit (type) {
+      switch (type) {
+        case 0:
+          return '鍏�/m虏路澶�'
+        case 1:
+          return '鍏�/m虏路鏈�'
+        case 2:
+          return '鍏�/m虏路骞�'
+        case 3:
+          return '鍏�/澶�'
+        case 4:
+          return '鍏�/鏈�'
+        case 5:
+          return '鍏�/骞�'
+        case 6:
+          return '鍏�/鍦�'
+      }
     },
     getData () {
       getById(this.id)
@@ -342,6 +398,7 @@
         capacity: this.pageSize,
         page: this.page,
         model: {
+          status: 0,
           billType: this.type,
           contractId: this.info.id
         }
@@ -352,7 +409,6 @@
       })
     },
     changeType (e) {
-      console.log(e)
       this.type = e
       this.page = 1
       this.pageSize = 10

--
Gitblit v1.9.3