lisy 1 mēnesi atpakaļ
vecāks
revīzija
b5f3569db5

+ 18 - 12
src/plant/port/supervise/supervise-plant-create/index.vue

@@ -35,17 +35,17 @@
                     </ut-action-sheet>
                     <!-- 操作地块 -->
                     <up-form-item :borderBottom="false" label="操作地块" required prop="baseId" id="baseIdpppp">
-                        <view v-if="!deawerData" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB" @click="$u.route({ type: 'navigateTo', url: '/tools/supervise-plot/index', params: { baseId: baseId } })">
+                        <view v-if="!deawerData" class="w-100% d-flex a-c j-c pd-24 b-radius bg-#FBFDFB border-#AFDDBB" @click="goSelectBase()">
                             <view class=""></view>
                             <view class="f-s-34 c-primary">请选择操作地块</view>
                         </view>
                         <view class="w-100%" v-else>
-                            <Baseinfo :modeValue="deawerData" @close="handleBaseinfoClose" :baseType="form.taskType" />
+                            <Baseinfo :modeValue="deawerData" @close="handleBaseinfoClose" :baseType="'1'" />
                         </view>
                     </up-form-item>
                     <!-- 操作方式 -->
                     <up-form-item borderBottom label="操作方式" required prop="operationMethod" id="operationMethodpppp">
-                        <up-input v-model="form.operationMethod" placeholder="请输入操作方式" border="none"></up-input>
+                        <up-input v-model="form.operationMethod" placeholder="如:人工锄草、机械中耕、喷雾器叶面喷施等" border="none"></up-input>
                     </up-form-item>
 
                     <!-- 记录人 -->
@@ -61,8 +61,11 @@
                     </up-form-item>
 
                     <!-- 备注 -->
-                    <up-form-item borderBottom label="备注" prop="remark" id="remarkpppp">
-                        <up-input v-model="form.remark" placeholder="请输入备注" border="none"></up-input>
+                    <up-form-item borderBottom label="备注/说明" prop="remark" id="remarkpppp">
+                        <up-input v-model="form.remark" placeholder="如:“防治阔叶杂草”、“花期追肥”" border="none"></up-input>
+                    </up-form-item>
+                    <up-form-item label="过程图片" prop="technicalFile" borderBottom id="technicalFilepppp">
+                        <ut-upload v-model="form.technicalFile" :max-count="9" valueType="array" accept="image"></ut-upload>
                     </up-form-item>
                 </view>
             </up-form>
@@ -79,6 +82,7 @@
 import { ref, reactive, computed, getCurrentInstance, type ComponentInternalInstance } from 'vue';
 import { useClientRequest } from '@/utils/request';
 import { useInfoStore } from '@/store';
+import Baseinfo from '../models/baseinfo.vue';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { yes_no } = toRefs<any>(proxy?.useDict('yes_no'));
 const deawerData = ref();
@@ -94,6 +98,7 @@ const form = ref({
     recorder: infoStore.userInfo?.name,
     useMaterial: '0' as '0' | '1',
     remark: '',
+    technicalFile: '',
 });
 const baseId = ref('');
 // 操作类型选项(示例,可以根据实际需求调整)
@@ -140,13 +145,6 @@ const rules = reactive({
     remark: [{ required: false, message: '请输入备注' }],
 });
 
-// 字典标签选择函数(从 port-create 复制)
-const selectDictLabel = (dict: any[], value: any) => {
-    if (!dict || dict.length === 0) return '';
-    const item = dict.find((item) => item.value === value);
-    return item ? item.label : '';
-};
-
 const paging = ref();
 const list = ref();
 const upFormRef = ref<any>();
@@ -238,6 +236,14 @@ const saveDraft = () => {
         true,
     );
 };
+//去操作地块页面选择地块
+const goSelectBase = () => {
+    uni.$once('updatelands', function (data) {
+        deawerData.value = data;
+        console.log(deawerData.value, 'deawerData.value');
+    });
+    uni.$u.route({ type: 'navigateTo', url: '/tools/supervise-plot/index', params: { baseId: baseId.value } });
+};
 onLoad((options: any) => {
     baseId.value = options?.baseId;
 });

+ 39 - 2
src/tools/supervise-plot/index.vue

@@ -37,7 +37,7 @@
                     <view class="d-flex w-100% j-sb">
                         <view class="flex1 ov-hd">
                             <view class="mb-20 ov-hd tx-ov d-flex a-c">
-                                <view class="c-primary f-s-24 f-w-5 mr-5 bg-#EBF6EE pd4-6-10-6-10 b-radius" style="font-style: italic">{{ Number(index) + 1 < 10 ? '0' + (Number(index) + 1) : Number(index) + 1 }}</view>
+                                <view class="c-primary f-s-24 f-w-5 mr-5 bg-#EBF6EE pd4-6-10-6-10 b-radius mr-6" style="font-style: italic">{{ Number(index) + 1 < 10 ? '0' + (Number(index) + 1) : Number(index) + 1 }}</view>
                                 <view class="c-#333 f-w-5 f-s-34 tx-ov ov-hd">{{ item?.landName }}</view>
                             </view>
                             <view class="d-flex a-c">
@@ -53,13 +53,19 @@
                         </view>
                         <view class="d-flex j-c a-c">
                             <view @click.stop class="">
-                                <up-checkbox activeColor="#37A954" label="" :name="item?.id"> </up-checkbox>
+                                <up-checkbox activeColor="#37A954" label="" :name="item?.id" shape="circle"></up-checkbox>
                             </view>
                         </view>
                     </view>
                 </up-checkbox-group>
             </view>
         </view>
+        <template #bottom>
+            <view class="pd-24 d-flex j-c gap-20 base-bottom-wrap">
+                <up-button type="warning" @click="cancel()">取消</up-button>
+                <up-button type="primary" @click="save()">确认选择</up-button>
+            </view>
+        </template>
     </z-paging>
 </template>
 <script lang="ts" setup>
@@ -97,4 +103,35 @@ onLoad(async (options: any) => {
     // 初始选中状态为空
     checkboxValue.value = [];
 });
+const cancel = () => {
+    uni.navigateBack({
+        delta: 1,
+    });
+};
+// 确认选择
+const save = () => {
+    const checkedLands = lands.value.filter((item: any) => checkboxValue.value.includes(item.id));
+    console.log(checkedLands);
+    // 我希望这个能返回 data: { medicineName: string; swyqMedicineName: string; checkBox: any[]; data: any[]; aloneChecked: boolean; baseName: string; area?: string; gapFlag: number; swyqRes: number; areaUnit: string; adcodeName: string; address: string })
+    uni.$emit('updatelands', {
+        baseName: modeValue.value?.baseName,
+        area: modeValue.value?.gapInfo?.area,
+        gapFlag: modeValue.value?.gapFlag,
+        swyqRes: modeValue.value?.swyqRes,
+        areaUnit: modeValue.value?.gapInfo?.areaUnit,
+        adcodeName: modeValue.value?.gapInfo?.adcodeName,
+        address: modeValue.value?.gapInfo?.address,
+        aloneChecked: isAllSelected.value,
+        swyqMedicineName: modeValue.value?.swyqMedicineName,
+        medicineName: modeValue.value?.medicineName,
+        checkBox: checkboxValue.value,
+    });
+    uni.navigateBack({
+        delta: 1,
+    });
+};
+
+onUnload(() => {
+    uni.$off('updatelands');
+});
 </script>