huangxw 4 semanas atrás
pai
commit
49d7e53d48
1 arquivos alterados com 24 adições e 95 exclusões
  1. 24 95
      src/plant/base/base-edit/index.vue

+ 24 - 95
src/plant/base/base-edit/index.vue

@@ -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 {