|
|
@@ -1,16 +1,22 @@
|
|
|
<template>
|
|
|
<z-paging ref="paging" bgColor="#F7F7F7" safe-area-inset-bottom paging-class="paging-btm-shadow" scroll-with-animation>
|
|
|
<template #top>
|
|
|
- <ut-navbar :title="(did && !+form?.baseInfo?.tempFlag ? '编辑基地' : '添加基地')" :fixed="false" border></ut-navbar>
|
|
|
- <view class="bg-fff mb-20 pd2-0-24">
|
|
|
+ <ut-navbar :title="did && !+form?.baseInfo?.tempFlag ? '编辑基地' : '添加基地'" :fixed="false" border></ut-navbar>
|
|
|
+ <view class="bg-fff pd2-0-24">
|
|
|
<view class="pd-5"></view>
|
|
|
<ut-tabs v-model="activeTab" :tabs="tabs" mode="btw" @change="changeActiveTab"></ut-tabs>
|
|
|
</view>
|
|
|
</template>
|
|
|
<up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules" labelWidth="auto" ref="upFormRef">
|
|
|
<!-- 基本信息 -->
|
|
|
- <view ref="baseRef" class="pd-24" id="base12345">
|
|
|
- <view class="startline-title">基本信息</view>
|
|
|
+ <view ref="baseRef" class="pd2-18-24 d-flex j-sb a-c" id="base12345">
|
|
|
+ <view>
|
|
|
+ <view class="startline-title">基本信息</view>
|
|
|
+ </view>
|
|
|
+ <view class="pd-10 bg-primary c-#fff radius-16 text-center" @click="selectGapInfo">
|
|
|
+ <view class="f-s-24">一键复用云南GAP基地信息</view>
|
|
|
+ <view class="f-s-18">仅做信息复用填写,不做GAP基地标记</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="pd-24 bg-#fff mb-10">
|
|
|
<up-alert type="primary" fontSize="24rpx" description="注意:基地不强制与品种挂钩!基地地址以行政村为界,可成片集中或相对集中,跨村则视为另一基地(连片跨村除外)。"></up-alert>
|
|
|
@@ -66,91 +72,6 @@
|
|
|
<up-form-item borderBottom label="基地联系电话" prop="baseInfo.contactTel">
|
|
|
<up-input v-model="form.baseInfo.contactTel" placeholder="请输入基地联系电话" border="none" clearable></up-input>
|
|
|
</up-form-item>
|
|
|
- <!-- 是否Gap基地 -->
|
|
|
- <view class="h-1" id="gapFlagpppp"></view>
|
|
|
- <template v-if="['1', '2'].includes(form.baseInfo.baseType)">
|
|
|
- <up-form-item borderBottom label="是否为Gap基地" required prop="baseInfo.gapFlag">
|
|
|
- <up-radio-group v-model="form.baseInfo.gapFlag">
|
|
|
- <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-form-item>
|
|
|
- <!-- 关联的GAP获评信息 -->
|
|
|
- <template v-if="+form.baseInfo.gapFlag">
|
|
|
- <template v-if="!form.baseInfo.gapId">
|
|
|
- <up-form-item borderBottom label="关联的GAP获评信息" prop="baseInfo.gapId">
|
|
|
- <up-button @click="selectGapInfo" type="primary" plain>
|
|
|
- <up-icon class="mr-10" name="plus" color="#37A954"></up-icon>
|
|
|
- <span>请选择要关联的GAP基地获评信息</span>
|
|
|
- </up-button>
|
|
|
- </up-form-item>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <up-form-item borderBottom label="关联的GAP获评信息" prop="baseInfo.gapId">
|
|
|
- <view class="bg-#FBFDFB pd-24 p-rtv flex1 radius-10 gap-info-card">
|
|
|
- <view class="f-s-32 f-w-500 c-#333">{{ form?.baseInfo?.gapInfo?.gapBaseName || '-' }}</view>
|
|
|
- <view class="f-s-24 c-#ccc mb-10">{{ form?.baseInfo?.gapInfo?.ratedDate }}获评</view>
|
|
|
- <view class="d-flex gap-10 flex-wrap">
|
|
|
- <view class="w-330 f-s-28">
|
|
|
- <span class="c-#666">申报品种:</span>
|
|
|
- <span class="c-#333 f-w-500">{{ form?.baseInfo?.gapInfo?.medicineName }}</span>
|
|
|
- </view>
|
|
|
- <view class="w-290 f-s-28">
|
|
|
- <span class="c-#666">基地面积:</span>
|
|
|
- <span class="c-#333 f-w-500">{{ form?.baseInfo?.gapInfo?.area }}{{ form?.baseInfo?.gapInfo?.areaUnit }}</span>
|
|
|
- </view>
|
|
|
- <view class="f-s-28">
|
|
|
- <span class="c-#666">基地地址:</span>
|
|
|
- <span class="c-#333 f-w-500">{{ form?.baseInfo?.gapInfo?.adcodeName }} {{ form?.baseInfo?.gapInfo?.address || '-' }}</span>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="card-close pd-10" @click="removeGapInfo">
|
|
|
- <up-icon name="close" size="32rpx" color="#F81242"></up-icon>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </up-form-item>
|
|
|
- <up-form-item borderBottom label="基地具体地址" required prop="baseInfo.gapInfo.adcode">
|
|
|
- <!-- <up-input v-model="form.address" placeholder="请选择基地所在省/市/县/镇(乡)" border="none" clearable></up-input> -->
|
|
|
- <view v-if="form?.baseInfo?.gapInfo?.adcode" class="f-s-30 c-ccc f-w-5 flex1">{{ form?.baseInfo?.gapInfo?.adcodeName }} </view>
|
|
|
- <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择基地所在省/市/县/镇(乡)</view>
|
|
|
- </up-form-item>
|
|
|
- <up-form-item borderBottom prop="baseInfo.gapInfo.address">
|
|
|
- <view class="f-s-30 c-#ccc f-w-5">{{ form?.baseInfo?.gapInfo?.address || '-' }}</view>
|
|
|
- </up-form-item>
|
|
|
- <up-form-item borderBottom prop="baseInfo.gapInfo.basePic" required>
|
|
|
- <view class="flex1 ov-hd">
|
|
|
- <view class="d-flex a-c mb-10" style="margin-bottom: 5px">
|
|
|
- <view class="f-s-30 c-#666">基地范围</view>
|
|
|
- </view>
|
|
|
- <view class="bg-#ccc d-flex ov-hd p-rtv">
|
|
|
- <image class="w-full" v-if="form.baseInfo.gapInfo?.basePic" :src="form.baseInfo.gapInfo.basePic" mode="widthFix" />
|
|
|
- <image class="w-full h-380" v-else src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/base/select_base_gap.png" mode="widthFix" />
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </up-form-item>
|
|
|
- <view class="h-1" id="areaPppp"></view>
|
|
|
- <up-form-item required borderBottom label="基地面积" prop="baseInfo.gapInfo.area">
|
|
|
- <view class="f-s-30 c-#ccc f-w-5">{{ form?.baseInfo?.gapInfo?.area || '-' }}</view>
|
|
|
- <template #right>
|
|
|
- <span>{{ form.baseInfo.gapInfo.areaUnit }}</span>
|
|
|
- </template>
|
|
|
- </up-form-item>
|
|
|
- <!-- 基地经纬度 -->
|
|
|
- <view class="h-1" id="lngpppp"></view>
|
|
|
- <view class="h-1" id="latpppp"></view>
|
|
|
- <up-form-item required label="基地经纬度" class="form-item-wrap-column">
|
|
|
- <view class="d-flex" style="margin-top: -10px">
|
|
|
- <up-form-item class="flex1" prop="baseInfo.gapInfo.lng">
|
|
|
- <view class="f-s-30 c-#ccc flex1 f-w-5">{{ form?.baseInfo?.gapInfo?.lng || '-' }}</view>
|
|
|
- </up-form-item>
|
|
|
- <view class="pd-5"></view>
|
|
|
- <up-form-item class="flex1" prop="baseInfo.gapInfo.lat">
|
|
|
- <view class="f-s-30 c-#ccc flex1 f-w-5">{{ form?.baseInfo?.gapInfo?.lat || '-' }}</view>
|
|
|
- </up-form-item>
|
|
|
- </view>
|
|
|
- </up-form-item>
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- </template>
|
|
|
<template v-if="!+form.baseInfo.gapFlag && !form.baseInfo.gapId">
|
|
|
<view class="h-1" id="adcodepppp"></view>
|
|
|
<up-form-item @click="showArea = true" borderBottom label="基地具体地址" required prop="baseInfo.gapInfo.adcode">
|
|
|
@@ -626,7 +547,6 @@ const rules = reactive({
|
|
|
// 'baseInfo.contactId': [{ required: true, message: '请选择基地负责人' }],
|
|
|
'baseInfo.contactTel': [{ required: true, message: '请输入基地联系电话' }],
|
|
|
'baseInfo.gapInfo.adcode': [{ required: true, message: '请选择基地具体地址' }],
|
|
|
- 'baseInfo.gapFlag': [{ required: true, message: '请选择是否为Gap基地' }],
|
|
|
// 'baseInfo.gapInfo.basePic': [{ required: true, message: '请绘制基地范围' }],
|
|
|
'baseInfo.gapInfo.area': [{ required: true, message: '请输入基地面积' }],
|
|
|
// 'baseInfo.gapInfo.lng': [{ required: true, message: '请输入基地经纬度' }],
|
|
|
@@ -662,7 +582,7 @@ const saveBaseInfo = async () => {
|
|
|
}
|
|
|
},
|
|
|
500,
|
|
|
- true
|
|
|
+ true,
|
|
|
);
|
|
|
};
|
|
|
const submitForm = async () => {
|
|
|
@@ -703,7 +623,7 @@ const submitForm = async () => {
|
|
|
}
|
|
|
},
|
|
|
500,
|
|
|
- true
|
|
|
+ true,
|
|
|
);
|
|
|
};
|
|
|
|
|
|
@@ -778,8 +698,18 @@ const selectCpyMember = () => {
|
|
|
const selectGapInfo = () => {
|
|
|
uni.$on('selectGapInfo', (item: any) => {
|
|
|
console.log(item);
|
|
|
- form.value.baseInfo.gapId = item.id || undefined;
|
|
|
- form.value.baseInfo.gapInfo = item;
|
|
|
+ form.value.baseInfo.gapInfo = {
|
|
|
+ adcode: item.adcode,
|
|
|
+ adcodeName: item.adcodeName,
|
|
|
+ address: item.address,
|
|
|
+ areaUnit: item.areaUnit,
|
|
|
+ area: item.area,
|
|
|
+ basePic: item.basePic,
|
|
|
+ lng: item.lng,
|
|
|
+ lat: item.lat,
|
|
|
+ lnglat: `${item.lng},${item.lat}`,
|
|
|
+ };
|
|
|
+ form.value.baseInfo.coordinates = item.coordinates || [];
|
|
|
uni.$off('selectGapInfo');
|
|
|
});
|
|
|
uni.$u.route({
|
|
|
@@ -868,7 +798,6 @@ const getDetailById = async (id: string) => {
|
|
|
form.value = res.data || {};
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.z-paging-wrap {
|