fix: 后台接口对接,问题修复及线上提交测试。

This commit is contained in:
tianyongbao
2026-01-14 08:29:38 +08:00
parent 6d1a6ded2d
commit f5ddf1e120
16 changed files with 1316 additions and 810 deletions

View File

@@ -261,62 +261,58 @@
>
<!-- 绘制表格 -->
<view class="m_t_15">
<view
style="
display: flex;
flex-direction: row;
justify-content: space-around;
"
class="tr"
>
<view class="tableTR tableTou"> 上限 </view>
<view
class="tableTR"
v-for="item in deviceInfoRes.listLinkedCtr"
:key="item.id"
>
{{ item.oxyUpperOpen?item.oxyUpperValue+'Mg/L':'-' }}
</view>
</view>
<view
style="
display: flex;
flex-direction: row;
justify-content: space-around;
"
class="tr"
>
<view class="tableTR tableTou"> 下限 </view>
<view
class="tableTR"
v-for="item in deviceInfoRes.listLinkedCtr"
:key="item.id"
>
{{ item.oxyLowerOpen?item.oxyLowerValue+'Mg/L':'-' }}
</view>
</view>
<view
style="
display: flex;
flex-direction: row;
justify-content: space-around;
"
class="tr"
>
<view class="tableTR tableTou"> 开关 </view>
<view
class="tableTR"
v-for="item in deviceInfoRes.listLinkedCtr"
:key="item.id"
>
<text
class="truncate"
:style="{
maxWidth: '100rpx',
textAlign: 'center',
}"
>{{ formatName(item.listSwitch) }}</text
<view class="linked-table">
<!-- 表头 -->
<view class="table-row table-header">
<view class="table-cell"></view>
<view
class="table-cell"
v-for="(item, index) in deviceInfoRes.listLinkedCtr"
:key="item.id"
>
联动{{ index + 1 }}
</view>
</view>
<!-- 上限行 -->
<view class="table-row">
<view class="table-cell table-label">上限</view>
<view
class="table-cell table-value"
v-for="item in deviceInfoRes.listLinkedCtr"
:key="'up_' + item.id"
>
{{ item.oxyUpperOpen ? item.oxyUpperValue + 'Mg/L' : '-' }}
</view>
</view>
<!-- 下限行 -->
<view class="table-row">
<view class="table-cell table-label">下限</view>
<view
class="table-cell table-value"
v-for="item in deviceInfoRes.listLinkedCtr"
:key="'low_' + item.id"
>
{{ item.oxyLowerOpen ? item.oxyLowerValue + 'Mg/L' : '-' }}
</view>
</view>
<!-- 开关行 -->
<view class="table-row">
<view class="table-cell table-label">开关</view>
<view
class="table-cell table-switch"
v-for="item in deviceInfoRes.listLinkedCtr"
:key="'sw_' + item.id"
>
<view class="switch-names">
<view
class="switch-name"
v-for="(sw, idx) in item.listSwitch"
:key="sw.id"
>
{{ sw.switchName }}
</view>
</view>
</view>
</view>
</view>
</view>
@@ -773,7 +769,7 @@ Taro.useDidShow(() => {
// 查询塘口列表
function getPondList() {
getPond2().then((res: any) => {
if (res.statusCode == 200) {
if (res.code == 200) {
const arr = [{ id: 0, pondName: "无" }];
res.data.forEach(r=>{
arr.push({id:r.id,pondName:r.pondName})
@@ -785,9 +781,17 @@ function getPondList() {
// 设备详情
function getDevInfo() {
deviceInfo({ id }).then((res: any) => {
if (res.statusCode == 200) {
if (res.code == 200) {
res.data.bindTime = formatDate(new Date(res.data.bindTime));
res.data.deadTime = formatDate(new Date(res.data.deadTime));
// 将数字类型转为布尔类型
res.data.oxyWarnTelOpen = !!res.data.oxyWarnTelOpen;
res.data.oxyWarnTelNoDis = !!res.data.oxyWarnTelNoDis;
res.data.tempWarnTelOpen = !!res.data.tempWarnTelOpen;
res.data.tempWarnTelNoDis = !!res.data.tempWarnTelNoDis;
res.data.isOxygenUsed = !!res.data.isOxygenUsed;
deviceInfoRes.value = res.data;
pondId.value = res.data.pondInfo ? [Number(res.data.pondInfo.id)] : [0];
}
@@ -814,7 +818,7 @@ function unbind() {
if (res.confirm) {
b_isLoading.value = true
deviceDel({ id }).then((res: any) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "解绑成功";
setTimeout(() => {
@@ -864,7 +868,7 @@ console.log(selectedValue)
};
deviceUpdatePond(data)
.then((res: any) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
}
@@ -883,13 +887,13 @@ function changeO2(value, event) {
const data = {
deviceId: id,
type: 1,
isOpen: deviceInfoRes.value.oxyWarnTelOpen,
isOpen: deviceInfoRes.value.oxyWarnTelOpen ? 1 : 0, // 布尔转数字
isNoDisturb: deviceInfoRes.value.oxyWarnTelOpen
? deviceInfoRes.value.oxyWarnTelNoDis
: false,
? (deviceInfoRes.value.oxyWarnTelNoDis ? 1 : 0) // 布尔转数字
: 0,
};
setWarnCall(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
}
@@ -901,13 +905,13 @@ function changeTem(value, event) {
const data = {
deviceId: id,
type: 2,
isOpen: deviceInfoRes.value.tempWarnTelOpen,
isOpen: deviceInfoRes.value.tempWarnTelOpen ? 1 : 0, // 布尔转数字
isNoDisturb: deviceInfoRes.value.tempWarnTelOpen
? deviceInfoRes.value.tempWarnTelNoDis
: false,
? (deviceInfoRes.value.tempWarnTelNoDis ? 1 : 0) // 布尔转数字
: 0,
};
setWarnCall(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
}
@@ -942,7 +946,7 @@ function setOxyEvent() {
oxyWarnLower: oxy.value,
};
setOxyWarn(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
deviceInfoRes.value.oxyWarnLower = oxy.value;
@@ -957,11 +961,12 @@ function setNameEvent() {
newName: deviceName.value,
};
deviceUpdateName(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
deviceInfoRes.value.deviceName = deviceName.value;
openSetName.value = false;
// 重新加载设备信息
getDevInfo();
}
});
}
@@ -995,7 +1000,7 @@ function setTempEvent() {
tempWarnUpper: tempUp.value,
};
setTempWarn(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
deviceInfoRes.value.tempWarnUpper = tempUp.value;
@@ -1035,7 +1040,7 @@ function setSalinity() {
salinityCompensation: salinity.value ? Number(salinity.value) : 0,
};
setSal(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
deviceInfoRes.value.salinityCompensation = salinity.value;
@@ -1053,13 +1058,13 @@ function changeOxyDis(value, event) {
const data = {
deviceId: id,
type: 1,
isOpen: deviceInfoRes.value.oxyWarnTelOpen,
isOpen: deviceInfoRes.value.oxyWarnTelOpen ? 1 : 0, // 布尔转数字
isNoDisturb: deviceInfoRes.value.oxyWarnTelOpen
? deviceInfoRes.value.oxyWarnTelNoDis
: false,
? (deviceInfoRes.value.oxyWarnTelNoDis ? 1 : 0) // 布尔转数字
: 0,
};
setWarnCall(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
}
@@ -1072,46 +1077,19 @@ function changeTemDis(value, event) {
const data = {
deviceId: id,
type: 2,
isOpen: deviceInfoRes.value.tempWarnTelOpen,
isOpen: deviceInfoRes.value.tempWarnTelOpen ? 1 : 0, // 布尔转数字
isNoDisturb: deviceInfoRes.value.tempWarnTelOpen
? deviceInfoRes.value.tempWarnTelNoDis
: false,
? (deviceInfoRes.value.tempWarnTelNoDis ? 1 : 0) // 布尔转数字
: 0,
};
setWarnCall(data).then((res) => {
if (res.statusCode == 200) {
if (res.code == 200) {
state.show = true;
state.msg = "设置成功";
}
});
}
}
// 移除设备
function removeDev() {
Taro.showModal({
title: "提示",
content:
"移除后会将设备从塘口移除,并和塘口内的其他设备解除关联关系。确认移除该设备?",
success: function (res) {
if (res.confirm) {
r_isLoading.value = true
deviceUnbind({ id }).then((res) => {
if (res.statusCode == 200) {
// alertRes.value = true
state.show = true;
state.msg = "移除成功";
deviceInfoRes.value.pondInfo = {
id: 0,
pondName: "请绑定塘口",
};
}
}).finally(() => {
r_isLoading.value = false
})
} else if (res.cancel) {
}
},
});
}
// 返回上一页
function onGoBack() {
Taro.navigateBack({ delta: 1 });
@@ -1248,4 +1226,82 @@ function onblur() {
color: #17b4b2;
font-size: 28px;
}
/* 联动控制表格优化样式 */
.linked-table {
width: 100%;
border-radius: 8px;
overflow: hidden;
background: #fff;
}
.table-row {
display: flex;
border-bottom: 1px solid #f0f0f0;
&:last-child {
border-bottom: none;
}
}
.table-header {
background: #f8f8f8;
font-weight: bold;
.table-cell {
color: #666;
font-size: 26rpx;
}
}
.table-cell {
flex: 1;
padding: 20rpx 10rpx;
text-align: center;
border-right: 1px solid #f0f0f0;
display: flex;
align-items: center;
justify-content: center;
min-height: 80rpx;
&:last-child {
border-right: none;
}
}
.table-label {
flex: 0 0 100rpx;
background: #fafafa;
font-size: 28rpx;
color: #333;
font-weight: 500;
}
.table-value {
color: #17b4b2;
font-size: 28rpx;
font-weight: 500;
}
.table-switch {
padding: 10rpx;
}
.switch-names {
display: flex;
flex-direction: column;
gap: 8rpx;
width: 100%;
}
.switch-name {
font-size: 24rpx;
color: #17b4b2;
padding: 6rpx 10rpx;
background: #f5f5f5;
border-radius: 4rpx;
line-height: 1.4;
word-break: break-all;
text-align: center;
}
</style>