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