fix:字段修改/交互逻辑修改

This commit is contained in:
chenpingsen
2024-08-30 14:03:31 +08:00
parent f8eda43169
commit 93f2869a5b
8 changed files with 86 additions and 49 deletions

View File

@@ -39,14 +39,6 @@
<div class="circuit-tab"></div>
<span class="circuit-text">{{ props.type }}</span>
<div class="btn2">
<!-- <a-badge :offset="[-10, 2]" :count="lockList.length">
<button
class="openPlan"
:class="{ enabled2: isPlanEnabled2, disabled2: !isPlanEnabled2 }"
@click="togglePlan2">
{{ isPlanEnabled2 ? '启用开关' : '禁用开关' }}
</button>
</a-badge> -->
<a-switch
v-model:checked="selectAllCheckbox"
:disabled="singleSelection"
@@ -190,16 +182,27 @@
}}</span></div
>
</div>
<div class="btn-item">
<div class="left"> 亮度 </div>
<div class="btn-item" v-if="url.deviceType != 5">
<div class="left"> 运行模式 </div>
<div class="right">
<!-- 由于数字0也会被判为false故只判断undefined null -->
<span>{{
item?.stateBefore?.brightness != undefined ? item.stateBefore.brightness : '--'
item.stateBefore.runMode.label != null ? item.stateBefore.runMode.label : '--'
}}</span>
<img src="/asset/image/bulbLogo/22406.png" alt="" />
<span>{{
item?.stateAfter?.brightness != undefined ? item.stateAfter.brightness : '--'
item.stateAfter.runMode.label != null ? item.stateAfter.runMode.label : '--'
}}</span>
</div>
</div>
<div class="btn-item" v-if="url.deviceType == 5">
<div class="left"> 开窗幅度 </div>
<div class="right">
<span>{{
item.stateBefore.openPercent != null ? item.stateBefore.openPercent : '--'
}}</span>
<img src="/asset/image/bulbLogo/22406.png" alt="" />
<span>{{
item.stateAfter.openPercent != null ? item.stateAfter.openPercent : '--'
}}</span>
</div>
</div>
@@ -216,14 +219,20 @@
</div>
</div>
<div class="btn-item">
<div class="left"> 色温 </div>
<div class="left"> 开启状态 </div>
<div class="right">
<span>{{
item?.stateBefore?.color != undefined ? item.stateBefore.color : '--'
item?.stateBefore?.switchStatus?.label != null
? item.stateBefore.switchStatus.label
: '--'
}}</span>
<img src="/asset/image/bulbLogo/22406.png" alt="" />
<span>
{{ item?.stateAfter?.color != undefined ? item.stateAfter.color : '--' }}
{{
item?.stateAfter?.switchStatus?.label != null
? item.stateAfter.switchStatus.label
: '--'
}}
</span>
</div>
</div>
@@ -231,7 +240,7 @@
<div class="left"> 启用状态 </div>
<div class="right">
<span>{{
item?.stateBefore?.lockStatus != undefined
item?.stateBefore?.lockStatus != null
? item.stateBefore.lockStatus
? '禁用'
: '启用'
@@ -240,7 +249,7 @@
<img src="/asset/image/bulbLogo/22406.png" alt="" />
<span>
{{
item?.stateAfter?.lockStatus != undefined
item?.stateAfter?.lockStatus != null
? item.stateAfter.lockStatus
? '禁用'
: '启用'
@@ -292,7 +301,7 @@
url.getList = ventilating.getChangeList2;
url.sendList = ventilating.sendChangeList2;
url.deviceType = 4;
} else {
} else if (props.type == '电动窗') {
url.getList = ventilating.getChangeList3;
url.sendList = ventilating.sendChangeList3;
url.deviceType = 5;
@@ -852,6 +861,7 @@
};
// 提交本次修改
const submitChangeList = () => {
state.setLoading(true);
http
.post(url.sendList, {
sceneList: changeList.value,
@@ -860,6 +870,7 @@
siteId: state.siteId,
})
.then((res) => {
state.setLoading(false);
let data = res.data;
// 修改请求发送了,但操作时产生了失败结果
if (res.retcode != 0) {
@@ -876,7 +887,9 @@
refresh(true);
emit('resetAll');
})
.catch(() => {});
.catch(() => {
state.setLoading(false);
});
};
// 其他业务 ========================================================================

View File

@@ -130,7 +130,8 @@
:body-style="{ background: 'rgba(0, 0, 0)', opacity: 0.8, color: 'white' }"
:closable="false"
id="drawer"
:maskStyle="{ 'background-color': 'rgba(0, 0, 0, 0)' }">
:maskStyle="{ 'background-color': 'rgba(0, 0, 0, 0)' }"
:mask="false">
<!-- 左侧抽屉的关闭按钮 -->
<div class="drawer-box-out" @click="toggleDrawer">
<double-right-outlined class="drawer-icon" style="color: white" />
@@ -410,19 +411,26 @@
} else {
url = ventilating.getTree3;
}
http.get(url, { projectId: state.projectId, siteId: state.siteId }).then((res) => {
const data = res.data[0].childList;
// 默认选中第一个分区
data.forEach((item: any, index: number) => {
if (index === 0) {
item.selected = true;
} else {
item.selected = false;
}
state.setLoading(true);
http
.get(url, { projectId: state.projectId, siteId: state.siteId })
.then((res) => {
state.setLoading(false);
const data = res.data[0].childList;
// 默认选中第一个分区
data.forEach((item: any, index: number) => {
if (index === 0) {
item.selected = true;
} else {
item.selected = false;
}
});
treeData.value = data;
selectIndex.value = index;
})
.catch(() => {
state.setLoading(false);
});
treeData.value = data;
selectIndex.value = index;
});
};
const getDevice = async (type: number) => {
// 切换时默认选择tab1
@@ -491,6 +499,13 @@
const resetDrawer = () => {
// tab1重置
reload();
if (selectIndex.value == 4) {
getDevice(1);
} else if (selectIndex.value == 5) {
getDevice(2);
} else if (selectIndex.value == 6) {
getDevice(3);
}
tabs1Ref.value.refresh();
// tab2 tab3 可能未加载
try {