From 3e4625e7951cb6dcfab077e535782eee7b0b70fb Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 二月 2025 09:46:13 +0800
Subject: [PATCH] 改bug

---
 admin/src/layouts/AppLayout.vue                                  |    2 
 admin/src/views/contract/components/pendingBills.vue             |   13 +
 admin/src/components/common/Menu.vue                             |    3 
 admin/src/views/project/components/houseDetails.vue              |   15 +
 admin/src/views/workorder/components/problemReportingDetails.vue |   38 +++-
 admin/src/views/workorder/components/detail.vue                  |   47 ++++-
 admin/src/views/workorder/problemReporting.vue                   |    4 
 admin/src/views/index.vue                                        |   13 +
 admin/src/components/common/GlobalWindow.vue                     |    1 
 admin/src/components/common/Header.vue                           |    2 
 admin/src/views/roomStatus/index.vue                             |  235 +++++++++++++++++------------
 admin/.env.test                                                  |    4 
 admin/src/views/workorder/workorderList.vue                      |   14 +
 admin/src/components/common/tagsview.vue                         |    5 
 admin/src/views/finance/components/bullDetail.vue                |    2 
 admin/src/views/stock/assetList.vue                              |    3 
 admin/src/views/workorder/components/OperaYwWorkorderWindow.vue  |   32 ---
 17 files changed, 262 insertions(+), 171 deletions(-)

diff --git a/admin/.env.test b/admin/.env.test
index da78780..f5bb07b 100644
--- a/admin/.env.test
+++ b/admin/.env.test
@@ -4,10 +4,10 @@
 # VUE_APP_API_URL  = 'http://192.168.5.13/gateway_interface'
 
 # 浠诲悍
-VUE_APP_API_URL  = 'http://192.168.0.133:10010'
+# VUE_APP_API_URL  = 'http://192.168.0.133:10010'
 
 # 钀嶅
 # VUE_APP_API_URL  = 'http://192.168.0.108:10010/'
 
 # 娴嬭瘯鏈嶅姟
-# VUE_APP_API_URL  = 'https://dmtest.ahapp.net/gateway_interface'
+VUE_APP_API_URL  = 'https://dmtest.ahapp.net/gateway_interface'
diff --git a/admin/src/components/common/GlobalWindow.vue b/admin/src/components/common/GlobalWindow.vue
index 504f62f..d8c67a2 100644
--- a/admin/src/components/common/GlobalWindow.vue
+++ b/admin/src/components/common/GlobalWindow.vue
@@ -8,6 +8,7 @@
     :close-on-press-escape="false"
     :wrapper-closable="false"
     :append-to-body="true"
+    :destroy-on-close="true"
     :modal="true"
     @close="close"
   >
diff --git a/admin/src/components/common/Header.vue b/admin/src/components/common/Header.vue
index a286282..a812472 100644
--- a/admin/src/components/common/Header.vue
+++ b/admin/src/components/common/Header.vue
@@ -4,7 +4,6 @@
       <h2>
         <i class="el-icon-s-unfold" v-if="menuData.collapse" @click="switchCollapseMenu(null)"></i>
         <i class="el-icon-s-fold" v-else @click="switchCollapseMenu(null)"></i>
-        {{title}}
       </h2>
       <tagsview class="tags"></tagsview>
     </div>
@@ -41,7 +40,6 @@
   h2 {
     flex-shrink: 0;
     line-height: 48px;
-    width: 240px;
     font-size: 19px;
     color: #606263;
     font-weight: normal;
diff --git a/admin/src/components/common/Menu.vue b/admin/src/components/common/Menu.vue
index 0b0df39..75a48d1 100644
--- a/admin/src/components/common/Menu.vue
+++ b/admin/src/components/common/Menu.vue
@@ -44,13 +44,12 @@
       } else {
         this.$store.commit('pushtags', menuConfig)
       }
-      // console.log(menuConfig.index);
       return menuConfig.index
     },
     // 榛樿灞曞紑鐨勮彍鍗昳ndex
     defaultOpeneds() {
       // return this.menuData.list.map(menu => menu.index)
-
+      
       return [this.menuData.list[0].index]
     }
   },
