From 7de835dea145fe8229f5f0100e2a90094e6d5b22 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 07 二月 2025 18:49:38 +0800
Subject: [PATCH] 改bug
---
admin/src/views/roomStatus/index.vue | 1293 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 815 insertions(+), 478 deletions(-)
diff --git a/admin/src/views/roomStatus/index.vue b/admin/src/views/roomStatus/index.vue
index bff1757..33d9a28 100644
--- a/admin/src/views/roomStatus/index.vue
+++ b/admin/src/views/roomStatus/index.vue
@@ -2,37 +2,58 @@
<div class="box">
<div class="box_content">
<div class="left">
- <el-input v-model="input" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+ <el-input v-model="filterText" placeholder="鎼滅储"></el-input>
<div style="width: 100%; height: 20px;"></div>
- <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+ <el-tree
+ ref="tree"
+ :data="houseList"
+ node-key="id"
+ :default-expanded-keys="ids"
+ highlight-current
+ @node-click="nodeClick"
+ :default-checked-keys="ids"
+ :filter-node-method="filterNode"
+ :props="{ children: 'projectDataVOList', label: 'name' }">
+ <span class="custom-tree-node" style="width: 100%; display: flex; align-items: center; justify-content: space-between;" slot-scope="{ node, data }">
+ <span>{{ data.name }}</span>
+ <span style="color: #2080f7;" v-if="data.lv === 3">
+ {{data.leaseStatus === 0 ? '寰呯璧�' : data.leaseStatus === 1 ? '宸茬璧�' : data.leaseStatus === 2 ? '鏈紑鍚璧�' : ''}}
+ </span>
+ </span>
+ </el-tree>
</div>
<div class="right">
- <div class="right_head">椤圭洰鍚嶇О</div>
+ <div class="right_head">
+ {{title}}
+ <el-tag type="info" v-if="leaseStatus === 0" style="margin-left: 10px;">寰呯璧�</el-tag>
+ <el-tag type="success" v-if="leaseStatus === 1" style="margin-left: 10px;">宸茬璧�</el-tag>
+ <el-tag type="warning" v-if="leaseStatus === 2" style="margin-left: 10px;">鏈紑鍚璧�</el-tag>
+ </div>
<div class="right_cate">
<el-tabs v-model="activeName" @tab-click="handleClick">
- <el-tab-pane label="椤圭洰姒傚喌" name="first">
+ <el-tab-pane label="椤圭洰姒傚喌" name="first" v-if="lv === 0">
<div class="xm">
<el-card>
<div class="xm_one">
<div class="xm_one_row">
<span>鍦ㄧ鍚堝悓鏁�</span>
- <span>4</span>
- <span>鍦ㄧ鎴挎簮鏁帮細5</span>
+ <span>{{projectNums.leaseContractAmount}}</span>
+ <span>鍦ㄧ鎴挎簮鏁帮細{{projectNums.leaseRoomAmount}}</span>
</div>
<div class="xm_one_row">
<span>鍙嫑鍟嗛潰绉�</span>
- <span>50000銕�</span>
- <span>鍙嫑鍟嗘埧婧愭暟锛�15</span>
+ <span>{{projectNums.investmentArea}}銕�</span>
+ <span>鍙嫑鍟嗘埧婧愭暟锛歿{projectNums.investmentRoomAmount}}</span>
</div>
<div class="xm_one_row">
<span>鍦ㄧ瀹炴椂鍧囦环</span>
- <span>145.75鍏�/m虏路澶�</span>
- <span>鍦ㄧ闈㈢Н锛�900.00m虏</span>
+ <span>{{projectNums.leasePrice}}鍏�/m虏路澶�</span>
+ <span>鍦ㄧ闈㈢Н锛歿{projectNums.leaseArea}}m虏</span>
</div>
<div class="xm_one_row">
<span>鍑虹鐜�</span>
- <span>50.00%</span>
- <span>寰呯闈㈢Н锛�700.00m虏</span>
+ <span>{{rentalRate()}}%</span>
+ <span>寰呯闈㈢Н锛歿{projectNums.investmentArea - projectNums.leaseArea}}m虏</span>
</div>
</div>
</el-card>
@@ -43,19 +64,19 @@
<div class="xm_info">
<div class="xm_info_row" style="width: 25%;">
<span>椤圭洰鍚嶇О</span>
- <span>XXXXXXXXXX</span>
+ <span>{{projectInfo.name}}</span>
</div>
<div class="xm_info_row" style="width: 25%;">
<span>鎵�灞炲湴鍖�</span>
- <span>瀹夊窘鐪�-鍚堣偉甯�-铚�灞卞尯</span>
+ <span>{{projectInfo.provinceName}}-{{projectInfo.cityName}}-{{projectInfo.areaName}}</span>
</div>
<div class="xm_info_row" style="width: 50%;">
<span>璇︾粏鍦板潃</span>
- <span>Lorem ipsum dolor sit amet, consectetur</span>
+ <span>{{projectInfo.addr}}</span>
</div>
<div class="xm_info_row" style="width: 100%; margin-top: 15px;">
<span>椤圭洰绠�浠�</span>
- <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum</span>
+ <span>{{projectInfo.remark}}</span>
</div>
</div>
</el-card>
@@ -64,34 +85,53 @@
<span>褰撳墠鍦ㄧ鍚堝悓</span>
</div>
<div class="xm_table">
- <el-input v-model="input" style="width: 300px; margin-bottom: 15px;" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+ <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
- prop="date"
label="鍚堝悓缂栧彿">
+ <template slot-scope="{row}">
+ <el-button type="text">{{row.code}}</el-button>
+ </template>
</el-table-column>
<el-table-column
- prop="name"
+ prop="renterName"
label="绉熷">
</el-table-column>
<el-table-column
- prop="address"
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="address"
+ prop="leaseDays"
label="绉熻祦澶╂暟">
</el-table-column>
<el-table-column
- prop="address"
label="绉熻祦闈㈢Н">
+ <template slot-scope="{row}">
+ {{row.totalArea}}銕�
+ </template>
</el-table-column>
<el-table-column
- prop="address"
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">
@@ -109,7 +149,7 @@
</el-card>
</div>
</el-tab-pane>
- <el-tab-pane label="鎴挎簮淇℃伅" name="houseinfo">
+ <el-tab-pane label="鎴挎簮淇℃伅" name="houseinfo" v-if="[3].includes(lv)">
<div class="xm">
<el-card style="margin-top: 20px;">
<div slot="header" class="clearfix">
@@ -118,91 +158,99 @@
<div class="xm_info">
<div class="xm_info_row" style="width: 25%;">
<span>鎵�灞為」鐩�</span>
- <span>XXXXXXXXXX</span>
+ <span>{{roomInfo.projectName}}</span>
</div>
<div class="xm_info_row" style="width: 25%;">
<span>妤煎畤</span>
- <span>缁煎悎妤�</span>
+ <span>{{roomInfo.buildingName}}</span>
</div>
<div class="xm_info_row" style="width: 25%;">
<span>妤煎眰</span>
- <span>1</span>
+ <span>{{roomInfo.floorName}}</span>
</div>
<div class="xm_info_row" style="width: 25%;">
<span>鎴垮彿</span>
- <span>101娲诲姩瀹�</span>
+ <span>{{roomInfo.roomNum}}</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>鎴块棿缂栧彿</span>
- <span>101</span>
+ <span>{{roomInfo.code}}</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>鏄惁鎷涘晢</span>
- <span>鍚�</span>
+ <span v-if="roomInfo.isInvestment === 0">鍚�</span>
+ <span v-if="roomInfo.isInvestment === 1">鏄�</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>寤虹瓚闈㈢Н</span>
- <span>50銕�</span>
+ <span>{{roomInfo.area}}銕�</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>璁$闈㈢Н</span>
- <span>50銕�</span>
+ <span>{{roomInfo.rentArea}}銕�</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>璁¤垂闈㈢Н</span>
- <span>45銕�</span>
+ <span>{{roomInfo.feeArea}}銕�</span>
</div>
</div>
</el-card>
</div>
</el-tab-pane>
- <el-tab-pane label="绉熷鍚堝悓" name="project">
+ <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>
<div class="xm_table">
- <el-input v-model="input" style="width: 300px; margin-bottom: 15px;" placeholder="璇疯緭鍏ュ悎鍚岀紪鍙�"></el-input>
+ <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
- prop="date"
label="鍚堝悓缂栧彿">
+ <template slot-scope="{row}">
+ <el-button type="text">{{row.code}}</el-button>
+ </template>
</el-table-column>
<el-table-column
- prop="name"
- label="瀹㈡埛鍚嶇О">
+ prop="renterName"
+ label="绉熷">
</el-table-column>
<el-table-column
- prop="address"
- label="寮�濮嬫棩鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- label="缁撴潫鏃ユ湡">
- </el-table-column>
- <el-table-column
- prop="address"
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="address"
- label="绉熻祦闈㈢Н锛堛帯锛�">
+ prop="leaseDays"
+ label="绉熻祦澶╂暟">
</el-table-column>
<el-table-column
- prop="address"
- label="绛捐鏃�">
+ label="绉熻祦闈㈢Н">
+ <template slot-scope="{row}">
+ {{row.totalArea}}銕�
+ </template>
</el-table-column>
<el-table-column
- prop="address"
- label="鍚堝悓鏉ユ簮">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鍚堝悓鐘舵��">
+ 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">
@@ -220,29 +268,70 @@
</el-card>
</div>
</el-tab-pane>
- <el-tab-pane label="妤煎畤姒傚喌" name="louyu">
+ <el-tab-pane label="鎴挎�佺鐞�" name="house" v-if="[1,2].includes(lv)">
+ <div class="xm">
+ <div class="xm_house">
+ <div class="xm_house_tips">
+ <div class="xm_house_tips_row">
+ <div class="xm_house_tips_row_d" style="background: rgba(0,186,146,0.1);"></div>
+ <span>宸插嚭绉�</span>
+ </div>
+ <div class="xm_house_tips_row">
+ <div class="xm_house_tips_row_d" style="background: #F7F7F7;"></div>
+ <span>鏈嚭绉�</span>
+ </div>
+ <div class="xm_house_tips_row">
+ <div class="xm_house_tips_row_d" style="background: rgba(255,158,0,0.14);"></div>
+ <span>90鏃ュ唴鍒版湡</span>
+ </div>
+ </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">
+ <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: ifWidth(child.roomRentArea), 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">
+ <span>{{child.customerName}}</span>
+ <span>{{child.overData.substring(0, 10)}}鍒版湡</span>
+ </div>
+ <div class="xm_house_list_right_row_day" v-if="child.roomStatus === 0">鏈嚭绉燂綔绌虹疆{{child.freeDayAmount}}澶�</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-tab-pane>
+ <el-tab-pane label="妤煎畤姒傚喌" name="louyu" v-if="lv === 1">
<div class="xm">
<el-card>
<div class="xm_one">
<div class="xm_one_row">
<span>鍦ㄧ鍚堝悓鏁�</span>
- <span>4</span>
- <span>鍦ㄧ鎴挎簮鏁帮細5</span>
+ <span>{{projectNums.leaseContractAmount}}</span>
+ <span>鍦ㄧ鎴挎簮鏁帮細{{projectNums.leaseRoomAmount}}</span>
</div>
<div class="xm_one_row">
<span>鍙嫑鍟嗛潰绉�</span>
- <span>50000銕�</span>
- <span>鍙嫑鍟嗘埧婧愭暟锛�15</span>
+ <span>{{projectNums.investmentArea}}銕�</span>
+ <span>鍙嫑鍟嗘埧婧愭暟锛歿{projectNums.investmentRoomAmount}}</span>
</div>
<div class="xm_one_row">
<span>鍦ㄧ瀹炴椂鍧囦环</span>
- <span>145.75鍏�/m虏路澶�</span>
- <span>鍦ㄧ闈㈢Н锛�900.00m虏</span>
+ <span>{{projectNums.leasePrice}}鍏�/m虏路澶�</span>
+ <span>鍦ㄧ闈㈢Н锛歿{projectNums.leaseArea}}m虏</span>
</div>
<div class="xm_one_row">
<span>鍑虹鐜�</span>
- <span>50.00%</span>
- <span>寰呯闈㈢Н锛�700.00m虏</span>
+ <span>{{rentalRate()}}%</span>
+ <span>寰呯闈㈢Н锛歿{projectNums.investmentArea - projectNums.leaseArea}}m虏</span>
</div>
</div>
</el-card>
@@ -253,43 +342,43 @@
<div class="xm_info">
<div class="xm_info_row" style="width: 25%;">
<span>鎵�灞為」鐩�</span>
- <span>闃滃畞鏂囦綋涓績</span>
+ <span>{{buildingInfo.projectName}}</span>
</div>
<div class="xm_info_row" style="width: 25%;">
<span>妤煎畤鍚嶇О</span>
- <span>A搴�</span>
+ <span>{{buildingInfo.name}}</span>
</div>
<div class="xm_info_row" style="width: 25%;">
<span>妤煎畤缂栫爜</span>
- <span>A-</span>
+ <span>{{buildingInfo.code}}</span>
</div>
<div class="xm_info_row" style="width: 25%;">
<span>璇︾粏鍦板潃</span>
- <span>闃滃畞鏂囦綋涓績瑗垮崡瑙�</span>
+ <span>{{buildingInfo.addr}}</span>
</div>
<div class="xm_info_row" style="width: 100%; margin-top: 15px;">
- <span>璇︾粏鍦板潃</span>
- <span>闃滃畞鏂囦綋涓績瑗垮崡瑙�</span>
+ <span>妤煎畤绠�浠�</span>
+ <span>{{buildingInfo.remark}}</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>寤虹瓚闈㈢Н</span>
- <span>1000銕�</span>
+ <span>{{buildingInfo.area}}銕�</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>璁$闈㈢Н</span>
- <span>1000銕�</span>
+ <span>{{buildingInfo.roomRentArea}}銕�</span>
</div>
<div class="xm_info_row" style="width: 50%; margin-top: 15px;">
<span>璁¤垂闈㈢Н</span>
- <span>1000銕�</span>
+ <span>{{buildingInfo.roomFeeArea}}銕�</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>鍦颁笂灞傛暟</span>
- <span>5</span>
+ <span>{{buildingInfo.onFloor}}</span>
</div>
<div class="xm_info_row" style="width: 25%; margin-top: 15px;">
<span>鍦颁笅灞傛暟</span>
- <span>2</span>
+ <span>{{buildingInfo.underFloor}}</span>
</div>
</div>
</el-card>
@@ -298,184 +387,53 @@
<span>褰撳墠鍦ㄧ鍚堝悓</span>
</div>
<div class="xm_table">
- <el-input v-model="input" style="width: 300px; margin-bottom: 15px;" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
- <el-table
- :data="tableData"
- border
- style="width: 100%">
- <el-table-column
- prop="date"
- label="鍚堝悓缂栧彿">
- </el-table-column>
- <el-table-column
- prop="name"
- label="绉熷">
- </el-table-column>
- <el-table-column
- prop="address"
- label="绉熻祦鍗曚环">
- </el-table-column>
- <el-table-column
- prop="address"
- label="绉熻祦澶╂暟">
- </el-table-column>
- <el-table-column
- prop="address"
- label="绉熻祦闈㈢Н">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鎴挎簮">
- </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>
- </div>
- </el-card>
- </div>
- </el-tab-pane>
- <el-tab-pane label="鎴挎�佺鐞�" name="house">
- <div class="xm">
- <div class="xm_house">
- <div class="xm_house_tips">
- <div class="xm_house_tips_row">
- <div class="xm_house_tips_row_d"></div>
- <span>宸插嚭绉�</span>
- </div>
- <div class="xm_house_tips_row">
- <div class="xm_house_tips_row_d"></div>
- <span>鏈嚭绉�</span>
- </div>
- <div class="xm_house_tips_row">
- <div class="xm_house_tips_row_d"></div>
- <span>90鏃ュ唴鍒版湡</span>
- </div>
- </div>
- <div class="xm_house_list">
- <div class="xm_house_list_left">
- <div class="xm_house_list_left_row">
- <span>1F</span>
- <span>600銕�</span>
- </div>
- </div>
- <div class="xm_house_list_right">
- <div class="item">
- <div class="xm_house_list_right_row">
- <span>101锛�600銕★級</span>
- <div class="xm_house_list_right_row_info">
- <span>绉熷鍚嶇О</span>
- <span>2024-08-16鍒版湡</span>
- </div>
- </div>
- <div class="xm_house_list_right_row">
- <span>101锛�600銕★級</span>
- <div class="xm_house_list_right_row_info">
- <span>绉熷鍚嶇О</span>
- <span>2024-08-16鍒版湡</span>
- </div>
- </div>
- <div class="xm_house_list_right_row">
- <span>101锛�600銕★級</span>
- <div class="xm_house_list_right_row_info">
- <span>绉熷鍚嶇О</span>
- <span>2024-08-16鍒版湡</span>
- </div>
- </div>
- <div class="xm_house_list_right_row">
- <span>101锛�600銕★級</span>
- <div class="xm_house_list_right_row_info">
- <span>绉熷鍚嶇О</span>
- <span>2024-08-16鍒版湡</span>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="宸ュ崟璁板綍" name="second">
- <div class="xm">
- <el-card>
- <div class="xm_one1">
- <div class="xm_one_row">
- <span>寰呮寚娲炬暟閲�</span>
- <span>15</span>
- </div>
- <div class="xm_one_row">
- <span>寰呭鐞嗘暟閲�</span>
- <span>15</span>
- </div>
- <div class="xm_one_row">
- <span>鏈湀宸ュ崟鏁�</span>
- <span>15</span>
- </div>
- <div class="xm_one_row">
- <span>绱宸ュ崟鏁�</span>
- <span>15</span>
- </div>
- </div>
- </el-card>
- <el-card style="margin-top: 20px;">
- <div class="xm_table">
- <div class="xm_table_search">
- <el-select v-model="value" style="width: 300px; margin-right: 15px;" placeholder="浣嶇疆绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- <el-select v-model="value" style="width: 300px;" placeholder="宸ュ崟鍒嗙被">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
+ <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
- prop="date"
- label="宸ュ崟鍒嗙被">
+ 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="name"
- label="鎶ヤ慨鍖哄煙">
+ prop="renterName"
+ label="绉熷">
</el-table-column>
<el-table-column
- prop="address"
- label="涓婃姤浜�">
+ 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="address"
- label="涓婃姤鏃堕棿">
+ prop="leaseDays"
+ label="绉熻祦澶╂暟">
</el-table-column>
<el-table-column
- prop="address"
- label="澶勭悊浜�">
+ label="绉熻祦闈㈢Н">
+ <template slot-scope="{row}">
+ {{row.totalArea}}銕�
+ </template>
</el-table-column>
<el-table-column
- prop="address"
- label="宸ュ崟鐘舵��">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鎿嶄綔">
+ 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">
@@ -493,7 +451,107 @@
</el-card>
</div>
</el-tab-pane>
- <el-tab-pane label="璁惧淇℃伅" name="third">
+ <el-tab-pane label="宸ュ崟璁板綍" name="second" v-if="[0,2,3].includes(lv)">
+ <div class="xm">
+ <el-card>
+ <div class="xm_one1">
+ <div class="xm_one_row">
+ <span>寰呮寚娲炬暟閲�</span>
+ <span>{{workOrderNums.waitAssignAmount || 0}}</span>
+ </div>
+ <div class="xm_one_row">
+ <span>寰呭鐞嗘暟閲�</span>
+ <span>{{workOrderNums.waitDealAmount || 0}}</span>
+ </div>
+ <div class="xm_one_row">
+ <span>鏈湀宸ュ崟鏁�</span>
+ <span>{{workOrderNums.monthAmount || 0}}</span>
+ </div>
+ <div class="xm_one_row">
+ <span>绱宸ュ崟鏁�</span>
+ <span>{{workOrderNums.amount || 0}}</span>
+ </div>
+ </div>
+ </el-card>
+ <el-card style="margin-top: 20px;">
+ <div class="xm_table">
+ <div class="xm_table_search">
+ <div>
+ <el-cascader style="width: 150px; margin-right: 15px;" v-model="form.areaIds" @change="changeSel" placeholder="璇烽�夋嫨宸ュ崟鍒嗙被" clearable
+ :options="cateList" :props="{
+ label: 'name',
+ value: 'id',
+ children: 'childCategoryList'
+ }" />
+ <el-select v-model="form.dealStatus" style="width: 150px; margin-right: 15px;" placeholder="宸ュ崟鐘舵��">
+ <el-option label="寰呮寚娲�" :value="0"></el-option>
+ <el-option label="宸叉寚娲�" :value="1"></el-option>
+ <el-option label="宸插鐞�" :value="2"></el-option>
+ </el-select>
+ <el-button type="primary" @click="getWorkOrderList">鏌ヨ</el-button>
+ <el-button @click="clear">娓呯┖</el-button>
+ </div>
+ <el-button type="primary" @click="$refs.operaYwWorkorderWindow.open('鏂板缓宸ュ崟')">鏂板宸ュ崟</el-button>
+ </div>
+ <el-table
+ :data="tableData"
+ border
+ v-lading="loading"
+ style="width: 100%">
+ <el-table-column
+ prop="categoryName"
+ label="宸ュ崟鍒嗙被">
+ </el-table-column>
+ <el-table-column
+ label="鎶ヤ慨鍖哄煙">
+ <template v-slot="scope">
+ <span>{{ scope.row.buildingName }} / {{ scope.row.areaType == 0 ? scope.row.roomNum : scope.row.floorName
+ }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="creatorName"
+ label="涓婃姤浜�">
+ </el-table-column>
+ <el-table-column
+ prop="createDate"
+ label="涓婃姤鏃堕棿">
+ </el-table-column>
+ <el-table-column
+ prop="dealUserName"
+ label="澶勭悊浜�">
+ </el-table-column>
+ <el-table-column
+ label="宸ュ崟鐘舵��">
+ <template slot-scope="{row}">
+ <span v-if="row.dealStatus === 0">寰呮寚娲�</span>
+ <span v-if="row.dealStatus === 1">宸叉寚娲�</span>
+ <span v-if="row.dealStatus === 2">宸插鐞�</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="handleDetail(row)">鏌ョ湅璇︽儏</el-button>
+ </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>
+ </div>
+ </el-card>
+ </div>
+ </el-tab-pane>
+ <el-tab-pane label="璁惧淇℃伅" name="third" v-if="[0,1,2,3].includes(lv)">
<div class="xm">
<div class="xm_chat">
<el-card class="xm_chat_row">
@@ -507,122 +565,55 @@
<div class="xm_table">
<div class="xm_table_search">
<div class="xm_table_search_left">
- <el-input v-model="input" placeholder="璇疯緭鍏ヨ澶囧悕绉�/缂栫爜" style="width: 200px; margin-right: 15px;"></el-input>
- <el-select v-model="value" style="width: 200px; margin-right: 15px;" placeholder="璁惧鐘舵��">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�/缂栫爜" style="width: 150px; margin-right: 15px;"></el-input>
+ <el-select v-model="form.status" style="width: 150px; margin-right: 15px;" placeholder="璁惧鐘舵��">
+ <el-option label="姝e父" :value="0"></el-option>
+ <el-option label="鎹熷潖" :value="1"></el-option>
+ <el-option label="鎶ュ簾" :value="2"></el-option>
</el-select>
- <el-button type="primary">鏌ヨ</el-button>
- <el-button>娓呯┖</el-button>
+ <el-button type="primary" @click="getDevicePage">鏌ヨ</el-button>
+ <el-button @click="clear">娓呯┖</el-button>
</div>
- <el-button type="primary">鏂板</el-button>
+ <el-button type="primary" @click="handleEdit">鏂板</el-button>
</div>
<el-table
:data="tableData"
border
+ v-loading="loading"
style="width: 100%">
<el-table-column
- prop="date"
- label="宸ュ崟鍒嗙被">
+ label="璁惧缂栫爜">
+ <template slot-scope="{row}">
+ <el-button type="text">{{row.code}}</el-button>
+ </template>
</el-table-column>
<el-table-column
prop="name"
- label="鎶ヤ慨鍖哄煙">
+ label="璁惧鍚嶇О">
</el-table-column>
<el-table-column
- prop="address"
- label="涓婃姤浜�">
+ prop="categoryName"
+ label="璁惧鍒嗙被">
</el-table-column>
<el-table-column
- prop="address"
- label="涓婃姤鏃堕棿">
+ prop="modelNo"
+ label="璁惧鍨嬪彿">
</el-table-column>
<el-table-column
- prop="address"
- label="澶勭悊浜�">
+ prop="realName"
+ label="璁惧绠$悊鍛�">
</el-table-column>
<el-table-column
- prop="address"
- label="宸ュ崟鐘舵��">
+ prop="supplier"
+ label="璁惧渚涘簲鍟�">
</el-table-column>
<el-table-column
- prop="address"
- label="鎿嶄綔">
- </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>
- </div>
- </el-card>
- </div>
- </el-tab-pane>
- <el-tab-pane label="璧勪骇淇℃伅" name="fourth">
- <div class="xm">
- <el-card>
- <div slot="header" class="clearfix">
- <span>璧勪骇娓呭崟</span>
- </div>
- <div class="xm_table">
- <div class="xm_table_search">
- <div class="xm_table_search_left">
- <el-input v-model="input" placeholder="璇疯緭鍏ヨ祫浜у悕绉�/缂栫爜" style="width: 200px; margin-right: 15px;"></el-input>
- <el-select v-model="value" style="width: 200px; margin-right: 15px;" placeholder="璧勪骇鍒嗙被">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- <el-button>娓呯┖</el-button>
- </div>
- <el-button type="primary">鏂板</el-button>
- </div>
- <el-table
- :data="tableData"
- border
- style="width: 100%">
- <el-table-column
- prop="date"
- label="璧勪骇缂栫爜">
- </el-table-column>
- <el-table-column
- prop="name"
- label="璧勪骇鍚嶇О">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鏉$爜">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鍝佺墝">
- </el-table-column>
- <el-table-column
- prop="address"
- label="瑙勬牸鍨嬪彿">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鍗曚綅">
- </el-table-column>
- <el-table-column
- prop="address"
- label="搴撳瓨鏁伴噺">
+ label="璁惧鐘舵��">
+ <template slot-scope="{row}">
+ <span v-if="row.status === 0">姝e父</span>
+ <span v-if="row.status === 1">鎹熷潖</span>
+ <span v-if="row.status === 2">鎶ュ簾</span>
+ </template>
</el-table-column>
</el-table>
<div class="xm_table_f">
@@ -644,56 +635,40 @@
</div>
</div>
</div>
+ <!-- 鏂板缓宸ュ崟 -->
+ <OperaYwWorkorderWindow ref="operaYwWorkorderWindow" />
+ <!-- 宸ュ崟璇︽儏 -->
+ <Detail v-if="showDetail" ref="DetailRef" @close="showDetail = false" />
+ <!-- 鏂板缓璁惧 -->
+ <Edit v-if="showEdit1" ref="EditRef" @success="getDevicePage" @close="showEdit1 = false" />
+ <!-- 鍚堝悓璇︽儏 -->
+ <ContractDetail ref="ContractDetailRef" />
</div>
</template>
<script>
import * as echarts from 'echarts';
+ import { tree, getProjectById } from '@/api/project/ywProject'
+ import { getRoomContract, getRoomStatusList, detailById as roomDetailById } from '@/api/project/ywRoom'
+ import { fetchList } from '@/api/contract'
+ import OperaYwWorkorderWindow from '../workorder/components/OperaYwWorkorderWindow'
+ import { fetchList as getCateList } from '@/api/business/category'
+ import { getDataVO, fetchList as workderList } from '@/api/workorder/ywWorkorder'
+ import { detailById } from '@/api/project/ywBuilding'
+ import Detail from '../workorder/components/detail'
+ import { fetchList as devicePage, getDeviceCateData, getDeviceStatus } from '@/api/Inspection/device'
+ import Edit from '../operation/components/deviceEdit'
+ import ContractDetail from '../contract/components/contractDetail'
export default {
name: 'index',
+ components: { OperaYwWorkorderWindow, Detail, Edit, ContractDetail },
data() {
return {
- input: '',
+ showDetail: false,
+ showEdit1: false,
+ filterText: '',
tableData: [],
- data: [{
- label: '涓�绾� 1',
- children: [{
- label: '浜岀骇 1-1',
- children: [{
- label: '涓夌骇 1-1-1'
- }]
- }]
- }, {
- label: '涓�绾� 2',
- children: [{
- label: '浜岀骇 2-1',
- children: [{
- label: '涓夌骇 2-1-1'
- }]
- }, {
- label: '浜岀骇 2-2',
- children: [{
- label: '涓夌骇 2-2-1'
- }]
- }]
- }, {
- label: '涓�绾� 3',
- children: [{
- label: '浜岀骇 3-1',
- children: [{
- label: '涓夌骇 3-1-1'
- }]
- }, {
- label: '浜岀骇 3-2',
- children: [{
- label: '涓夌骇 3-2-1'
- }]
- }]
- }],
- defaultProps: {
- children: 'children',
- label: 'label'
- },
+ houseList: [],
activeName: 'first',
total: 0,
pageTotal: 10,
@@ -701,66 +676,361 @@
options: [{
value: '閫夐」1',
label: '榛勯噾绯�'
- }, {
- value: '閫夐」2',
- label: '鍙岀毊濂�'
- }, {
- value: '閫夐」3',
- label: '铓典粩鐓�'
- }, {
- value: '閫夐」4',
- label: '榫欓』闈�'
- }, {
- value: '閫夐」5',
- label: '鍖椾含鐑ら腑'
}],
- value: ''
+ value: '',
+ form: {
+ name: '',
+ status: '',
+ project: '',
+ buildingId: '',
+ floorId: '',
+ roomId: '',
+ code: '',
+ areaIds: [],
+ cateId: '',
+ dealStatus: ''
+ },
+ title: '',
+ cateList: [],
+ deviceList: [],
+ categaryList: [],
+ roomStatus: [],
+ projectInfo: {},
+ projectNums: {},
+ workOrderNums: {},
+ buildingInfo: {},
+ roomInfo: {},
+ loading: false,
+ lv: 0,
+ leaseStatus: ''
}
},
created () {
- this.$nextTick(() => {
- this.reand()
- this.reand1()
- })
+ this.getHouseTree()
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ }
},
methods: {
+ nodeClick(e) {
+ this.tableData = []
+ this.pageSize = 10
+ this.page = 1
+ this.form.project = ''
+ this.form.buildingId = ''
+ this.form.floorId = ''
+ this.form.roomId = ''
+ this.leaseStatus = ''
+ this.lv = e.lv
+ this.title = e.name
+ if (e.lv === 0) {
+ this.activeName = 'first'
+ this.form.project = e.id
+ this.getProjectByIds()
+ } else if (e.lv === 1) {
+ this.activeName = 'house'
+ this.form.buildingId = e.id
+ this.getRoomStatusLists()
+ } else if (e.lv === 2) {
+ this.activeName = 'house'
+ this.form.floorId = e.id
+ this.getRoomStatusLists()
+ } else if (e.lv === 3) {
+ this.activeName = 'houseinfo'
+ this.form.roomId = e.id
+ this.leaseStatus = e.leaseStatus
+ this.roomDetailByIds()
+ }
+ },
+ // 鎼滅储鏍�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鍑虹鐜�
+ rentalRate() {
+ return ((this.projectNums.leaseArea / this.projectNums.investmentArea) * 100).toFixed(2)
+ },
+ // 鍒ゆ柇鎴挎�佸搴�
+ ifWidth(num) {
+ if (num >= 0 && num <= 100) {
+ return '150px'
+ } else if (num >= 101 && num <= 200) {
+ return '180px'
+ } else if (num >= 201 && num <= 300) {
+ return '210px'
+ } else if (num >= 301 && num <= 400) {
+ return '240px'
+ } else if (num >= 401 && num <= 500) {
+ return '270px'
+ } else {
+ return '300px'
+ }
+ },
+ // 鍒ゆ柇鎴挎�佽儗鏅壊
+ ifBackground(type) {
+ if (type === 0) {
+ return '#F7F7F7'
+ } else if (type === 1) {
+ return 'rgba(0,186,146,0.14)'
+ } else if (type === 2) {
+ return 'rgba(255,158,0,0.14)'
+ }
+ },
+ // 鑾峰彇鎴挎簮璇︽儏
+ roomDetailByIds() {
+ roomDetailById(this.form.roomId)
+ .then(res => {
+ this.roomInfo = res
+ })
+ },
+ // 鑾峰彇妤煎畤璇︽儏
+ getDetailById() {
+ detailById(this.form.buildingId)
+ .then(res => {
+ console.log(res)
+ this.buildingInfo = res
+ })
+ },
+ // 鎴挎�佹暟鎹�
+ getRoomStatusLists() {
+ getRoomStatusList({
+ buildingId: this.form.buildingId,
+ floor: this.form.floorId
+ }).then(res => {
+ this.roomStatus = res
+ })
+ },
+ // 鑾峰彇璁惧鐘舵��
+ getDevice() {
+ getDeviceStatus({
+ projectId: this.form.project,
+ buildingId: this.form.buildingId,
+ floorId: this.form.floorId,
+ roomId: this.form.roomId
+ })
+ .then(res => {
+ this.$nextTick(() => {
+ this.deviceList = [
+ { value: res.workAmount || 0, name: '姝e父' },
+ { value: res.exceptionAmount || 0, name: '寮傚父' },
+ { value: res.errAmount || 0, name: '鎶ュ簾' }
+ ]
+ this.reand()
+ })
+ })
+ },
+ // 璁惧鏁伴噺鍒嗗竷缁熻
+ getDeviceCateDatas() {
+ getDeviceCateData({
+ projectId: this.form.project,
+ buildingId: this.form.buildingId,
+ floorId: this.form.floorId,
+ roomId: this.form.roomId
+ }).then(res => {
+ this.categaryList = res
+ this.$nextTick(() => {
+ this.reand1()
+ })
+ })
+ },
+ handleEdit(row) {
+ this.showEdit1 = true
+ this.$nextTick(() => {
+ this.$refs.EditRef.isShowModal = true
+ })
+ },
+ // 鑾峰彇璁惧鍒嗛〉
+ getDevicePage() {
+ this.loading = true
+ devicePage({
+ capacity: this.pageTotal,
+ page: this.page,
+ model: {
+ projectId: this.form.project,
+ buildingId: this.form.buildingId,
+ floorId: this.form.floorId,
+ roomId: this.form.roomId,
+ status: this.form.status,
+ name: this.form.name
+ }
+ }).then(res => {
+ this.tableData = res.records
+ this.total = res.total
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ handleDetail(row) {
+ this.showDetail = true
+ this.$nextTick(() => {
+ this.$refs.DetailRef.visible = true
+ this.$refs.DetailRef.id = row.id
+ this.$refs.DetailRef.getDetail()
+ })
+ },
+ // 鑾峰彇宸ュ崟鍒楄〃
+ getWorkOrderList() {
+ this.loading = true
+ workderList({
+ capacity: this.pageTotal,
+ page: this.page,
+ model: {
+ projectId: this.form.project,
+ buildingId: this.form.buildingId,
+ floorId: this.form.floorId,
+ roomId: this.form.roomId,
+ dealStatus: this.form.dealStatus,
+ cateId: this.form.cateId
+ }
+ }).then(res => {
+ this.tableData = res.records
+ this.total = res.total
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ getCate() {
+ getCateList({
+ model: { type: 3 },
+ capacity: 1000,
+ page: 1,
+ }).then(res => {
+ this.cateList = res.records || []
+ })
+ },
+ // 鑾峰彇椤圭洰淇℃伅
+ getProjectByIds() {
+ getProjectById(this.form.project)
+ .then(res => {
+ this.projectInfo = res
+ })
+ this.getGK()
+ this.getFetchList()
+ },
+ //椤圭洰姒傚喌
+ getGK() {
+ getRoomContract({
+ projectId: this.form.project,
+ buildingId: this.form.buildingId,
+ floorId: this.form.floorId,
+ roomId: this.form.roomId,
+ }).then(res => {
+ this.projectNums = res
+ })
+ },
+ changeSel(e) {
+ if (e && e.length == 2) {
+ this.$set(this.form, 'cateId', e[1])
+ } else {
+ this.$set(this.form, 'cateId', '')
+ }
+ },
+ // 鑾峰彇宸ュ崟鏁伴噺
+ getDataVOs() {
+ let queryType = ''
+ let queryId = ''
+ if (this.lv === 0) {
+ queryType = 1
+ queryId = this.form.project
+ } else if (this.lv === 2) {
+ queryType = 2
+ queryId = this.form.floorId
+ } else if (this.lv === 3) {
+ queryType = 3
+ queryId = this.form.roomId
+ }
+ getDataVO({
+ queryType,
+ queryId
+ }).then(res => {
+ this.workOrderNums = res
+ })
+ },
+ clear() {
+ this.form.code = ''
+ this.form.name = ''
+ this.form.status = ''
+ this.form.dealStatus = ''
+ this.form.cateId = ''
+ this.form.areaIds = []
+ if (['first', 'louyu', 'houseinfo'].includes(this.activeName)) {
+ this.getFetchList()
+ } else if (this.activeName === 'second') {
+ this.getWorkOrderList()
+ } else if (this.activeName === 'third') {
+ this.getDevicePage()
+ }
+ },
+ // 鑾峰彇褰撳墠鍦ㄧ鍚堝悓
+ getFetchList() {
+ this.loading = true
+ fetchList({
+ capacity: this.pageSize,
+ page: this.page,
+ model: {
+ projectId: this.form.project,
+ buildingId: this.form.buildingId,
+ floorId: this.form.floorId,
+ roomId: this.form.roomId,
+ code: this.form.code
+ }
+ }).then(res => {
+ this.tableData = res.records
+ this.total = res.total
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ getHouseTree() {
+ tree({})
+ .then(res => {
+ this.addParamToArray(res)
+ this.form.project = res[0].id
+ this.title = res[0].name
+ this.houseList = res
+ this.getProjectByIds()
+ })
+ },
+ addParamToArray(arr) {
+ for (let i = 0; i < arr.length; i++) {
+ const currentItem = arr[i].projectDataVOList
+ arr[i].idd = arr[i].lv + '-' + arr[i].id
+ if (currentItem.length > 0) {
+ this.addParamToArray(currentItem)
+ }
+ }
+ },
reand() {
var chartDom = document.getElementById('chat1');
var myChart = echarts.init(chartDom);
var option;
option = {
+ title: {
+ text: '璁惧鐘舵��'
+ },
tooltip: {
trigger: 'item'
},
legend: {
- top: '5%',
- left: 'center'
+ left: 'right',
+ top: 'middle',
+ width: '80'
},
series: [
{
- name: 'Access From',
+ name: '璁惧鐘舵��',
type: 'pie',
radius: ['40%', '80%'],
- avoidLabelOverlap: false,
label: {
- show: false,
- position: 'center'
+ show: true,
+ position: 'center',
+ fontWeight: 'bold',
+ fontSize: 22
},
- emphasis: {
- label: {
- show: true,
- fontSize: 40,
- fontWeight: 'bold'
- }
- },
- labelLine: {
- show: false
- },
- data: [
- { value: 1048, name: '姝e父' },
- { value: 735, name: '寮傚父' },
- { value: 580, name: '鎶ュ簾' }
- ]
+ data: this.deviceList
}
]
};
@@ -770,7 +1040,6 @@
var chartDom = document.getElementById('chat2');
var myChart = echarts.init(chartDom);
var option;
- // There should not be negative values in rawData
const rawData = [
[100, 302, 301, 334, 390, 330, 320],
[320, 132, 101, 134, 90, 230, 210],
@@ -786,12 +1055,6 @@
}
totalData.push(sum);
}
- const grid = {
- left: 100,
- right: 100,
- top: 50,
- bottom: 50
- };
const series = [
'Direct',
'Mail Ad',
@@ -804,43 +1067,100 @@
type: 'bar',
stack: 'total',
barWidth: '60%',
- label: {
- show: true,
- formatter: (params) => Math.round(params.value * 1000) / 10 + '%'
- },
data: rawData[sid].map((d, did) =>
totalData[did] <= 0 ? 0 : d / totalData[did]
)
};
});
+ let seriesArr = this.categaryList.map(item => {
+ return {
+ name: item.cateName,
+ type: 'bar',
+ stack: 'total',
+ barWidth: '60%',
+ data: item.ywDeviceCateDataVOList.map((child) =>
+ child.deviceAmount
+ )
+ }
+ })
+ let xAxisData = this.categaryList.map(item => item.cateName)
+ console.log(series)
+ console.log(seriesArr)
+ console.log(xAxisData)
option = {
- legend: {
- selectedMode: false
+ title: {
+ text: '璁惧鏁伴噺鍒嗙被缁熻'
},
- grid,
+ grid: {
+ left: 50,
+ right: 50,
+ top: 50,
+ bottom: 50
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
yAxis: {
type: 'value'
},
xAxis: {
type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
+ data: xAxisData
},
- series
+ series: seriesArr
};
option && myChart.setOption(option);
},
handleCurrentChange(page) {
this.page = page
+ if (['first', 'louyu', 'houseinfo'].includes(this.activeName)) {
+ this.getFetchList()
+ } else if (this.activeName === 'second') {
+ this.getWorkOrderList()
+ } else if (tab.name === 'third') {
+ this.getDevicePage()
+ }
},
handleSizeChange(pageTotal) {
this.pageTotal = pageTotal
+ if (['first', 'louyu', 'houseinfo'].includes(this.activeName)) {
+ this.getFetchList()
+ } else if (this.activeName === 'second') {
+ this.getWorkOrderList()
+ } else if (tab.name === 'third') {
+ this.getDevicePage()
+ }
},
- handleNodeClick(data) {
- console.log(data);
- },
- handleClick(tab, event) {
- console.log(tab, event);
+ handleClick(tab) {
+ this.page = 1
+ this.pageSize = 10
+ this.activeName = tab.name
+ this.tableData = []
+ if (tab.name === 'first') {
+ this.getFetchList()
+ } else if (tab.name === 'second') {
+ this.getDataVOs()
+ this.getCate()
+ this.getWorkOrderList()
+ } else if (tab.name === 'third') {
+ this.getDevicePage()
+ this.getDevice()
+ this.getDeviceCateDatas()
+ } else if (tab.name === 'louyu') {
+ this.getGK()
+ this.getFetchList()
+ this.getDetailById()
+ } else if (tab.name === 'house') {
+ this.getRoomStatusLists()
+ } else if (tab.name === 'houseinfo') {
+ this.roomDetailByIds()
+ } else if (tab.name === 'project') {
+ this.getFetchList()
+ }
}
}
}
@@ -866,6 +1186,10 @@
display: flex;
flex-direction: column;
background: #ffffff;
+ ::v-deep .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
+ background-color: #f0f7ff;
+ color: rgb(65, 107, 255)
+ }
}
.right {
flex: 1;
@@ -875,10 +1199,12 @@
width: 100%;
padding: 20px;
box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ background: #ffffff;
font-size: 16px;
font-weight: bold;
color: black;
- background: #ffffff;
}
.right_cate {
width: 100%;
@@ -893,7 +1219,6 @@
width: 100%;
display: flex;
flex-direction: column;
- align-items: self-end;
.xm_house_list {
width: 100%;
display: flex;
@@ -903,12 +1228,12 @@
flex-shrink: 0;
width: 100px;
display: flex;
- margin-right: 20px;
+ margin-right: 15px;
flex-direction: column;
.xm_house_list_left_row {
width: 100px;
height: 100px;
- background: rgba(242, 242, 242, 1);
+ background: #F4F7FC;
padding: 20px 0;
box-sizing: border-box;
margin-bottom: 20px;
@@ -921,56 +1246,66 @@
}
span {
&:nth-child(1) {
+ font-weight: 500;
font-size: 18px;
- color: #333333;
- font-weight: 400;
+ color: #000000;
}
&:nth-child(2) {
- font-size: 12px;
- color: #929292;
+ font-weight: 400;
+ font-size: 14px;
+ color: #999999;
+ margin-top: 10px;
}
}
}
}
.xm_house_list_right {
- width: calc(100% - 130px);
display: flex;
- flex-direction: column;
- .item {
- width: calc(100% - 130px);
+ align-items: center;
+ .xm_house_list_right_row {
+ height: 100px;
+ padding: 12px 15px;
+ box-sizing: border-box;
display: flex;
- align-items: center;
- margin-bottom: 20px;
+ flex-direction: column;
+ justify-content: space-between;
+ margin-right: 10px;
&:last-child {
- margin-bottom: 0;
+ margin: 0 !important;
}
- .xm_house_list_right_row {
- height: 100px;
- width: 300px;
- background: rgba(198, 224, 167, 0.34509803921568627);
- padding: 10px 0;
- box-sizing: border-box;
+ .ft {
display: flex;
align-items: center;
- flex-direction: column;
- justify-content: space-between;
span {
- font-size: 14px;
- color: #000000;
+ &:nth-child(1) {
+ font-weight: 500;
+ font-size: 18px;
+ color: #000000;
+ }
+ &:nth-child(2) {
+ font-weight: 400;
+ font-size: 14px;
+ color: #999999;
+ }
}
- .xm_house_list_right_row_info {
- display: flex;
- flex-direction: column;
- span {
- &:nth-child(1) {
- color: #000000;
- font-size: 14px;
- }
- &:nth-child(2) {
- color: #A5A5A5;
- font-size: 12px;
- margin-top: 3px;
- }
+ }
+ .xm_house_list_right_row_day {
+ font-weight: 400;
+ font-size: 13px;
+ color: #999999;
+ }
+ .xm_house_list_right_row_info {
+ display: flex;
+ flex-direction: column;
+ span {
+ &:nth-child(1) {
+ color: #000000;
+ font-size: 14px;
+ }
+ &:nth-child(2) {
+ color: #A5A5A5;
+ font-size: 12px;
+ margin-top: 3px;
}
}
}
@@ -981,18 +1316,20 @@
display: flex;
align-items: center;
.xm_house_tips_row {
- margin-left: 30px;
display: flex;
align-items: center;
+ margin-right: 30px;
.xm_house_tips_row_d {
- width: 10px;
- height: 10px;
+ width: 20px;
+ height: 20px;
background: orange;
- margin-right: 5px;
+ margin-right: 8px;
+ border-radius: 2px;
}
span {
- font-size: 16px;
- color: black;
+ font-weight: 400;
+ font-size: 13px;
+ color: #333333;
}
}
}
--
Gitblit v1.9.3