Compare commits

..

2 Commits

Author SHA1 Message Date
jia 4a4986d35e 跟新 2023-12-09 17:08:17 +08:00
jia 14eea39897 界面优化 2023-12-09 17:07:42 +08:00
11 changed files with 270 additions and 129 deletions

View File

@ -5,7 +5,7 @@
{{info.title}} {{info.title}}
号土地 号土地
</view> </view>
<!-- <view class="" style="display:flex;"> <!-- <view class="" style="display:flex;">
<view class="" style="margin-right: 10rpx;">溯源码: </view> <view class="" style="margin-right: 10rpx;">溯源码: </view>
@ -14,9 +14,9 @@
</view> --> </view> -->
</view> </view>
<view class="card-li"> <view class="card-li">
<view class="" v-if="info.kindarea"> <view class="" v-if="info.kindarea">
当前种植: {{info.kindarea}} 当前种植: {{info.kindarea}}
</view> </view>
<view class="" v-else> <view class="" v-else>
当前种植: {{info.total_area-info.residual_area}} 当前种植: {{info.total_area-info.residual_area}}
@ -26,7 +26,7 @@
</view> --> </view> -->
</view> </view>
<view class="card-li" v-if="info.kind"> <view class="card-li" v-if="info.kind">
<view class=""> <view class="">
种植品种: {{info.kind}} 种植品种: {{info.kind}}
</view> </view>
@ -47,7 +47,7 @@
种子品牌: {{}} 种子品牌: {{}}
</view> --> </view> -->
</view> </view>
<view class="card-li"> <view class="card-li">
<view class=""> <view class="">
@ -57,7 +57,7 @@
</view> </view>
<view class="card-li"> <view class="card-li">
<view class=""> <view class="">
土地负责人: {{info.master_phone}} 联系方式: {{info.master_phone}}
</view> </view>
</view> </view>
@ -102,4 +102,4 @@
justify-content: space-between; justify-content: space-between;
} }
} }
</style> </style>

View File