diff --git a/admin/src/components/common/tagsview.vue b/admin/src/components/common/tagsview.vue
index 6f66b69..76749bc 100644
--- a/admin/src/components/common/tagsview.vue
+++ b/admin/src/components/common/tagsview.vue
@@ -151,8 +151,8 @@
     },
     // 閫氳繃鍒ゆ柇璺敱涓�鑷磋繑鍥炲竷灏斿�兼坊鍔燾lass锛屾坊鍔犻珮浜晥鏋�
     isActive(route,params, index) {
-      const res =(route === this.$route.path && params== this.$route.query.param)
-      return res
+      // const res =(route === this.$route.path && params== this.$route.query.param)
+      return route === this.$route.path
     },
     scrollToStart() {
       const tagsDiv = document.getElementById('tags-box')
@@ -237,6 +237,7 @@
 //鏍囩楂樹寒
 .active {
   color: #2080f7;
+  box-sizing: border-box;
   border-bottom: 2px solid #2080f7;
 }
 //鍙抽敭鑿滃崟鏍峰紡
diff --git a/admin/src/layouts/AppLayout.vue b/admin/src/layouts/AppLayout.vue
index b13f5dc..469c4ab 100644
--- a/admin/src/layouts/AppLayout.vue
+++ b/admin/src/layouts/AppLayout.vue
@@ -7,7 +7,7 @@
         <Menu/>
       </el-aside>
       <el-main>
-        <header>
+        <header style="background-color: #ffffff;">
           <AppHeader/>
         </header>
         <main ref="containerS">
diff --git a/admin/src/views/contract/components/pendingBills.vue b/admin/src/views/contract/components/pendingBills.vue
index 96fb06f..64496d5 100644
--- a/admin/src/views/contract/components/pendingBills.vue
+++ b/admin/src/views/contract/components/pendingBills.vue
@@ -34,8 +34,10 @@
                     border
                     style="width: 100%">
                     <el-table-column
-                        prop="code"
                         label="璐﹀崟缂栧彿">
+                        <template slot-scope="{row}">
+                            <el-button type="text" @click="handleDetail(row.id)">{{row.code}}</el-button>
+                        </template>
                     </el-table-column>
                     <el-table-column
                         label="璐圭敤绫诲瀷">
@@ -81,6 +83,8 @@
                 </el-table>
             </div>
         </div>
+        <!--    璐﹀崟璇︽儏    -->
+        <Detail ref="DetailRef" />
     </GlobalWindow>
 </template>
 
@@ -88,10 +92,12 @@
   import GlobalWindow from '@/components/common/GlobalWindow'
   import BaseOpera from '@/components/base/BaseOpera'
   import { getWaitDealList } from '@/api/ywContractBill'
+  import Detail from '../../finance/components/bullDetail.vue'
   export default {
     name: 'pendingBills',
     components: {
-      GlobalWindow
+      GlobalWindow,
+      Detail
     },
     extends: BaseOpera,
     data () {
@@ -107,6 +113,9 @@
               this.info = res
               this.visible = true
             })
+      },
+      handleDetail (id) {
+        this.$refs.DetailRef.open('璐﹀崟璇︽儏', id)
       }
     }
   }
diff --git a/admin/src/views/finance/components/bullDetail.vue b/admin/src/views/finance/components/bullDetail.vue
index 468dd98..70cfe50 100644
--- a/admin/src/views/finance/components/bullDetail.vue
+++ b/admin/src/views/finance/components/bullDetail.vue
@@ -9,7 +9,7 @@
           <el-tag type="info" v-if="info.status === 1">鍏抽棴</el-tag>
         </div>
         <div style="display: flex; align-items: center;">
-          <el-button @click="$refs.call.open('鍙戦�佸偓缂撮�氱煡', [info.id])" v-if="info.billType === 0">鍙戦�佺即璐归�氱煡</el-button>
+          <el-button @click="$refs.call.open('鍙戦�佸偓缂撮�氱煡', [info.id])" v-if="info.isOverdue === 1 && info.billType === 0">鍙戦�佺即璐归�氱煡</el-button>
           <el-button plain type="primary" v-if="![1].includes(info.payStatus)" @click="$refs.flowingWater.open('鍒涘缓鏀舵敮娴佹按', {
             billType: returnBillType(),
             billId: info.id,
diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index d39c86b..51f20e9 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -43,6 +43,9 @@
             </div>
             <i class="el-icon-arrow-right"></i>
           </div>
+          <div class="list_item1"></div>
+          <div class="list_item1"></div>
+          <div class="list_item1"></div>
         </div>
       </div>
     </div>
@@ -82,7 +85,7 @@
                 <div class="top_left_dian"></div>
                 <div class="top_left_title">{{item.title}}</div>
               </div>
-              <div class="top_date">{{item.createDate}}</div>
+              <div class="top_date">{{item.param1}}</div>
             </div>
             <div class="bottom">
               {{item.content}}
@@ -310,6 +313,10 @@
           align-items: center;
           flex-wrap: wrap;
           justify-content: space-between;
+          .list_item1 {
+            width: 24%;
+            height: 0;
+          }
           .list_item {
             cursor: pointer;
             width: 24%;
@@ -438,8 +445,8 @@
           max-width: 100%;
         }
         ::v-deep .wh_content_item .wh_isToday {
-          background-color: #3E80EF;
-          color: #fff;
+          background-color: rgba(62, 128, 239, 0.47);
+          color: #ffffff;
         }
         ::v-deep .wh_item_date:hover {
           background-color: #3E80EF;
diff --git a/admin/src/views/project/components/houseDetails.vue b/admin/src/views/project/components/houseDetails.vue
index e6fc674..d3c18b0 100644
--- a/admin/src/views/project/components/houseDetails.vue
+++ b/admin/src/views/project/components/houseDetails.vue
@@ -77,8 +77,7 @@
                                         <el-table-column
                                             label="鍚堝悓缂栧彿">
                                             <template slot-scope="{row}">
-                                                <el-button type="text" @click="$refs.ContractDetailRef.open('鍚堝悓璇︽儏', row.id)" v-if="row.status === 1">{{row.code}}</el-button>
-                                                <el-button type="text" v-else>{{row.code}}</el-button>
+                                                <el-button type="text" @click="$refs.ContractDetailRef.open('鍚堝悓璇︽儏', row.id)">{{row.code}}</el-button>
                                             </template>
                                         </el-table-column>
                                         <el-table-column
@@ -86,7 +85,7 @@
                                             <template slot-scope="{row}">
                                                 <div style="display: flex; align-items: center;">
                                                     {{row.renterName}}
-                                                    <el-tag type="success" v-if="row.status === 1">褰撳墠绉熸埛</el-tag>
+                                                    <el-tag type="success" v-if="[1,2,3].includes(row.status)">褰撳墠绉熸埛</el-tag>
                                                 </div>
                                             </template>
                                         </el-table-column>
@@ -421,7 +420,11 @@
         this.$refs.operaYwWorkorderWindow.open('鏂板缓宸ュ崟', {
           rooms: [this.info.projectId, this.info.buildingId, this.info.floor, this.info.id],
           areaType: 0,
-          content: ''
+          content: '',
+          projectId: this.info.projectId,
+          buildingId: this.info.buildingId,
+          floorId: this.info.floor,
+          roomId: this.info.id
         })
       },
       // 鑾峰彇璁惧鐘舵��
