|
@@ -73,17 +73,17 @@
|
|
|
<div class="check_info">
|
|
|
<div class="info_list">
|
|
|
<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh"> -->
|
|
|
- <van-list
|
|
|
- v-model:loading="loading"
|
|
|
- :finished="finished"
|
|
|
- :error="error"
|
|
|
- error-text="请求失败,点击重新加载"
|
|
|
- finished-text="没有更多了"
|
|
|
- @load="onLoad"
|
|
|
- >
|
|
|
- <div v-for="(item, index) in list" :key="item.id" class="list_item">
|
|
|
- <template v-if="deviceType == 'AirConditioner'">
|
|
|
- <!-- <div
|
|
|
+ <van-list
|
|
|
+ v-model:loading="loading"
|
|
|
+ :finished="finished"
|
|
|
+ :error="error"
|
|
|
+ error-text="请求失败,点击重新加载"
|
|
|
+ finished-text="没有更多了"
|
|
|
+ @load="onLoad"
|
|
|
+ >
|
|
|
+ <div v-for="(item, index) in list" :key="item.id" class="list_item">
|
|
|
+ <template v-if="deviceType == 'AirConditioner'">
|
|
|
+ <!-- <div
|
|
|
v-if="item.attributeList[2]"
|
|
|
class="reduce_type"
|
|
|
:style="{
|
|
@@ -98,83 +98,83 @@
|
|
|
}`
|
|
|
}}</span>
|
|
|
</div> -->
|
|
|
- <template v-if="item.attributeList">
|
|
|
- <van-switch
|
|
|
- v-model="item.attributeList[3].value"
|
|
|
- :active-value="1"
|
|
|
- :inactive-value="0"
|
|
|
- class="isSwitch"
|
|
|
- inactive-color="#dddddd"
|
|
|
- @change="
|
|
|
- changeSwitch(
|
|
|
- item.attributeList[3].value,
|
|
|
- index,
|
|
|
- item.deviceId
|
|
|
- )
|
|
|
- "
|
|
|
- />
|
|
|
- </template>
|
|
|
- <span class="header">{{ item.airConditionerName }}</span>
|
|
|
- <span
|
|
|
- >空间信息:{{ item.installSite }}{{ item.roomNumbers }}</span
|
|
|
- >
|
|
|
- <!-- <span>设备编号:{{ item.airConditionerNo }}</span> -->
|
|
|
- <span v-if="item.attributeList"
|
|
|
- >室温:{{ item.attributeList[4].value }}</span
|
|
|
- >
|
|
|
- <!-- <span>所属租户:{{ item.rentNum }}</span> -->
|
|
|
- <!-- <div class="list_btn" v-if="item.attributeList">
|
|
|
+ <template v-if="item.attributeList">
|
|
|
+ <van-switch
|
|
|
+ v-model="item.attributeList[3].value"
|
|
|
+ :active-value="1"
|
|
|
+ :inactive-value="0"
|
|
|
+ class="isSwitch"
|
|
|
+ inactive-color="#dddddd"
|
|
|
+ @change="
|
|
|
+ changeSwitch(
|
|
|
+ item.attributeList[3].value,
|
|
|
+ index,
|
|
|
+ item.deviceId
|
|
|
+ )
|
|
|
+ "
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <span class="header">{{ item.airConditionerName }}</span>
|
|
|
+ <span
|
|
|
+ >空间信息:{{ item.installSite }}{{ item.roomNumbers }}</span
|
|
|
+ >
|
|
|
+ <!-- <span>设备编号:{{ item.airConditionerNo }}</span> -->
|
|
|
+ <span v-if="item.attributeList"
|
|
|
+ >室温:{{ item.attributeList[4].value }}</span
|
|
|
+ >
|
|
|
+ <!-- <span>所属租户:{{ item.rentNum }}</span> -->
|
|
|
+ <!-- <div class="list_btn" v-if="item.attributeList">
|
|
|
<van-button plain type="primary" size="small">{{
|
|
|
item.attributeList[3].value == 1 ? "开启" : "关闭"
|
|
|
}}</van-button>
|
|
|
</div> -->
|
|
|
- <van-row class="operation" v-if="item.attributeList">
|
|
|
- <van-col
|
|
|
- span="8"
|
|
|
- @click="
|
|
|
- chooseMs(
|
|
|
- 'moshitxt',
|
|
|
- item.attributeList[2].value,
|
|
|
- index,
|
|
|
- item.deviceId
|
|
|
- )
|
|
|
- "
|
|
|
- >{{ ms(item.attributeList[2].value)
|
|
|
- }}<van-icon name="arrow-down" class="xl"
|
|
|
- /></van-col>
|
|
|
- <div class="line" style="left: 32%"></div>
|
|
|
- <van-col
|
|
|
- span="8"
|
|
|
- @click="
|
|
|
- chooseMs(
|
|
|
- 'wendu',
|
|
|
- item.attributeList[5].value,
|
|
|
- index,
|
|
|
- item.deviceId
|
|
|
- )
|
|
|
- "
|
|
|
- >{{ item.attributeList[5].value }}℃<van-icon
|
|
|
- name="arrow-down"
|
|
|
- class="xl"
|
|
|
- /></van-col>
|
|
|
- <div class="line" style="left: 65%"></div>
|
|
|
- <van-col
|
|
|
- span="8"
|
|
|
- @click="
|
|
|
- chooseMs(
|
|
|
- 'fengs',
|
|
|
- item.attributeList[0].value,
|
|
|
- index,
|
|
|
- item.deviceId
|
|
|
- )
|
|
|
- "
|
|
|
- >{{ fs(item.attributeList[0].value)
|
|
|
- }}<van-icon name="arrow-down" class="xl"
|
|
|
- /></van-col>
|
|
|
- </van-row>
|
|
|
- </template>
|
|
|
- <template v-if="deviceType == 'Ammeter'">
|
|
|
- <!-- <div
|
|
|
+ <van-row class="operation" v-if="item.attributeList">
|
|
|
+ <van-col
|
|
|
+ span="8"
|
|
|
+ @click="
|
|
|
+ chooseMs(
|
|
|
+ 'moshitxt',
|
|
|
+ item.attributeList[2].value,
|
|
|
+ index,
|
|
|
+ item.deviceId
|
|
|
+ )
|
|
|
+ "
|
|
|
+ >{{ ms(item.attributeList[2].value)
|
|
|
+ }}<van-icon name="arrow-down" class="xl"
|
|
|
+ /></van-col>
|
|
|
+ <div class="line" style="left: 32%"></div>
|
|
|
+ <van-col
|
|
|
+ span="8"
|
|
|
+ @click="
|
|
|
+ chooseMs(
|
|
|
+ 'wendu',
|
|
|
+ item.attributeList[5].value,
|
|
|
+ index,
|
|
|
+ item.deviceId
|
|
|
+ )
|
|
|
+ "
|
|
|
+ >{{ item.attributeList[5].value }}℃<van-icon
|
|
|
+ name="arrow-down"
|
|
|
+ class="xl"
|
|
|
+ /></van-col>
|
|
|
+ <div class="line" style="left: 65%"></div>
|
|
|
+ <van-col
|
|
|
+ span="8"
|
|
|
+ @click="
|
|
|
+ chooseMs(
|
|
|
+ 'fengs',
|
|
|
+ item.attributeList[0].value,
|
|
|
+ index,
|
|
|
+ item.deviceId
|
|
|
+ )
|
|
|
+ "
|
|
|
+ >{{ fs(item.attributeList[0].value)
|
|
|
+ }}<van-icon name="arrow-down" class="xl"
|
|
|
+ /></van-col>
|
|
|
+ </van-row>
|
|
|
+ </template>
|
|
|
+ <template v-if="deviceType == 'Ammeter'">
|
|
|
+ <!-- <div
|
|
|
v-if="item.attributeList"
|
|
|
class="reduce_type"
|
|
|
:style="{
|
|
@@ -187,22 +187,22 @@
|
|
|
`${deviceStatus_filter(item.status)["label"]}`
|
|
|
}}</span>
|
|
|
</div> -->
|
|
|
- <span class="header">{{ item.controlName }}</span>
|
|
|
- <span>空间信息:{{ item.installSite }}</span>
|
|
|
- <!-- <span>设备编号:{{ item.deviceId }}</span>
|
|
|
+ <span class="header">{{ item.controlName }}</span>
|
|
|
+ <span>空间信息:{{ item.installSite }}</span>
|
|
|
+ <!-- <span>设备编号:{{ item.deviceId }}</span>
|
|
|
<span>实时读数:{{ item.status }}</span> -->
|
|
|
- <!-- <span>所属租户:{{ item.rentNum }}</span> -->
|
|
|
- <van-switch
|
|
|
- v-model="item.status"
|
|
|
- active-value="1"
|
|
|
- inactive-value="0"
|
|
|
- class="isSwitch"
|
|
|
- inactive-color="#dddddd"
|
|
|
- @change="changeElecSwitch(item.status, item.deviceId)"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </van-list>
|
|
|
+ <!-- <span>所属租户:{{ item.rentNum }}</span> -->
|
|
|
+ <van-switch
|
|
|
+ v-model="item.status"
|
|
|
+ active-value="1"
|
|
|
+ inactive-value="0"
|
|
|
+ class="isSwitch"
|
|
|
+ inactive-color="#dddddd"
|
|
|
+ @change="changeElecSwitch(item.status, item.deviceId)"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </van-list>
|
|
|
<!-- </van-pull-refresh> -->
|
|
|
</div>
|
|
|
</div>
|
|
@@ -231,7 +231,7 @@ import api from "../utils/api";
|
|
|
import { ref } from "vue";
|
|
|
import { isEmpty } from "@/utils/index.js";
|
|
|
import VCountUp from "./CountUp";
|
|
|
-import { Notify, Dialog, showConfirmDialog } from "vant";
|
|
|
+import { Notify, Dialog } from "vant";
|
|
|
export default {
|
|
|
components: {
|
|
|
"v-count-up": VCountUp,
|
|
@@ -270,10 +270,10 @@ export default {
|
|
|
value: "orgId",
|
|
|
children: "childrenList",
|
|
|
});
|
|
|
- const storeyId=ref('');
|
|
|
- const buildingId=ref('');
|
|
|
+ const storeyId = ref("");
|
|
|
+ const buildingId = ref("");
|
|
|
const positionList = ref([]); //定位
|
|
|
- const page=ref('1');
|
|
|
+ const page = ref("1");
|
|
|
|
|
|
function ms(data) {
|
|
|
let text = "";
|
|
@@ -336,7 +336,7 @@ export default {
|
|
|
{ text: "连接中", value: 1 },
|
|
|
{ text: "断连中", value: 0 },
|
|
|
],
|
|
|
- total:0,
|
|
|
+ total: 0,
|
|
|
list: [],
|
|
|
loading: false,
|
|
|
refreshing: false,
|
|
@@ -344,19 +344,19 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
watch: {
|
|
|
- positionList(newval, oldval) {
|
|
|
- if (newval) {
|
|
|
- let json = {
|
|
|
- category: "s",
|
|
|
- childrenList: null,
|
|
|
- orgId: "",
|
|
|
- orgName: "全部",
|
|
|
- };
|
|
|
- for (let i = 0; i < newval.length; i++) {
|
|
|
- newval[i].childrenList.push(json);
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
+ // positionList(newval, oldval) {
|
|
|
+ // if (newval) {
|
|
|
+ // let json = {
|
|
|
+ // category: "s",
|
|
|
+ // childrenList: null,
|
|
|
+ // orgId: "",
|
|
|
+ // orgName: "全部",
|
|
|
+ // };
|
|
|
+ // for (let i = 0; i < newval.length; i++) {
|
|
|
+ // newval[i].childrenList.push(json);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // },
|
|
|
},
|
|
|
created() {
|
|
|
this.getBuildList();
|
|
@@ -366,11 +366,11 @@ export default {
|
|
|
methods: {
|
|
|
//定位完成
|
|
|
confirmPosition(val) {
|
|
|
- this.buildingId=val[0].orgId;
|
|
|
- this.storeyId=val[1].orgId;
|
|
|
- let storeyName=val[1].orgName=='全部'?'':val[1].orgName+'-';
|
|
|
- this.name="电商园四期-"+val[0].orgName+storeyName;
|
|
|
- this.showRepairPositionPicker=false;
|
|
|
+ this.buildingId = val[0].orgId;
|
|
|
+ this.storeyId = val[1].orgId;
|
|
|
+ let storeyName = val[1].orgName == "全部" ? "" : val[1].orgName + "-";
|
|
|
+ this.name = "电商园四期-" + val[0].orgName + storeyName;
|
|
|
+ this.showRepairPositionPicker = false;
|
|
|
},
|
|
|
//继电器下发指令开关
|
|
|
changeElecSwitch(val, deviceId) {
|
|
@@ -479,48 +479,73 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
getElec() {
|
|
|
- console.log(this.page)
|
|
|
+ console.log(this.page);
|
|
|
api
|
|
|
.getElec({
|
|
|
- buildingId:this.buildingId,
|
|
|
- storeyId:this.storeyId,
|
|
|
- page:this.page,
|
|
|
+ buildingId: this.buildingId,
|
|
|
+ storeyId: this.storeyId,
|
|
|
+ page: this.page,
|
|
|
limit: 10,
|
|
|
status: this.deviceStatus,
|
|
|
controlCategory: "CommonLighting",
|
|
|
})
|
|
|
.then((res) => {
|
|
|
- console.log(res)
|
|
|
if (res.code == 0) {
|
|
|
- this.total = res.data.total;
|
|
|
- this.list=this.list.concat(res.data.list);
|
|
|
- this.loading = false;
|
|
|
- if( res.data.list.length<10){
|
|
|
- this.finished=true;
|
|
|
- }else{
|
|
|
- this.page++;
|
|
|
+ if (res.data) {
|
|
|
+ this.total = res.data.total;
|
|
|
+ if (res.data.list.length == 0) {
|
|
|
+ // 判断获取数据条数若等于0
|
|
|
+ this.list = []; // 清空数组
|
|
|
+ this.finished = true; // 停止加载
|
|
|
+ }
|
|
|
+ // 若数据条数不等于0
|
|
|
+ this.list.push(...res.data.list); // 将数据放入list中
|
|
|
+ this.loading = false; // 加载状态结束
|
|
|
+ if (res.data.list.length > 9) {
|
|
|
+ this.page++; // 分页数加一
|
|
|
+ }
|
|
|
+ // 如果list长度大于等于总数据条数,数据全部加载完成
|
|
|
+ if (this.list.length >= res.data.total) {
|
|
|
+ this.finished = true; // 结束加载状态
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 判断获取数据条数若等于0
|
|
|
+ this.list = []; // 清空数组
|
|
|
+ this.finished = true; // 停止加载
|
|
|
}
|
|
|
- console.log(this.list)
|
|
|
- // for(let i=0;i<res.data.list.length;i++){
|
|
|
- // if(res.data.list[i].attributeList&&res.data.list[i].attributeList.length!=0){
|
|
|
- // this.list.push(res.data.list[i])
|
|
|
- // }
|
|
|
- // }
|
|
|
+ } else {
|
|
|
+ this.loading = false; // 加载状态结束
|
|
|
+ this.finished = true; // 停止加载
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
getAircond() {
|
|
|
api
|
|
|
.airconditioner({
|
|
|
- page:this.page,
|
|
|
+ page: this.page,
|
|
|
limit: 10,
|
|
|
- buildingId:this.buildingId,
|
|
|
- storeyId:this.storeyId,
|
|
|
+ buildingId: this.buildingId,
|
|
|
+ storeyId: this.storeyId,
|
|
|
})
|
|
|
.then((res) => {
|
|
|
- if (res.code == 0) {
|
|
|
- this.total = res.data.total;
|
|
|
- for (let i = 0; i < res.data.list.length; i++) {
|
|
|
+ console.log(res)
|
|
|
+ if (res.code == 0) {
|
|
|
+ if (res.data) {
|
|
|
+ this.total = res.data.total;
|
|
|
+ if (res.data.list.length == 0) {
|
|
|
+ // 判断获取数据条数若等于0
|
|
|
+ this.list = []; // 清空数组
|
|
|
+ this.finished = true; // 停止加载
|
|
|
+ }
|
|
|
+ // 若数据条数不等于0
|
|
|
+ //this.list.push(...res.data.list); // 将数据放入list中
|
|
|
+ this.loading = false; // 加载状态结束
|
|
|
+ if (res.data.list.length > 9) {
|
|
|
+ this.page++; // 分页数加一
|
|
|
+ }
|
|
|
+
|
|
|
+ //数据处理
|
|
|
+ for (let i = 0; i < res.data.list.length; i++) {
|
|
|
if (
|
|
|
res.data.list[i].attributeList &&
|
|
|
res.data.list[i].attributeList.length != 0
|
|
@@ -528,12 +553,18 @@ export default {
|
|
|
this.list.push(res.data.list[i]);
|
|
|
}
|
|
|
}
|
|
|
- if( res.data.list.length<10){
|
|
|
- this.finished=true;
|
|
|
- }else{
|
|
|
- this.page++;
|
|
|
+ // 如果list长度大于等于总数据条数,数据全部加载完成
|
|
|
+ if (this.list.length >= res.data.total) {
|
|
|
+ this.finished = true; // 结束加载状态
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 判断获取数据条数若等于0
|
|
|
+ this.list = []; // 清空数组
|
|
|
+ this.finished = true; // 停止加载
|
|
|
}
|
|
|
- this.loading = false;
|
|
|
+ } else {
|
|
|
+ this.loading = false; // 加载状态结束
|
|
|
+ this.finished = true; // 停止加载
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -577,10 +608,10 @@ export default {
|
|
|
},
|
|
|
onLoad() {
|
|
|
this.loading = true;
|
|
|
- if(this.deviceType=='AirConditioner'){
|
|
|
- this.getAircond()
|
|
|
- }else{
|
|
|
- this.getElec();
|
|
|
+ if (this.deviceType == "AirConditioner") {
|
|
|
+ this.getAircond();
|
|
|
+ } else {
|
|
|
+ this.getElec();
|
|
|
}
|
|
|
},
|
|
|
// onRefresh() {
|
|
@@ -594,10 +625,10 @@ export default {
|
|
|
// change事件可以拿到的是value
|
|
|
handelChange(type, lackTypeTitle, lackTypeList, val) {
|
|
|
this[type] = val;
|
|
|
- console.log(this.deviceType)
|
|
|
- this.list=[];
|
|
|
- this.page=1;
|
|
|
- this.finished=true;
|
|
|
+ console.log(this.deviceType);
|
|
|
+ this.list = [];
|
|
|
+ this.page = 1;
|
|
|
+ this.finished = true;
|
|
|
if (this.deviceType == "Ammeter") this.getElec();
|
|
|
if (this.deviceType == "AirConditioner") this.getAircond();
|
|
|
// 显示中文名字
|