更改出水口设备权限

This commit is contained in:
jsy_zjg 2024-11-27 10:39:54 +08:00
parent 42a9544171
commit 7f510d2c18

View File

@ -24,19 +24,28 @@
<view> <view>
<text>{{ item.showName }}</text> <text>{{ item.showName }}</text>
</view> </view>
<view style="margin-left: 50px;height: 25px;"> <view style="margin-left: 30px;height: 25px;">
<u-checkbox-group class="checkBox" style="margin: 0;" iconPlacement="left" placement="row" <u-checkbox-group class="checkBox" style="margin: 0;" iconPlacement="left" placement="row"
@change="handleChangeRow($event, item)"> @change="handleChangeRow($event, item)">
<u-checkbox activeColor="#35842E" label="全选" <u-checkbox activeColor="#35842E" label="全选"
v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'valve'" v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'valve'"
:checked="item.landWaterOutletPermissionVo.valveClose==0 && item.landWaterOutletPermissionVo.valveOpen==0 && item.landWaterOutletPermissionVo.valveOneOpen==0 && item.landWaterOutletPermissionVo.valveTwoOpen==0" :checked="item.landWaterOutletPermissionVo.valveClose==0 && item.landWaterOutletPermissionVo.valveOpen==0 && item.landWaterOutletPermissionVo.valveOneOpen==0 && item.landWaterOutletPermissionVo.valveTwoOpen==0"
:name="'all_'+item.id"></u-checkbox> name="all"></u-checkbox>
<u-checkbox activeColor="#35842E" label="全选" <u-checkbox activeColor="#35842E" label="全选"
v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'fiveValve'" v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'fiveValve'"
:checked="item.landWaterOutletPermissionVo.valveOneOpen==0 && item.landWaterOutletPermissionVo.valveTwoOpen==0 && item.landWaterOutletPermissionVo.valveThreeOpen==0 && item.landWaterOutletPermissionVo.valveFourOpen==0" :checked="item.landWaterOutletPermissionVo.valveOneOpen==0 && item.landWaterOutletPermissionVo.valveTwoOpen==0 && item.landWaterOutletPermissionVo.valveThreeOpen==0 && item.landWaterOutletPermissionVo.valveFourOpen==0"
:name="'all_'+item.id"></u-checkbox> name="all"></u-checkbox>
</u-checkbox-group> </u-checkbox-group>
</view> </view>
<view style="margin-left: 95px;height: 25px;">
<u-radio-group class="checkBox" style="margin: 0;" iconPlacement="left" placement="row" v-model="item.landWaterOutletPermissionVo.deviceTypeKey"
@change="handleChangeDeviceType($event, item)">
<u-radio activeColor="#35842E" label="三通"
name="valve"></u-radio>
<u-radio activeColor="#35842E" label="五通"
name="fiveValve"></u-radio>
</u-radio-group>
</view>
</view> </view>
<u-gap height="1" bgColor="#D2D2D2"></u-gap> <u-gap height="1" bgColor="#D2D2D2"></u-gap>
<view v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'valve'"> <view v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'valve'">
@ -137,6 +146,8 @@
// //
submit() { submit() {
let saveObj = { let saveObj = {
landId:this.query.landId,
userId:this.query.userId,
landWaterOutlets: this.dataList landWaterOutlets: this.dataList
} }
plugin.modal.loading("设置中...") plugin.modal.loading("设置中...")
@ -194,10 +205,7 @@
}, },
// //
handleChangeRow(e, row) { handleChangeRow(e, row) {
const index = this.dataList.findIndex(x => x.id === row.id); const permissions = row.landWaterOutletPermissionVo;
if (index === -1) return; //
const item = this.dataList[index];
const permissions = item.landWaterOutletPermissionVo;
const valveDefaults = { const valveDefaults = {
valveClose: 1, valveClose: 1,
valveOpen: 1, valveOpen: 1,
@ -224,15 +232,38 @@
valveFourOpen: 0 valveFourOpen: 0
} }
}; };
const deviceType = item.landWaterOutletPermissionVo.deviceTypeKey; const deviceType = row.landWaterOutletPermissionVo.deviceTypeKey;
const settings = e && e.length ? valveSettings[deviceType] : {}; const settings = e && e.length ? valveSettings[deviceType] : {};
Object.assign(permissions, valveDefaults, settings); Object.assign(permissions, valveDefaults, settings);
}, },
//
handleChangeDeviceType(e, obj){
const permissions = obj.landWaterOutletPermissionVo;
permissions.deviceTypeKey = e;
const valveSettings = {
valve: {
valveClose: 1,
valveOpen: 1,
valveOneOpen: 1,
valveTwoOpen: 1,
valveThreeOpen: 1,
valveFourOpen: 1
},
fiveValve: {
valveClose: 1,
valveOpen: 1,
valveOneOpen: 1,
valveTwoOpen: 1,
valveThreeOpen: 1,
valveFourOpen: 1
}
};
const settings = e ? valveSettings[e] : {};
Object.assign(permissions, settings);
},
// //
handleChange(e, obj) { handleChange(e, obj) {
let index = this.dataList.findIndex(x => x.id == obj.id); this.judgeValue(e, obj);
let item = this.dataList[index];
this.judgeValue(e, item);
}, },
judgeValue(e, itemSample) { judgeValue(e, itemSample) {
const valveProperties = [ const valveProperties = [