@ -41,7 +41,9 @@
v-model="data.formData.master_phone"></up-input> v-model="data.formData.master_phone"></up-input>
</u-form-item> </u-form-item>
<view class="card-li"> <view class="card-li">
<view class="card-li-tit"> <view class="card-li-tit">
<span>*</span>
土地图片 土地图片
</view> </view>
<view class="code-img1"> <view class="code-img1">
@ -431,9 +433,19 @@
<style lang="scss"> <style lang="scss">
.card-li-tit { .card-li-tit {
position: relative;
span {
position: absolute;
left: -9px;
color: #f56c6c;
line-height: 20px;
font-size: 20px;
top: 3px;
}
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.confim-btn { .confim-btn {
margin: 0 auto; margin: 0 auto;
width: 196.26rpx; width: 196.26rpx;

View File

@ -3,37 +3,37 @@
<view class="content"> <view class="content">
<view class="card"> <view class="card">
<u--form labelPosition="top" labelWidth='130' :model="formData" :rules="rules" ref="form"> <u--form labelPosition="top" labelWidth='130' :model="formData" :rules="rules" ref="form">
<u-form-item label="虫剂种类" prop="kind" borderBottom ref='item1' required> <u-form-item label="虫剂种类" prop="kind" borderBottom ref='item1' required>
<up-input placeholder="请输入虫剂种类" :disabled="mode=='detail'" border="surround" <up-input placeholder="请输入虫剂种类" :disabled="mode=='detail'" border="surround"
v-model="formData.kind"></up-input> v-model="formData.kind"></up-input>
</u-form-item> </u-form-item>
<u-form-item label="虫剂品牌" prop="breed" borderBottom required> <u-form-item label="虫剂品牌" prop="breed" borderBottom required>
<up-input placeholder="请输入虫剂品牌" :disabled="mode=='detail'" border="surround" <up-input placeholder="请输入虫剂品牌" :disabled="mode=='detail'" border="surround"
v-model="formData.breed"></up-input> v-model="formData.breed"></up-input>
</u-form-item> </u-form-item>
<u-form-item label="虫剂用量(升)" prop="dosage" borderBottom required> <u-form-item label="虫剂用量(升)" prop="dosage" borderBottom required>
<up-input placeholder="请输入虫剂用量" type='number' border="surround" :disabled="mode=='detail'" <up-input placeholder="请输入虫剂用量" type='number' border="surround" :disabled="mode=='detail'"
v-model="formData.dosage"></up-input> v-model="formData.dosage"></up-input>
</u-form-item> </u-form-item>
<view class="" v-if="mode=='add'"> <view class="" v-if="mode=='add'">
<u-form-item label="开始日期" @click="openDate" prop="start_date" borderBottom required> <u-form-item label="开始日期" @click="openDate" prop="start_date" borderBottom required>
<up-input placeholder="请选择日期" readonly border="surround" <up-input placeholder="请选择日期" readonly border="surround" v-model="formData.start_date"
v-model="formData.start_date" style="pointer-events: none;"></up-input> style="pointer-events: none;"></up-input>
</u-form-item> </u-form-item>
<u-form-item label="结束日期" prop="end_date" @click="openDate1" borderBottom required> <u-form-item label="结束日期" prop="end_date" @click="openDate1" borderBottom required>
<up-input placeholder="请选择日期" readonly border="surround" <up-input placeholder="请选择日期" readonly border="surround" v-model="formData.end_date"
v-model="formData.end_date" style="pointer-events: none;"></up-input> style="pointer-events: none;"></up-input>
</u-form-item> </u-form-item>
</view> </view>
<view class="" v-else> <view class="" v-else>
<u-form-item label="开始日期" prop="start_date" borderBottom required> <u-form-item label="开始日期" prop="start_date" borderBottom required>
<up-input placeholder="请选择日期" readonly border="surround" <up-input placeholder="请选择日期" readonly border="surround" v-model="formData.start_date"
v-model="formData.start_date" style="pointer-events: none;"></up-input> style="pointer-events: none;"></up-input>
</u-form-item> </u-form-item>
<u-form-item label="结束日期" prop="end_date" borderBottom required> <u-form-item label="结束日期" prop="end_date" borderBottom required>
<up-input placeholder="请选择日期" readonly border="surround" <up-input placeholder="请选择日期" readonly border="surround" v-model="formData.end_date"
v-model="formData.end_date" style="pointer-events: none;"></up-input> style="pointer-events: none;"></up-input>
</u-form-item> </u-form-item>
</view> </view>
<u-form-item label="作业面积(亩)" prop="area" borderBottom required> <u-form-item label="作业面积(亩)" prop="area" borderBottom required>
@ -41,22 +41,23 @@
v-model="formData.area"></up-input> v-model="formData.area"></up-input>
</u-form-item> </u-form-item>
<u-form-item label="参与人" prop="user" borderBottom required> <u-form-item label="参与人" prop="user" borderBottom required>
<up-input placeholder="请输入参与人" :disabled="mode=='detail'" type="txt" border="surround" <up-input placeholder="请输入参与人" :disabled="mode=='detail'" type="txt" border="surround"
v-model="formData.user"></up-input> v-model="formData.user"></up-input>
</u-form-item> </u-form-item>
<view class="card-li"> <view class="card-li">
<view class="card-li-tit"> <view class="card-li-tit">
<span>*</span> <span>*</span>
虫图片 虫图片
</view> </view>
<view class="code-img1"> <view class="code-img1">
<view class="" v-if="pic.length>0" <view class="" v-if="pic.length>0"
style="display: flex;flex-direction: row;flex-wrap: wrap;margin-bottom: 30rpx;"> style="display: flex;flex-direction: row;flex-wrap: wrap;margin-bottom: 30rpx;">
<view class="" v-for="(item,i) in pic" style="margin-right: 30rpx;"> <view class="" v-for="(item,i) in pic" style="margin-right: 30rpx;">
<view class=""> <view class="">
<u-icon name="close" size="15" style="margin-left:120.85rpx;" <u-icon name="close" size="15" style="margin-left:120.85rpx;" @click="delimg(i)"
@click="delimg(i)" v-show="mode=='add'"></u-icon> v-show="mode=='add'"></u-icon>
<u-image :src="item" width="150.85rpx" height="150.85rpx" @click="perviewFn(item)"></u-image> <u-image :src="item" width="150.85rpx" height="150.85rpx"
@click="perviewFn(item)"></u-image>
</view> </view>
</view> </view>
</view> </view>
@ -75,7 +76,7 @@
</view> </view>
</view> </view>
<u-form-item label="备注" prop="remark" borderBottom > <u-form-item label="备注" prop="remark" borderBottom>
<u--textarea v-model="formData.remark" :disabled="mode=='detail'" placeholder="请输入内容"></u--textarea> <u--textarea v-model="formData.remark" :disabled="mode=='detail'" placeholder="请输入内容"></u--textarea>
</u-form-item> </u-form-item>
@ -84,10 +85,10 @@
<!-- <uni-calendar ref="calendar" :showMonth="true" :lunar="true" :insert="false" @confirm="dateConfirmfn" /> <!-- <uni-calendar ref="calendar" :showMonth="true" :lunar="true" :insert="false" @confirm="dateConfirmfn" />
<uni-calendar ref="calendar1" :showMonth="true" :lunar="true" :insert="false" <uni-calendar ref="calendar1" :showMonth="true" :lunar="true" :insert="false"
@confirm="dateConfirmfn1" /> --> @confirm="dateConfirmfn1" /> -->
<u-datetime-picker :show="show1" v-model="value1" mode="datetime" @confirm="dateConfirmfn" <u-datetime-picker :show="show1" v-model="value1" mode="datetime" @confirm="dateConfirmfn"
:formatter="formatter" @cancel="show1=false"></u-datetime-picker> :formatter="formatter" @cancel="show1=false"></u-datetime-picker>
<u-datetime-picker :show="show2" v-model="value1" mode="datetime" @confirm="dateConfirmfn1" <u-datetime-picker :show="show2" v-model="value1" mode="datetime" @confirm="dateConfirmfn1"
:formatter="formatter" @cancel="show2=false"></u-datetime-picker> :formatter="formatter" @cancel="show2=false"></u-datetime-picker>
</view> </view>
</view> </view>
@ -117,7 +118,8 @@
onReady onReady
} from '@dcloudio/uni-app'; } from '@dcloudio/uni-app';
import { import {
addaction addaction,
plantdetail
} from '@/api/api.js' } from '@/api/api.js'
const pic = reactive([]); const pic = reactive([]);
@ -132,6 +134,7 @@
// calendar.value.open() // calendar.value.open()
show1.value = true show1.value = true
} }
const dataobj = reactive({})
const openDate1 = () => { const openDate1 = () => {
// calendar1.value.open() // calendar1.value.open()
show2.value = true show2.value = true
@ -146,19 +149,19 @@
end_date: "", end_date: "",
}) })
const formatter = (type, value) => { const formatter = (type, value) => {
if (type === 'year') { if (type === 'year') {
return `${value}`; return `${value}`;
} }
if (type === 'month') { if (type === 'month') {
return `${value}`; return `${value}`;
} }
if (type === 'day') { if (type === 'day') {
return `${value}`; return `${value}`;
} }
return value; return value;
}; };
// //
const dateConfirmfn = (e) => { const dateConfirmfn = (e) => {
formData.start_date = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM ') formData.start_date = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM ')
show1.value = false show1.value = false
@ -171,19 +174,19 @@ const formatter = (type, value) => {
'kind': { 'kind': {
type: 'string', type: 'string',
required: true, required: true,
message: '请填写虫剂品牌', message: '请填写虫剂品牌',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
}, },
'breed': { 'breed': {
type: 'string', type: 'string',
required: true, required: true,
message: '请填写虫剂品牌', message: '请填写虫剂品牌',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
}, },
'dosage': { 'dosage': {
type: 'string', type: 'string',
required: true, required: true,
message: '请填写虫剂用量', message: '请填写虫剂用量',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
}, },
'start_date': { 'start_date': {
@ -281,7 +284,10 @@ const formatter = (type, value) => {
if (res) { if (res) {
if (formData.area > dataobj.area) {
uni.$u.toast('作业面积不能超过种植面积')
return
}
formData.pic = pic formData.pic = pic
let data1 = { let data1 = {
@ -295,6 +301,28 @@ const formatter = (type, value) => {
return return
} }
let endTime = new Date(formData.end_date)
let startTime = new Date(formData.start_date)
let plantTime = new Date(dataobj.plant_date)
if (startTime < plantTime) {
uni.$u.toast("除虫时间必须超过种植的时间");
return
}
if (endTime < plantTime) {
uni.$u.toast("除虫时间必须超过种植的时间");
return
}
if (endTime < startTime) {
uni.$u.toast("结束时间不能小于开始时间");
return
} else if (startTime > endTime) {
uni.$u.toast("开始时间不能大于结束时间");
return
} else {
console.log("开始时间和结束时间合法");
}
console.log('表单通过'); console.log('表单通过');
// //
@ -311,15 +339,24 @@ const formatter = (type, value) => {
// uni.$u.toast('') // uni.$u.toast('')
} }
}).catch((err)=>{ }).catch((err) => {
uni.$u.toast(err[0].message) uni.$u.toast(err[0].message)
console.log(err) console.log(err)
}) })
} }
const getlist = () => {
plantdetail({
plant_id: task_id.value
}).then((res) => {
if (res.code == 1) {
// console.log(res)
Object.assign(dataobj, res.data)
}
});
};
const mode = ref('add') const mode = ref('add')
onLoad((options) => { onLoad((options) => {
@ -341,7 +378,7 @@ const formatter = (type, value) => {
task_id.value = options.id task_id.value = options.id
} }
getlist()
}) })
</script> </script>
@ -358,7 +395,7 @@ const formatter = (type, value) => {
.card-li-tit { .card-li-tit {
position: relative; position: relative;
span { span {
position: absolute; position: absolute;
left: -9px; left: -9px;
@ -367,7 +404,7 @@ const formatter = (type, value) => {
font-size: 20px; font-size: 20px;
top: 3px; top: 3px;
} }
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }

View File

@ -10,7 +10,8 @@
<view class="shop_action-detail" v-if="item.type!=3&&item.type!=5"> <view class="shop_action-detail" v-if="item.type!=3&&item.type!=5">
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}}品种 {{item.type_text.slice(0, -2)}}<text class=""
v-if="item.type==2||item.type==4"></text>品种
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.kind}} {{item.detail.kind}}
@ -18,7 +19,8 @@
</view> </view>
<view class="action-detail" v-if="item.detail.breed"> <view class="action-detail" v-if="item.detail.breed">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}}品牌 {{item.type_text.slice(0, -2)}}<text class=""
v-if="item.type==2||item.type==4"></text>品牌
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.breed}} {{item.detail.breed}}
@ -26,7 +28,8 @@
</view> </view>
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}}用量 {{item.type_text.slice(0, -2)}}<text class=""
v-if="item.type==2||item.type==4"></text>用量
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.dosage}} {{item.detail.dosage}}
@ -37,7 +40,7 @@
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}} 参与
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.user}} {{item.detail.user}}
@ -63,7 +66,7 @@
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}}图片 {{item.type_text.slice(0, -2)}}图片
</view> </view>
<view class="detail-img" v-if="item.detail&&item.detail.pic&&item.detail.pic.length>0"> <view class="detail-img" v-if="item.detail&&item.detail.pic&&item.detail.pic.length>0">
<image @click="perviewFn(item.detail.pic)" :src="item.detail.pic[0]" mode="aspectFit"> <image @click="perviewFn(item.detail.pic)" :src="item.detail.pic[0]" mode="aspectFit">
</image> </image>
@ -86,13 +89,13 @@
灌溉方式 灌溉方式
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.type==1?"喷灌":item.detail.type==2?"滴灌":"沟灌"}} {{item.detail.type==1?"喷灌":item.detail.type==2?"滴灌":"沟灌"}}
</view> </view>
</view> </view>
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
灌溉 参与
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.user}} {{item.detail.user}}
@ -136,7 +139,7 @@
<view class="action-detail"> <view class="action-detail">
<view class="title" style="width: 200rpx;"> <view class="title" style="width: 200rpx;">
收获 参与
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.user}} {{item.detail.user}}

