This commit is contained in:
Iruka 2025-01-21 09:37:40 +08:00
commit 935f082d1e
10 changed files with 642 additions and 38 deletions

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询轮灌-轮灌方案-组-出水口_批量控制角度列表
export function listIrrigateAngle(query) {
return request({
url: '/irrigate/irrigateAngle/list',
method: 'get',
params: query
})
}
// 查询轮灌-轮灌方案-组-出水口_批量控制角度详细
export function getIrrigateAngle(id) {
return request({
url: '/irrigate/irrigateAngle/' + id,
method: 'get'
})
}
// 新增轮灌-轮灌方案-组-出水口_批量控制角度
export function addIrrigateAngle(data) {
return request({
url: '/irrigate/irrigateAngle',
method: 'post',
data: data
})
}
// 修改轮灌-轮灌方案-组-出水口_批量控制角度
export function updateIrrigateAngle(data) {
return request({
url: '/irrigate/irrigateAngle',
method: 'put',
data: data
})
}
// 删除轮灌-轮灌方案-组-出水口_批量控制角度
export function delIrrigateAngle(id) {
return request({
url: '/irrigate/irrigateAngle/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询轮灌-轮灌方案-组列表
export function listIrrigateGroup(query) {
return request({
url: '/irrigate/irrigateGroup/list',
method: 'get',
params: query
})
}
// 查询轮灌-轮灌方案-组详细
export function getIrrigateGroup(id) {
return request({
url: '/irrigate/irrigateGroup/' + id,
method: 'get'
})
}
// 新增轮灌-轮灌方案-组
export function addIrrigateGroup(data) {
return request({
url: '/irrigate/irrigateGroup',
method: 'post',
data: data
})
}
// 修改轮灌-轮灌方案-组
export function updateIrrigateGroup(data) {
return request({
url: '/irrigate/irrigateGroup',
method: 'put',
data: data
})
}
// 删除轮灌-轮灌方案-组
export function delIrrigateGroup(id) {
return request({
url: '/irrigate/irrigateGroup/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,78 @@
import request from '@/utils/request'
// 查询轮灌-轮灌方案 列表
export function getBatchControlList(landId) {
return request({
url: `/system/irrigateScenario/getBatchControlList/${landId}`,
method: 'get',
})
}
// 查询轮灌-轮灌方案 列表
export function getBatchControlInfo(id) {
return request({
url: `/system/irrigateScenario/getBatchControlInfo/${id}`,
method: 'get',
})
}
// 新增批量控制
export function saveBatchControl(data) {
return request({
url: '/irrigate/irrigateScenario/saveBatchControl',
method: 'post',
data: data
})
}
// 查询轮灌-轮灌方案 列表
export function listIrrigateScenario(query) {
return request({
url: '/irrigate/irrigateScenario/list',
method: 'get',
params: query
})
}
// 查询轮灌-轮灌方案 详细
export function getIrrigateScenario(id) {
return request({
url: '/irrigate/irrigateScenario/' + id,
method: 'get'
})
}
// 新增轮灌-轮灌方案
export function addIrrigateScenario(data) {
return request({
url: '/irrigate/irrigateScenario',
method: 'post',
data: data
})
}
// 修改轮灌-轮灌方案
export function updateIrrigateScenario(data) {
return request({
url: '/irrigate/irrigateScenario',
method: 'put',
data: data
})
}
// 删除轮灌-轮灌方案
export function delIrrigateScenario(id) {
return request({
url: '/irrigate/irrigateScenario/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询轮灌-轮灌方案-组-出水口列表
export function listIrrigateWateOutlet(query) {
return request({
url: '/irrigate/irrigateWateOutlet/list',
method: 'get',
params: query
})
}
// 查询轮灌-轮灌方案-组-出水口详细
export function getIrrigateWateOutlet(id) {
return request({
url: '/irrigate/irrigateWateOutlet/' + id,
method: 'get'
})
}
// 新增轮灌-轮灌方案-组-出水口
export function addIrrigateWateOutlet(data) {
return request({
url: '/irrigate/irrigateWateOutlet',
method: 'post',
data: data
})
}
// 修改轮灌-轮灌方案-组-出水口
export function updateIrrigateWateOutlet(data) {
return request({
url: '/irrigate/irrigateWateOutlet',
method: 'put',
data: data
})
}
// 删除轮灌-轮灌方案-组-出水口
export function delIrrigateWateOutlet(id) {
return request({
url: '/irrigate/irrigateWateOutlet/' + id,
method: 'delete'
})
}

View File

@ -1,24 +1,28 @@
import request from "@/utils/request"
// 查询
export function getWaterOutletPermissionList(landId) {
return request({
url: `/system/app/waterOutletPermission/getWaterOutletPermissionList/${landId}`,
method: 'get'
})
}
// 查询
export function getLandWaterOutletPermissionList(data) {
return request({
url: '/system/app/waterOutletPermission/getLandWaterOutletPermissionList' ,
method: 'get',
params:data
})
return request({
url: '/system/app/waterOutletPermission/getLandWaterOutletPermissionList',
method: 'get',
params: data
})
}
//保存
export function saveLandWaterOutletPermission(data) {
return request({
url: '/system/app/waterOutletPermission/saveLandWaterOutletPermission' ,
method: 'post',
data:data
})
}
return request({
url: '/system/app/waterOutletPermission/saveLandWaterOutletPermission',
method: 'post',
data: data
})
}

View File

@ -0,0 +1,204 @@
<template>
<u-popup mode="left" :show="show" @close="close">
<view style="width: 100vw;">
<view class="text-intel">
<view style="width: 30%;">
<span class="text" v-if="groupItem.groupName">轮灌组{{groupItem.groupName}}</span>
<span class="text" v-else>轮灌组新增组</span>
</view>
<view style="width: 30%;">
<span v-if="groupItem.irrigateDuration">时长{{groupItem.irrigateDuration}}</span>
</view>
<view style="width: 30%;">
<span>已选{{groupItem.wos.length}}</span>
</view>
</view>
<view class="card">
<uni-collapse>
<uni-collapse-item title-border="none" :border="false" :show-arrow="false" v-for="item in woData">
<template v-slot:title>
<view class="cards-title">
<view>
<view class="iconfont icon-nongtian icon"></view>
<view class="text" style="color: #333;">
{{ item.showName }}
</view>
</view>
</view>
</template>
<view class="content" v-if="item.children">
<uni-forms ref="baseForm" :modelValue="baseFormData" >
<view class="cards-content">
<view class="greybar-box" v-for="child in item.children">
<view class="title">
<view>出水口<span>{{child.showName}}</span></view>
<view>阀门三通阀</view>
</view>
<view class="check-box">
<uni-forms-item>
<uni-data-checkbox v-model="baseFormData.hobby" multiple
:localdata="hobbys" />
</uni-forms-item>
</view>
</view>
<view class="greybar-box">
<view class="title">
<view>出水口<span>1-2</span></view>
<view>阀门多通阀</view>
</view>
<view class="check-box">
<uni-forms-item>
<uni-data-checkbox v-model="baseFormData.hobby" multiple
:localdata="hobby" />
</uni-forms-item>
</view>
</view>
<view class="greybar-box">
<view class="title">
<view>出水口<span>1-3</span></view>
<view>阀门多通阀</view>
</view>
<view class="check-box">
<uni-forms-item>
<uni-data-checkbox v-model="baseFormData.hobby" multiple
:localdata="hobby" />
</uni-forms-item>
</view>
</view>
<view class="greybar-box">
<view class="title">
<view>出水口<span>1-3</span></view>
<view>阀门多通阀</view>
</view>
<view class="no-data">
<view class="iconfont icon-wbd"></view>未绑定阀门
</view>
</view>
</view>
</uni-forms>
</view>
</uni-collapse-item>
</uni-collapse>
</view>
<view class="bottom-btn">
<u-button type="success" size="large" :text="confirmLabel" @click="confirm" />
</view>
</view>
</u-popup>
</template>
<script>
export default {
name: "custom-irrigation-select",
emits: ["confirm"],
props: {
// 线
woData: {
type: Array,
default: [],
required: true
},
selectData: {
type: Array,
default: {},
required: true
},
isBatchControl: {
type: Boolean,
default: false,
},
confirmLabel: {
type: String,
default: "确定",
}
},
data() {
return {
show: false,
groupItem: {},
//
baseFormData: {
hobby: [4],
},
//
hobbys: [{
text: '①开',
value: 0
}, {
text: '②开',
value: 1
}, {
text: '全开',
value: 2
}],
//
hobby: [{
text: '①开',
value: 0
}, {
text: '②开',
value: 1
}, {
text: '③开',
value: 2
}, {
text: '④开',
value: 3
}],
}
},
methods: {
open(item) {
this.groupItem = item;
this.show = true;
console.error("woData:", this.woData);
},
confirm() {
this.show = false;
this.$emit('confirm', null);
}
}
}
</script>
<style lang="scss" scoped>
uni-app,
uni-page,
uni-page-wrapper,
uni-page-body {
padding-bottom: 38px !important;
}
//
::v-deep .uni-forms {
padding: 0 !important;
}
::v-deep .uni-forms-item__label {
min-width: 0px !important;
}
.uni-forms-item {
margin-bottom: 0;
}
::v-deep .uni-data-checklist .checklist-group {
padding: 10px;
}
::v-deep .uni-data-checklist .checklist-group .checklist-box {
flex: 1;
margin-right: 0px;
}
::v-deep .uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checklist-text {
color: #39ac4f;
}
::v-deep .uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checkbox__inner {
border-color: #39ac4f;
background-color: #39ac4f;
}
</style>

View File

@ -1,8 +1,145 @@
<template>
<!-- 顶部导航栏 -->
<custom-nav-bar :left="true" leftText="" @leftClick="" title="轮灌组列表"></custom-nav-bar>
<view class="text-intel">
<view>
<span>轮灌组</span>
<span class="font-green">2</span>
</view>
<view>
<span>总时长</span>
<span class="font-green">12:12:12</span>
</view>
</view>
<view class="card">
<uni-collapse>
<uni-collapse-item title-border="none" :border="false" :show-arrow="false" :open="true">
<template v-slot:title>
<view class="cards-title">
<view>
<view class="text">轮灌组1</view>
<view>
<uni-forms>
<uni-forms-item label="时长:">
<uni-easyinput placeholder="1:00:00" />
</uni-forms-item>
</uni-forms>
</view>
<view>已选3</view>
</view>
<view class="title-r">
<u-button type="success" size="mini" text="编辑" />
<u-button class="bg-red" type="success" size="mini" text="删除" />
</view>
</view>
</template>
<view class="content">
<view class="cards-content">
<view class="greybar">
<view>出水口<span>1-1</span></view>
<view>三通<span>①开</span></view>
</view>
<view class="greybar">
<view>出水口<span>1-1</span></view>
<view>三通<span>①开</span></view>
</view>
<view class="greybar">
<view>出水口<span>1-1</span></view>
<view>三通<span>①开</span></view>
</view>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
</view>
<view class="bottom-btn">
<u-button type="success" size="large" text="新增" @click="config" />
</view>
<custom-irrigation-select ref="irrigationSelectRef" :woData="woData" :selectData="selectData" :isBatchControl="true"
confirmLabel="确定" @confirm="woClick" />
</template>
<script>
import {
getWaterOutletPermissionList
} from "@/api/system/landWaterOutletPermission";
export default {
data() {
return {
landId: null,
itemId: null,
woData: [],
selectData: {},
dataList: [],
}
},
onLoad(par) {
console.error("par:", par);
if (par.landId) {
this.landId = par.landId;
}
if (par.id) {
this.itemId = par.id;
}
},
mounted() {
getWaterOutletPermissionList(this.landId).then(res => {
console.error("res:", res)
if (res.data) {
this.woData = res.data;
} else {
this.woData = [];
}
this.$nextTick(() => {
this.$refs.irrigationSelectRef.open();
})
});
},
methods: {
//
config() {
uni.navigateTo({
url: '/pages/irrigation/config'
});
},
woClick(e) {
console.error(e);
},
},
};
</script>
<style>
<style lang="scss" scoped>
uni-app,
uni-page,
uni-page-wrapper,
uni-page-body {
padding-bottom: 38px !important;
}
::v-deep .uni-forms {
margin-right: 10px;
padding: 0 !important;
}
::v-deep .uni-forms-item {
margin-bottom: 0 !important;
}
::v-deep .uni-forms-item__label {
min-width: 0 !important;
width: auto !important;
font-size: 0.8rem;
height: inherit;
padding: 0;
}
::v-deep .uni-easyinput__content-input {
height: 20px;
width: 50px;
padding-left: 5px !important;
}
</style>

View File

@ -4,11 +4,11 @@
<template #top>
<!-- 顶部导航栏 -->
<custom-nav-bar :left="true" @leftClick="" title="批量控制">
<!-- <template v-slot:right>
<template v-slot:right>
<view class="fixed">
<view align="right" class="icon iconfont icon-jia" @click="editItem"></view>
<view align="right" class="icon iconfont icon-jia" @click="editItem()"></view>
</view>
</template> -->
</template>
</custom-nav-bar>
</template>
<view class="card" v-for="item in dataList">
@ -30,37 +30,88 @@
</view> -->
</view>
</z-paging>
<custom-irrigation-select ref="irrigationSelectRef" :woData="woData" :selectData="selectData" :isBatchControl="true"
confirmLabel="确定" @confirm="woClick" />
</template>
<script>
import store from '@/store'
const user = store.state.user.user;
import * as isApi from '@/api/irrigate/irrigateScenario.js'
import {
getWaterOutletPermissionList
} from "@/api/system/landWaterOutletPermission";
export default {
data() {
return {
land: null,
landId: null,
woData: null,
selectData: null,
dataList: [],
queryParams: {
landId: -1, //id
},
}
},
onLoad(par) {},
onLoad(par) {
},
onShow() {
console.error("user:", user.userId);
if (getApp().ijs.land) {
this.land = getApp().ijs.land;
this.landId = getApp().ijs.land.id;
}
},
mounted() {},
methods: {
queryList() {
this.$refs.paging.completeByTotal([]);
isApi.getBatchControlList(this.landId).then(res => {
console.error("res:", res)
this.$refs.paging.completeByTotal([]);
});
// userlog.getlist(this.queryParams).then(res => {
// this.$refs.paging.completeByTotal(res.rows, res.total);
// });
},
//
editItem(id = null) {
uni.navigateTo({
url: `/pages/batch-control/edit?landId=${this.land.id}&id=${this.land.id}`
});
async editItem(id = null) {
if (!this.woData) {
uni.showLoading();
const woData = await getWaterOutletPermissionList(this.landId);
if (woData.data) {
this.woData = woData.data;
} else {
this.woData = [];
}
this.selectData = {};
uni.hideLoading()
}
console.error("this.woData:", this.woData);
if (id) {
this.$refs.irrigationSelectRef.open();
} else {
this.$refs.irrigationSelectRef.open({
title: "新增",
landId: this.landId,
userId: user.userId,
shareUserIds: undefined,
irrigateScenarioId: undefined,
groupName: undefined,
irrigateDuration: undefined,
sort: undefined,
delFlag: "0",
wos: []
});
}
// let url = `/pages/batch-control/edit?landId=${this.landId}`
// if (id) {
// url = `${url}&id=${id}`
// }
// uni.navigateTo({
// url: url
// });
},
}
}

View File

@ -114,11 +114,10 @@
this.windowHeight = uni.getSystemInfoSync().windowHeight;
},
onLoad() {
let companyId = null;
if (getApp().ijs.land) {
companyId = getApp().ijs.land.companyGroup.companyId
this.companyGroupId = getApp().ijs.land.companyGroupId
}
this.getCompanyTree(companyId);
this.getCompanyTree(this.companyGroupId);
},
onShow() {
if (this.paging != null) {

View File

@ -143,12 +143,11 @@
created() {
this.windowHeight = uni.getSystemInfoSync().windowHeight;
},
onLoad() {
let companyId = null;
onLoad()
if (getApp().ijs.land) {
companyId = getApp().ijs.land.companyGroup.companyId
this.companyGroupId = getApp().ijs.land.companyGroupId
}
this.getCompanyTree(companyId);
this.getCompanyTree(this.companyGroupId);
},
onShow() {
if (this.paging != null) {