智慧农业后台管理页面
guoshilong
2022-11-08 082613d446e29e4ec1c16bfaa52345106a498b23
src/views/wel/index.vue
@@ -37,13 +37,13 @@
                        <div class="land-statis">
                            <div class="land-title">地块总面积</div>
                            <div class="land-num">
                                <span>{{  landInfo.zarea>10000?(landInfo.zarea/10000).toFixed(2)+"万":landInfo.zarea }}</span>&nbsp;亩
                                <span>{{  landInfo.zarea }}</span>&nbsp;亩
                            </div>
                        </div>
                        <div class="land-statis">
                            <div class="land-title">当前种养面积</div>
                            <div class="land-num">
                                <span>{{ landInfo.sarea>10000?(landInfo.sarea/10000).toFixed(2)+"万":landInfo.sarea }}</span>&nbsp;亩
                                <span>{{ landInfo.sarea }}</span>&nbsp;亩
                            </div>
                        </div>
                        <div class="land-statis">
@@ -53,8 +53,8 @@
                            </div>
                        </div>
                    </div>
                    <div class="map-view">
                        <img src="../../../public/img/map.png" />
                    <div class="map-view" @click="goToMapModel">
                        <img src="../../../public/img/map.png"  />
                        <div class="title">农场地图→</div>
                    </div>
                </div>
@@ -69,11 +69,29 @@
                        <div class="cai">{{ item.strainName }}</div>
                        <div class="area">
                            种植面积:
                            <span>{{ item.area>10000?(item.area/10000).toFixed(2)+"万":item.area }}</span>亩
                            <span>{{ item.area }}</span>亩
                        </div>
                        <div class="btn">
                            <el-button plain size="small" @click="recovery(item)">
                                <span style="color: #5abf78">采收</span>
                            </el-button>
                            <!-- <el-button plain size="small" @click="over(item.id)">结束</el-button> -->
                            <el-button plain size="small" @click="over(item)">结束</el-button>
                        </div>
                    </div>
                    <!-- 秧苗 -->
                    <div class="farm" v-for="(item, index) in farmPlanListYM" :key="index">
                        <div class="farm-img" @click="recoveryDetail(item)">
                            <img :src="item.url" class="img" />
                        </div>
                        <div class="cai">{{ item.strainName }}(秧苗)</div>
                        <div class="area">
                            种植面积:
                            <span>{{ item.area }}</span>亩
                        </div>
                        <div class="btn">
                            <el-button plain size="small" @click="plant(item)">
                                <span style="color: #5abf78">移栽</span>
                            </el-button>
                            <!-- <el-button plain size="small" @click="over(item.id)">结束</el-button> -->
                            <el-button plain size="small" @click="over(item)">结束</el-button>
@@ -161,7 +179,7 @@
                        <div class="detail-title">{{ item.name}}</div>
                        <div class="detail-number">
                            剩余库存&nbsp;
                            <span>{{ item.val>10000?(item.val/10000).toFixed(2)+"万":item.val}}</span>公斤
                            <span>{{ item.val}}</span>公斤
                        </div>
                    </div>
                </div>