@@ -431,7 +434,7 @@
               this.$nextTick(() => {
                 this.deviceList = [
                   { value: res.workAmount || 0, name: '姝e父' },
-                  { value: res.exceptionAmount || 0, name: '寮傚父' },
+                  { value: res.exceptionAmount || 0, name: '鎹熷潖' },
                   { value: res.errAmount || 0, name: '鎶ュ簾' }
                 ]
                 this.amount = res.amount
@@ -535,7 +538,7 @@
           page: 1,
           model: {
             roomId: this.houseId,
-            status: this.form.status,
+            dealStatus: this.form.dealStatus,
             cateId: this.form.cateId
           }
         }).then(res => {
diff --git a/admin/src/views/roomStatus/index.vue b/admin/src/views/roomStatus/index.vue
index 2af5abd..ebcc6ef 100644
--- a/admin/src/views/roomStatus/index.vue
+++ b/admin/src/views/roomStatus/index.vue
@@ -194,73 +194,73 @@
                         </el-tab-pane>
                         <el-tab-pane label="绉熷鍚堝悓" name="project" v-if="[3].includes(lv)">
                             <div class="xm">
-                                <el-card style="margin-top: 20px;">
-                                    <div slot="header" class="clearfix">
-                                        <span>褰撳墠鍦ㄧ鍚堝悓</span>
+                                <div class="xm_table">
+                                    <div style="display: flex; align-items: center; margin-bottom: 15px;">
+                                        <el-input v-model="form.code" style="width: 150px; margin-right: 15px;" placeholder="璇疯緭鍏ュ悎鍚岀紪鍙�"></el-input>
+                                        <el-button type="primary" @click="getFetchList">鎼滅储</el-button>
+                                        <el-button @click="clear">閲嶇疆</el-button>
                                     </div>
-                                    <div class="xm_table">
-                                        <div style="display: flex; align-items: center; margin-bottom: 15px;">
-                                            <el-input v-model="form.code" style="width: 150px; margin-right: 15px;" placeholder="璇疯緭鍏ュ悎鍚岀紪鍙�"></el-input>
-                                            <el-button type="primary" @click="getFetchList">鎼滅储</el-button>
-                                            <el-button @click="clear">閲嶇疆</el-button>
-                                        </div>
-                                        <el-table
-                                            :data="tableData"
-                                            border
-                                            v-loading="loading"
-                                            style="width: 100%">
-                                            <el-table-column
-                                                label="鍚堝悓缂栧彿">
-                                                <template slot-scope="{row}">
-                                                    <el-button type="text" @click="$refs.ContractDetailRef.open('鍚堝悓璇︽儏', row.id)">{{row.code}}</el-button>
-                                                </template>
-                                            </el-table-column>
-                                            <el-table-column
-                                                prop="renterName"
-                                                label="绉熷">
-                                            </el-table-column>
-                                            <el-table-column
-                                                label="绉熻祦鍗曚环">
-                                                <template slot-scope="{row}">
-                                                    <div style="display: flex; align-items: center;">
-                                                        <span>{{row.leasePrice || 0}}鍏�/銕÷峰ぉ</span>
-                                                    </div>
-                                                </template>
-                                            </el-table-column>
-                                            <el-table-column
-                                                prop="leaseDays"
-                                                label="绉熻祦澶╂暟">
-                                            </el-table-column>
-                                            <el-table-column
-                                                label="绉熻祦闈㈢Н">
-                                                <template slot-scope="{row}">
-                                                    {{row.totalArea}}銕�
-                                                </template>
-                                            </el-table-column>
-                                            <el-table-column
-                                                label="鎴挎簮">
-                                                <template slot-scope="{row}">
-                                                    <div style="display: flex; flex-direction: column;">
-                                                        <span v-for="(item, index) in row.roomList" :key="index">
-                                                            {{item.projectName}}/{{item.buildingName}}/{{item.floorName}}/{{item.roomNum}}
-                                                        </span>
-                                                    </div>
-                                                </template>
-                                            </el-table-column>
-                                        </el-table>
-                                        <div class="xm_table_f">
-                                            <el-pagination
-                                                @size-change="handleSizeChange"
-                                                @current-change="handleCurrentChange"
-                                                :current-page="page"
-                                                :page-sizes="[10, 20, 30, 40]"
-                                                :page-size="pageTotal"
-                                                layout="total, sizes, prev, pager, next, jumper"
-                                                :total="total">
-                                            </el-pagination>
-                                        </div>
+                                    <el-table
+                                        :data="tableData"
+                                        border
+                                        v-loading="loading"
+                                        style="width: 100%">
+                                        <el-table-column
+                                            label="鍚堝悓缂栧彿">
+                                            <template slot-scope="{row}">
+                                                <el-button type="text" @click="$refs.ContractDetailRef.open('鍚堝悓璇︽儏', row.id)">{{row.code}}</el-button>
+                                            </template>
+                                        </el-table-column>
+                                        <el-table-column
+                                            label="绉熷">
+                                            <template slot-scope="{row}">
+                                                <div style="display: flex; align-items: center;">
+                                                    {{row.renterName}}
+                                                    <el-tag type="success" v-if="[1,2,3].includes(row.status)">褰撳墠绉熸埛</el-tag>
+                                                </div>
+                                            </template>
+                                        </el-table-column>
+                                        <el-table-column
+                                            label="绉熻祦鍗曚环">
+                                            <template slot-scope="{row}">
+                                                <div style="display: flex; align-items: center;">
+                                                    <span>{{row.leasePrice || 0}}鍏�/銕÷峰ぉ</span>
+                                                </div>
+                                            </template>
+                                        </el-table-column>
+                                        <el-table-column
+                                            prop="leaseDays"
+                                            label="绉熻祦澶╂暟">
+                                        </el-table-column>
+                                        <el-table-column
+                                            label="绉熻祦闈㈢Н">
+                                            <template slot-scope="{row}">
+                                                {{row.totalArea}}銕�
+                                            </template>
+                                        </el-table-column>
+                                        <el-table-column
+                                            label="鎴挎簮">
+                                            <template slot-scope="{row}">
+                                                <div style="display: flex; flex-direction: column;">
+                                                    <span v-for="(item, index) in row.roomList" :key="index">
+                                                        {{item.projectName}}/{{item.buildingName}}/{{item.floorName}}/{{item.roomNum}}
+                                                    </span>
+                                                </div>
+                                            </template>
+                                        </el-table-column>
+                                    </el-table>
+                                    <div class="xm_table_f">
+                                        <el-pagination
+                                            @size-change="handleSizeChange"
+                                            @current-change="handleCurrentChange"
+                                            :current-page="page"
+                                            :page-sizes="[10, 20, 30, 40]"
+                                            :page-size="pageTotal"
+                                            layout="total, sizes, prev, pager, next, jumper"
+                                            :total="total">
+                                        </el-pagination>
                                     </div>
-                                </el-card>
+                                </div>
                             </div>
                         </el-tab-pane>
                         <el-tab-pane label="鎴挎�佺鐞�" name="house" v-if="[1,2].includes(lv)">
@@ -282,27 +282,30 @@
                                     </div>
                                     <div class="xm_house_list" v-for="(item, index) in roomStatus" :key="index">
                                         <div class="xm_house_list_left">
-                                            <div class="xm_house_list_left_row">
+                                            <div class="xm_house_list_left_row" :style="{ height: (item.roomsList.length * 100) + ((item.roomsList.length - 1) * 10) + 'px' }">
                                                 <span>{{item.floorName}}</span>
                                                 <span>{{item.floorArea}}銕�</span>
                                             </div>
                                         </div>
                                         <div class="xm_house_list_right">
-                                            <div class="xm_house_list_right_row" :style="{ width: child.width + 'px', backgroundColor: ifBackground(child.roomStatus) }" v-for="(child, i) in item.ywRoomStatusDataVOList" :key="i">
-                                                <div class="ft">
-                                                    <span>{{child.roomCode}}</span>
-                                                    <span>锛坽{child.roomRentArea}}銕★級</span>
-                                                </div>
-                                                <div class="xm_house_list_right_row_info" v-if="child.roomStatus !== 0">
-                                                    <div style="display: flex; align-items: center;">
-                                                        <span style="margin-right: 5px;">{{child.customerName}}</span>
-                                                        <img src="@/assets/icons/ic_key_green.png" style="width: 16px; height: 16px;" v-if="child.roomStatus === 1" />
-                                                        <img src="@/assets/icons/ic_key_yellow.png" style="width: 16px; height: 16px;" v-else-if="child.roomStatus === 2" />
+                                            <template v-for="(child, i) in item.roomsList" :key="i">
+                                                <div class="xm_house_list_right_row" v-for="(childThree, a) in child" :key="a" :style="{ width: childThree.width + 'px', backgroundColor: ifBackground(childThree.roomStatus) }">
+                                                    <div class="ft">
+                                                        <span>{{childThree.roomCode}}</span>
+                                                        <span>锛坽{childThree.roomRentArea}}銕★級</span>
                                                     </div>
