修改出水口权限设置
This commit is contained in:
parent
f7e0b7224e
commit
8c88414c8b
@ -3,17 +3,15 @@
|
||||
<z-paging class="paging" ref="paging" use-virtual-list bg-color="#F6F3F3" :loading-more-enabled="false">
|
||||
<template #top>
|
||||
<view class="search">
|
||||
<u-search placeholder="请输入出水口编号" @search="onSearchValue" @custom="onSearchValue"
|
||||
@clear="onSearchValue(null)" shape="square"></u-search>
|
||||
<u-search placeholder="请输入出水口编号" @search="onSearchValue" @custom="onSearchValue" @clear="onSearchValue(null)" shape="square"></u-search>
|
||||
</view>
|
||||
</template>
|
||||
<view class="tips">
|
||||
<text style="color: red">注意:</text>
|
||||
<text>1.选中的开关为有控制权限;</text>
|
||||
<view style="float: right;margin-right: 15px;border: 1px solid;">
|
||||
<u-button style="height: 25px;" type="primary" size="small" :plain="true" :hairline="true"
|
||||
@click="handleChangeAllRow">
|
||||
{{ selectAll ? '反选':'全选' }}
|
||||
<view style="float: right; margin-right: 15px; border: 1px solid;">
|
||||
<u-button style="height: 25px;" type="primary" size="small" :plain="true" :hairline="true" @click="handleChangeAllRow">
|
||||
{{ selectAll ? '反选' : '全选' }}
|
||||
</u-button>
|
||||
</view>
|
||||
</view>
|
||||
@ -24,81 +22,51 @@
|
||||
<view>
|
||||
<text>{{ item.showName }}</text>
|
||||
</view>
|
||||
<view style="margin-left: 30px;height: 25px;">
|
||||
<u-checkbox-group class="checkBox" style="margin: 0;" iconPlacement="left" placement="row"
|
||||
@change="handleChangeRow($event, item)">
|
||||
<u-checkbox activeColor="#35842E" label="全选"
|
||||
v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'valve'"
|
||||
:checked="item.landWaterOutletPermissionVo.valveClose==0 && item.landWaterOutletPermissionVo.valveOpen==0 && item.landWaterOutletPermissionVo.valveOneOpen==0 && item.landWaterOutletPermissionVo.valveTwoOpen==0"
|
||||
name="all"></u-checkbox>
|
||||
<u-checkbox activeColor="#35842E" label="全选"
|
||||
v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'fiveValve'"
|
||||
:checked="item.landWaterOutletPermissionVo.valveOneOpen==0 && item.landWaterOutletPermissionVo.valveTwoOpen==0 && item.landWaterOutletPermissionVo.valveThreeOpen==0 && item.landWaterOutletPermissionVo.valveFourOpen==0"
|
||||
name="all"></u-checkbox>
|
||||
<view style="margin-left: 30px; height: 25px;">
|
||||
<u-checkbox-group class="checkBox" style="margin: 0;" icon-placement="left" placement="row" @change="handleChangeRow($event, item)">
|
||||
<u-checkbox active-color="#35842E" label="全选" :checked="isAllSelected(item)" name="all"></u-checkbox>
|
||||
</u-checkbox-group>
|
||||
</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>
|
||||
<view style="margin-left: 100px; height: 25px;">
|
||||
<u-radio-group class="checkBox" style="margin: 0;" icon-placement="left" placement="row" v-model="item.landWaterOutletPermissionVo.deviceTypeKey" @change="handleChangeDeviceType($event, item)">
|
||||
<u-radio active-color="#35842E" label="三通" name="valve"></u-radio>
|
||||
<u-radio active-color="#35842E" label="五通" name="fiveValve"></u-radio>
|
||||
</u-radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<u-gap height="1" bgColor="#D2D2D2"></u-gap>
|
||||
<view v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'valve'">
|
||||
<u-checkbox-group class="checkBox" iconPlacement="left" placement="row"
|
||||
@change="handleChange($event, item)">
|
||||
<u-checkbox activeColor="#35842E" label="全关"
|
||||
:checked="item.landWaterOutletPermissionVo.valveClose==0"
|
||||
name="valveClose"></u-checkbox>
|
||||
<u-checkbox activeColor="#35842E" label="全开"
|
||||
:checked="item.landWaterOutletPermissionVo.valveOpen==0" name="valveOpen"></u-checkbox>
|
||||
<u-checkbox activeColor="#35842E" label="①开 "
|
||||
:checked="item.landWaterOutletPermissionVo.valveOneOpen==0"
|
||||
name="valveOneOpen"></u-checkbox>
|
||||
<u-checkbox activeColor="#35842E" label="②开"
|
||||
:checked="item.landWaterOutletPermissionVo.valveTwoOpen==0"
|
||||
name="valveTwoOpen"></u-checkbox>
|
||||
<u-gap height="1" bg-color="#D2D2D2"></u-gap>
|
||||
<view v-if="isValve(item)">
|
||||
<u-checkbox-group class="checkBox" icon-placement="left" placement="row" @change="handleChange($event, item)">
|
||||
<u-checkbox active-color="#35842E" label="全关" :checked="item.landWaterOutletPermissionVo.valveClose == 0" name="valveClose"></u-checkbox>
|
||||
<u-checkbox active-color="#35842E" label="全开" :checked="item.landWaterOutletPermissionVo.valveOpen == 0" name="valveOpen"></u-checkbox>
|
||||
<u-checkbox active-color="#35842E" label="①开" :checked="item.landWaterOutletPermissionVo.valveOneOpen == 0" name="valveOneOpen"></u-checkbox>
|
||||
<u-checkbox active-color="#35842E" label="②开" :checked="item.landWaterOutletPermissionVo.valveTwoOpen == 0" name="valveTwoOpen"></u-checkbox>
|
||||
</u-checkbox-group>
|
||||
</view>
|
||||
<view v-if="item.landWaterOutletPermissionVo.deviceTypeKey == 'fiveValve'">
|
||||
<u-checkbox-group class="checkBox" iconPlacement="left" placement="row"
|
||||
@change="handleChange($event, item)">
|
||||
<u-checkbox activeColor="#35842E" label="①开"
|
||||
:checked="item.landWaterOutletPermissionVo.valveOneOpen==0"
|
||||
name="valveOneOpen"></u-checkbox>
|
||||
<u-checkbox activeColor="#35842E" label="②开"
|
||||
:checked="item.landWaterOutletPermissionVo.valveTwoOpen==0"
|
||||
name="valveTwoOpen"></u-checkbox>
|
||||
<u-checkbox activeColor="#35842E" label="③开 "
|
||||
:checked="item.landWaterOutletPermissionVo.valveThreeOpen==0"
|
||||
name="valveThreeOpen"></u-checkbox>
|
||||
<u-checkbox activeColor="#35842E" label="④开"
|
||||
:checked="item.landWaterOutletPermissionVo.valveFourOpen==0"
|
||||
name="valveFourOpen"></u-checkbox>
|
||||
<view v-if="isFiveValve(item)">
|
||||
<u-checkbox-group class="checkBox" icon-placement="left" placement="row" @change="handleChange($event, item)">
|
||||
<u-checkbox active-color="#35842E" label="①开" :checked="item.landWaterOutletPermissionVo.valveOneOpen == 0" name="valveOneOpen"></u-checkbox>
|
||||
<u-checkbox active-color="#35842E" label="②开" :checked="item.landWaterOutletPermissionVo.valveTwoOpen == 0" name="valveTwoOpen"></u-checkbox>
|
||||
<u-checkbox active-color="#35842E" label="③开" :checked="item.landWaterOutletPermissionVo.valveThreeOpen == 0" name="valveThreeOpen"></u-checkbox>
|
||||
<u-checkbox active-color="#35842E" label="④开" :checked="item.landWaterOutletPermissionVo.valveFourOpen == 0" name="valveFourOpen"></u-checkbox>
|
||||
</u-checkbox-group>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<template #bottom>
|
||||
<view class="button">
|
||||
<u-button style="width: 200px; height: 40px; border-radius: 4px" type="success" text="设 置"
|
||||
@click="submit" :disabled="disabled"></u-button>
|
||||
<u-button style="width: 200px; height: 40px; border-radius: 4px" type="success" text="设 置" @click="submit" :disabled="disabled"></u-button>
|
||||
</view>
|
||||
</template>
|
||||
</z-paging>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import plugin from "@/plugins"
|
||||
import {
|
||||
getLandWaterOutletPermissionList,
|
||||
saveLandWaterOutletPermission
|
||||
} from "@/api/system/landWaterOutletPermission"
|
||||
export default {
|
||||
import plugin from "@/plugins";
|
||||
import { getLandWaterOutletPermissionList, saveLandWaterOutletPermission } from "@/api/system/landWaterOutletPermission";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
landId: null,
|
||||
@ -119,12 +87,12 @@
|
||||
userId: null
|
||||
},
|
||||
disabled: false
|
||||
}
|
||||
};
|
||||
},
|
||||
onLoad(options) {
|
||||
this.landId = options.landId
|
||||
this.query.landId = options.landId
|
||||
this.query.userId = options.userId
|
||||
this.landId = options.landId;
|
||||
this.query.landId = options.landId;
|
||||
this.query.userId = options.userId;
|
||||
this.queryList();
|
||||
},
|
||||
methods: {
|
||||
@ -132,231 +100,163 @@
|
||||
if (!this.query.landId) {
|
||||
return;
|
||||
}
|
||||
this.dataList = []
|
||||
getLandWaterOutletPermissionList(this.query)
|
||||
.then(res => {
|
||||
this.dataList = [];
|
||||
getLandWaterOutletPermissionList(this.query).then(res => {
|
||||
this.dataList = res.data;
|
||||
this.$refs.paging.complete(this.dataList)
|
||||
})
|
||||
this.$refs.paging.complete(this.dataList);
|
||||
});
|
||||
},
|
||||
onSearchValue(e) {
|
||||
this.query.showName = e;
|
||||
this.queryList();
|
||||
},
|
||||
//提交
|
||||
submit() {
|
||||
let saveObj = {
|
||||
landId:this.query.landId,
|
||||
userId:this.query.userId,
|
||||
landId: this.query.landId,
|
||||
userId: this.query.userId,
|
||||
landWaterOutlets: this.dataList
|
||||
}
|
||||
plugin.modal.loading("设置中...")
|
||||
};
|
||||
plugin.modal.loading("设置中...");
|
||||
this.disabled = true;
|
||||
//获取该用户地块列表
|
||||
saveLandWaterOutletPermission(saveObj)
|
||||
.then(res => {
|
||||
plugin.modal.msgSuccess("设置成功!")
|
||||
//刷新列表
|
||||
saveLandWaterOutletPermission(saveObj).then(res => {
|
||||
plugin.modal.msgSuccess("设置成功!");
|
||||
this.queryList();
|
||||
this.disabled = false;
|
||||
})
|
||||
});
|
||||
},
|
||||
//全选
|
||||
handleChangeAllRow() {
|
||||
this.selectAll = !this.selectAll;
|
||||
const selectAll = this.selectAll;
|
||||
const valveDefaults = {
|
||||
valveClose: 1,
|
||||
valveOpen: 1,
|
||||
valveOneOpen: 1,
|
||||
valveTwoOpen: 1,
|
||||
valveThreeOpen: 1,
|
||||
valveFourOpen: 1
|
||||
};
|
||||
const valveSettings = {
|
||||
valve: {
|
||||
true: {
|
||||
valveClose: 0,
|
||||
valveOpen: 0,
|
||||
valveOneOpen: 0,
|
||||
valveTwoOpen: 0,
|
||||
valveThreeOpen: 1,
|
||||
valveFourOpen: 1
|
||||
},
|
||||
false: {}
|
||||
},
|
||||
fiveValve: {
|
||||
true: {
|
||||
valveClose: 1,
|
||||
valveOpen: 1,
|
||||
valveOneOpen: 0,
|
||||
valveTwoOpen: 0,
|
||||
valveThreeOpen: 0,
|
||||
valveFourOpen: 0
|
||||
},
|
||||
false: {}
|
||||
}
|
||||
};
|
||||
this.dataList.forEach(item => {
|
||||
const deviceType = item.landWaterOutletPermissionVo.deviceTypeKey;
|
||||
const settings = valveSettings[deviceType][selectAll];
|
||||
Object.assign(item.landWaterOutletPermissionVo, valveDefaults, settings);
|
||||
this.handleRowPermissions(item, selectAll);
|
||||
});
|
||||
},
|
||||
//单行全选
|
||||
handleChangeRow(e, row) {
|
||||
const permissions = row.landWaterOutletPermissionVo;
|
||||
const valveDefaults = {
|
||||
valveClose: 1,
|
||||
valveOpen: 1,
|
||||
valveOneOpen: 1,
|
||||
valveTwoOpen: 1,
|
||||
valveThreeOpen: 1,
|
||||
valveFourOpen: 1
|
||||
};
|
||||
const valveSettings = {
|
||||
valve: {
|
||||
valveClose: 0,
|
||||
valveOpen: 0,
|
||||
valveOneOpen: 0,
|
||||
valveTwoOpen: 0,
|
||||
valveThreeOpen: 1,
|
||||
valveFourOpen: 1
|
||||
this.handleRowPermissions(row, e && e.length);
|
||||
},
|
||||
fiveValve: {
|
||||
valveClose: 1,
|
||||
valveOpen: 1,
|
||||
valveOneOpen: 0,
|
||||
valveTwoOpen: 0,
|
||||
valveThreeOpen: 0,
|
||||
valveFourOpen: 0
|
||||
}
|
||||
};
|
||||
const deviceType = row.landWaterOutletPermissionVo.deviceTypeKey;
|
||||
const settings = e && e.length ? valveSettings[deviceType] : {};
|
||||
Object.assign(permissions, valveDefaults, settings);
|
||||
},
|
||||
//更改设备类型
|
||||
handleChangeDeviceType(e, obj){
|
||||
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
|
||||
this.setDefaultPermissions(permissions);
|
||||
},
|
||||
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) {
|
||||
this.judgeValue(e, obj);
|
||||
},
|
||||
judgeValue(e, itemSample) {
|
||||
const valveProperties = [
|
||||
'valveClose',
|
||||
'valveOpen',
|
||||
'valveOneOpen',
|
||||
'valveTwoOpen',
|
||||
'valveThreeOpen',
|
||||
'valveFourOpen'
|
||||
];
|
||||
const permissions = itemSample.landWaterOutletPermissionVo;
|
||||
valveProperties.forEach(property => {
|
||||
['valveClose', 'valveOpen', 'valveOneOpen', 'valveTwoOpen', 'valveThreeOpen', 'valveFourOpen'].forEach(property => {
|
||||
permissions[property] = e.includes(property) ? 0 : 1;
|
||||
});
|
||||
},
|
||||
handleRowPermissions(row, selectAll) {
|
||||
const permissions = row.landWaterOutletPermissionVo;
|
||||
this.setDefaultPermissions(permissions);
|
||||
if (selectAll) {
|
||||
if (this.isValve(row)) {
|
||||
permissions.valveClose = 0;
|
||||
permissions.valveOpen = 0;
|
||||
permissions.valveOneOpen = 0;
|
||||
permissions.valveTwoOpen = 0;
|
||||
} else if (this.isFiveValve(row)) {
|
||||
permissions.valveOneOpen = 0;
|
||||
permissions.valveTwoOpen = 0;
|
||||
permissions.valveThreeOpen = 0;
|
||||
permissions.valveFourOpen = 0;
|
||||
}
|
||||
}
|
||||
},
|
||||
setDefaultPermissions(permissions) {
|
||||
permissions.valveClose = 1;
|
||||
permissions.valveOpen = 1;
|
||||
permissions.valveOneOpen = 1;
|
||||
permissions.valveTwoOpen = 1;
|
||||
permissions.valveThreeOpen = 1;
|
||||
permissions.valveFourOpen = 1;
|
||||
},
|
||||
isValve(item) {
|
||||
return item.landWaterOutletPermissionVo.deviceTypeKey === 'valve';
|
||||
},
|
||||
isFiveValve(item) {
|
||||
return item.landWaterOutletPermissionVo.deviceTypeKey === 'fiveValve';
|
||||
},
|
||||
isAllSelected(item) {
|
||||
if (this.isValve(item)) {
|
||||
return item.landWaterOutletPermissionVo.valveClose === 0 &&
|
||||
item.landWaterOutletPermissionVo.valveOpen === 0 &&
|
||||
item.landWaterOutletPermissionVo.valveOneOpen === 0 &&
|
||||
item.landWaterOutletPermissionVo.valveTwoOpen === 0;
|
||||
} else if (this.isFiveValve(item)) {
|
||||
return item.landWaterOutletPermissionVo.valveOneOpen === 0 &&
|
||||
item.landWaterOutletPermissionVo.valveTwoOpen === 0 &&
|
||||
item.landWaterOutletPermissionVo.valveThreeOpen === 0 &&
|
||||
item.landWaterOutletPermissionVo.valveFourOpen === 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.index-container {
|
||||
.index-container {
|
||||
background-color: #f6f3f3;
|
||||
height: 100%;
|
||||
|
||||
.search {
|
||||
background-color: white;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.title {
|
||||
height: 50px;
|
||||
display: flex;
|
||||
padding: 15px 15px;
|
||||
background: white;
|
||||
align-items: center;
|
||||
|
||||
text {
|
||||
font-size: 14px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.list {
|
||||
height: calc(100vh - 150px - env(safe-area-inset-bottom));
|
||||
margin: 0px 10px;
|
||||
|
||||
work-user-index-item {
|
||||
background-color: #f6f3f3;
|
||||
}
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 10px 20px;
|
||||
display: flex;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.item-container {
|
||||
margin-top: 10px;
|
||||
background-color: white;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.flex-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 16px;
|
||||
|
||||
.flex-text-one {
|
||||
color: #939393;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.checkBox {
|
||||
// margin: 20px 0px;
|
||||
margin: 10px 0px 0px 0px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
}
|
||||
|
||||
.tips {
|
||||
}
|
||||
.tips {
|
||||
padding: 10px;
|
||||
line-height: 20px;
|
||||
font-size: 14px;
|
||||
color: gray;
|
||||
// letter-spacing: 1px;
|
||||
background-color: #fff;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
|
||||
::v-deep.zp-paging-container {
|
||||
}
|
||||
::v-deep.zp-paging-container {
|
||||
background: #f3f3f3 !important;
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue
Block a user