Przeglądaj źródła

fix: 亩数处理

lxf 2 dni temu
rodzic
commit
a17e7eaf0e

+ 8 - 1
src/common/commonFun.js

@@ -91,6 +91,13 @@ function throttle(func, wait) {
     };
 }
 
+// 处理亩数
+function formatArea(val) {
+    const num = typeof val === 'number' ? val : parseFloat(val);
+    if (Number.isNaN(num)) return val;
+    return Number.isInteger(num) ? num : num.toFixed(2);
+}
+
 // 下载图片的函数
 async function downloadImage(downDom) {
     if (downDom) {
@@ -175,4 +182,4 @@ function convertImage(imgUrl) {
     });
 }
 
-export { deepClone, extractCoordinates, throttle, downloadImage, convertImage, detectRuntimeEnvironment };
+export { deepClone, extractCoordinates, throttle, downloadImage, convertImage, detectRuntimeEnvironment, formatArea };

+ 1 - 1
src/components/taskItem.vue

@@ -59,7 +59,7 @@
                         <div class="farm-addr">{{ itemData?.address }}</div>
                     </div>
                 </div>
-                <div class="right-wrap">特别关注</div>
+                <!-- <div class="right-wrap">特别关注</div> -->
             </div>
             <slot name="footer"></slot>
         </div>

+ 12 - 12
src/views/old_mini/modify_work/completedWork.vue

@@ -166,7 +166,7 @@
                         </div>
                         <div class="form-item">
                             <div class="item-name">服务亩数</div>
-                            <div class="item-text">{{ detailData?.area ? detailData?.area + '亩' : '--' }}</div>
+                            <div class="item-text">{{ detailData?.area ? formatArea(detailData?.area) + '亩' : '--' }}</div>
                         </div>
                         <div class="form-item">
                             <div class="item-name">服务区域</div>
@@ -328,6 +328,8 @@ import priceTable from "../agri_work/components/priceTable.vue";
 import priceSheetPopup from "@/components/popup/priceSheetPopup.vue";
 import uploadExecute from "@/views/old_mini/task_condition/components/uploadExecute.vue";
 import { base_img_url2 } from "@/api/config";
+import { ElMessage } from "element-plus";
+import { formatArea } from "@/common/commonFun";
 
 const router = useRouter();
 const store = useStore();
@@ -437,11 +439,15 @@ const handleRemindExecute = () => {
 }
 
 const handleForward = () => {
-    onlyShare.value = true;
-    setTimeout(() => {
-        uploadExecuteRef.value.showPopup({...parmasPage.value, type:'quotation'});
-    }, 10);
-    
+    if(quotationData.value.itemsList && quotationData.value.itemsList.length > 0) {
+        onlyShare.value = true;
+        setTimeout(() => {
+            uploadExecuteRef.value.showPopup({...parmasPage.value, type:'quotation'});
+        }, 10);
+    } else {
+        ElMessage.warning('暂无报价数据,无法分享')
+        return;
+    }
 }
 
 const onlyShare = ref(false);
@@ -567,12 +573,6 @@ const getTriggerImg = async (id) => {
     const { data } = await VE_API.z_farm_work_record.getTriggerImg({ farmWorkRecordId: id });
     triggerImg.value = data || [];
 }
-
-function formatArea(val) {
-    const num = typeof val === 'number' ? val : parseFloat(val);
-    if (Number.isNaN(num)) return val;
-    return Number.isInteger(num) ? num : num.toFixed(2);
-}
 const detailData = ref({});
 const getDetail = async (id) => {
     const { data } = await VE_API.z_farm_work_record.getDetail({ id });

+ 2 - 1
src/views/old_mini/modify_work/index.vue

@@ -49,7 +49,7 @@
                         </el-form-item>
                         <el-form-item label-width="70px" class="form-item text-item" label="服务亩数">
                             <div class="info-text">
-                                {{ detailData?.area ? detailData?.area + '亩' : '--' }}
+                                {{ detailData?.area ? formatArea(detailData?.area) + '亩' : '--' }}
                             </div>
                         </el-form-item>
                         <el-form-item label-width="70px" class="form-item text-item" label="服务区域">
@@ -411,6 +411,7 @@ import { useStore } from "vuex";
 import { Popup } from "vant";
 import farmSteps from "@/components/farmSteps.vue";
 import { base_img_url2 } from "@/api/config";
+import { formatArea } from "@/common/commonFun";
 import dayjs from "dayjs";
 const store = useStore();
 const router = useRouter();

+ 11 - 1
src/views/old_mini/task_condition/components/uploadExecute.vue

@@ -67,7 +67,17 @@ function handleConfirm() {
             ElMessage.success('请求确认成功');
             show.value = false;
             VE_API.z_farm_work_record.getDetail({ id: farmData.value.id }).then(({ data }) => {
-                farmData.value = data[0];
+                farmData.value = {
+                    farmMiniUserId:data.users[0]?.userId,
+                    farmMiniUserName:data.expertUserName,
+                    farmWorkOrderId:data.orderId,
+                    farmId:data.farmId,
+                    executeEvidence:JSON.stringify(data.executeEvidence),
+                    farmWorkName:data.farmWorkName,
+                    id:data.id,
+                }
+                farmData.value.type = 'confirmExecute'
+                console.log("farmData.value", farmData.value);
                 showShare.value = true;
             });
         }