-                                                    <span :style="{ color: returnColor(child.overData.substring(0, 10)) ? 'red' : '' }">{{child.overData.substring(0, 10)}}{{returnColor(child.overData.substring(0, 10)) ? '宸�' : ''}}鍒版湡</span>
+                                                    <div class="xm_house_list_right_row_info" v-if="childThree.roomStatus !== 0">
+                                                        <div style="display: flex; align-items: center;">
+                                                            <span style="margin-right: 5px;">{{childThree.customerName}}</span>
+                                                            <img src="@/assets/icons/ic_key_green.png" style="width: 16px; height: 16px;" v-if="childThree.roomStatus === 1" />
+                                                            <img src="@/assets/icons/ic_key_yellow.png" style="width: 16px; height: 16px;" v-else-if="childThree.roomStatus === 2" />
+                                                        </div>
+                                                        <span :style="{ color: returnColor(childThree.overData.substring(0, 10)) ? 'red' : '' }">{{childThree.overData.substring(0, 10)}}{{returnColor(childThree.overData.substring(0, 10)) ? '宸�' : ''}}鍒版湡</span>
+                                                    </div>
+                                                    <div class="xm_house_list_right_row_day" v-if="childThree.roomStatus === 0">鏈嚭绉燂綔绌虹疆{{childThree.freeDayAmount}}澶�</div>
                                                 </div>