View File

@ -11,8 +11,8 @@
<up-input placeholder="请输入肥料品牌" :disabled="mode=='detail'" border="surround" <up-input placeholder="请输入肥料品牌" :disabled="mode=='detail'" border="surround"
v-model="formData.breed"></up-input> v-model="formData.breed"></up-input>
</u-form-item> </u-form-item>
<u-form-item label="肥料用量(斤)" prop="dosage" borderBottom required> <u-form-item label="肥料用量(斤)" prop="dosage" borderBottom required>
<up-input placeholder="请输入肥料用量" border="surround" type='number' :disabled="mode=='detail'" <up-input placeholder="请输入肥料用量" border="surround" type='number' :disabled="mode=='detail'"
v-model="formData.dosage"></up-input> v-model="formData.dosage"></up-input>
</u-form-item> </u-form-item>
@ -78,7 +78,7 @@
</view> </view>
</view> </view>
<u-form-item label="备注" prop="remark" borderBottom > <u-form-item label="备注" prop="remark" borderBottom>
<u--textarea v-model="formData.remark" :disabled="mode=='detail'" placeholder="请输入内容"></u--textarea> <u--textarea v-model="formData.remark" :disabled="mode=='detail'" placeholder="请输入内容"></u--textarea>
</u-form-item> </u-form-item>
@ -121,7 +121,8 @@
onReady onReady
} from '@dcloudio/uni-app'; } from '@dcloudio/uni-app';
import { import {
addaction addaction,
plantdetail
} from '@/api/api.js' } from '@/api/api.js'
const pic = reactive([]); const pic = reactive([]);
@ -132,6 +133,7 @@
const value1 = ref(Date.now()); const value1 = ref(Date.now());
const show1 = ref(false); const show1 = ref(false);
const show2 = ref(false); const show2 = ref(false);
const dataobj = reactive({});
const openDate = () => { const openDate = () => {
// calendar.value.open() // calendar.value.open()
show1.value = true show1.value = true
@ -215,16 +217,16 @@
}); });
const formatter = (type, value) => { const formatter = (type, value) => {
if (type === 'year') { if (type === 'year') {
return `${value}`; return `${value}`;
} }
if (type === 'month') { if (type === 'month') {
return `${value}`; return `${value}`;
} }
if (type === 'day') { if (type === 'day') {
return `${value}`; return `${value}`;
} }
return value; return value;
}; };
// //
const updateImgFn = async () => { const updateImgFn = async () => {
@ -273,7 +275,10 @@
form.value.validate().then(res => { form.value.validate().then(res => {
// console.log(res) // console.log(res)
if (res) { if (res) {
if (formData.area > dataobj.area) {
uni.$u.toast('作业面积不能超过种植面积')
return
}
formData.pic = pic formData.pic = pic
let data1 = { let data1 = {
@ -281,6 +286,7 @@
type: 1, type: 1,
detail: JSON.stringify(formData) detail: JSON.stringify(formData)
}; };
if (formData.pic.length == 0) { if (formData.pic.length == 0) {
uni.$u.toast('请上传图片') uni.$u.toast('请上传图片')
@ -288,6 +294,17 @@
} }
let endTime = new Date(formData.end_date) let endTime = new Date(formData.end_date)
let startTime = new Date(formData.start_date) let startTime = new Date(formData.start_date)
let plantTime = new Date(dataobj.plant_date)
console.log(startTime<plantTime,endTime<plantTime)
if(startTime<plantTime ){
uni.$u.toast("施肥时间必须超过种植的时间");
return
}
if(endTime<plantTime){
uni.$u.toast("施肥时间必须超过种植的时间");
return
}
if (endTime < startTime) { if (endTime < startTime) {
uni.$u.toast("结束时间不能小于开始时间"); uni.$u.toast("结束时间不能小于开始时间");
return return
@ -297,6 +314,9 @@
} else { } else {
console.log("开始时间和结束时间合法"); console.log("开始时间和结束时间合法");
} }
console.log('表单通过'); console.log('表单通过');
@ -314,8 +334,8 @@
// uni.$u.toast('') // uni.$u.toast('')
} }
}).catch((err)=>{ }).catch((err) => {
uni.$u.toast(err[0].message)
console.log(err) console.log(err)
}) })
@ -332,7 +352,16 @@
const delimg = (i) => { const delimg = (i) => {
pic.splice(i, 1); pic.splice(i, 1);
} }
const getlist = () => {
plantdetail({
plant_id: task_id.value
}).then((res) => {
if (res.code == 1) {
// console.log(res)
Object.assign(dataobj, res.data)
}
});
};
const mode = ref('add') const mode = ref('add')
onLoad((options) => { onLoad((options) => {
@ -355,7 +384,7 @@
task_id.value = options.id task_id.value = options.id
} }
getlist()
}) })
</script> </script>
@ -372,7 +401,7 @@
.card-li-tit { .card-li-tit {
position: relative; position: relative;
span { span {
position: absolute; position: absolute;
left: -9px; left: -9px;
@ -381,7 +410,7 @@
font-size: 20px; font-size: 20px;
top: 3px; top: 3px;
} }
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }

View File

@ -118,7 +118,8 @@
} from "@dcloudio/uni-app" } from "@dcloudio/uni-app"
import { import {
addaction addaction,
plantdetail
} from '@/api/api.js' } from '@/api/api.js'
const range = reactive([{ const range = reactive([{
value: 1, value: 1,
@ -143,6 +144,7 @@
const value1 = ref(Date.now()); const value1 = ref(Date.now());
const show1 = ref(false); const show1 = ref(false);
const show2 = ref(false); const show2 = ref(false);
const dataobj = reactive({})
const openDate = () => { const openDate = () => {
// calendar.value.open() // calendar.value.open()
show1.value = true show1.value = true
@ -243,6 +245,10 @@
// console.log(formData) // console.log(formData)
form.value.validate().then(res => { form.value.validate().then(res => {
if (res) { if (res) {
if (formData.area > dataobj.area) {
uni.$u.toast('灌溉面积不能超过种植面积')
return
}
formData.pic = pic formData.pic = pic
let data1 = { let data1 = {
plant_id: task_id.value, plant_id: task_id.value,
@ -255,6 +261,16 @@
} }
let endTime = new Date(formData.end_date) let endTime = new Date(formData.end_date)
let startTime = new Date(formData.start_date) let startTime = new Date(formData.start_date)
let plantTime = new Date(dataobj.plant_date)
if (startTime < plantTime) {
uni.$u.toast("灌溉时间必须超过种植的时间");
return
}
if (endTime < plantTime) {
uni.$u.toast("灌溉时间必须超过种植的时间");
return
}
if (endTime < startTime) { if (endTime < startTime) {
uni.$u.toast("结束时间不能小于开始时间"); uni.$u.toast("结束时间不能小于开始时间");
return return
@ -331,7 +347,16 @@
// let res = await Uploads() // let res = await Uploads()
// data.formData.pic = res.data.image // data.formData.pic = res.data.image
} }
const getlist = () => {
plantdetail({
plant_id: task_id.value
}).then((res) => {
if (res.code == 1) {
// console.log(res)
Object.assign(dataobj, res.data)
}
});
};
const mode = ref('add') const mode = ref('add')
onLoad((options) => { onLoad((options) => {
if (options.task) { if (options.task) {
@ -351,7 +376,7 @@
task_id.value = options.id task_id.value = options.id
} }
getlist()
}) })
</script> </script>

View File

@ -77,7 +77,7 @@
</view> </view>
</view> </view>
<u-form-item label="备注" prop="remark" borderBottom > <u-form-item label="备注" prop="remark" borderBottom>
<u--textarea v-model="formData.remark" :disabled="mode=='detail'" placeholder="请输入内容"></u--textarea> <u--textarea v-model="formData.remark" :disabled="mode=='detail'" placeholder="请输入内容"></u--textarea>
</u-form-item> </u-form-item>
@ -119,7 +119,8 @@
onReady onReady
} from '@dcloudio/uni-app'; } from '@dcloudio/uni-app';
import { import {
addaction addaction,
plantdetail
} from '@/api/api.js' } from '@/api/api.js'
const pic = reactive([]); const pic = reactive([]);
@ -134,6 +135,7 @@
// calendar.value.open() // calendar.value.open()
show1.value = true show1.value = true
} }
const dataobj = reactive({})
const openDate1 = () => { const openDate1 = () => {
// calendar1.value.open() // calendar1.value.open()
show2.value = true show2.value = true
@ -273,10 +275,13 @@
const addFn = () => { const addFn = () => {
form.value.validate().then(res => { form.value.validate().then(res => {
console.log(res) // console.log(res)
if (res) { if (res) {
if (formData.area > dataobj.area) {
uni.$u.toast('作业面积不能超过种植面积')
return
}
formData.pic = pic formData.pic = pic
@ -292,6 +297,16 @@
} }
let endTime = new Date(formData.end_date) let endTime = new Date(formData.end_date)
let startTime = new Date(formData.start_date) let startTime = new Date(formData.start_date)
let plantTime = new Date(dataobj.plant_date)
if (startTime < plantTime) {
uni.$u.toast("除草时间必须超过种植的时间");
return
}
if (endTime < plantTime) {
uni.$u.toast("除草时间必须超过种植的时间");
return
}
if (endTime < startTime) { if (endTime < startTime) {
uni.$u.toast("结束时间不能小于开始时间"); uni.$u.toast("结束时间不能小于开始时间");
return return
@ -326,7 +341,16 @@
} }
const getlist = () => {
plantdetail({
plant_id: task_id.value
}).then((res) => {
if (res.code == 1) {
// console.log(res)
Object.assign(dataobj, res.data)
}
});
};
const mode = ref('add') const mode = ref('add')
onLoad((options) => { onLoad((options) => {
@ -348,7 +372,7 @@
} }
getlist()
}) })
</script> </script>

View File

@ -77,9 +77,14 @@
</view> </view>
</view> </view>
<view class="add-thing" v-if="(dataobj.total_area-dataobj.residual_area)==0" @click="palnt(dataobj.id)">
新增种植
</view>
<view class="" v-else>
<view class="add-thing" @click="showPicker1=true" v-if="columns2[0]&&columns2[0].length>0">
<view class="add-thing" @click="showPicker1=true" v-if="columns2[0]&&columns2[0].length>0"> 记农事
记农事 </view>
</view> </view>
<!-- 苗情监测 --> <!-- 苗情监测 -->
<view class=""> <view class="">
@ -284,45 +289,45 @@
name: "土壤温度", name: "土壤温度",
num: 20, num: 20,
unit: "℃", unit: "℃",
}, { }, {
icon: "/static/img/SD.png", icon: "/static/img/SD.png",
name: "土壤湿度", name: "土壤湿度",
num: 20, num: 20,
unit: "%RH", unit: "%RH",
}, { }, {
icon: "/static/img/DD.png", icon: "/static/img/DD.png",
name: "土壤导电率", name: "土壤导电率",
num: 20, num: 20,
unit: "μS/cm", unit: "μS/cm",
}, { }, {
icon: "/static/img/PH.png", icon: "/static/img/PH.png",
name: "土壤PH值", name: "土壤PH值",
num: 20, num: 20,
unit: "PH", unit: "PH",
}, { }, {
icon: "/static/img/AHL.png", icon: "/static/img/AHL.png",
name: "土壤含氮量", name: "土壤含氮量",
num: 20, num: 20,
unit: "mg/kg", unit: "mg/kg",
}, { }, {
icon: "/static/img/Hl.png", icon: "/static/img/Hl.png",
name: "土壤含磷量", name: "土壤含磷量",
num: 20, num: 20,
unit: "mg/kg", unit: "mg/kg",
}, { }, {
icon: "/static/img/HJ.png", icon: "/static/img/HJ.png",
name: "土壤含钾量", name: "土壤含钾量",
num: 20, num: 20,
unit: "mg/kg", unit: "mg/kg",
}, },
]) ])
onLoad(() => { onLoad(() => {
// console.log(store.state.userInfo) // console.log(store.state.userInfo)
@ -330,7 +335,7 @@
uni.redirectTo({ uni.redirectTo({
url: '/pages/Login/login' url: '/pages/Login/login'
}) })
} }
}) })
const dataobj = reactive({}) const dataobj = reactive({})
@ -354,7 +359,7 @@
} }
}); });
} }
const show = ref(false) const show = ref(false)
const showLoading = ref(false) const showLoading = ref(false)
const columns = reactive([]); const columns = reactive([]);
@ -364,51 +369,51 @@
name: "风速", name: "风速",
num: 20, num: 20,
unit: "%", unit: "%",
}, { }, {
icon: "/static/img/FX.png", icon: "/static/img/FX.png",
name: "风向", name: "风向",
num: 20, num: 20,
unit: "%", unit: "%",
}, { }, {
icon: "/static/img/CTWD.png", icon: "/static/img/CTWD.png",
name: "温度", name: "温度",
num: 20, num: 20,
unit: "℃", unit: "℃",
}, { }, {
icon: "/static/img/SD.png", icon: "/static/img/SD.png",
name: "湿度", name: "湿度",
num: 20, num: 20,
unit: "%RH", unit: "%RH",
}, { }, {
icon: '/static/img/CO2.png', icon: '/static/img/CO2.png',
name: "二氧化碳", name: "二氧化碳",
num: 20, num: 20,
unit: "ppm", unit: "ppm",
}, { }, {
icon: "/static/img/QY.png", icon: "/static/img/QY.png",
name: "气压", name: "气压",
num: 20, num: 20,
unit: "KPa", unit: "KPa",
}, { }, {
icon: "/static/img/JY.png", icon: "/static/img/JY.png",
name: "雨量", name: "雨量",
num: 20, num: 20,
unit: "mm", unit: "mm",
}, { }, {
icon: "/static/img/GZ.png", icon: "/static/img/GZ.png",
name: "光照量", name: "光照量",
num: 20, num: 20,
unit: "Lux", unit: "Lux",
}, },
]) ])
onShow(() => { onShow(() => {
getlist() getlist()
@ -553,7 +558,7 @@
}) })
} }
const confirm1 = (e) => { const confirm1 = (e) => {
palntId.value = e.value[0].id palntId.value = e.value[0].id
showPicker1.value = false showPicker1.value = false
if (e.value[0].status == 2) { if (e.value[0].status == 2) {
@ -591,6 +596,12 @@
url: '/pages/landDetail/index?id=' + dataobj.id url: '/pages/landDetail/index?id=' + dataobj.id
}) })
} }
const palnt = (id) => {
uni.navigateTo({
url: '/pages/husbandryForm/sow?id=' + id
})
}
const navto = (url) => { const navto = (url) => {
uni.navigateTo({ uni.navigateTo({
url url

View File

@ -49,7 +49,7 @@
种植面积: {{item.area}} 种植面积: {{item.area}}
</view> </view>
<view class=""> <view class="">
参与人: {{item.user}} 参与人: {{item.user}}
</view> </view>
<view class=""> <view class="">
种植日期: {{item.plant_date}} 种植日期: {{item.plant_date}}

View File

@ -75,7 +75,7 @@
<view class="shop_action-detail" v-if="item.type!=3&&item.type!=5"> <view class="shop_action-detail" v-if="item.type!=3&&item.type!=5">
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}}品种 {{item.type_text.slice(0, -2)}}<text class="" v-if="item.type==2||item.type==4"></text>品种
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.kind}} {{item.detail.kind}}
@ -83,7 +83,7 @@
</view> </view>
<view class="action-detail" v-if="item.detail.breed"> <view class="action-detail" v-if="item.detail.breed">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}}品牌 {{item.type_text.slice(0, -2)}}<text class="" v-if="item.type==2||item.type==4"></text>品牌
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.breed}} {{item.detail.breed}}
@ -91,7 +91,7 @@
</view> </view>
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}}用量 {{item.type_text.slice(0, -2)}}<text class="" v-if="item.type==2||item.type==4"></text>用量
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.dosage}}<text v-if='item.type==4'></text> {{item.detail.dosage}}<text v-if='item.type==4'></text>
@ -100,7 +100,7 @@
</view> </view>
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
{{item.type_text.slice(0, -2)}} 参与
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.user}} {{item.detail.user}}
@ -136,7 +136,7 @@
</view> </view>
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
灌溉 参与
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.user}} {{item.detail.user}}
@ -165,7 +165,7 @@
<view class="action-detail"> <view class="action-detail">
<view class="title"> <view class="title">
收获 参与
</view> </view>
<view class="detail"> <view class="detail">
{{item.detail.user}} {{item.detail.user}}

