Quellcode durchsuchen

fix: 增加全部区域,新增农事,果园日志

刘秀芳 vor 2 Wochen
Ursprung
Commit
eca1293b1d

+ 1 - 1
src/components/fnHeader.vue

@@ -60,7 +60,7 @@ const toggleFarm = (val) => {
     sessionStorage.setItem("farmId", farmVal.value);
     const curGarden = options.value.filter(item =>item.organId === val)
     sessionStorage.setItem("point", curGarden[0].wkt);
-    eventBus.emit('garden:organId',val)
+    // eventBus.emit('garden:organId',val)
     router.push({ name: "Home" });
 };
 

+ 6 - 9
src/components/navigation.vue

@@ -59,10 +59,10 @@ function gardenOrganId(farmId){
     organId.value = farmId
     VE_API.region.list({farmId}).then(res =>{
         options.value = res.data
-        // options.value.unshift({
-        //     id:0,
-        //     name:'全部区域'
-        // })
+        options.value.unshift({
+            id:0,
+            name:'全部区域'
+        })
         areaId.value = res.data[0].id
         eventBus.emit('area:id',{areaId:areaId.value,farmId})
         sessionStorage.setItem('regionId',areaId.value)
@@ -164,10 +164,7 @@ const toPage = () => {
 // 对比
 const checkedCompareChildren = ref([]);
 function handleCompareChange(v) {
-    if (checkedCompareChildren.value.length) {
-        // 对比
-        eventBus.emit("compareTree", checkedCompareChildren.value.length > 0 ? true : false)
-    }
+    eventBus.emit("compareTree", checkedCompareChildren.value.length > 0 ? true : false)
 }
 </script>
 
@@ -184,7 +181,7 @@ function handleCompareChange(v) {
     align-items: center;
     .select{
         // width: 120px;
-        width: 226px;
+        width: 166px;
         height: 50px;
         margin-right: 21px;
         ::v-deep{

+ 7 - 7
src/views/addFarm/index.vue

@@ -150,7 +150,7 @@
                         </template>
                     </div>
                     <div class="footer">
-                        <el-button class="button delete" type="danger" plain @click="remove()">删除</el-button>
+                        <el-button v-if="!isAdd" class="button delete" type="danger" plain @click="remove()">删除</el-button>
                         <div class="button" @click="handleOk">{{ active === 0 ? "确定" : (isAdd ? "新增农事" : "下发农事") }}</div>
                     </div>
                 </chart-box>
@@ -238,16 +238,16 @@ const getArea = (val) => {
 const isAdd = ref(true);
 
 const libId = route.query?.libId
-onMounted(() => {
-    dynamicValidateForm.regionId = Number(sessionStorage.getItem("regionId"));
+onMounted(async () => {
+    
     farmMap.initMap("POINT(113.61448114737868 23.585550924763083)", mapRef.value);
     isAdd.value = route.query?.isAdd;
     if (!isAdd.value) {
         active.value = 1
         getList()
     }
-    getAreaList();
-
+    await getAreaList();
+    dynamicValidateForm.regionId = Number(sessionStorage.getItem("regionId")) ? Number(sessionStorage.getItem("regionId")) : areaList.value[0].id;
     // farmMap.initData(farmId, dynamicValidateForm.regionId)
 });
 eventBus.off("editNsMap:areaVal", getArea)
@@ -257,8 +257,8 @@ eventBus.on("editNsMap:areaVal", getArea)
 const areaList = ref([]);
 const orderIdVal = ref("");
 const workItemData = ref({});
-const getAreaList = (callback) => {
-    VE_API.area.list({ farmId }).then(({ data, code }) => {
+const getAreaList = async (callback) => {
+   await VE_API.area.list({ farmId }).then(({ data, code }) => {
         areaList.value = data;
         // if (isAdd.value) {
         //     regionId.value = data && data.length && data[0].id

+ 1 - 0
src/views/home/album/album_compoents/albumCarousel7d.vue

@@ -52,6 +52,7 @@ onUnmounted(()=>{
 })
 
 const getImageList = (params) =>{
+  console.log('get img');
   VE_API.image.list(params).then(res => {
     if(res.code === 0){
       let result = splitByWeek(res.data, params.startDate, params.endDate);

+ 32 - 32
src/views/home/album/index.vue

@@ -42,31 +42,31 @@
                         </div>
                     </el-affix>
                     <div class="album-r" @scroll="debouncedHandleScroll2">
+                        
+                        <div class="log-wrap">
+                            <div class="log-box">
+                                <div class="log-title PangMenZhengDao-FONT">
+                                    <span>果园日志</span>
+                                </div>
+                                <div class="log-content">
+                                    <div class="log-desc" v-html="indicatorChartData?.content"></div>
+                                    <indicatorChart
+                                        :key="cardI+'log'"
+                                        :isDark="true"
+                                        :chartData="indicatorChartData"
+                                    ></indicatorChart>
+                                </div>
+                            </div>
+                        </div>
                         <div
                             class="done-card section"
                             v-for="(card, cardI) in farmWorkList"
                             :key="cardI"
-                            :class="{ flashing: card.execute === 3 && isFlashing && cardI === secondLastIndex }"
                         >
                             <div
                                 class="card-dom"
                                 :id="'section' + cardI"
                             ></div>
-                            <div v-if="card.execute === 3 && indicatorChartData.content && cardI === secondLastIndex" class="log-wrap">
-                                <div class="log-box">
-                                    <div class="log-title PangMenZhengDao-FONT">
-                                        <span>果园日志</span>
-                                    </div>
-                                    <div class="log-content">
-                                        <div class="log-desc" v-html="indicatorChartData?.content"></div>
-                                        <indicatorChart
-                                            :key="cardI+'log'"
-                                            :isDark="true"
-                                            :chartData="indicatorChartData"
-                                        ></indicatorChart>
-                                    </div>
-                                </div>
-                            </div>
                             <div class="card-wrap" :class="{ noCarousel: (card.execute !== 0 && card.execute !== 2), 'done': (card.execute === 4 || card.execute === 5) }">
                                 <div
                                     class="card-content"
@@ -175,8 +175,8 @@
                                             <!-- <img src="@/assets/img/weather_index/expert-icon.png" /> -->
                                             <img class="expert-icon" :src="card.expertIcon" />
                                             <div class="expert-name">
-                                                {{ card.expertName
-                                                }}<el-icon size="12" class="icon"><ArrowRightBold /></el-icon>
+                                                {{ card.expertName}}
+                                                <!-- <el-icon size="12" class="icon"><ArrowRightBold /></el-icon> -->
                                             </div>
                                         </div>
                                         <div class="step-box" v-else>
@@ -231,7 +231,7 @@
                             <div v-if="card.execute !== 0 && card.execute !== 2" :class="['over-img']">
                                 <!-- 图片列表 -->
                                 <album-carousel7d
-                                    :key="farmName"
+                                    :key="farmName+cardI"
                                     :farmId="farmId"
                                     :farmWork="card"
                                 ></album-carousel7d>
@@ -309,11 +309,11 @@ const debouncedHandleScroll2 = debounce(handleRightScroll, 501);
 // });
 
 const handlePage = (item) =>{
-    router.push('/expert_page?name='+item.expertName)
+    // router.push('/expert_page?name='+item.expertName)
 }
 
 const toExpert = (expertName) =>{
-    router.push('/expert_page?name='+expertName)
+    // router.push('/expert_page?name='+expertName)
 }
 
 
@@ -325,8 +325,7 @@ onMounted(() => {
 
     farmId.value = sessionStorage.getItem("farmId")
     getFarmDetail(farmId.value);
-    getFarmWorkList(farmId.value);
-    getFarmLog()
+    // getFarmWorkList(farmId.value);
     // window.addEventListener("scroll", debouncedHandleScroll);
 
     window.addEventListener("scroll", debouncedHandleScroll);
@@ -340,16 +339,16 @@ function toggleAreaId({ areaId, farmId }) {
     
     farmWorkList.value = []
     getFarmWorkList(farmId)
-    
+    console.log('farmId', farmId);
     getFarmLog()
     // farmId.value = farmId
 }
 
 function getListData(farmIdVal) {
+    console.log('farmIdVal', farmIdVal);
     farmId.value = farmIdVal
     getFarmDetail(farmId.value);
     // getFarmWorkList(farmId.value);
-    // getFarmLog()
 }
 
 const farmId = ref(null);
@@ -385,15 +384,16 @@ const getFarmDetail = (id) => {
 const farmWorkList = ref([]);
 const getFarmWorkList = (farmId) => {
     // regionId
-    VE_API.farm.fetchFarmWorkList({ farmId, regionId: regionId.value }).then(({ data }) => {
+    const regionVal = regionId.value ? regionId.value : null
+    VE_API.farm.fetchFarmWorkList({ farmId, regionId: regionVal }).then(({ data }) => {
         getSecondLastIndex(data);
         // farmWorkList.value = data;
-        nextTick(() => {
-            initScrollToSection(secondLastIndex.value);
-        });
-        setTimeout(() => {
-            startFlashing();
-        }, 100);
+        // nextTick(() => {
+        //     initScrollToSection(secondLastIndex.value);
+        // });
+        // setTimeout(() => {
+        //     startFlashing();
+        // }, 100);
     });
 };
 

+ 8 - 6
src/views/home/index.vue

@@ -196,12 +196,12 @@ onUnmounted(() => {
 
 const blueList = ref([]);
 const getBlueRegionList = (callback) => {
-    // let selectAll = undefined
-    // if(regionId.value===0){
-    //     selectAll = 1
-    // }
-    // const areaId = selectAll?undefined:regionId.value
-    VE_API.farm.blueRegionList({ farmId: organId.value, regionId: regionId.value }).then(({ data }) => {
+    let selectAll = undefined
+    if(regionId.value===0){
+        selectAll = 1
+    }
+    const areaId = selectAll?undefined:regionId.value
+    VE_API.farm.blueRegionList({ farmId: organId.value, regionId: areaId, selectAll }).then(({ data }) => {
         blueList.value = data.map((item) => {
             let color = "rgba(255, 255, 255, 0.5)"; //失效区域
             if (item.status === 2) {
@@ -533,6 +533,7 @@ const handleLegend = (e) => {
   blueRegionLayer.toggleLayer(e);
 };
 
+eventBus.off("clickToCompare:point", toggleCompare)
 eventBus.on("clickToCompare:point", toggleCompare)
 // 对比
 const compareData = ref([])
@@ -551,6 +552,7 @@ function showCompare() {
 eventBus.off("closeCompare", clsoeCompareFun)
 eventBus.on("closeCompare", clsoeCompareFun)
 function clsoeCompareFun() {
+    eventBus.emit("resetCompare", compareData.value)
     showCompareBtn.value = false
     compareData.value = []
 }

+ 12 - 8
src/views/home/map/samplePointLayer.js

@@ -71,7 +71,11 @@ class SamplePointLayer {
     })
 
 
-  eventBus.off("closeCompare")
+  eventBus.off("resetCompare", () => {})
+  eventBus.on("resetCompare", (data) => {
+    console.log('dddd reset', data);
+    // data[0].set("activeCompare", true);
+  })
   // eventBus.on("closeCompare", () => {
 
   // })
@@ -79,7 +83,7 @@ class SamplePointLayer {
   getIconStyle(feature){
     let style = new Style({
       image: new Icon({
-        src: feature.get('icon'),
+        src: feature.get('activeCompare') ? require('@/assets/images/map/active-icon-small.png') : feature.get('icon'),
         // src: require(`@/assets/images/map/${feature.get('iconName')}-icon.png`),
         scale:feature.get('scale'),
       })
@@ -106,11 +110,11 @@ class SamplePointLayer {
   initData(farmId, regionId){
     let that = this
     let selectAll = undefined
-    // if(regionId===0){
-    //     selectAll = 1
-    // }
-    // const areaId = selectAll?undefined:regionId
-    VE_API.variety.pointList({farmId,regionId}).then(({data})=>{
+    if(regionId===0){
+        selectAll = 1
+    }
+    const areaId = selectAll?undefined:regionId
+    VE_API.variety.pointList({farmId, regionId: areaId, selectAll}).then(({data})=>{
       let features = []
       for(let item of data){
         item.iconName='defalut'
@@ -149,8 +153,8 @@ class SamplePointLayer {
           if (!that.isCompare) {
             eventBus.emit("click:point",{farmId:fs.get("farmId"),sampleId:fs.get("sampleId"), data: fs.getProperties()})
           } else {
-            fs.set("icon", require('@/assets/images/map/active-icon-small.png'));
             fs.set("activeCompare", true);
+            fs.set("icon", require('@/assets/images/map/active-icon-small.png'));
             eventBus.emit("clickToCompare:point",{farmId:fs.get("farmId"),sampleId:fs.get("sampleId"), data: fs.getProperties()})
           }
         }