-                                                <div class="xm_house_list_right_row_day" v-if="child.roomStatus === 0">鏈嚭绉燂綔绌虹疆{{child.freeDayAmount}}澶�</div>
-                                            </div>
+                                            </template>
+                                            
                                         </div>
                                     </div>
                                 </div>
@@ -710,7 +713,8 @@
         lv: 0,
         leaseStatus: '',
         amount: 0,
-        project: ''
+        project: '',
+        widthNum: ''
       }
     },
     created () {
@@ -829,12 +833,48 @@
           buildingId: this.form.buildingId,
           floor: this.form.floorId
         }).then(res => {
+          // 鏁扮粍鍒嗗壊
           res.forEach(item => {
-            let num = item.ywRoomStatusDataVOList.map(item => item.roomRentArea)
-            let total = num.reduce((sum, value) => sum + value, 0)
-            item.ywRoomStatusDataVOList.forEach(child => {
-              // let percentage = (child.roomRentArea / total) * 100; // 璁$畻姣忎釜鍊肩殑鍗犳瘮
-              child.width = (child.roomRentArea / total) * 854
+            item.ywRoomStatusDataVOList = item.ywRoomStatusDataVOList ? item.ywRoomStatusDataVOList : []
+            const chunkedArray = [];
+            for (let i = 0; i < item.ywRoomStatusDataVOList.length; i += 4) {
+              chunkedArray.push(item.ywRoomStatusDataVOList.slice(i, i + 4));
+            }
+            item.roomsList = chunkedArray
+          })
+          // 璁$畻瀹藉害
+          res.forEach(item => {
+            item.roomsList.forEach(one => {
+              let num = one.map(three => three.roomRentArea)
+              let total = num.reduce((sum, value) => sum + value, 0)
+              let width = 950
+              if (one.length > 1) {
+                width = 950 - ((one.length - 1) * 10)
+              }
+              one.forEach(two => {
+                two.width = Number(Math.max((two.roomRentArea / total) * width, 150).toFixed(0))
+              })
+            })
+          })
+          // 鍑忓幓骞冲潎澶氫綑鐨勫搴�
+          res.forEach(item => {
+            item.roomsList.forEach(one => {
+              let num = one.map(three => three.width)
+              let total = num.reduce((sum, value) => sum + value, 0)
+              let countGreaterThan150 = one.filter(num => num.width > 150).length;
+              let width = 950
+              if (one.length > 1) {
+                width = 950 - ((one.length - 1) * 10)
+              }
+              if (total > width) {
+                let cha = total - width
+                let deleNum = Math.floor(cha / countGreaterThan150)
+                one.forEach(two => {
+                  if (two.width > 150) {
+                    two.width = two.width - deleNum
+                  }
+                })
+              }
             })
           })
           this.roomStatus = res
@@ -853,7 +893,7 @@
             this.$nextTick(() => {
               this.deviceList = [
                 { value: res.workAmount || 0, name: '姝e父' },
-                { value: res.exceptionAmount || 0, name: '寮傚父' },
+                { value: res.exceptionAmount || 0, name: '鎹熷潖' },
                 { value: res.errAmount || 0, name: '鎶ュ簾' }
               ]
               this.amount = res.amount
@@ -880,6 +920,7 @@
         this.$nextTick(() => {
           this.$refs.EditRef.param.projectId = this.project
           this.$refs.EditRef.isShowModal = true
+          this.$refs.EditRef.changeProject()
         })
       },
       // 鑾峰彇璁惧鍒嗛〉
@@ -1016,7 +1057,7 @@
             floorId: this.form.floorId,
             roomId: this.form.roomId,
             code: this.form.code,
-            statusList: [0,1,2,3]
+            statusList: this.lv !== 3 ? [0,1,2,3] : null
           }
         }).then(res => {
           this.tableData = res.records
@@ -1144,7 +1185,7 @@
           this.getFetchList()
         } else if (this.activeName === 'second') {
           this.getWorkOrderList()
-        } else if (tab.name === 'third') {
+        } else if (this.activeName === 'third') {
           this.getDevicePage()
         }
       },
@@ -1245,17 +1286,17 @@
                             .xm_house_list {
                                 width: 100%;
                                 display: flex;
-                                align-items: center;
-                                margin-top: 10px;
+                                align-items: self-start;
                                 .xm_house_list_left {
                                     flex-shrink: 0;
                                     width: 100px;
                                     display: flex;
                                     margin-right: 15px;
                                     flex-direction: column;
+                                    margin-bottom: 10px;
                                     .xm_house_list_left_row {
                                         width: 100px;
-                                        height: 100px;
+                                        /*height: 100px;*/
                                         background: #F4F7FC;
                                         padding: 20px 0;
                                         box-sizing: border-box;
@@ -1263,7 +1304,7 @@
                                         display: flex;
                                         align-items: center;
                                         flex-direction: column;
-                                        justify-content: space-between;
+                                        justify-content: center;
                                         &:last-child {
                                             margin-bottom: 0;
                                         }
@@ -1283,9 +1324,11 @@
                                     }
                                 }
                                 .xm_house_list_right {
-                                    width: 854px;
+                                    width: 950px;
                                     display: flex;
                                     align-items: center;
+                                    justify-content: space-between;
+                                    flex-wrap: wrap;
                                     .xm_house_list_right_row {
                                         height: 100px;
                                         padding: 12px 15px;
@@ -1293,10 +1336,7 @@
                                         display: flex;
                                         flex-direction: column;
                                         justify-content: space-between;
-                                        margin-right: 10px;
-                                        &:last-child {
-                                            margin: 0 !important;
-                                        }
+                                        margin-bottom: 10px;
                                         .ft {
                                             display: flex;
                                             align-items: center;
@@ -1339,6 +1379,7 @@
                             .xm_house_tips {
                                 display: flex;
                                 align-items: center;
+                                margin-bottom: 10px;
                                 .xm_house_tips_row {
                                     display: flex;
                                     align-items: center;
diff --git a/admin/src/views/stock/assetList.vue b/admin/src/views/stock/assetList.vue
index 02bbe42..7e4042c 100644
--- a/admin/src/views/stock/assetList.vue
+++ b/admin/src/views/stock/assetList.vue
@@ -130,6 +130,9 @@
         .catch(() => {})
     },
     getList(page) {
+      if (page) {
+        this.pagination.page = page
+      }
       const { pagination, filters } = this
       this.loading = true
       fetchList({
diff --git a/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue b/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue
index 10a54bb..02f6cad 100644
--- a/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue
+++ b/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue
@@ -8,7 +8,6 @@
           <el-option label="鍏叡缁翠慨" :value="1"></el-option>
         </el-select>
       </el-form-item>
-  
       <el-form-item label="鎶ヤ慨鍖哄煙" prop="rooms">
         <el-cascader
           v-model="form.rooms"
@@ -23,28 +22,6 @@
               children: 'projectDataVOList'
           }" />
       </el-form-item>
-      
-<!--      <el-form-item label="閫夋嫨椤圭洰" prop="projectId">-->
-<!--        <el-select v-model="form.projectId" clearable filterable @change="getBuild">-->
-<!--          <el-option v-for="item in projectList" :label="item.name" :value="item.id" />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
-<!--      <el-form-item label="閫夋嫨妤煎畤" prop="buildingId">-->
-<!--        <el-select v-model="form.buildingId" clearable filterable @change="changeBuild">-->
-<!--          <el-option v-for="item in buildList" :label="item.name" :value="item.id" />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
-
-<!--      <el-form-item v-if="form.areaType == 1" label="閫夋嫨妤煎眰" prop="floorId">-->
-<!--        <el-select v-model="form.floorId">-->
-<!--          <el-option v-for="item in levelList" clearable filterable :label="item.name" :value="item.id" />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
-<!--      <el-form-item v-if="form.areaType == 0" label="閫夋嫨鎴块棿" prop="roomId">-->
-<!--        <el-select v-model="form.roomId" clearable filterable>-->
-<!--          <el-option v-for="item in roomList" :label="item.roomNum" :value="item.id" />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
       <el-form-item label="宸ュ崟鍒嗙被" prop="cateId">
         <el-cascader v-model="form.areaIds" @change="changeSel" placeholder="璇烽�夋嫨鍒嗙被" clearable :options="cateList"
           :props="{
@@ -158,11 +135,11 @@
       this.title = title
       this.fileList = []
       this.visible = true
-      this.getProject()
       this.getCate()
       this.getHouseTree()
       // 鏂板缓
       if (target == null) {
+        this.getProject()
         this.form = {
           id: null,
           editDate: '',
@@ -200,9 +177,12 @@
         })
         return
       }
+      getProjectList({}).then(res => {
+        this.projectList = res || []
+      })
       // 缂栬緫
       this.$nextTick(() => {
-        this.$refs.form.resetFields()
+        // this.$refs.form.resetFields()
         for (const key in this.form) {
           this.form[key] = target[key]
         }
@@ -212,7 +192,7 @@
       this.form.rooms = []
       this.form.projectId = ''
       this.form.buildingId = ''
-      this.form.levelList = ''
+      this.form.floorId = ''
       this.form.roomId = ''
     },
     getHouseVal(e) {
diff --git a/admin/src/views/workorder/components/detail.vue b/admin/src/views/workorder/components/detail.vue
index 22fccbd..039bad0 100644
--- a/admin/src/views/workorder/components/detail.vue
+++ b/admin/src/views/workorder/components/detail.vue
@@ -1,6 +1,6 @@
 <template>
-  <GlobalWindow width="100%" title="宸ュ崟璇︽儏" :visible.sync="visible" :confirm-working="isWorking" @close="close"
-    @confirm="confirm">
+  <GlobalWindow width="100%" title="宸ュ崟璇︽儏" :withFooter="withFooter" :visible.sync="visible" :confirm-working="isWorking"
+    @confirm="confirm" @close="closeView">
     <div class="main">
       <div class="title">
         <div class="title_left">
@@ -11,7 +11,7 @@
             <div class="status gray" v-if="info.dealStatus == 2">宸插鐞�</div>
           </div>
         </div>
-        <el-button v-if="info.origin === 1" @click="openWT">鏌ョ湅闂涓婃姤</el-button>
+        <el-button v-if="info.origin === 1 && isShow" @click="openWT">鏌ョ湅闂涓婃姤</el-button>
       </div>
       <div class="main_content">
         <div class="list">
@@ -171,31 +171,33 @@
           </div>
         </template>
       </el-form>
+      <!--  闂涓婃姤璇︽儏  -->
+      <ProblemReportingDetails ref="problem_Reporting_Details" @close="closeDetails" />
     </div>
-    <!--  闂涓婃姤璇︽儏  -->
-    <problemReportingDetails ref="problemReportingDetails" />
   </GlobalWindow>
 </template>
 
 <script>
 import GlobalWindow from '@/components/common/GlobalWindow'
 import BaseOpera from '@/components/base/BaseOpera'
-import problemReportingDetails from './problemReportingDetails'
+// import ProblemReportingDetails from './problemReportingDetails'
+// import ProblemReportingDetails from '@/views/workorder/components/problemReportingDetails'
 import { detailById, dispatchOrder, dealOrder } from '@/api/workorder/ywWorkorder'
 import { getByWorkorderId } from '@/api/ywProblem'
 import { getUserList } from '@/api/system/user'
 import { Message, Loading } from 'element-ui'
+import { mapState } from 'vuex'
 import dayjs from 'dayjs'
 export default {
+  name: 'detail',
   components: {
     GlobalWindow,
-    problemReportingDetails
+    ProblemReportingDetails: () => import('./problemReportingDetails')
   },
   extends: BaseOpera,
   data() {
     return {
       id: '',
-      visible: false,
       param: {
         dealType: 0
       },
@@ -211,21 +213,47 @@
       uploadData: {
         folder: 'YW_WORKORDER_FILE'
       },
+      isShow: true,
+      test: false
     }
   },
   computed: {
     userInfo() {
       return this.$store.state.userInfo
+    },
+    withFooter() {
+      if (this.info) {
+        return this.info.dealStatus === 0 || (this.info.dealStatus === 1 && (this.userInfo.id === this.info.dealUserId));
+      } else {
+        return false;
+      }
     }
   },
   created() {
     this.getStaff()
   },
   methods: {
+    closeDetails() {
+      console.log('1')
+      this.test = false
+    },
+    closeView() {
+      this.$emit('close')
+      this.visible = false
+    },
+    open (title, target, show) {
+      this.title = title
+      this.isShow = show
+      this.id = target.workorderId
+      this.getDetail()
+    },
     openWT() {
       getByWorkorderId(this.id)
         .then(res => {
-          this.$refs.problemReportingDetails.open('闂涓婃姤璇︽儏', res)
+          this.test = true
+          this.$nextTick(() => {
+            this.$refs.problem_Reporting_Details.open('闂涓婃姤璇︽儏', res, false)
+          })
         })
     },
     confirm() {
@@ -257,6 +285,7 @@
         if (this.info.dealStatus == 1) {
           this.$set(this.param, 'getDate', dayjs().format('YYYY-MM-DD HH:mm:ss'))
         }
+        this.visible = true
       })
     },
     getStaff() {
diff --git a/admin/src/views/workorder/components/problemReportingDetails.vue b/admin/src/views/workorder/components/problemReportingDetails.vue
index 8d52710..83379bb 100644
--- a/admin/src/views/workorder/components/problemReportingDetails.vue
+++ b/admin/src/views/workorder/components/problemReportingDetails.vue
@@ -3,6 +3,7 @@
         :title="title"
         :showConfirm="false"
         :visible.sync="visible"
+        @close="closeView"
         width="100%">
         <div class="wt">
             <div class="wt_head">
@@ -12,7 +13,7 @@
                     <el-tag style="margin-left: 10px;" v-if="form.dealStatus === 1">宸茶浆宸ュ崟</el-tag>
                     <el-tag style="margin-left: 10px;" type="info" v-if="form.dealStatus === 2">宸插叧闂�</el-tag>
                 </div>
-                <el-button @click="handleDetail" v-if="form.dealStatus === 1">鏌ョ湅宸ュ崟{{form.workorderId}}</el-button>
+                <el-button @click="handleDetail" v-if="form.dealStatus === 1 && isShow">鏌ョ湅宸ュ崟</el-button>
             </div>
             <div class="wt_content">
                 <div class="wt_content_row" style="width: 25%;">
@@ -62,31 +63,46 @@
                     鍏抽棴璇存槑锛歿{form.dealInfo}}
                 </div>
             </div>
+            <!--    宸ュ崟璇︽儏    -->
+            <GDDetail ref="GD_Detail" @close="closeDetails" />
         </div>
-        <!--    宸ュ崟璇︽儏    -->
-        <Detail v-if="showDetail" ref="DetailRef1" @close="showDetail = false" />
     </GlobalWindow>
 </template>
 
 <script>
   import BaseOpera from '@/components/base/BaseOpera'
   import GlobalWindow from '@/components/common/GlobalWindow'
-  import Detail from './detail'
+  // import GDDetail from './detail'
+  // import GDDetail from '@/views/workorder/components/detail'
   import { getById } from '@/api/ywProblem'
   export default {
     name: "problemReportingDetails",
     extends: BaseOpera,
-    components: { GlobalWindow, Detail },
+    components: {
+      GlobalWindow,
+      GDDetail: () => import('./detail')
+    },
     data() {
       return {
         form: {},
         showDetail: false,
+        isShow: true,
+        test: false
       }
     },
     methods: {
-      open (title, target) {
+      closeView() {
+        this.$emit('close')
+        this.visible = false
+      },
+      closeDetails() {
+        console.log('1')
+        this.test = false
+      },
+      open (title, target, show) {
         this.title = title
         this.form = target
+        this.isShow = show
         getById(target.id)
             .then(res => {
               this.form = res
@@ -94,11 +110,13 @@
             })
       },
       handleDetail() {
-        this.showDetail = true
+        this.test = true
         this.$nextTick(() => {
-          this.$refs.DetailRef1.visible = true
-          this.$refs.DetailRef1.id = this.form.workorderId
-          this.$refs.DetailRef1.getDetail()
+          this.$refs.GD_Detail.open('宸ュ崟璇︽儏', { workorderId: this.form.workorderId }, false)
+            // this.$refs.GD_Detail.isShow = false
+            // this.$refs.GD_Detail.visible = true
+            // this.$refs.GD_Detail.id = this.form.workorderId
+            // this.$refs.GD_Detail.getDetail()
         })
       },
       returnText(status) {
diff --git a/admin/src/views/workorder/problemReporting.vue b/admin/src/views/workorder/problemReporting.vue
index 46931bc..867ce47 100644
--- a/admin/src/views/workorder/problemReporting.vue
+++ b/admin/src/views/workorder/problemReporting.vue
@@ -7,7 +7,7 @@
             </el-form-item>
             <el-form-item prop="dealStatus" label="澶勭悊鐘舵��">
                 <el-select v-model="searchForm.dealStatus">
-                    <el-option label="鏈鐞�" :value="0"></el-option>
+                    <el-option label="寰呭鐞�" :value="0"></el-option>
                     <el-option label="宸茶浆宸ュ崟" :value="1"></el-option>
                     <el-option label="宸插叧闂�" :value="2"></el-option>
                 </el-select>
@@ -53,7 +53,7 @@
                     fixed="right">
                     <template slot-scope="{row}">
                         <el-button type="text" v-if="row.dealStatus === 0" @click="$refs.handleProblem.open('闂涓婃姤', row)">澶勭悊</el-button>
-                        <el-button type="text" @click="$refs.problemReportingDetails.open('闂涓婃姤璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
+                        <el-button type="text" @click="$refs.problemReportingDetails.open('闂涓婃姤璇︽儏', row, true)">鏌ョ湅璇︽儏</el-button>
                     </template>
                 </el-table-column>
             </el-table>
diff --git a/admin/src/views/workorder/workorderList.vue b/admin/src/views/workorder/workorderList.vue
index d22f32d..6d497de 100644
--- a/admin/src/views/workorder/workorderList.vue
+++ b/admin/src/views/workorder/workorderList.vue
@@ -90,7 +90,7 @@
       <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
       </pagination>
     </template>
-    <Detail v-if="showDetail" ref="DetailRef" @close="showDetail = false" @success="search" />
+    <Detail v-if="openDetail" ref="DetailRef" @close="openDetail = false" @success="search" />
     <!-- 鏂板缓/淇敼 -->
     <OperaYwWorkorderWindow ref="operaYwWorkorderWindow" @success="handlePageChange" />
   </TableLayout>
@@ -112,7 +112,7 @@
   data() {
     return {
       // 鎼滅储
-      showDetail: false,
+      openDetail: false,
       searchForm: {
         selDate: [],
         areaIds: '',
@@ -138,11 +138,13 @@
   },
   methods: {
     handleDetail(row) {
-      this.showDetail = true
+      this.openDetail = true
       this.$nextTick(() => {
-        this.$refs.DetailRef.visible = true
-        this.$refs.DetailRef.id = row.id
-        this.$refs.DetailRef.getDetail()
+        this.$refs.DetailRef.open('宸ュ崟璇︽儏', { workorderId: row.id }, true)
+        // this.$refs.DetailRef.isShow = true
+        // this.$refs.DetailRef.visible = true
+        // this.$refs.DetailRef.id = row.id
+        // this.$refs.DetailRef.getDetail()
 
       })
     },

--
Gitblit v1.9.3