|
|
@@ -517,13 +517,14 @@
|
|
|
sf_device_id: this.device_id,
|
|
|
},
|
|
|
});
|
|
|
+ console.log(res,'resresres')
|
|
|
let pickList = [];
|
|
|
let pickBtnList = []; // 肥料开关
|
|
|
let pickBanList = []; // 肥料搅拌机开关
|
|
|
let faList = []; // 管道阀开关
|
|
|
this.facilityvalve.forEach(item => {
|
|
|
res.forEach((pick, index) => {
|
|
|
- if(pick.e_key == item.type) {
|
|
|
+ if (pick.e_key == item.type) {
|
|
|
let pickObj = Object.assign(item, pick);
|
|
|
// 获取当前灌溉泵位置
|
|
|
if(pick.e_type == 2) {
|
|
|
@@ -544,13 +545,14 @@
|
|
|
pickBanList.push(pickObj)
|
|
|
}
|
|
|
// 获取管道阀开关列表
|
|
|
- if(pick.e_type == 1 || pick.e_type == 5) {
|
|
|
+ if (pick.e_type == 1 || pick.e_type == 5) {
|
|
|
faList.push(pickObj)
|
|
|
}
|
|
|
pickList.push(pickObj)
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
+ console.log(pickBtnList,faList,'faListfaListfaList')
|
|
|
// 把肥料和搅拌机位置对应起来(根据创建时间)
|
|
|
let resultBan = [];
|
|
|
pickBtnList.forEach(fei => {
|
|
|
@@ -563,7 +565,6 @@
|
|
|
this.pickBtnList = pickBtnList;
|
|
|
this.resultBan = resultBan;
|
|
|
this.faList = faList;
|
|
|
- console.log(pickBtnList, pickBanList, resultBan, faList)
|
|
|
},
|
|
|
// 元素状态
|
|
|
async getEquipstatus() {
|
|
|
@@ -581,11 +582,15 @@
|
|
|
var conf = res.conf.relayName;
|
|
|
var dataobj = res.device_status;
|
|
|
var relayNum = res.conf.relayNum;
|
|
|
+ let controlConf = res.control_conf ? res.control_conf.relayName : ''
|
|
|
+ var controlDataObj = res.control_device_status ? res.control_device_status : {};
|
|
|
+ var controlRelayNum = res.control_conf ? res.control_conf.relayNum : '';
|
|
|
var arr = [];
|
|
|
|
|
|
function numberToArray(number) {
|
|
|
+ console.log(number,'nmuikejrkerjke')
|
|
|
// 将数字转换为字符串
|
|
|
- let numString = number.toString();
|
|
|
+ let numString = number && number.toString();
|
|
|
|
|
|
// 创建一个空数组,用于存储结果
|
|
|
let result = [];
|
|
|
@@ -597,24 +602,22 @@
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
- for (var i = 0; i < dataobj.length; i++) {
|
|
|
- // if (offobj[i].indexOf("j") + 1) {
|
|
|
- arr.push(offobj[i]);
|
|
|
- // }
|
|
|
- }
|
|
|
+ // for (var i = 0; i < dataobj.length; i++) {
|
|
|
+ // // if (offobj[i].indexOf("j") + 1) {
|
|
|
+ // arr.push(offobj[i]);
|
|
|
+ // // }
|
|
|
+ // }
|
|
|
conf = conf.split("/");
|
|
|
+ controlConf = controlConf && controlConf.split('/');
|
|
|
+ controlRelayNum = controlRelayNum && controlRelayNum.split('/');
|
|
|
relayNum = relayNum.split("/");
|
|
|
var arr1 = [];
|
|
|
- var reg = /\d/;
|
|
|
+ let arr2 = [];
|
|
|
let totalP = Math.ceil((conf.length) / 32); //总圈数
|
|
|
+ let totalP2 = Math.ceil((controlConf.length) / 32); // 总圈数
|
|
|
for (var i = 0; i < conf.length; i++) {
|
|
|
var obj = {};
|
|
|
obj.name = conf[i];
|
|
|
- // if (reg.test(conf[i])) {
|
|
|
- // obj.name2 = conf[i].slice(0, conf[i].length - 1);
|
|
|
- // } else {
|
|
|
- // obj.name2 = conf[i];
|
|
|
- // }
|
|
|
obj.name2 = this.typename[relayNum[i]];
|
|
|
obj.number = i;
|
|
|
obj.type = `j${i + 1}`;
|
|
|
@@ -627,19 +630,46 @@
|
|
|
// 当前是循环的第几轮
|
|
|
let baseP = Math.ceil((i + 1) / 32);
|
|
|
if (i > 31) {
|
|
|
- dataobj[`j${i + 1}`] = dataobj[
|
|
|
- `j${(i + 1) % 32 == 0 ? 32 : (i + 1) % 32}`]; // 当前脚标/32取余 当恰好整除的时候 取32
|
|
|
- }
|
|
|
- dataobj[`j${i + 1}`] = dataobj[`j${i + 1}`].slice(-totalP); // 截取当前圈数的最后几位数字
|
|
|
- let baseOff = numberToArray(dataobj[`j${i + 1}`]); // 把当前值根据位数 转换为数组
|
|
|
- obj.off = baseOff[baseP - 1] == '0' ? false : true; // 根据当前圈数,取对应的数组的值
|
|
|
- arr1.push(obj);
|
|
|
+ dataobj[`j${i + 1}`] = dataobj[`j${(i + 1) % 32 === 0 ? 32 : (i + 1) % 32}`]; // 当前脚标/32取余 当恰好整除的时候 取32
|
|
|
+ }
|
|
|
+ dataobj[`j${i + 1}`] = dataobj[`j${i + 1}`].slice(-totalP);// 截取当前圈数的最后几位数字
|
|
|
+ let baseOff = numberToArray(dataobj[`j${i + 1}`]); // 把当前值根据位数 转换为数组
|
|
|
+ // eslint-disable-next-line eqeqeq
|
|
|
+ obj.off = baseOff[baseP - 1] != '0'; // 根据当前圈数,取对应的数组的值
|
|
|
+ obj.isNew = false
|
|
|
+ arr1.push(obj);
|
|
|
}
|
|
|
- for (var i = 0; i < arr1.length; i++) {
|
|
|
- if (arr1[i].name != "-") {
|
|
|
- this.facilityvalve.push(arr1[i]);
|
|
|
+ for (let i = 0; i < controlConf.length; i++) {
|
|
|
+ let obj = {};
|
|
|
+ obj.name = controlConf[i];
|
|
|
+ obj.name2 = this.typename[controlRelayNum[i]];
|
|
|
+ obj.number = i;
|
|
|
+ obj.type = `j${i + 1}`;
|
|
|
+ obj.disabled = false;
|
|
|
+ let baseP = Math.ceil((i + 1) / 32);
|
|
|
+ if (i > 31) {
|
|
|
+ controlDataObj[`j${i + 1}`] = controlDataObj[`j${(i + 1) % 32 === 0 ? 32 : (i + 1) % 32}`]; // 当前脚标/32取余 当恰好整除的时候 取32
|
|
|
+ }
|
|
|
+ controlDataObj[`j${i + 1}`] = controlDataObj[`j${i + 1}`] && controlDataObj[`j${i + 1}`].slice(-totalP2);// 截取当前圈数的最后几位数字
|
|
|
+ if (!controlDataObj[`j${i + 1}`]) {
|
|
|
+ break
|
|
|
}
|
|
|
- }
|
|
|
+ let baseOff = numberToArray(controlDataObj[`j${i + 1}`]); // 把当前值根据位数 转换为数组
|
|
|
+ // eslint-disable-next-line eqeqeq
|
|
|
+ obj.off = baseOff[baseP - 1] != '0'; // 根据当前圈数,取对应的数组的值
|
|
|
+ obj.isNew = true
|
|
|
+ arr2.push(obj);
|
|
|
+ }
|
|
|
+ // for (var i = 0; i < arr1.length; i++) {
|
|
|
+ // if (arr1[i].name != "-") {
|
|
|
+ // this.facilityvalve.push(arr1[i]);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ for (let i = 0; i < arr2.length; i++) {
|
|
|
+ if (arr2[i].name !== '-') {
|
|
|
+ this.facilityvalve.push(arr2[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
let feiNum = 0; // 记录废料桶占据通道个数,两个通道为一个肥料桶
|
|
|
this.buttonList = [];
|
|
|
this.facilityvalve.forEach((item, index) => {
|
|
|
@@ -650,7 +680,6 @@
|
|
|
})
|
|
|
this.feiNum = feiNum;
|
|
|
this.getPickList();
|
|
|
- console.log(this.facilityvalve)
|
|
|
},
|
|
|
async getEquipcontrol(num, state, double_order) {
|
|
|
//设备控制
|
|
|
@@ -759,22 +788,6 @@
|
|
|
// 判断施肥阀是否打开
|
|
|
this.feiBeng = e;
|
|
|
}
|
|
|
- // if (this.colomRoundList.indexOf(item.type) > -1) {
|
|
|
- // let changeIndex = index;
|
|
|
- // if ((index + 1) % 2 == 0) {
|
|
|
- // // 偶数 往前取值
|
|
|
- // this.facilityvalve[index - 1].disabled = true;
|
|
|
- // changeIndex = index - 1;
|
|
|
- // } else if ((index + 1) % 2 == 1) {
|
|
|
- // // 基数 往后取值
|
|
|
- // this.facilityvalve[index + 1].disabled = true;
|
|
|
- // changeIndex = index + 1;
|
|
|
- // }
|
|
|
- // item.disabled = true;
|
|
|
- // this.changeTimeStatus(item, changeIndex);
|
|
|
- // this.getEquipcontrol(changeIndex, Number(!e));
|
|
|
- // } else {
|
|
|
- // }
|
|
|
item.disabled = true;
|
|
|
this.changeTimeStatus(item, index);
|
|
|
//console.log(Number(e), state);
|