@@ -184,7 +202,7 @@
<script>
import { mapGetters } from "vuex"
import { getList, update,getStrainCount } from "@/api/farmplant/farmplant"
import { getList, update,getStrainCount,getStrainCountYM } from "@/api/farmplant/farmplant"
import { getFarmingCount, getFarmingStatis } from "@/api/farm/farmingrecord"
import { selectCount } from "@/api/land/land"
import { StockCount } from "@/api/stock/stock"
@@ -195,6 +213,7 @@
import plant from "./plant.vue"
import farming from "./farming.vue"
import stock from "./stock.vue"
import fixed from "@/util/mathHandler"
export default {
    components: {
        recovery,
@@ -218,6 +237,7 @@
            total: 0,
            farmingCount: 0,
            farmPlanList: [],
            farmPlanListYM:[],
            recoveryVisible: false,
            overVisible:false,
            landVisible: false,
@@ -234,6 +254,17 @@
        ...mapGetters(["userInfo","$farmId"]),
    },
  created () {
        this.$EventBus.$on('getFarmObj', (farmObj)=>{
            // this.$nextTick(() => {
            //     this.$EventBus.$emit("setFarmId", farmObj.id);
            // });
            setTimeout(() => {
                this.$EventBus.$emit("setFarmId", farmObj.id);
            }, 100);
        })
        //初始化农场信息
        // let farmId = this.userInfo.$farmId
        this.farm.id = this.$farmId
@@ -247,12 +278,15 @@
        //本年农事操作记录,分组
        this.getFarmingStatis()
        this.StockCount()
    },
  watch: {
    '$farmId':{
      handler (newName, oldName) {
        this.farm.id = newName
          //农场概览 地块使用率
        setTimeout(() => {
        //农场概览 地块使用率
        this.getCountStatis ()
        //本年农事操作记录
        this.getFarmingCount()
@@ -261,6 +295,8 @@
        this.StockCount()
        //当前农场种养品种
        this.onLoad()
        }, 100);
      }
    }
  },
@@ -320,8 +356,11 @@
        StockCount () {
            var that = this
            StockCount(this.$farmId).then((res) => {
                 that.stockList = res.data.data.filter((e)=>{
                that.stockList = res.data.data.filter((e)=>{
                    return e.val != 0
                })
                that.stockList.forEach((e)=>{
                    e.val = fixed.fixedNum(e.val)
                })
            })
        },
@@ -331,6 +370,8 @@
            selectCount(this.farm.id).then((res) => {
                var data = res.data.data
                that.landInfo = data
                that.landInfo.zarea = fixed.fixedNum(that.landInfo.zarea)
                that.landInfo.sarea = fixed.fixedNum(that.landInfo.sarea)
            })
        },
        handleChange (val) {
@@ -343,9 +384,20 @@
            }
            params['tenantId'] = this.userInfo.tenant_id
            params['farmId'] = this.farm.id
            getStrainCount(1, 10, Object.assign(params)).then((res) => {
            getStrainCount(1, 100, Object.assign(params)).then((res) => {
                const data = res.data.data.records
                this.farmPlanList = data
                this.farmPlanList.forEach((e)=>{
                    e.area = fixed.fixedNum(e.area)
                })
            })
            getStrainCountYM(1, 100, Object.assign(params)).then((res) => {
                const data = res.data.data.records
                this.farmPlanListYM = data
                this.farmPlanListYM.forEach((e)=>{
                    e.area = fixed.fixedNum(e.area)
                })
            })
        },
        //采收
@@ -362,30 +414,6 @@
                this.$refs.over.initData(data,this.farm.id)
            })
        },
        //结束种植
        // over (id) {
        //     var that = this
        //     this.$confirm("确定结束当前种植的农产品?", {
        //         confirmButtonText: "确定",
        //         cancelButtonText: "取消",
        //         type: "warning",
        //     })
        //         .then(() => {
        //             const data = {
        //                 id: id,
        //                 status: 2,
        //             }
        //             return update(data)
        //         })
        //         .then(() => {
        //             that.onLoad()
        //             this.$message({
        //                 type: "success",
        //                 message: "操作成功!",
        //             })
        //         })
        // },
        //圈地
        land () {
            this.landVisible = true
            this.$nextTick(() => {
@@ -393,10 +421,10 @@
            })
        },
        //种植
        plant () {
        plant (item) {
            this.plantVisible = true
            this.$nextTick(() => {
                this.$refs.plant.init()
                this.$refs.plant.init(item)
            })
        },
        //农事操作
@@ -430,7 +458,6 @@
        },
        //本年农事操作明细--有参
        farmPlantDetails (item) {
            console.log(item, 11111)
            const data = {
                type: item.value,
                activeName: "tab2",
@@ -476,6 +503,13 @@
                query: data,
            })
        },
        //进入地图模式
        goToMapModel () {
            this.$router.push({
                path: `/mapPattern`,
                // query: row,
            })
        }
    },
};
</script>