View File

@ -39,7 +39,7 @@
<view class="right"> <view class="right">
<view class="" v-if="item.type==5"> <view class="" v-if="item.type==5">
<view class=""> <view class="">
参与人: {{item.detail.user}} 参与人: {{item.detail.user}}
</view> </view>
<view class=""> <view class="">
备注: {{item.detail.remark}} 备注: {{item.detail.remark}}
@ -48,16 +48,16 @@
<view class="" v-else> <view class="" v-else>
<view class="" v-if="!item.detail.type"> <view class="" v-if="!item.detail.type">
<view class=""> <view class="">
{{item.type_text.slice(0, -2)}}种类: {{item.detail.kind}} {{item.type_text.slice(0, -2)}}<text class="" v-if="item.type==2||item.type==4"></text>种类: {{item.detail.kind}}
</view> </view>
<view class=""> <view class="">
{{item.type_text.slice(0, -2)}}品牌: {{item.detail.breed}} {{item.type_text.slice(0, -2)}}<text class="" v-if="item.type==2||item.type==4"></text>品牌: {{item.detail.breed}}
</view> </view>
<view class="" v-if='item.detail.dosage'> <view class="" v-if='item.detail.dosage'>
{{item.type_text.slice(0, -2)}}用量: {{item.detail.dosage}} {{item.type_text.slice(0, -2)}}<text class="" v-if="item.type==2||item.type==4"></text>用量: {{item.detail.dosage}}
<text v-if='item.type==4'></text> <text v-if='item.type==4'></text>
<text v-if='item.type!=4&&item.type!=5'></text> <text v-if='item.type!=4&&item.type!=5'></text>
@ -72,7 +72,7 @@
{{item.type_text.slice(0, -2)}}方式: {{item.detail.type==1?"喷灌":item.detail.type==2?"滴灌":"沟灌"}} {{item.type_text.slice(0, -2)}}方式: {{item.detail.type==1?"喷灌":item.detail.type==2?"滴灌":"沟灌"}}
</view> </view>
<view class=""> <view class="">
参与人: {{item.detail.user}} 参与人: {{item.detail.user}}
</view> </view>
<view class="" v-if="item.detail.start_date"> <view class="" v-if="item.detail.start_date">