From c5109dd484be07f6c49a3c4c4df7ae79b89f4fb0 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 06 六月 2025 19:18:57 +0800
Subject: [PATCH] 开发更新
---
admin/src/views/roomStatus/index.vue | 506 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 308 insertions(+), 198 deletions(-)
diff --git a/admin/src/views/roomStatus/index.vue b/admin/src/views/roomStatus/index.vue
index 33d9a28..0bdccb2 100644
--- a/admin/src/views/roomStatus/index.vue
+++ b/admin/src/views/roomStatus/index.vue
@@ -17,7 +17,8 @@
<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 ? '鏈紑鍚璧�' : ''}}
+ <img src="@/assets/icons/ic_key_green.png" style="width: 16px; height: 16px;" v-if="data.leaseStatus === 1" />
+<!-- <img src="@/assets/icons/ic_key_yellow.png" style="width: 16px; height: 16px;" v-else-if="data.leaseStatus === 2" />-->
</span>
</span>
</el-tree>
@@ -33,34 +34,30 @@
<el-tabs v-model="activeName" @tab-click="handleClick">
<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>{{projectNums.leaseContractAmount}}</span>
- <span>鍦ㄧ鎴挎簮鏁帮細{{projectNums.leaseRoomAmount}}</span>
- </div>
- <div class="xm_one_row">
- <span>鍙嫑鍟嗛潰绉�</span>
- <span>{{projectNums.investmentArea}}銕�</span>
- <span>鍙嫑鍟嗘埧婧愭暟锛歿{projectNums.investmentRoomAmount}}</span>
- </div>
- <div class="xm_one_row">
- <span>鍦ㄧ瀹炴椂鍧囦环</span>
- <span>{{projectNums.leasePrice}}鍏�/m虏路澶�</span>
- <span>鍦ㄧ闈㈢Н锛歿{projectNums.leaseArea}}m虏</span>
- </div>
- <div class="xm_one_row">
- <span>鍑虹鐜�</span>
- <span>{{rentalRate()}}%</span>
- <span>寰呯闈㈢Н锛歿{projectNums.investmentArea - projectNums.leaseArea}}m虏</span>
- </div>
+ <div class="xm_one">
+ <div class="xm_one_row">
+ <span>鍦ㄧ鍚堝悓鏁�</span>
+ <span>{{projectNums.leaseContractAmount}}</span>
+ <span>鍦ㄧ鎴挎簮鏁帮細{{projectNums.leaseRoomAmount}}</span>
</div>
- </el-card>
- <el-card style="margin-top: 20px;">
- <div slot="header" class="clearfix">
- <span>椤圭洰淇℃伅</span>
+ <div class="xm_one_row">
+ <span>鍙嫑鍟嗛潰绉�</span>
+ <span>{{projectNums.investmentArea}}銕�</span>
+ <span>鍙嫑鍟嗘埧婧愭暟锛歿{projectNums.investmentRoomAmount}}</span>
</div>
+ <div class="xm_one_row">
+ <span>鍦ㄧ瀹炴椂鍧囦环</span>
+ <span>{{projectNums.leasePrice}}鍏�/m虏路澶�</span>
+ <span>鍦ㄧ闈㈢Н锛歿{projectNums.leaseArea}}m虏</span>
+ </div>
+ <div class="xm_one_row">
+ <span>鍑虹鐜�</span>
+ <span>{{rentalRate()}}%</span>
+ <span>寰呯闈㈢Н锛歿{projectNums.investmentArea - projectNums.leaseArea}}m虏</span>
+ </div>
+ </div>
+ <div style="margin-top: 20px;">
+ <div style="font-size: 16px; color: #000000; font-weight: 500; margin-bottom: 20px;">椤圭洰淇℃伅</div>
<div class="xm_info">
<div class="xm_info_row" style="width: 25%;">
<span>椤圭洰鍚嶇О</span>
@@ -79,15 +76,13 @@
<span>{{projectInfo.remark}}</span>
</div>
</div>
- </el-card>
- <el-card style="margin-top: 20px;">
- <div slot="header" class="clearfix">
- <span>褰撳墠鍦ㄧ鍚堝悓</span>
- </div>
+ </div>
+ <div style="margin-top: 20px;">
+ <div style="font-size: 16px; color: #000000; font-weight: 500; margin-bottom: 20px;">褰撳墠鍦ㄧ鍚堝悓</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 type="primary" @click="getFetchList(1)">鎼滅储</el-button>
<el-button @click="clear">閲嶇疆</el-button>
</div>
<el-table
@@ -98,7 +93,7 @@
<el-table-column
label="鍚堝悓缂栧彿">
<template slot-scope="{row}">
- <el-button type="text">{{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
@@ -146,7 +141,7 @@
</el-pagination>
</div>
</div>
- </el-card>
+ </div>
</div>
</el-tab-pane>
<el-tab-pane label="鎴挎簮淇℃伅" name="houseinfo" v-if="[3].includes(lv)">
@@ -199,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(1)">鎼滅储</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">{{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)">
@@ -287,23 +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: 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>
+ <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>
+ <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_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>
+ </template>
+
</div>
</div>
</div>
@@ -389,7 +391,7 @@
<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 type="primary" @click="getFetchList(1)">鎼滅储</el-button>
<el-button @click="clear">閲嶇疆</el-button>
</div>
<el-table
@@ -555,23 +557,27 @@
<div class="xm">
<div class="xm_chat">
<el-card class="xm_chat_row">
- <div id="chat1"></div>
+ <div class="xm_chat_row_info">
+ <span>鎬昏</span>
+ <span>{{amount}}</span>
+ </div>
+ <div id="chat1" v-if="activeName === 'third'"></div>
</el-card>
<el-card class="xm_chat_row">
- <div id="chat2"></div>
+ <div id="chat2" v-if="activeName === 'third'"></div>
</el-card>
</div>
<el-card style="margin-top: 20px;">
<div class="xm_table">
<div class="xm_table_search">
<div class="xm_table_search_left">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�/缂栫爜" style="width: 150px; margin-right: 15px;"></el-input>
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�/缂栫爜" style="width: 200px; 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" @click="getDevicePage">鏌ヨ</el-button>
+ <el-button type="primary" @click="getDevicePage(1)">鏌ヨ</el-button>
<el-button @click="clear">娓呯┖</el-button>
</div>
<el-button type="primary" @click="handleEdit">鏂板</el-button>
@@ -584,7 +590,7 @@
<el-table-column
label="璁惧缂栫爜">
<template slot-scope="{row}">
- <el-button type="text">{{row.code}}</el-button>
+ <el-button type="text" @click="handledeviveDetail(row.id)">{{row.code}}</el-button>
</template>
</el-table-column>
<el-table-column
@@ -643,6 +649,8 @@
<Edit v-if="showEdit1" ref="EditRef" @success="getDevicePage" @close="showEdit1 = false" />
<!-- 鍚堝悓璇︽儏 -->
<ContractDetail ref="ContractDetailRef" />
+ <!-- 璁惧璇︽儏 -->
+ <deviceDetail ref="deviceDetail" />
</div>
</template>
@@ -659,9 +667,10 @@
import { fetchList as devicePage, getDeviceCateData, getDeviceStatus } from '@/api/Inspection/device'
import Edit from '../operation/components/deviceEdit'
import ContractDetail from '../contract/components/contractDetail'
+ import deviceDetail from '../operation/components/deviceDetail'
export default {
name: 'index',
- components: { OperaYwWorkorderWindow, Detail, Edit, ContractDetail },
+ components: { OperaYwWorkorderWindow, Detail, Edit, ContractDetail, deviceDetail },
data() {
return {
showDetail: false,
@@ -702,7 +711,10 @@
roomInfo: {},
loading: false,
lv: 0,
- leaseStatus: ''
+ leaseStatus: '',
+ amount: 0,
+ project: '',
+ widthNum: ''
}
},
created () {
@@ -714,6 +726,11 @@
}
},
methods: {
+ handledeviveDetail(id) {
+ this.$refs.deviceDetail.visible = true
+ this.$refs.deviceDetail.id = id
+ this.$refs.deviceDetail.getDetail()
+ },
nodeClick(e) {
this.tableData = []
this.pageSize = 10
@@ -728,6 +745,7 @@
if (e.lv === 0) {
this.activeName = 'first'
this.form.project = e.id
+ this.project = e.id
this.getProjectByIds()
} else if (e.lv === 1) {
this.activeName = 'house'
@@ -743,6 +761,21 @@
this.leaseStatus = e.leaseStatus
this.roomDetailByIds()
}
+ },
+ returnColor(date) {
+ let date1 = Number(date.replace(/-/g, ''))
+ let date2 = Number(this.getDay().replace(/-/g, ''))
+ return date2 > date1
+ },
+ getDay() {
+ const now = new Date();
+ const year = now.getFullYear();
+ let month = now.getMonth() + 1; // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ヨ鍔�1
+ let day = now.getDate();
+ const padZero = (num) => num < 10 ? '0' + num : num;
+ month = padZero(month);
+ day = padZero(day);
+ return `${year}-${month}-${day}`;
},
// 鎼滅储鏍�
filterNode(value, data) {
@@ -800,7 +833,52 @@
buildingId: this.form.buildingId,
floor: this.form.floorId
}).then(res => {
+ // 鏁扮粍鍒嗗壊
+ res.forEach(item => {
+ 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
+ console.log(this.roomStatus)
})
},
// 鑾峰彇璁惧鐘舵��
@@ -815,9 +893,10 @@
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
this.reand()
})
})
@@ -836,14 +915,19 @@
})
})
},
- handleEdit(row) {
+ handleEdit() {
this.showEdit1 = true
this.$nextTick(() => {
+ this.$refs.EditRef.param.projectId = this.project
this.$refs.EditRef.isShowModal = true
+ this.$refs.EditRef.changeProject()
})
},
// 鑾峰彇璁惧鍒嗛〉
- getDevicePage() {
+ getDevicePage(type) {
+ if (type === 1) {
+ this.page = 1
+ }
this.loading = true
devicePage({
capacity: this.pageTotal,
@@ -950,6 +1034,7 @@
})
},
clear() {
+ this.page = 1
this.form.code = ''
this.form.name = ''
this.form.status = ''
@@ -965,7 +1050,10 @@
}
},
// 鑾峰彇褰撳墠鍦ㄧ鍚堝悓
- getFetchList() {
+ getFetchList(type) {
+ if (type === 1) {
+ this.page = 1
+ }
this.loading = true
fetchList({
capacity: this.pageSize,
@@ -975,7 +1063,8 @@
buildingId: this.form.buildingId,
floorId: this.form.floorId,
roomId: this.form.roomId,
- code: this.form.code
+ code: this.form.code,
+ statusList: this.lv !== 3 ? [0,1,2,3] : null
}
}).then(res => {
this.tableData = res.records
@@ -989,6 +1078,7 @@
.then(res => {
this.addParamToArray(res)
this.form.project = res[0].id
+ this.project = res[0].id
this.title = res[0].name
this.houseList = res
this.getProjectByIds()
@@ -1023,13 +1113,7 @@
{
name: '璁惧鐘舵��',
type: 'pie',
- radius: ['40%', '80%'],
- label: {
- show: true,
- position: 'center',
- fontWeight: 'bold',
- fontSize: 22
- },
+ radius: ['50%', '80%'],
data: this.deviceList
}
]
@@ -1040,53 +1124,25 @@
var chartDom = document.getElementById('chat2');
var myChart = echarts.init(chartDom);
var option;
- const rawData = [
- [100, 302, 301, 334, 390, 330, 320],
- [320, 132, 101, 134, 90, 230, 210],
- [220, 182, 191, 234, 290, 330, 310],
- [150, 212, 201, 154, 190, 330, 410],
- [820, 832, 901, 934, 1290, 1330, 1320]
- ];
- const totalData = [];
- for (let i = 0; i < rawData[0].length; ++i) {
- let sum = 0;
- for (let j = 0; j < rawData.length; ++j) {
- sum += rawData[j][i];
- }
- totalData.push(sum);
- }
- const series = [
- 'Direct',
- 'Mail Ad',
- 'Affiliate Ad',
- 'Video Ad',
- 'Search Engine'
- ].map((name, sid) => {
- return {
- name,
- type: 'bar',
- stack: 'total',
- barWidth: '60%',
- 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 seriesArr = []
+ this.categaryList.forEach((one, index) => {
+ one.ywDeviceCateDataVOList.forEach(two => {
+ let data = []
+ this.categaryList.forEach(item => {
+ data.push(0)
+ })
+ data[index] = two.deviceAmount
+ seriesArr.push({
+ name: two.cateName,
+ type: 'bar',
+ barGap:-1,
+ stack: one.cateName,
+ data
+ })
+ })
})
let xAxisData = this.categaryList.map(item => item.cateName)
- console.log(series)
console.log(seriesArr)
- console.log(xAxisData)
option = {
title: {
text: '璁惧鏁伴噺鍒嗙被缁熻'
@@ -1101,15 +1157,30 @@
trigger: 'axis',
axisPointer: {
type: 'shadow'
+ },
+ formatter: params => {
+ var res = `${params[0].name} <br/>`
+ for (const item of params) {
+ if (item.value !== 0) {
+ res += `<span style="background: ${item.color}; height:10px; width: 10px; border-radius: 50%;display: inline-block;margin-right:10px;"></span> ${item.seriesName} 锛�${item.value}<br/>`
+ }
+ }
+ return res
}
},
- yAxis: {
- type: 'value'
- },
- xAxis: {
- type: 'category',
- data: xAxisData
- },
+ xAxis: [
+ {
+ type: 'category',
+ position: 'bottom',
+ data: xAxisData
+ }
+ ],
+ yAxis: [
+ {
+ type: 'value',
+ data: Array.from({ length: 100 }, (_, i) => i + 1)
+ }
+ ],
series: seriesArr
};
@@ -1121,7 +1192,7 @@
this.getFetchList()
} else if (this.activeName === 'second') {
this.getWorkOrderList()
- } else if (tab.name === 'third') {
+ } else if (this.activeName === 'third') {
this.getDevicePage()
}
},
@@ -1222,17 +1293,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;
@@ -1240,7 +1311,7 @@
display: flex;
align-items: center;
flex-direction: column;
- justify-content: space-between;
+ justify-content: center;
&:last-child {
margin-bottom: 0;
}
@@ -1260,8 +1331,11 @@
}
}
.xm_house_list_right {
+ width: 950px;
display: flex;
align-items: center;
+ justify-content: space-between;
+ flex-wrap: wrap;
.xm_house_list_right_row {
height: 100px;
padding: 12px 15px;
@@ -1269,10 +1343,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;
@@ -1315,6 +1386,7 @@
.xm_house_tips {
display: flex;
align-items: center;
+ margin-bottom: 10px;
.xm_house_tips_row {
display: flex;
align-items: center;
@@ -1342,6 +1414,28 @@
.xm_chat_row {
width: 49%;
height: 300px;
+ position: relative;
+ .xm_chat_row_info {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ span {
+ &:nth-child(1) {
+ font-size: 20px;
+ color: #222222;
+ }
+ &:nth-child(2) {
+ font-size: 28px;
+ color: #222222;
+ font-weight: bold;
+ }
+ }
+ }
#chat1 {
width: 100%;
height: 260px;
@@ -1359,17 +1453,30 @@
justify-content: space-between;
.xm_one_row {
flex: 1;
+ margin-right: 20px;
display: flex;
flex-direction: column;
+ justify-content: space-between;
+ height: 120px;
+ background: #F4F7FC;
+ border-radius: 8px;
+ padding: 15px 20px;
+ box-sizing: border-box;
+ &:last-child {
+ margin: 0;
+ }
span {
font-size: 16px;
color: black;
&:nth-child(2) {
- font-weight: bold;
- margin: 15px 0;
+ font-weight: 600;
+ font-size: 24px;
+ color: #3E80EF;
}
&:nth-child(3) {
- color: #666666;
+ font-weight: 400;
+ font-size: 14px;
+ color: #888888;
}
}
}
@@ -1419,13 +1526,16 @@
display: flex;
flex-direction: column;
span {
- font-size: 16px;
&:nth-child(1) {
- color: #666666;
+ font-weight: 400;
+ font-size: 13px;
+ color: #888888;
}
&:nth-child(2) {
- color: #000000;
- margin-top: 15px;
+ font-weight: 400;
+ font-size: 14px;
+ color: #222222;
+ margin-top: 7px;
}
}
}
--
Gitblit v1.9.3