dtu增加备注功能
parent
059554e1b1
commit
5c09b7fd63
|
|
@ -37,6 +37,7 @@
|
||||||
class="text uni-flex_control_two uni-view"
|
class="text uni-flex_control_two uni-view"
|
||||||
v-for="item in sensorCards.humi"
|
v-for="item in sensorCards.humi"
|
||||||
:key="item.key"
|
:key="item.key"
|
||||||
|
@click="openDataModal(item)"
|
||||||
>
|
>
|
||||||
<text class="data" :style="fontStyle">
|
<text class="data" :style="fontStyle">
|
||||||
{{ liveData[item.key] }}
|
{{ liveData[item.key] }}
|
||||||
|
|
@ -98,7 +99,7 @@
|
||||||
<button class="modal-btn confirm" @click="confirmModifyName">确定</button>
|
<button class="modal-btn confirm" @click="confirmModifyName">确定</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
|
||||||
<uni-popup ref="inputDialog" mode="center" >
|
<uni-popup ref="inputDialog" mode="center" >
|
||||||
<!-- 新增:修改运行时间的弹窗 -->
|
<!-- 新增:修改运行时间的弹窗 -->
|
||||||
|
|
@ -637,42 +638,69 @@ export default {
|
||||||
this.$refs.inputNamelog.open()
|
this.$refs.inputNamelog.open()
|
||||||
},
|
},
|
||||||
confirmModifyName() {
|
confirmModifyName() {
|
||||||
|
// 1. 解构赋值优化:直接拆分sensorCard的key/label,减少冗余
|
||||||
let {
|
let {
|
||||||
selectedText, dtu_remark, imei, sensorCard, remark
|
selectedText,
|
||||||
|
dtu_remark,
|
||||||
|
imei,
|
||||||
|
sensorCard: { key: sensorKey, label: sensorLabel },
|
||||||
|
remark
|
||||||
} = this;
|
} = this;
|
||||||
const isRemarkModified = (remark !== (dtu_remark[sensorCard.key] || sensorCard.label)); // 别名是否修改
|
|
||||||
|
remark = remark || sensorLabel;
|
||||||
|
// 2. 语义化判定:别名是否修改
|
||||||
|
const isRemarkModified = remark !== (dtu_remark[sensorKey] || sensorLabel);
|
||||||
if (!isRemarkModified) {
|
if (!isRemarkModified) {
|
||||||
// 关闭弹窗(无论确认/取消都关闭)
|
// 统一关闭弹窗方式
|
||||||
this.closeModalDataName();
|
this.$refs?.inputNamelog?.close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 6. 确认弹窗(async/await处理异步请求)
|
// 3. 确认弹窗(async/await处理异步请求)
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '温馨提示:',
|
title: '温馨提示:',
|
||||||
content: `确定将${selectedText}-${sensorCard.label}别名设置为:${remark}`,
|
content: `确定将${selectedText}-${sensorLabel}别名设置为:${remark}?`, // 修复文案冗余冒号,补全remark变量
|
||||||
cancelText: '取消',
|
cancelText: '取消',
|
||||||
confirmText: '确定',
|
confirmText: '确定',
|
||||||
success: (res) => {
|
success: async (res) => {
|
||||||
// 关闭弹窗(无论确认/取消都关闭)
|
// 关闭弹窗(无论确认/取消都关闭)
|
||||||
this.closeModalDataName();
|
this.$refs?.inputNamelog?.close();
|
||||||
|
|
||||||
if (!res.confirm) return; // 取消操作则直接返回
|
if (!res.confirm) return; // 取消操作直接返回
|
||||||
this.$set(dtu_remark, `${sensorCard.key}`, remark);
|
|
||||||
// 补全imei字段
|
try {
|
||||||
|
// 4. 设置loading(可选,防止重复点击)
|
||||||
|
// uni.showLoading({ title: '处理中...' });
|
||||||
|
|
||||||
|
// 5. 更新响应式数据
|
||||||
|
this.$set(dtu_remark, sensorKey, remark); // sensorKey本身是字符串,无需拼接
|
||||||
|
// 补全imei字段(确保非空)
|
||||||
if (!dtu_remark.imei) {
|
if (!dtu_remark.imei) {
|
||||||
this.$set(dtu_remark, 'imei', imei);
|
this.$set(dtu_remark, 'imei', imei);
|
||||||
}
|
}
|
||||||
// 发起请求并等待结果
|
|
||||||
const remarkRes = dtu_remark.id
|
// 6. 异步请求:await等待结果(核心修复)
|
||||||
? updateRemark(dtu_remark)
|
const remarkRes = dtu_remark.id ? await updateRemark(dtu_remark) : await addRemark(dtu_remark);
|
||||||
: addRemark(dtu_remark);
|
|
||||||
this.$modal[remarkRes.code===200 ? 'msgSuccess' : 'msgError'](
|
// 7. 根据接口响应提示
|
||||||
remarkRes.code===200 ? '修改成功' : '修改失败'
|
const isSuccess = remarkRes.code === 200;
|
||||||
|
this.$modal[isSuccess ? 'msgSuccess' : 'msgError'](
|
||||||
|
isSuccess ? '修改成功' : '修改失败'
|
||||||
);
|
);
|
||||||
// 新增后刷新数据
|
|
||||||
|
// 8. 仅成功时刷新数据(失败时不刷新,避免覆盖现有数据)
|
||||||
|
if (isSuccess) {
|
||||||
this.getRemarkByImei();
|
this.getRemarkByImei();
|
||||||
}
|
}
|
||||||
|
} catch (error) {
|
||||||
|
// 捕获网络异常/接口报错
|
||||||
|
console.error('别名修改失败:', error);
|
||||||
|
this.$modal.msgError('修改失败,请重试');
|
||||||
|
} finally {
|
||||||
|
// 无论成功/失败,关闭loading
|
||||||
|
// uni.hideLoading();
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
closeModalDataName() {
|
closeModalDataName() {
|
||||||
|
|
@ -698,6 +726,7 @@ export default {
|
||||||
|
|
||||||
// 3. 定义核心判定变量(语义化命名)
|
// 3. 定义核心判定变量(语义化命名)
|
||||||
const isLimitTimeModified = newLimitTime !== currentCardTime; // 运行时间是否修改
|
const isLimitTimeModified = newLimitTime !== currentCardTime; // 运行时间是否修改
|
||||||
|
remark = remark || currentCard.name;
|
||||||
const isRemarkModified = (remark !== (dtu_remark[currentCard.type] || currentCard.name)); // 别名是否修改
|
const isRemarkModified = (remark !== (dtu_remark[currentCard.type] || currentCard.name)); // 别名是否修改
|
||||||
|
|
||||||
// 4. 无修改则直接返回,避免无效弹窗
|
// 4. 无修改则直接返回,避免无效弹窗
|
||||||
|
|
@ -712,7 +741,6 @@ export default {
|
||||||
const tips = [];
|
const tips = [];
|
||||||
if (isLimitTimeModified) tips.push(`运行时间为:${newLimitTime} 秒`);
|
if (isLimitTimeModified) tips.push(`运行时间为:${newLimitTime} 秒`);
|
||||||
if (isRemarkModified) {
|
if (isRemarkModified) {
|
||||||
remark = remark || currentCard.name
|
|
||||||
tips.push(`别名设置为:${remark}`)
|
tips.push(`别名设置为:${remark}`)
|
||||||
}
|
}
|
||||||
confirmContent += `\n${tips.map((tip, idx) => `${idx + 1}. ${tip}?`).join('\n')}`;
|
confirmContent += `\n${tips.map((tip, idx) => `${idx + 1}. ${tip}?`).join('\n')}`;
|
||||||
|
|
@ -752,7 +780,7 @@ export default {
|
||||||
|
|
||||||
// 8. 处理别名修改
|
// 8. 处理别名修改
|
||||||
if (isRemarkModified) {
|
if (isRemarkModified) {
|
||||||
this.$set(dtu_remark, `${currentCard.type}`, remark);
|
this.$set(dtu_remark, currentCard.type, remark);
|
||||||
// 补全imei字段
|
// 补全imei字段
|
||||||
if (!dtu_remark.imei) {
|
if (!dtu_remark.imei) {
|
||||||
this.$set(dtu_remark, 'imei', imei);
|
this.$set(dtu_remark, 'imei', imei);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue