|
@@ -72,12 +72,16 @@
|
|
|
<view class="pie">
|
|
|
<view id="body1pie1" class="body1pie">
|
|
|
|
|
|
+ </view>
|
|
|
+ <view class="body2pie">
|
|
|
+ <view class="v1">{{datafloorStatus.totalNum}}</view>
|
|
|
+ <view class="v2">地锁:套</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="item-list">
|
|
|
<view class="item-status">
|
|
|
<view class="num">
|
|
|
- 160
|
|
|
+ {{datafloorStatus.normalNum}}
|
|
|
</view>
|
|
|
<view class="statusN">
|
|
|
<view class="statusC status1">
|
|
@@ -90,7 +94,7 @@
|
|
|
</view>
|
|
|
<view class="item-status">
|
|
|
<view class="num">
|
|
|
- 160
|
|
|
+ {{datafloorStatus.errorNum}}
|
|
|
</view>
|
|
|
<view class="statusN">
|
|
|
<view class="statusC status2">
|
|
@@ -104,7 +108,7 @@
|
|
|
</view>
|
|
|
<view class="item-status">
|
|
|
<view class="num">
|
|
|
- 160
|
|
|
+ {{datafloorStatus.loseNum}}
|
|
|
</view>
|
|
|
<view class="statusN">
|
|
|
<view class="statusC status3">
|
|
@@ -116,9 +120,9 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="item-status">
|
|
|
+ <view class="item-status" >
|
|
|
<view class="num">
|
|
|
- 160
|
|
|
+ 0
|
|
|
</view>
|
|
|
<view class="statusN">
|
|
|
<view class="statusC status4">
|
|
@@ -144,95 +148,50 @@
|
|
|
查看详情
|
|
|
<u-icon name="arrow-right" size="24" color="#BBBBBB"></u-icon>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="list">
|
|
|
- <view class="item">
|
|
|
- <view class="icon">
|
|
|
- <image class="img" src="@/assets/img/taskstatus/status1.png" mode=""></image>
|
|
|
- </view>
|
|
|
- <view class="body">
|
|
|
- <view class="line1">
|
|
|
- <view class="title">
|
|
|
- 杆位异常
|
|
|
-
|
|
|
- </view>
|
|
|
- <view class="status status1">
|
|
|
- 未认领
|
|
|
-
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="line2">
|
|
|
- <view class="value">
|
|
|
- 2025-02-14 09:00:01
|
|
|
-
|
|
|
- </view>
|
|
|
- <view class="value">
|
|
|
- 荆鹏软件园
|
|
|
-
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- </view>
|
|
|
- <u-icon name="arrow-right" size="24" color="#BBBBBB"></u-icon>
|
|
|
- </view>
|
|
|
- <view class="item">
|
|
|
- <view class="icon">
|
|
|
- <image class="img" src="@/assets/img/taskstatus/status2.png" mode=""></image>
|
|
|
- </view>
|
|
|
- <view class="body">
|
|
|
- <view class="line1">
|
|
|
- <view class="title">
|
|
|
- 杆位异常
|
|
|
-
|
|
|
- </view>
|
|
|
- <view class="status status2">
|
|
|
- 已认领
|
|
|
-
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="line2">
|
|
|
- <view class="value">
|
|
|
- 2025-02-14 09:00:01
|
|
|
-
|
|
|
- </view>
|
|
|
- <view class="value">
|
|
|
- 荆鹏软件园
|
|
|
-
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- </view>
|
|
|
- <u-icon name="arrow-right" size="24" color="#BBBBBB"></u-icon>
|
|
|
- </view>
|
|
|
- <view class="item">
|
|
|
- <view class="icon">
|
|
|
- <image class="img" src="@/assets/img/taskstatus/status3.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="list" >
|
|
|
+ <view class="item"
|
|
|
+ v-for="(item,index) in dataerrList"
|
|
|
+ @click="gotoUrl('/pages/task/maintenanceTaks?id='+item.id)"
|
|
|
+ :key="index">
|
|
|
+ <view class="icon">
|
|
|
+
|
|
|
+ <image class="img" v-if="item.errorCodeImage" :src="item.errorCodeImage" mode=""></image>
|
|
|
+
|
|
|
+ <image class="img" v-else src="@/assets/img/taskstatus/status3.png" mode=""></image>
|
|
|
</view>
|
|
|
<view class="body">
|
|
|
<view class="line1">
|
|
|
<view class="title">
|
|
|
- 杆位异常
|
|
|
+ {{item.errorCodeText}}
|
|
|
|
|
|
</view>
|
|
|
- <view class="status status3">
|
|
|
- 已处理
|
|
|
+ <view class="status " :class="'status'+item.status">
|
|
|
+ {{item.statusN}}
|
|
|
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
<view class="line2">
|
|
|
<view class="value">
|
|
|
- 2025-02-14 09:00:01
|
|
|
+ {{item.createTime}}
|
|
|
|
|
|
</view>
|
|
|
<view class="value">
|
|
|
- 荆鹏软件园
|
|
|
+ {{item.parkingName}}
|
|
|
|
|
|
</view>
|
|
|
+ </view>
|
|
|
+ <view class="errorDesc" v-if="item.errorDesc">
|
|
|
+ 描述:{{item.errorDesc}}
|
|
|
+
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
<u-icon name="arrow-right" size="24" color="#BBBBBB"></u-icon>
|
|
|
</view>
|
|
|
+
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
@@ -247,8 +206,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import * as API from '@/apis/pagejs/index.js'
|
|
|
-
|
|
|
+ import * as API from '@/apis/pagejs/pagejsIndex.js'
|
|
|
+
|
|
|
import * as echarts from 'echarts';
|
|
|
import Tabbar from '@/components/Tabbar.vue'
|
|
|
|
|
@@ -260,16 +219,75 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- echartsList: {},
|
|
|
+ echartsList: {},
|
|
|
+ isReadyfloorStatus:false,
|
|
|
+ datafloorStatus:{},
|
|
|
+
|
|
|
+ isReadyerrList:false,
|
|
|
+ dataerrList:[],
|
|
|
};
|
|
|
},
|
|
|
onLoad() {
|
|
|
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+
|
|
|
+ if(this.isReadyfloorStatus){
|
|
|
+ this.getfloorStatus()
|
|
|
+ }
|
|
|
+ if(this.isReadyerrList){
|
|
|
+ this.geterrList()
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
- onReady() {
|
|
|
- this.getbody1pie1()
|
|
|
+ onReady() {
|
|
|
+ this.geterrList()
|
|
|
+ this.getfloorStatus()
|
|
|
+ //this.getbody1pie1()
|
|
|
},
|
|
|
- methods: {
|
|
|
+ methods: {
|
|
|
+ geterrList(){
|
|
|
+
|
|
|
+ API.errList({
|
|
|
+ pageIndex:1,
|
|
|
+ pageIndex:5,
|
|
|
+ }).then((response) => {
|
|
|
+ this.dataerrList=response.data.data
|
|
|
+ this.isReadyerrList=true
|
|
|
+ }).catch(error => {
|
|
|
+ uni.showToast({
|
|
|
+ title: error,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getfloorStatus(){
|
|
|
+
|
|
|
+ API.floorStatus().then((response) => {
|
|
|
+ var obj=response.data;
|
|
|
+ var sz=['totalNum','normalNum','errorNum','loseNum']
|
|
|
+ var bl=false
|
|
|
+ for(var i in sz){
|
|
|
+ if(obj[sz[i]]!=this.datafloorStatus[sz[i]]){
|
|
|
+ bl=true
|
|
|
+ this.datafloorStatus=obj
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.isReadyfloorStatus=true
|
|
|
+ if(bl){
|
|
|
+ this.getbody1pie1()
|
|
|
+ }
|
|
|
+
|
|
|
+ }).catch(error => {
|
|
|
+ uni.showToast({
|
|
|
+ title: error,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
getbody1pie1() {
|
|
|
var key = "body1pie1"
|
|
|
var myChart = this.echartsList[key];
|
|
@@ -282,25 +300,31 @@
|
|
|
}
|
|
|
myChart.clear()
|
|
|
var option = {
|
|
|
-
|
|
|
+
|
|
|
series: [{
|
|
|
silent: true,
|
|
|
type: 'pie',
|
|
|
- radius: ['70%', '100%'],
|
|
|
+ radius: ['80%', '100%'],
|
|
|
label: {
|
|
|
show: false,
|
|
|
},
|
|
|
|
|
|
data: [{
|
|
|
- value: 99,
|
|
|
+ value: this.datafloorStatus.normalNum,
|
|
|
itemStyle: {
|
|
|
- color: '#AAAAAA'
|
|
|
+ color: 'rgba(0, 185, 98, 1)'
|
|
|
}
|
|
|
- },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: this.datafloorStatus.loseNum,
|
|
|
+ itemStyle: {
|
|
|
+ color: 'rgba(153, 153, 153, 1)'
|
|
|
+ }
|
|
|
+ },
|
|
|
{
|
|
|
- value: 88,
|
|
|
+ value: this.datafloorStatus.errorNum,
|
|
|
itemStyle: {
|
|
|
- color: '#53B56B'
|
|
|
+ color: 'rgba(255, 123, 0, 1)'
|
|
|
}
|
|
|
}
|
|
|
]
|
|
@@ -314,13 +338,18 @@
|
|
|
},
|
|
|
|
|
|
}
|
|
|
- myChart.setOption(option);
|
|
|
+ myChart.setOption(option);
|
|
|
+ console.log(option)
|
|
|
this.echartsList[key] = myChart;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
-
|
|
|
+<style>
|
|
|
+ page{
|
|
|
+ /* background-color: #FFFFFF; */
|
|
|
+ }
|
|
|
+</style>
|
|
|
<style lang="scss">
|
|
|
.back-blue {
|
|
|
height: 0px;
|
|
@@ -427,7 +456,23 @@
|
|
|
.main_statuspanel {
|
|
|
margin-top: 24rpx;
|
|
|
padding: 24rpx;
|
|
|
-
|
|
|
+ .body2pie{
|
|
|
+ position: relative;
|
|
|
+ top: -140rpx;
|
|
|
+ height: 0px;
|
|
|
+ left: 0px;
|
|
|
+ width: 176rpx;
|
|
|
+ text-align: center;
|
|
|
+ .v1{
|
|
|
+ color: rgba(16,16,16,1);
|
|
|
+ font-size: 48rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ .v2{
|
|
|
+ color: rgba(119,119,119,1);
|
|
|
+ font-size: 24rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
.body {
|
|
|
display: flex;
|
|
|
padding: 24rpx;
|
|
@@ -483,15 +528,55 @@
|
|
|
.main_list1 {
|
|
|
margin-top: 24rpx;
|
|
|
padding: 24rpx;
|
|
|
-
|
|
|
+
|
|
|
+ .list-body{
|
|
|
+ padding: 24rpx 0;
|
|
|
+ .item {
|
|
|
+ border-bottom: 1px solid rgba(232, 232, 232, 1);
|
|
|
+ }
|
|
|
+ .title {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ .name{
|
|
|
+ color: rgba(51,51,51,1);
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ .status{
|
|
|
+
|
|
|
+ }
|
|
|
+ .statusN1{
|
|
|
+
|
|
|
+ }
|
|
|
+ .statusN2{
|
|
|
+
|
|
|
+ }
|
|
|
+ .statusN3{
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .body{
|
|
|
+ display: flex;
|
|
|
+ color: rgba(51,51,51,1);
|
|
|
+ font-size: 28rpx;
|
|
|
+ .name{
|
|
|
+ width: 150rpx;
|
|
|
+ }
|
|
|
+ .value{
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
.list {
|
|
|
padding: 24rpx 0;
|
|
|
|
|
|
.item {
|
|
|
display: flex;
|
|
|
border-bottom: 1px solid rgba(232, 232, 232, 1);
|
|
|
- padding: 6rpx 0;
|
|
|
- margin: 6rpx 0;
|
|
|
+ padding: 12rpx 0;
|
|
|
+ margin: 12rpx 0;
|
|
|
|
|
|
.img {
|
|
|
width: 72rpx;
|
|
@@ -511,42 +596,58 @@
|
|
|
}
|
|
|
.line2 {
|
|
|
color: rgba(119,119,119,1);
|
|
|
- font-size: 24rpx;
|
|
|
+ font-size: 24rpx;
|
|
|
+ margin-top: 8rpx;
|
|
|
}
|
|
|
.line1 {
|
|
|
.title {
|
|
|
color: rgba(51, 51, 51, 1);
|
|
|
- font-size: 28rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: bold;
|
|
|
}
|
|
|
|
|
|
.status {
|
|
|
- border: 1px solid rgba(255, 61, 0, 1);
|
|
|
+ background-color: rgba(255, 61, 0, 1);
|
|
|
font-size: 24rpx;
|
|
|
-
|
|
|
+ color:#fff;
|
|
|
padding: 2rpx 8rpx;
|
|
|
- border-radius: 4px;
|
|
|
+ //border-radius: 4px;
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ .status0 {
|
|
|
+ background-color: rgba(255, 61, 0, 1);
|
|
|
+
|
|
|
+ }
|
|
|
.status1 {
|
|
|
- border: 1px solid #007aff;
|
|
|
- color: #007aff;
|
|
|
+ background-color: #007aff;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
.status2 {
|
|
|
- border: 1px solid #ff9900;
|
|
|
- color: #ff9900;
|
|
|
+ background-color: #ff9900;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
.status3 {
|
|
|
- border: 1px solid #19be6b;
|
|
|
- color: #19be6b;
|
|
|
+ background-color: #19be6b;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
.status4 {
|
|
|
border: 1px solid rgba(255, 61, 0, 1);
|
|
|
color: rgba(255, 61, 0, 1);
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ .errorDesc{
|
|
|
+ margin: 8rpx 0;
|
|
|
+ width: 480rpx;
|
|
|
+ color: #777777;
|
|
|
+ font-size: 24rpx;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap; /* 禁止换行,强制单行 */
|
|
|
}
|
|
|
}
|
|
|
}
|