|
@@ -1,11 +1,11 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" @query="query" safe-area-inset-bottom>
|
|
|
|
|
|
|
+ <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" safe-area-inset-bottom>
|
|
|
<template #top>
|
|
<template #top>
|
|
|
- <ut-navbar title="创建种养殖任务" :fixed="false"></ut-navbar>
|
|
|
|
|
|
|
+ <up-navbar title="创建种养殖任务" :fixed="false"></up-navbar>
|
|
|
</template>
|
|
</template>
|
|
|
<view class="pt-24">
|
|
<view class="pt-24">
|
|
|
<!-- 养殖 -->
|
|
<!-- 养殖 -->
|
|
|
- <template v-if="+form.taskType == 2">
|
|
|
|
|
|
|
+ <template v-if="form.taskType == 2">
|
|
|
<up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules" labelWidth="auto" ref="upFormRef">
|
|
<up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules" labelWidth="auto" ref="upFormRef">
|
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
|
<view class="bg-#fff pd-24">
|
|
<view class="bg-#fff pd-24">
|
|
@@ -29,18 +29,18 @@
|
|
|
<view class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_task_type, form.taskType) }}</view>
|
|
<view class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_task_type, form.taskType) }}</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-model="form.mgMethod" :tabs="mg_method" title="选择溯源级别">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.mgMethod" :tabs="pt_mg_method" title="选择溯源级别">
|
|
|
<up-form-item borderBottom label="溯源级别" required prop="mgMethod" id="mgMethodpppp">
|
|
<up-form-item borderBottom label="溯源级别" required prop="mgMethod" id="mgMethodpppp">
|
|
|
- <view v-if="form.mgMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(mg_method, form.mgMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.mgMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_mg_method, form.mgMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择溯源级别</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择溯源级别</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-model="form.gapFlag" :tabs="task_gap_flag" title="选择符合要求">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.gapFlag" :tabs="pt_task_gap_flag" title="选择符合要求">
|
|
|
<up-form-item borderBottom label="符合要求" required prop="gapFlag" id="gapFlagpppp">
|
|
<up-form-item borderBottom label="符合要求" required prop="gapFlag" id="gapFlagpppp">
|
|
|
- <view v-if="form.gapFlag" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(task_gap_flag, form.gapFlag) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.gapFlag" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_task_gap_flag, form.gapFlag) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择符合要求</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择符合要求</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -78,9 +78,9 @@
|
|
|
<up-form-item label="请选择养殖技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
<up-form-item label="请选择养殖技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-model="form.plantationMethod" :tabs="feeding_method" title="选择养殖方式">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plantationMethod" :tabs="pt_feeding_method" title="选择养殖方式">
|
|
|
<up-form-item borderBottom label="养殖方式" required prop="plantationMethod" id="plantationMethodpppp">
|
|
<up-form-item borderBottom label="养殖方式" required prop="plantationMethod" id="plantationMethodpppp">
|
|
|
- <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(feeding_method, form.plantationMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_feeding_method, form.plantationMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择养殖方式</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择养殖方式</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -117,22 +117,22 @@
|
|
|
<view class="h-1" id="plantpppp"></view>
|
|
<view class="h-1" id="plantpppp"></view>
|
|
|
<up-form-item borderBottom label="养殖量" required prop="plant">
|
|
<up-form-item borderBottom label="养殖量" required prop="plant">
|
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入养殖量" border="none"></up-input>
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入养殖量" border="none"></up-input>
|
|
|
- <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="planting_mg_unit" title="选择单位">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="pt_planting_mg_unit" title="选择单位">
|
|
|
<view class="d-flex a-c">
|
|
<view class="d-flex a-c">
|
|
|
- <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(planting_mg_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_planting_mg_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</view>
|
|
</view>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item borderBottom label="备注" required prop="remark" id="remarkpppp">
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="备注" prop="remark" id="remarkpppp">
|
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form>
|
|
</up-form>
|
|
|
</template>
|
|
</template>
|
|
|
<!-- 种畜繁育 -->
|
|
<!-- 种畜繁育 -->
|
|
|
- <template v-if="+form.taskType == 21">
|
|
|
|
|
|
|
+ <template v-if="form.taskType == 21">
|
|
|
<up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules1" labelWidth="auto" ref="upFormRef">
|
|
<up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules1" labelWidth="auto" ref="upFormRef">
|
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
|
<view class="bg-#fff pd-24">
|
|
<view class="bg-#fff pd-24">
|
|
@@ -161,24 +161,24 @@
|
|
|
<up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
|
|
<up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
|
|
|
</up-radio-group>
|
|
</up-radio-group>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item borderBottom label="委托企业" required prop="delegateInfo" id="varietyIdpppp">
|
|
|
|
|
- <view v-if="!Biological" @click="$u.route({ type: 'navigateTo', url: '/plant/port/por-torganism/index' })" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB">
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="委托企业" required prop="delegateInfo" id="delegateInfopppp">
|
|
|
|
|
+ <view v-if="!Enterprise" @click="$u.route({ type: 'navigateTo', url: '/plant/port/por-torganism/index' })" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB">
|
|
|
<view class=""></view>
|
|
<view class=""></view>
|
|
|
<view class="f-s-34 c-primary">请选择委托企业</view>
|
|
<view class="f-s-34 c-primary">请选择委托企业</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view v-if="Biological" class="pd-24 d-flex flex-cln bg-#FBFDFB border-#37A954 b-radius mb-20 w-100% p-rtv">
|
|
|
|
|
- <up-icon @click="Biological = null" size="26rpx" color="red" name="close" style="position: absolute; right: 10rpx; top: 10rpx"></up-icon>
|
|
|
|
|
- <view class="mb-20">
|
|
|
|
|
- <text class="c-#333 f-s-34 f-w-5 mr-5">云南钰津供应链科技有限公司</text>
|
|
|
|
|
|
|
+ <view v-if="Enterprise" class="pd-24 d-flex flex-cln bg-#FBFDFB border-#37A954 b-radius mb-20 w-100% p-rtv">
|
|
|
|
|
+ <up-icon @click="Enterprise = null" size="26rpx" color="red" name="close" style="position: absolute; right: 10rpx; top: 10rpx"></up-icon>
|
|
|
|
|
+ <view class="">
|
|
|
|
|
+ <text class="c-#333 f-s-34 f-w-5 mr-5">{{ form?.delegateInfo?.cusName }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mb-20">
|
|
<view class="mb-20">
|
|
|
- <text class="c-#666 f-s-24">93851583573353575</text>
|
|
|
|
|
|
|
+ <text class="c-#666 f-s-24">{{ form?.delegateInfo?.crediteCode }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-model="form.mgMethod" :tabs="mg_method" title="选择溯源级别">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.mgMethod" :tabs="pt_mg_method" title="选择溯源级别">
|
|
|
<up-form-item borderBottom label="溯源级别" required prop="mgMethod" id="mgMethodpppp">
|
|
<up-form-item borderBottom label="溯源级别" required prop="mgMethod" id="mgMethodpppp">
|
|
|
- <view v-if="form.mgMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(mg_method, form.mgMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.mgMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_mg_method, form.mgMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择溯源级别</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择溯源级别</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -216,9 +216,9 @@
|
|
|
<up-form-item label="请选择养殖技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
<up-form-item label="请选择养殖技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-model="form.plantationMethod" :tabs="feeding_method" title="选择养殖方式">
|
|
|
|
|
- <up-form-item borderBottom label="养殖方式" required prop="plantationMethod" id="plantationMethodpppp">
|
|
|
|
|
- <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(feeding_method, form.plantationMethod) }}</view>
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plantationMethod" :tabs="pt_feeding_method" title="选择养殖方式">
|
|
|
|
|
+ <up-form-item borderBottom label="养殖方式" prop="plantationMethod" id="plantationMethodpppp">
|
|
|
|
|
+ <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_feeding_method, form.plantationMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择养殖方式</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择养殖方式</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -255,22 +255,22 @@
|
|
|
<view class="h-1" id="plantpppp"></view>
|
|
<view class="h-1" id="plantpppp"></view>
|
|
|
<up-form-item borderBottom label="养殖量" required prop="plant">
|
|
<up-form-item borderBottom label="养殖量" required prop="plant">
|
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入养殖量" border="none"></up-input>
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入养殖量" border="none"></up-input>
|
|
|
- <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="planting_mg_unit" title="选择单位">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="pt_planting_mg_unit" title="选择单位">
|
|
|
<view class="d-flex a-c">
|
|
<view class="d-flex a-c">
|
|
|
- <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(planting_mg_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_planting_mg_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</view>
|
|
</view>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item borderBottom label="备注" required prop="remark" id="remarkpppp">
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="备注" prop="remark" id="remarkpppp">
|
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form>
|
|
</up-form>
|
|
|
</template>
|
|
</template>
|
|
|
<!-- 种植 -->
|
|
<!-- 种植 -->
|
|
|
- <template v-if="+form.taskType == 1">
|
|
|
|
|
|
|
+ <template v-if="form.taskType == 1">
|
|
|
<up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules2" labelWidth="auto" ref="upFormRef">
|
|
<up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules2" labelWidth="auto" ref="upFormRef">
|
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
|
<view class="bg-#fff pd-24">
|
|
<view class="bg-#fff pd-24">
|
|
@@ -294,9 +294,9 @@
|
|
|
<view class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_task_type, form.taskType) }}</view>
|
|
<view class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_task_type, form.taskType) }}</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-model="form.gapFlag" :tabs="task_gap_flag" title="选择符合要求">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.gapFlag" :tabs="pt_task_gap_flag" title="选择符合要求">
|
|
|
<up-form-item borderBottom label="符合要求" required prop="gapFlag" id="gapFlagpppp">
|
|
<up-form-item borderBottom label="符合要求" required prop="gapFlag" id="gapFlagpppp">
|
|
|
- <view v-if="form.gapFlag" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(task_gap_flag, form.gapFlag) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.gapFlag" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_task_gap_flag, form.gapFlag) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择符合要求</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择符合要求</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -334,9 +334,9 @@
|
|
|
<up-form-item label="请选择种植技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
<up-form-item label="请选择种植技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-model="form.plantationMethod" :tabs="plantation_method" title="选择种植方式">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plantationMethod" :tabs="pt_plantation_method" title="选择种植方式">
|
|
|
<up-form-item borderBottom label="种植方式" prop="plantationMethod" id="plantationMethodpppp">
|
|
<up-form-item borderBottom label="种植方式" prop="plantationMethod" id="plantationMethodpppp">
|
|
|
- <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(plantation_method, form.plantationMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_plantation_method, form.plantationMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种植方式</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种植方式</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -352,9 +352,9 @@
|
|
|
<view class="h-1" id="plantpppp"></view>
|
|
<view class="h-1" id="plantpppp"></view>
|
|
|
<up-form-item borderBottom label="种植量" required prop="plant">
|
|
<up-form-item borderBottom label="种植量" required prop="plant">
|
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入种植量" border="none"></up-input>
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入种植量" border="none"></up-input>
|
|
|
- <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="scale_unit" title="选择单位">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="pt_scale_unit" title="选择单位">
|
|
|
<view class="d-flex a-c">
|
|
<view class="d-flex a-c">
|
|
|
- <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(scale_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_scale_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</view>
|
|
</view>
|
|
@@ -375,36 +375,36 @@
|
|
|
</view>
|
|
</view>
|
|
|
</ut-datetime-picker>
|
|
</ut-datetime-picker>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-model="form.reproductionType" :tabs="reproduction_type" title="选择繁殖方式">
|
|
|
|
|
- <up-form-item borderBottom label="繁殖方式" prop="reproductionType" id="reproductionTypepppp">
|
|
|
|
|
- <view v-if="form.reproductionType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(reproduction_type, form.reproductionType) }}</view>
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.reproductionType" :tabs="pt_reproduction_type" title="选择繁殖方式">
|
|
|
|
|
+ <up-form-item borderBottom label="繁殖方式" required prop="reproductionType" id="reproductionTypepppp">
|
|
|
|
|
+ <view v-if="form.reproductionType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_reproduction_type, form.reproductionType) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择繁殖方式</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择繁殖方式</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.plantationType" :tabs="plantation_type" title="选择种植类型">
|
|
|
|
|
|
|
+ <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.plantationType" :tabs="pt_plantation_type" title="选择种植类型">
|
|
|
<up-form-item borderBottom label="种植类型" prop="plantationType" id="plantationTypepppp">
|
|
<up-form-item borderBottom label="种植类型" prop="plantationType" id="plantationTypepppp">
|
|
|
- <view v-if="form.plantationType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(plantation_type, form.plantationType) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plantationType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_plantation_type, form.plantationType) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种植类型</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种植类型</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.sowingMethod" :tabs="sowing_method" title="选择播种方法">
|
|
|
|
|
|
|
+ <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.sowingMethod" :tabs="pt_sowing_method" title="选择播种方法">
|
|
|
<up-form-item borderBottom label="播种方法" prop="sowingMethod" id="sowingMethodpppp">
|
|
<up-form-item borderBottom label="播种方法" prop="sowingMethod" id="sowingMethodpppp">
|
|
|
- <view v-if="form.sowingMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(sowing_method, form.sowingMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.sowingMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_sowing_method, form.sowingMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择播种方法</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择播种方法</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.transplantMethod" :tabs="transplant_method" title="选择移栽方法">
|
|
|
|
|
|
|
+ <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.transplantMethod" :tabs="pt_transplant_method" title="选择移栽方法">
|
|
|
<up-form-item borderBottom label="移栽方法" prop="transplantMethod" id="transplantMethodpppp">
|
|
<up-form-item borderBottom label="移栽方法" prop="transplantMethod" id="transplantMethodpppp">
|
|
|
- <view v-if="form.transplantMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(transplant_method, form.transplantMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.transplantMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_transplant_method, form.transplantMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择移栽方法</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择移栽方法</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -432,15 +432,15 @@
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item borderBottom label="备注" required prop="remark" id="remarkpppp">
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="备注" prop="remark" id="remarkpppp">
|
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form>
|
|
</up-form>
|
|
|
</template>
|
|
</template>
|
|
|
<!-- 种苗繁育 -->
|
|
<!-- 种苗繁育 -->
|
|
|
- <template v-if="+form.taskType == 11">
|
|
|
|
|
- <up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules2" labelWidth="auto" ref="upFormRef">
|
|
|
|
|
|
|
+ <template v-if="form.taskType == 11">
|
|
|
|
|
+ <up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules3" labelWidth="auto" ref="upFormRef">
|
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
<view class="startline-title pl-24 ml-24 mb-16">基地信息</view>
|
|
|
<view class="bg-#fff pd-24">
|
|
<view class="bg-#fff pd-24">
|
|
|
<view class="b-radius bg-#EBF6EE c-primary f-s-24 pd-24 pb-16"> 注意:关联时请确保已添加到地块;关联时必须选到地块/圈舍/培养架。</view>
|
|
<view class="b-radius bg-#EBF6EE c-primary f-s-24 pd-24 pb-16"> 注意:关联时请确保已添加到地块;关联时必须选到地块/圈舍/培养架。</view>
|
|
@@ -455,6 +455,15 @@
|
|
|
<Baseinfo :modeValue="deawerData" @close="handleBaseinfoClose" :baseType="form.taskType" />
|
|
<Baseinfo :modeValue="deawerData" @close="handleBaseinfoClose" :baseType="form.taskType" />
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
|
|
+ <up-form-item :borderBottom="false" label="具体位置" required prop="baseId" id="baseIdpppp">
|
|
|
|
|
+ <view v-if="!laboratory" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB" @click="openLaboratory">
|
|
|
|
|
+ <view class=""></view>
|
|
|
|
|
+ <view class="f-s-34 c-primary">请选择具体位置</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="w-100%" v-else>
|
|
|
|
|
+ <laboratory :modeValue="laboratory" @close="handleLaboratoryClose" :baseType="form.taskType" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </up-form-item>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="startline-title pl-24 ml-24 mb-16">种养殖信息</view>
|
|
<view class="startline-title pl-24 ml-24 mb-16">种养殖信息</view>
|
|
|
<view class="bg-#fff pd-24 mb-20">
|
|
<view class="bg-#fff pd-24 mb-20">
|
|
@@ -468,24 +477,24 @@
|
|
|
<up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
|
|
<up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
|
|
|
</up-radio-group>
|
|
</up-radio-group>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item borderBottom label="委托企业" required prop="delegateInfo" id="varietyIdpppp">
|
|
|
|
|
- <view v-if="!Biological" @click="$u.route({ type: 'navigateTo', url: '/plant/port/por-torganism/index' })" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB">
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="委托企业" required prop="delegateInfo" id="delegateInfopppp">
|
|
|
|
|
+ <view v-if="!Enterprise" @click="$u.route({ type: 'navigateTo', url: '/plant/port/por-torganism/index' })" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB">
|
|
|
<view class=""></view>
|
|
<view class=""></view>
|
|
|
<view class="f-s-34 c-primary">请选择委托企业</view>
|
|
<view class="f-s-34 c-primary">请选择委托企业</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view v-if="Biological" class="pd-24 d-flex flex-cln bg-#FBFDFB border-#37A954 b-radius mb-20 w-100% p-rtv">
|
|
|
|
|
- <up-icon @click="Biological = null" size="26rpx" color="red" name="close" style="position: absolute; right: 10rpx; top: 10rpx"></up-icon>
|
|
|
|
|
- <view class="mb-20">
|
|
|
|
|
- <text class="c-#333 f-s-34 f-w-5 mr-5">云南钰津供应链科技有限公司</text>
|
|
|
|
|
|
|
+ <view v-if="Enterprise" class="pd-24 d-flex flex-cln bg-#FBFDFB border-#37A954 b-radius mb-20 w-100% p-rtv">
|
|
|
|
|
+ <up-icon @click="Enterprise = null" size="26rpx" color="red" name="close" style="position: absolute; right: 10rpx; top: 10rpx"></up-icon>
|
|
|
|
|
+ <view class="">
|
|
|
|
|
+ <text class="c-#333 f-s-34 f-w-5 mr-5">{{ form?.delegateInfo?.cusName }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mb-20">
|
|
<view class="mb-20">
|
|
|
- <text class="c-#666 f-s-24">93851583573353575</text>
|
|
|
|
|
|
|
+ <text class="c-#666 f-s-24">{{ form?.delegateInfo?.crediteCode }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-if="+deawerData?.data[0]?.landType == 3" v-model="form.mgMethod" :tabs="mg_method" title="选择溯源级别">
|
|
|
|
|
|
|
+ <ut-action-sheet v-if="+deawerData?.data[0]?.landType == 3" v-model="form.mgMethod" :tabs="pt_mg_method" title="选择溯源级别">
|
|
|
<up-form-item borderBottom label="溯源级别" required prop="mgMethod" id="mgMethodpppp">
|
|
<up-form-item borderBottom label="溯源级别" required prop="mgMethod" id="mgMethodpppp">
|
|
|
- <view v-if="form.mgMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(mg_method, form.mgMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.mgMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_mg_method, form.mgMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择溯源级别</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择溯源级别</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
@@ -523,115 +532,136 @@
|
|
|
<up-form-item label="请选择繁育技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
<up-form-item label="请选择繁育技术规程文件" prop="technicalFile" borderBottom id="technicalFilepppp">
|
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
<ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="file"></ut-upload>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-model="form.plantationMethod" :tabs="plantation_method" title="选择繁育方式">
|
|
|
|
|
- <up-form-item borderBottom label="繁育方式" required prop="plantationMethod" id="plantationMethodpppp">
|
|
|
|
|
- <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(plantation_method, form.plantationMethod) }}</view>
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plantationMethod" :tabs="pt_plantation_method" title="选择繁育方式">
|
|
|
|
|
+ <up-form-item borderBottom label="繁育方式" prop="plantationMethod" id="plantationMethodpppp">
|
|
|
|
|
+ <view v-if="form.plantationMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_plantation_method, form.plantationMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择繁育方式</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择繁育方式</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
|
|
+ <view class="h-1" id="queryType6pppp"></view>
|
|
|
|
|
+ <up-form-item :borderBottom="false" label="繁育日期" required prop="queryType6">
|
|
|
|
|
+ <ut-datetime-picker v-model="form.queryType6.plannedStartDate" mode="date" dateFields="day">
|
|
|
|
|
+ <view class="d-flex mr-20">
|
|
|
|
|
+ <up-input v-model="form.queryType6.plannedStartDate" placeholder="请选择种植开始时间" border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
|
|
|
|
|
+ <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill" style="margin-left: -20rpx"></up-icon>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </ut-datetime-picker>
|
|
|
|
|
+ <ut-datetime-picker v-model="form.queryType6.plannedEndDate" mode="date" dateFields="day">
|
|
|
|
|
+ <view class="d-flex">
|
|
|
|
|
+ <up-input v-model="form.queryType6.plannedEndDate" placeholder="请选择种植结束时间" border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
|
|
|
|
|
+ <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill" style="margin-left: -20rpx"></up-icon>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </ut-datetime-picker>
|
|
|
|
|
+ </up-form-item>
|
|
|
<up-form-item v-if="+deawerData?.data[0]?.landType == 1" borderBottom label="种植面积" required prop="plantingAmount" id="plantingAmountpppp">
|
|
<up-form-item v-if="+deawerData?.data[0]?.landType == 1" borderBottom label="种植面积" required prop="plantingAmount" id="plantingAmountpppp">
|
|
|
<view class="d-flex a-c j-sb w-100%">
|
|
<view class="d-flex a-c j-sb w-100%">
|
|
|
<up-input style="padding-left: 0" v-model="form.plantingAmount" placeholder="请输入种植面积" border="none"></up-input>
|
|
<up-input style="padding-left: 0" v-model="form.plantingAmount" placeholder="请输入种植面积" border="none"></up-input>
|
|
|
<view class="c-#333 f-s-32 f-w-5">{{ form.plantingUnit }}</view>
|
|
<view class="c-#333 f-s-32 f-w-5">{{ form.plantingUnit }}</view>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item v-if="+deawerData?.data[0]?.landType == 3" borderBottom label="接种数量" required prop="inoculation" id="inoculationpppp">
|
|
|
|
|
|
|
+ <up-form-item v-if="+deawerData?.data[0]?.landType == 3" borderBottom label="接种数量" required prop="inoculation.inoculationAmount" id="inoculationpppp">
|
|
|
<view class="d-flex a-c j-sb w-100%">
|
|
<view class="d-flex a-c j-sb w-100%">
|
|
|
<up-input style="padding-left: 0" v-model="form.inoculation.inoculationAmount" placeholder="请输入接种数量" border="none"></up-input>
|
|
<up-input style="padding-left: 0" v-model="form.inoculation.inoculationAmount" placeholder="请输入接种数量" border="none"></up-input>
|
|
|
- <ut-action-sheet v-model="form.inoculation.inoculationUnit" :tabs="inoculation_unit" title="选择单位">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.inoculation.inoculationUnit" :tabs="pt_inoculation_unit" title="选择单位">
|
|
|
<view class="d-flex a-c">
|
|
<view class="d-flex a-c">
|
|
|
- <view v-if="form.inoculation?.inoculationUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(inoculation_unit, form.inoculation?.inoculationUnit) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.inoculation?.inoculationUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_inoculation_unit, form.inoculation?.inoculationUnit) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</view>
|
|
</view>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item v-if="+deawerData?.data[0]?.landType == 3" borderBottom label="接种剂量" required prop="inoculation" id="inoculationpppp">
|
|
|
|
|
|
|
+ <up-form-item v-if="+deawerData?.data[0]?.landType == 3" borderBottom label="接种剂量" required prop="inoculation.inoculationDosage" id="inoculationpppp">
|
|
|
<view class="d-flex a-c j-sb w-100%">
|
|
<view class="d-flex a-c j-sb w-100%">
|
|
|
<up-input style="padding-left: 0" v-model="form.inoculation.inoculationDosage" placeholder="请输入接种剂量" border="none"></up-input>
|
|
<up-input style="padding-left: 0" v-model="form.inoculation.inoculationDosage" placeholder="请输入接种剂量" border="none"></up-input>
|
|
|
- <ut-action-sheet v-model="form.inoculation.inoculationDosageUnit" :tabs="inoculation_dosage_unit" title="选择单位">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.inoculation.inoculationDosageUnit" :tabs="pt_inoculation_dosage_unit" title="选择单位">
|
|
|
<view class="d-flex a-c">
|
|
<view class="d-flex a-c">
|
|
|
- <view v-if="form.inoculation?.inoculationDosageUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(inoculation_dosage_unit, form.inoculation?.inoculationDosageUnit) }}</view>
|
|
|
|
|
- <view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
|
|
|
- <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
|
|
- </view>
|
|
|
|
|
- </ut-action-sheet>
|
|
|
|
|
- <ut-action-sheet v-model="form.inoculation.inoculationUnit" :tabs="inoculation_unit" title="选择单位">
|
|
|
|
|
- <view class="d-flex a-c">
|
|
|
|
|
- <view v-if="form.inoculation?.inoculationUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(inoculation_unit, form.inoculation?.inoculationUnit) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.inoculation?.inoculationDosageUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_inoculation_dosage_unit, form.inoculation?.inoculationDosageUnit) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</view>
|
|
</view>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
|
|
+ <view v-if="form.inoculation?.inoculationUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_inoculation_unit, form.inoculation?.inoculationUnit) }}</view>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
<view class="h-1" id="plantpppp"></view>
|
|
<view class="h-1" id="plantpppp"></view>
|
|
|
- <up-form-item borderBottom label="繁育量" required prop="plant">
|
|
|
|
|
|
|
+ <up-form-item v-if="+deawerData?.data[0]?.landType == 3" borderBottom label="繁育量" prop="plant">
|
|
|
|
|
+ <view class="d-flex a-c j-sb w-100%">
|
|
|
|
|
+ <view class="f-s-30 c-333 f-w-5 w-100">{{ plantingMgAmount }}</view>
|
|
|
|
|
+ <view v-if="plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_inoculation_dosage_unit, plantingMgUnit) }}</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </up-form-item>
|
|
|
|
|
+ <up-form-item v-else borderBottom label="繁育量" required prop="plant">
|
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入繁育量" border="none"></up-input>
|
|
<up-input v-model="form.plant.plantingMgAmount" placeholder="请输入繁育量" border="none"></up-input>
|
|
|
- <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="area_unit" title="选择单位">
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.plant.plantingMgUnit" :tabs="pt_feed_amount_unit" title="选择单位">
|
|
|
<view class="d-flex a-c">
|
|
<view class="d-flex a-c">
|
|
|
- <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(area_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plant?.plantingMgUnit" class="f-s-30 c-333 f-w-5 w-100">{{ selectDictLabel(pt_feed_amount_unit, form.plant?.plantingMgUnit) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 w-100">单位</view>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</view>
|
|
</view>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <view class="h-1" id="queryType6pppp"></view>
|
|
|
|
|
- <up-form-item :borderBottom="false" label="种植时间" required prop="queryType6">
|
|
|
|
|
- <ut-datetime-picker v-model="form.queryType6.plannedStartDate" mode="date" dateFields="day">
|
|
|
|
|
- <view class="d-flex mr-20">
|
|
|
|
|
- <up-input v-model="form.queryType6.plannedStartDate" placeholder="请选择种植开始时间" border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
|
|
|
|
|
- <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill" style="margin-left: -20rpx"></up-icon>
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="培养基配方" prop="cultureMediumFormula" id="cultureMediumFormulapppp">
|
|
|
|
|
+ <view v-if="!Biological" @click="gotoTorganism(1)" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB">
|
|
|
|
|
+ <view class=""></view>
|
|
|
|
|
+ <view class="f-s-34 c-primary">请选择培养基配方</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-if="Biological" class="pd-24 d-flex flex-cln bg-#FBFDFB border-#37A954 b-radius mb-20 w-100% p-rtv">
|
|
|
|
|
+ <up-icon @click="Biological = null" size="26rpx" color="red" name="close" style="position: absolute; right: 10rpx; top: 10rpx"></up-icon>
|
|
|
|
|
+ <view class="mb-20">
|
|
|
|
|
+ <text class="c-#333 f-s-34 f-w-5 mr-5">{{ Biological?.varietyName }}</text>
|
|
|
|
|
+ <text class="c-#666 f-s-24">{{ Biological?.latinName }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
- </ut-datetime-picker>
|
|
|
|
|
- <ut-datetime-picker v-model="form.queryType6.plannedEndDate" mode="date" dateFields="day">
|
|
|
|
|
- <view class="d-flex">
|
|
|
|
|
- <up-input v-model="form.queryType6.plannedEndDate" placeholder="请选择种植结束时间" border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
|
|
|
|
|
- <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill" style="margin-left: -20rpx"></up-icon>
|
|
|
|
|
|
|
+ <view class="mb-20">
|
|
|
|
|
+ <text class="c-#333 f-s-28 f-w-5 mr-5">{{ Biological?.genusName }}</text>
|
|
|
|
|
+ <text class="c-#666 f-s-24">{{ Biological?.genusLatinName }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
- </ut-datetime-picker>
|
|
|
|
|
|
|
+ <view class="">
|
|
|
|
|
+ <text class="c-#666 f-s-24">产出:</text>
|
|
|
|
|
+ <text class="c-#666 f-s-24">{{ Biological?.medicineName }}</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <ut-action-sheet v-model="form.reproductionType" :tabs="reproduction_type" title="选择繁殖方式">
|
|
|
|
|
- <up-form-item borderBottom label="繁殖方式" prop="reproductionType" id="reproductionTypepppp">
|
|
|
|
|
- <view v-if="form.reproductionType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(reproduction_type, form.reproductionType) }}</view>
|
|
|
|
|
- <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择繁殖方式</view>
|
|
|
|
|
|
|
+ <ut-action-sheet v-model="form.reproductionType" :tabs="pt_reproduction_type" title="选择繁殖方式">
|
|
|
|
|
+ <up-form-item borderBottom label="选择繁殖方式" required prop="reproductionType" id="reproductionTypepppp">
|
|
|
|
|
+ <view v-if="form.reproductionType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_reproduction_type, form.reproductionType) }}</view>
|
|
|
|
|
+ <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择选择繁殖方式</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.plantationType" :tabs="plantation_type" title="选择种植类型">
|
|
|
|
|
|
|
+ <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.plantationType" :tabs="pt_plantation_type" title="选择种植类型">
|
|
|
<up-form-item borderBottom label="种植类型" required prop="plantationType" id="plantationTypepppp">
|
|
<up-form-item borderBottom label="种植类型" required prop="plantationType" id="plantationTypepppp">
|
|
|
- <view v-if="form.plantationType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(plantation_type, form.plantationType) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.plantationType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_plantation_type, form.plantationType) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种植类型</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种植类型</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.sowingMethod" :tabs="sowing_method" title="选择播种方法">
|
|
|
|
|
|
|
+ <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.sowingMethod" :tabs="pt_sowing_method" title="选择播种方法">
|
|
|
<up-form-item borderBottom label="播种方法" required prop="sowingMethod" id="sowingMethodpppp">
|
|
<up-form-item borderBottom label="播种方法" required prop="sowingMethod" id="sowingMethodpppp">
|
|
|
- <view v-if="form.sowingMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(sowing_method, form.sowingMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.sowingMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_sowing_method, form.sowingMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择播种方法</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择播种方法</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.transplantMethod" :tabs="transplant_method" title="选择移栽方法">
|
|
|
|
|
|
|
+ <ut-action-sheet v-if="+form.reproductionType == 2" v-model="form.transplantMethod" :tabs="pt_transplant_method" title="选择移栽方法">
|
|
|
<up-form-item borderBottom label="移栽方法" required prop="transplantMethod" id="transplantMethodpppp">
|
|
<up-form-item borderBottom label="移栽方法" required prop="transplantMethod" id="transplantMethodpppp">
|
|
|
- <view v-if="form.transplantMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(transplant_method, form.transplantMethod) }}</view>
|
|
|
|
|
|
|
+ <view v-if="form.transplantMethod" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_transplant_method, form.transplantMethod) }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择移栽方法</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择移栽方法</view>
|
|
|
<template #right>
|
|
<template #right>
|
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
<up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</ut-action-sheet>
|
|
</ut-action-sheet>
|
|
|
- <up-form-item borderBottom label="前茬植物" required prop="preCropId" id="preCropIddpppp">
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="前茬植物" prop="preCropId" id="preCropIddpppp">
|
|
|
<view v-if="!PreBiological" @click="gotoTorganism(2)" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB">
|
|
<view v-if="!PreBiological" @click="gotoTorganism(2)" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB">
|
|
|
<view class=""></view>
|
|
<view class=""></view>
|
|
|
<view class="f-s-34 c-primary">请选择前茬植物名称</view>
|
|
<view class="f-s-34 c-primary">请选择前茬植物名称</view>
|
|
@@ -652,7 +682,7 @@
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
- <up-form-item borderBottom label="备注" required prop="remark" id="remarkpppp">
|
|
|
|
|
|
|
+ <up-form-item borderBottom label="备注" prop="remark" id="remarkpppp">
|
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
<up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</view>
|
|
</view>
|
|
@@ -703,6 +733,7 @@
|
|
|
</ut-confirm-dialog>
|
|
</ut-confirm-dialog>
|
|
|
<!-- 添加drawer组件 -->
|
|
<!-- 添加drawer组件 -->
|
|
|
<Drawer v-if="drawerVisible" :baseType="form.taskType" v-model="drawerVisible" @open="onDrawerOpen" @close="onDrawerClose" @confirm="onDrawerConfirm" />
|
|
<Drawer v-if="drawerVisible" :baseType="form.taskType" v-model="drawerVisible" @open="onDrawerOpen" @close="onDrawerClose" @confirm="onDrawerConfirm" />
|
|
|
|
|
+ <Drawer_laboratory v-if="laboratoryVisible" :baseId="form?.baseId" :landIds="form?.landIds" v-model="laboratoryVisible" @open="openLaboratory" @close="handleLaboratoryClose" @confirm="handleLaboratoryConfirm" />
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
@@ -710,9 +741,13 @@ import { ref } from 'vue';
|
|
|
import Drawer from './models/drawer.vue';
|
|
import Drawer from './models/drawer.vue';
|
|
|
import Baseinfo from './models/baseinfo.vue';
|
|
import Baseinfo from './models/baseinfo.vue';
|
|
|
import { useClientRequest } from '@/utils/request';
|
|
import { useClientRequest } from '@/utils/request';
|
|
|
|
|
+import type { TaskType, YesNoType, TimeRange, PlantInfo, DelegateInfo, InoculationInfo, LandInfo, BaseSelectData, PlantationTaskForm, FormRuleItem, FormRules } from './models/types';
|
|
|
|
|
+import Drawer_laboratory from './models/drawer_laboratory.vue';
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
-const { planting_mg_unit, inoculation_unit, inoculation_dosage_unit, transplant_method, plantation_type, sowing_method, area_unit, plantation_method, reproduction_type, scale_unit, feeding_method, mg_method, task_gap_flag, pt_task_type, pt_org_type, yes_no } = toRefs<any>(proxy?.useDict('planting_mg_unit', 'inoculation_unit', 'inoculation_dosage_unit', 'transplant_method', 'plantation_type', 'sowing_method', 'area_unit', 'plantation_method', 'reproduction_type', 'scale_unit', 'feeding_method', 'mg_method', 'task_gap_flag', 'pt_task_type', 'pt_org_type', 'yes_no'));
|
|
|
|
|
-const form = ref({
|
|
|
|
|
|
|
+const { pt_feed_amount_unit, pt_planting_mg_unit, pt_inoculation_unit, pt_inoculation_dosage_unit, pt_transplant_method, pt_plantation_type, pt_sowing_method, pt_area_unit, pt_plantation_method, pt_reproduction_type, pt_scale_unit, pt_feeding_method, pt_mg_method, pt_task_gap_flag, pt_task_type, pt_org_type, yes_no } = toRefs<any>(
|
|
|
|
|
+ proxy?.useDict('pt_feed_amount_unit', 'pt_planting_mg_unit', 'pt_inoculation_unit', 'pt_inoculation_dosage_unit', 'pt_transplant_method', 'pt_plantation_type', 'pt_sowing_method', 'pt_area_unit', 'pt_plantation_method', 'pt_reproduction_type', 'pt_scale_unit', 'pt_feeding_method', 'pt_mg_method', 'pt_task_gap_flag', 'pt_task_type', 'pt_org_type', 'yes_no')
|
|
|
|
|
+);
|
|
|
|
|
+const form = ref<PlantationTaskForm>({
|
|
|
deawerData: null,
|
|
deawerData: null,
|
|
|
baseId: null,
|
|
baseId: null,
|
|
|
landIds: [],
|
|
landIds: [],
|
|
@@ -737,7 +772,7 @@ const form = ref({
|
|
|
plantingAmount: '',
|
|
plantingAmount: '',
|
|
|
remark: null,
|
|
remark: null,
|
|
|
delegateFlag: '0',
|
|
delegateFlag: '0',
|
|
|
- delegateInfo: { cusId: null, crediteCode: null, cusName: null },
|
|
|
|
|
|
|
+ delegateInfo: { cusId: '1795009980763025410', crediteCode: '91530102MACA96MJ9H', cusName: '演示企业' },
|
|
|
plantationType: null,
|
|
plantationType: null,
|
|
|
sowingMethod: null,
|
|
sowingMethod: null,
|
|
|
transplantMethod: null,
|
|
transplantMethod: null,
|
|
@@ -748,6 +783,7 @@ const form = ref({
|
|
|
inoculationDosage: null,
|
|
inoculationDosage: null,
|
|
|
inoculationDosageUnit: null,
|
|
inoculationDosageUnit: null,
|
|
|
},
|
|
},
|
|
|
|
|
+ cultureMediumFormula: null,
|
|
|
});
|
|
});
|
|
|
//单个溯源都数组
|
|
//单个溯源都数组
|
|
|
const animalIds = ref<any>([]);
|
|
const animalIds = ref<any>([]);
|
|
@@ -811,6 +847,10 @@ const validateBreedingTime = (rule: any, value: any, callback: any) => {
|
|
|
|
|
|
|
|
// 自定义校验函数:养殖量校验
|
|
// 自定义校验函数:养殖量校验
|
|
|
const validateBreedingAmount = (rule: any, value: any, callback: any) => {
|
|
const validateBreedingAmount = (rule: any, value: any, callback: any) => {
|
|
|
|
|
+ if (+deawerData.value?.data[0]?.landType == 3) {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
if (!value) {
|
|
if (!value) {
|
|
|
callback(new Error('请输入养殖量'));
|
|
callback(new Error('请输入养殖量'));
|
|
|
return;
|
|
return;
|
|
@@ -826,6 +866,8 @@ const validateBreedingAmount = (rule: any, value: any, callback: any) => {
|
|
|
}
|
|
}
|
|
|
callback();
|
|
callback();
|
|
|
};
|
|
};
|
|
|
|
|
+// 委托企业
|
|
|
|
|
+const Enterprise = ref('123');
|
|
|
// 自定义delegateInfo 委托企业校验
|
|
// 自定义delegateInfo 委托企业校验
|
|
|
const validateDelegateInfo = (rule: any, value: any, callback: any) => {
|
|
const validateDelegateInfo = (rule: any, value: any, callback: any) => {
|
|
|
if (!value) {
|
|
if (!value) {
|
|
@@ -839,9 +881,75 @@ const validateDelegateInfo = (rule: any, value: any, callback: any) => {
|
|
|
}
|
|
}
|
|
|
if (!crediteCode) {
|
|
if (!crediteCode) {
|
|
|
callback(new Error('请选择委托企业'));
|
|
callback(new Error('请选择委托企业'));
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
if (!cusName) {
|
|
if (!cusName) {
|
|
|
callback(new Error('请选择委托企业'));
|
|
callback(new Error('请选择委托企业'));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ callback();
|
|
|
|
|
+};
|
|
|
|
|
+//判断是否要填种植面积
|
|
|
|
|
+const validatePlantingAmount = (rule: any, value: any, callback: any) => {
|
|
|
|
|
+ if (+deawerData.value?.data[0]?.landType == 1) {
|
|
|
|
|
+ if (!value || value.trim() === '') {
|
|
|
|
|
+ callback(new Error('请输入种植面积'));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ callback();
|
|
|
|
|
+ return;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+// 判断是否要填接种数量
|
|
|
|
|
+const validateinoculation = (rule: any, value: any, callback: any) => {
|
|
|
|
|
+ if (+deawerData.value?.data[0]?.landType == 3) {
|
|
|
|
|
+ if (!value || value.trim() === '') {
|
|
|
|
|
+ callback(new Error('请输入接种数量'));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 检查单位是否选择
|
|
|
|
|
+ if (!form.value.inoculation?.inoculationUnit) {
|
|
|
|
|
+ callback(new Error('请选择接种数量单位'));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ callback();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+const validateInoculationDosage = (rule: any, value: any, callback: any) => {
|
|
|
|
|
+ if (+deawerData.value?.data[0]?.landType == 3) {
|
|
|
|
|
+ // value 就是 form.inoculation.inoculationDosage 的值
|
|
|
|
|
+ if (!value || value.trim() === '') {
|
|
|
|
|
+ callback(new Error('请输入接种剂量'));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 检查单位是否选择
|
|
|
|
|
+ if (!form.value.inoculation?.inoculationDosageUnit) {
|
|
|
|
|
+ callback(new Error('请选择接种剂量单位'));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ callback();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+// 判断溯源级别是否需要校验
|
|
|
|
|
+const validateMgMethod = (rule: any, value: any, callback: any) => {
|
|
|
|
|
+ if (+deawerData.value?.data[0]?.landType == 3) {
|
|
|
|
|
+ if (!value) {
|
|
|
|
|
+ callback(new Error('请选择溯源级别'));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ callback();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
const rules = reactive({
|
|
const rules = reactive({
|
|
@@ -857,7 +965,7 @@ const rules = reactive({
|
|
|
plantingAmount: [{ required: true, message: '请输入养殖面积' }],
|
|
plantingAmount: [{ required: true, message: '请输入养殖面积' }],
|
|
|
breedScale: [{ required: true, message: '请输入养殖区域' }],
|
|
breedScale: [{ required: true, message: '请输入养殖区域' }],
|
|
|
plant: [{ validator: validateBreedingAmount, trigger: 'blur' }],
|
|
plant: [{ validator: validateBreedingAmount, trigger: 'blur' }],
|
|
|
- remark: [{ required: true, message: '请输入备注' }],
|
|
|
|
|
|
|
+ remark: [{ required: false, message: '请输入备注' }],
|
|
|
});
|
|
});
|
|
|
const rules1 = reactive({
|
|
const rules1 = reactive({
|
|
|
baseId: [{ required: true, message: '请选择种养殖所在的基地' }],
|
|
baseId: [{ required: true, message: '请选择种养殖所在的基地' }],
|
|
@@ -868,12 +976,12 @@ const rules1 = reactive({
|
|
|
varietyId: [{ required: true, message: '请选择养殖的动物名称' }],
|
|
varietyId: [{ required: true, message: '请选择养殖的动物名称' }],
|
|
|
plantationCode: [{ required: true, message: '请输入养殖批号' }],
|
|
plantationCode: [{ required: true, message: '请输入养殖批号' }],
|
|
|
technicalFile: [{ required: false, message: '请选择养殖技术规程文件' }],
|
|
technicalFile: [{ required: false, message: '请选择养殖技术规程文件' }],
|
|
|
- plantationMethod: [{ required: true, message: '请选择养殖方式' }],
|
|
|
|
|
|
|
+ plantationMethod: [{ required: false, message: '请选择养殖方式' }],
|
|
|
queryType6: [{ validator: validateBreedingTime, trigger: 'blur' }],
|
|
queryType6: [{ validator: validateBreedingTime, trigger: 'blur' }],
|
|
|
plantingAmount: [{ required: true, message: '请输入养殖面积' }],
|
|
plantingAmount: [{ required: true, message: '请输入养殖面积' }],
|
|
|
breedScale: [{ required: true, message: '请输入养殖区域' }],
|
|
breedScale: [{ required: true, message: '请输入养殖区域' }],
|
|
|
plant: [{ validator: validateBreedingAmount, trigger: 'blur' }],
|
|
plant: [{ validator: validateBreedingAmount, trigger: 'blur' }],
|
|
|
- remark: [{ required: true, message: '请输入备注' }],
|
|
|
|
|
|
|
+ remark: [{ required: false, message: '请输入备注' }],
|
|
|
});
|
|
});
|
|
|
const rules2 = reactive({
|
|
const rules2 = reactive({
|
|
|
baseId: [{ required: true, message: '请选择种植所在的基地' }],
|
|
baseId: [{ required: true, message: '请选择种植所在的基地' }],
|
|
@@ -886,7 +994,26 @@ const rules2 = reactive({
|
|
|
queryType6: [{ validator: validateBreedingTime, trigger: 'blur' }],
|
|
queryType6: [{ validator: validateBreedingTime, trigger: 'blur' }],
|
|
|
plantingAmount: [{ required: true, message: '请输入种植面积' }],
|
|
plantingAmount: [{ required: true, message: '请输入种植面积' }],
|
|
|
plant: [{ validator: validateBreedingAmount, trigger: 'blur' }],
|
|
plant: [{ validator: validateBreedingAmount, trigger: 'blur' }],
|
|
|
- remark: [{ required: true, message: '请输入备注' }],
|
|
|
|
|
|
|
+ remark: [{ required: false, message: '请输入备注' }],
|
|
|
|
|
+ preCropId: [{ required: false, message: '请选择前茬植物' }],
|
|
|
|
|
+ reproductionType: [{ required: true, message: '请选择选择繁殖方式' }],
|
|
|
|
|
+});
|
|
|
|
|
+const rules3 = reactive({
|
|
|
|
|
+ baseId: [{ required: true, message: '请选择种植所在的基地' }],
|
|
|
|
|
+ taskType: [{ required: true, message: '请选择任务类型' }],
|
|
|
|
|
+ delegateFlag: [{ required: true, message: '请选择是否代繁育' }],
|
|
|
|
|
+ delegateInfo: [{ validator: validateDelegateInfo, trigger: 'blur' }],
|
|
|
|
|
+ mgMethod: [{ validator: validateMgMethod, trigger: 'blur' }],
|
|
|
|
|
+ varietyId: [{ required: true, message: '请选择种植的植物名称' }],
|
|
|
|
|
+ plantationCode: [{ required: true, message: '请输入种植批号' }],
|
|
|
|
|
+ technicalFile: [{ required: false, message: '请选择繁育技术规程文件' }],
|
|
|
|
|
+ plantationMethod: [{ required: false, message: '请选择繁育方式' }],
|
|
|
|
|
+ queryType6: [{ validator: validateBreedingTime, trigger: 'blur' }],
|
|
|
|
|
+ plantingAmount: [{ validator: validatePlantingAmount, trigger: 'blur' }],
|
|
|
|
|
+ plant: [{ validator: validateBreedingAmount, trigger: 'blur' }],
|
|
|
|
|
+ 'inoculation.inoculationAmount': [{ validator: validateinoculation, trigger: 'blur' }],
|
|
|
|
|
+ 'inoculation.inoculationDosage': [{ validator: validateInoculationDosage, trigger: 'blur' }],
|
|
|
|
|
+ remark: [{ required: false, message: '请输入备注' }],
|
|
|
preCropId: [{ required: false, message: '请选择前茬植物' }],
|
|
preCropId: [{ required: false, message: '请选择前茬植物' }],
|
|
|
reproductionType: [{ required: true, message: '请选择选择繁殖方式' }],
|
|
reproductionType: [{ required: true, message: '请选择选择繁殖方式' }],
|
|
|
});
|
|
});
|
|
@@ -924,10 +1051,12 @@ function onDrawerConfirm(data: any) {
|
|
|
// 确认基地id
|
|
// 确认基地id
|
|
|
form.value.baseId = data.data[0]?.baseId;
|
|
form.value.baseId = data.data[0]?.baseId;
|
|
|
//确认地块面积
|
|
//确认地块面积
|
|
|
- form.value.plantingAmount = '';
|
|
|
|
|
- data.data.forEach((i: any) => {
|
|
|
|
|
- form.value.plantingAmount += i.area;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ if (+data.data[0]?.landType !== 3) {
|
|
|
|
|
+ form.value.plantingAmount = '';
|
|
|
|
|
+ data.data.forEach((i: LandInfo) => {
|
|
|
|
|
+ form.value.plantingAmount += i.area;
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
//确认养殖区域的个数
|
|
//确认养殖区域的个数
|
|
|
form.value.breedScale = data.data?.length;
|
|
form.value.breedScale = data.data?.length;
|
|
|
if (data?.aloneChecked) {
|
|
if (data?.aloneChecked) {
|
|
@@ -947,9 +1076,10 @@ const PreBiological = ref<any>(null);
|
|
|
//随机生成
|
|
//随机生成
|
|
|
const randomCode = async () => {
|
|
const randomCode = async () => {
|
|
|
let plType = '';
|
|
let plType = '';
|
|
|
- if (+form.value.taskType == 1) {
|
|
|
|
|
|
|
+ const taskType = form.value.taskType;
|
|
|
|
|
+ if (taskType === 1) {
|
|
|
plType = 'P';
|
|
plType = 'P';
|
|
|
- } else if (+form.value.taskType == 2) {
|
|
|
|
|
|
|
+ } else if (taskType === 2) {
|
|
|
plType = 'F';
|
|
plType = 'F';
|
|
|
} else {
|
|
} else {
|
|
|
plType = 'C';
|
|
plType = 'C';
|
|
@@ -961,13 +1091,18 @@ const randomCode = async () => {
|
|
|
const save = () => {
|
|
const save = () => {
|
|
|
uni.$u.debounce(async () => {
|
|
uni.$u.debounce(async () => {
|
|
|
try {
|
|
try {
|
|
|
|
|
+ console.log('开始提交');
|
|
|
await upFormRef.value?.validate();
|
|
await upFormRef.value?.validate();
|
|
|
|
|
+ console.log('校验完成');
|
|
|
const params = {
|
|
const params = {
|
|
|
...form.value,
|
|
...form.value,
|
|
|
...form.value.queryType6,
|
|
...form.value.queryType6,
|
|
|
...form.value.plant,
|
|
...form.value.plant,
|
|
|
|
|
+ ...form.value.inoculation,
|
|
|
animalIds: animalIds.value,
|
|
animalIds: animalIds.value,
|
|
|
};
|
|
};
|
|
|
|
|
+ console.log(params);
|
|
|
|
|
+
|
|
|
const res = await useClientRequest.post('/plt-api/app/plantationTask/saveTask', params);
|
|
const res = await useClientRequest.post('/plt-api/app/plantationTask/saveTask', params);
|
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
|
uni.showToast({
|
|
uni.showToast({
|
|
@@ -995,10 +1130,10 @@ const saveDraft = () => {
|
|
|
try {
|
|
try {
|
|
|
const params = {
|
|
const params = {
|
|
|
...form.value,
|
|
...form.value,
|
|
|
- plannedStartDate: form.value.queryType6.plannedStartDate,
|
|
|
|
|
- plannedEndDate: form.value.queryType6.plannedEndDate,
|
|
|
|
|
- plantingMgAmount: form.value.plant.plantingMgAmount,
|
|
|
|
|
- plantingMgUnit: form.value.plant.plantingMgUnit,
|
|
|
|
|
|
|
+ ...form.value.queryType6,
|
|
|
|
|
+ ...form.value.plant,
|
|
|
|
|
+ ...form.value.inoculation,
|
|
|
|
|
+ animalIds: animalIds.value,
|
|
|
};
|
|
};
|
|
|
const res = await useClientRequest.post('/plt-api/app/plantationTask/draftTask', params);
|
|
const res = await useClientRequest.post('/plt-api/app/plantationTask/draftTask', params);
|
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
@@ -1037,9 +1172,7 @@ const handleDeleteConfirm = () => {
|
|
|
const handleDeleteCancel = () => {
|
|
const handleDeleteCancel = () => {
|
|
|
animalId.value = null;
|
|
animalId.value = null;
|
|
|
};
|
|
};
|
|
|
-
|
|
|
|
|
-const clickSwipe = async (name, index) => {
|
|
|
|
|
- console.log(name, index);
|
|
|
|
|
|
|
+const clickSwipe = async (name: any, index: number) => {
|
|
|
if (name?.index == 0) {
|
|
if (name?.index == 0) {
|
|
|
const res = await uni.showModal({
|
|
const res = await uni.showModal({
|
|
|
title: '删除提示',
|
|
title: '删除提示',
|
|
@@ -1063,18 +1196,68 @@ const clickSwipe = async (name, index) => {
|
|
|
DialogFlag.value = name?.name;
|
|
DialogFlag.value = name?.name;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
+// 如果是组培实验室的话,繁育量是一个计算属性
|
|
|
|
|
+const plantingMgAmount = computed(() => {
|
|
|
|
|
+ // 安全访问嵌套属性
|
|
|
|
|
+ if (Number(deawerData.value?.data?.[0]?.landType) !== 3) {
|
|
|
|
|
+ return '';
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const inoculationAmount = Number(form.value?.inoculation?.inoculationAmount);
|
|
|
|
|
+ const inoculationDosage = Number(form.value?.inoculation?.inoculationDosage);
|
|
|
|
|
+
|
|
|
|
|
+ // 如果任一值为无效数字,返回空字符串
|
|
|
|
|
+ if (!inoculationAmount || !inoculationDosage || isNaN(inoculationAmount) || isNaN(inoculationDosage)) {
|
|
|
|
|
+ return '';
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const result = inoculationAmount * inoculationDosage;
|
|
|
|
|
+ // 返回计算结果,保持数字类型或空字符串
|
|
|
|
|
+ return isNaN(result) ? '' : result;
|
|
|
|
|
+});
|
|
|
|
|
+// 如果是组培实验室的话,繁育量单位是一个计算属性
|
|
|
|
|
+const plantingMgUnit = computed(() => {
|
|
|
|
|
+ if (Number(deawerData.value?.data?.[0]?.landType) == 3) {
|
|
|
|
|
+ form.value.plant.plantingMgUnit = form.value.inoculation?.inoculationDosageUnit || null;
|
|
|
|
|
+ return form.value.plant.plantingMgUnit;
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+});
|
|
|
|
|
+const laboratory = ref<any>();
|
|
|
|
|
+// 控制抽屉显示状态
|
|
|
|
|
+const laboratoryVisible = ref(false);
|
|
|
|
|
+// 处理实验室的关闭
|
|
|
|
|
+function handleLaboratoryClose() {
|
|
|
|
|
+ laboratory.value = null;
|
|
|
|
|
+}
|
|
|
|
|
+// 处理实验室的打开
|
|
|
|
|
+function openLaboratory() {
|
|
|
|
|
+ laboratoryVisible.value = true;
|
|
|
|
|
+}
|
|
|
|
|
+// 处理抽屉确认事件
|
|
|
|
|
+function handleLaboratoryConfirm(data: any) {
|
|
|
|
|
+ console.log('收到基地选择数据:', data);
|
|
|
|
|
+}
|
|
|
onLoad((options) => {
|
|
onLoad((options) => {
|
|
|
form.value.taskType = options?.taskType;
|
|
form.value.taskType = options?.taskType;
|
|
|
if (+options?.taskType == 1 || +options?.taskType == 11) {
|
|
if (+options?.taskType == 1 || +options?.taskType == 11) {
|
|
|
form.value.plantingUnit = '亩';
|
|
form.value.plantingUnit = '亩';
|
|
|
|
|
+ if (+options?.taskType == 11) {
|
|
|
|
|
+ form.value.gapFlag = 0;
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
form.value.plantingUnit = '平方米';
|
|
form.value.plantingUnit = '平方米';
|
|
|
|
|
+ if (+options?.taskType == 21) {
|
|
|
|
|
+ form.value.gapFlag = 0;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
const gotoTorganism = (type: number) => {
|
|
const gotoTorganism = (type: number) => {
|
|
|
if (type == 1) {
|
|
if (type == 1) {
|
|
|
uni.$once('updateBiologicalname', function (data) {
|
|
uni.$once('updateBiologicalname', function (data) {
|
|
|
Biological.value = data.msg;
|
|
Biological.value = data.msg;
|
|
|
|
|
+ console.log(Biological.value);
|
|
|
|
|
+
|
|
|
form.value.varietyId = data.msg.id;
|
|
form.value.varietyId = data.msg.id;
|
|
|
});
|
|
});
|
|
|
} else {
|
|
} else {
|
|
@@ -1087,5 +1270,65 @@ const gotoTorganism = (type: number) => {
|
|
|
url: '/tools/por-torganism/index',
|
|
url: '/tools/por-torganism/index',
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
-onMounted(() => {});
|
|
|
|
|
|
|
+// 查看是否有缓存的信息
|
|
|
|
|
+const getCache = async (taskType: TaskType | null) => {
|
|
|
|
|
+ const res = await useClientRequest.get(`/plt-api/app/plantationTask/getDraft/${taskType}`);
|
|
|
|
|
+ if (!res.data) return;
|
|
|
|
|
+ form.value = res.data;
|
|
|
|
|
+
|
|
|
|
|
+ form.value.queryType6 = {
|
|
|
|
|
+ plannedStartDate: res.data.plannedStartDate,
|
|
|
|
|
+ plannedEndDate: res.data.plannedEndDate,
|
|
|
|
|
+ };
|
|
|
|
|
+ form.value.inoculation = {
|
|
|
|
|
+ inoculationAmount: res.data.inoculationAmount,
|
|
|
|
|
+ inoculationDosage: res.data.inoculationDosage,
|
|
|
|
|
+ inoculationUnit: res.data.inoculationUnit,
|
|
|
|
|
+ inoculationDosageUnit: res.data.inoculationDosageUnit,
|
|
|
|
|
+ };
|
|
|
|
|
+ form.value.plant = {
|
|
|
|
|
+ plantingMgAmount: res.data.plantingMgAmount,
|
|
|
|
|
+ plantingMgUnit: res.data.plantingMgUnit,
|
|
|
|
|
+ };
|
|
|
|
|
+ if (res.data.animalIds) {
|
|
|
|
|
+ animalIds.value = res.data.animalIds;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (res.data.preCropCode) {
|
|
|
|
|
+ PreBiological.value = {};
|
|
|
|
|
+ const Bio = await useClientRequest.get(`/plt-api/app/medicine/getMedicineByCode/${res.data.preCropCode}`);
|
|
|
|
|
+ PreBiological.value = Bio.data;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (res.data.varietyCode) {
|
|
|
|
|
+ Biological.value = {};
|
|
|
|
|
+ const Bio = await useClientRequest.get(`/plt-api/app/medicine/getMedicineByCode/${res.data.varietyCode}`);
|
|
|
|
|
+ Biological.value = Bio.data;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 判断有没有基地,然后去获取基地数据
|
|
|
|
|
+ if (res.data.baseId) {
|
|
|
|
|
+ deawerData.value = {};
|
|
|
|
|
+ deawerData.value.baseName = res.data.baseRef.baseName;
|
|
|
|
|
+ deawerData.value.areaUnit = res.data.baseRef.baseInfo.areaUnit;
|
|
|
|
|
+ deawerData.value.address = res.data.baseRef.baseInfo.address;
|
|
|
|
|
+ // adcodeName
|
|
|
|
|
+ deawerData.value.adcodeName = res.data.baseRef.baseInfo.adcodeName;
|
|
|
|
|
+ if (res.data.landIds.length == 0) {
|
|
|
|
|
+ deawerData.value.aloneChecked = true;
|
|
|
|
|
+ const landIds = await useClientRequest.get('/plt-api/app/baseLandInfo/pageList', { baseId: res.data.baseId });
|
|
|
|
|
+ deawerData.value.data = landIds.rows;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ deawerData.value.aloneChecked = false;
|
|
|
|
|
+ deawerData.value.data = [];
|
|
|
|
|
+ const landIds = await useClientRequest.get('/plt-api/app/baseLandInfo/pageList', { baseId: res.data.baseId });
|
|
|
|
|
+ //找到res.data.landIds和landIds.rows中的id相同的项
|
|
|
|
|
+ landIds.rows.forEach((i: any) => {
|
|
|
|
|
+ if (res.data.landIds.find((t: any) => t == i.id)) {
|
|
|
|
|
+ deawerData.value.data.push(i);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+onMounted(() => {
|
|
|
|
|
+ getCache(form.value.taskType);
|
|
|
|
|
+});
|
|
|
</script>
|
|
</script>
|