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