From 082613d446e29e4ec1c16bfaa52345106a498b23 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 08 Nov 2022 09:03:49 +0800
Subject: [PATCH] 农事操作隐藏后四个,地图模式2d改为3d
---
src/views/wel/index.vue | 224 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 170 insertions(+), 54 deletions(-)
diff --git a/src/views/wel/index.vue b/src/views/wel/index.vue
index 6b249e4..fac1af1 100644
--- a/src/views/wel/index.vue
+++ b/src/views/wel/index.vue
@@ -2,8 +2,18 @@
<div class="home">
<div class="left">
<div class="farm-info">
- <div class="farm-title">农场概览</div>
- <div class="statis">
+ <div class="farm-title">农场概览</div>
+<!-- <div class="statis" style="padding-left: 50px">-->
+<!-- <el-select v-model="farm.id" placeholder="请选择所属农场" filterable @change="farmChange">-->
+<!-- <el-option-->
+<!-- v-for="item in farmList"-->
+<!-- :key="item.id"-->
+<!-- :label="item.farmName"-->
+<!-- :value="item.id">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </div>-->
+ <div class="statis">
<div class="echarts-statis">
<el-progress
type="circle"
@@ -16,7 +26,7 @@
</div>
<div class="percentText">
<p>地块使用率</p>
- <p style="position: relative; top: -12px">
+ <p>
<span
style="font-size: 32px; font-weight: 550; margin-top: -10px"
>{{ landInfo.rate || 0 }}</span>%
@@ -27,7 +37,7 @@
<div class="land-statis">
<div class="land-title">地块总面积</div>
<div class="land-num">
- <span>{{ landInfo.zarea }}</span> 亩
+ <span>{{ landInfo.zarea }}</span> 亩
</div>
</div>
<div class="land-statis">
@@ -43,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>
@@ -65,7 +75,26 @@
<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.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>
</div>
</div>
</div>
@@ -157,32 +186,38 @@
</div>
</div>
<!-- 弹窗, 采收 -->
- <recovery v-if="recoveryVisible" ref="recovery"></recovery>
+ <recovery v-if="recoveryVisible" ref="recovery" :farmDetail="farm"></recovery>
+ <!-- 弹窗,结束种养-->
+ <over v-if="overVisible" ref="over" @refreshOnLoad="refreshAll"></over>
<!-- 圈地 -->
- <land v-if="landVisible" ref="land"></land>
+ <land v-if="landVisible" ref="land" @refreshOnLoad="refreshAll"></land>
<!-- 种养品 -->
- <plant v-if="plantVisible" ref="plant" @refreshOnLoad="onLoad"></plant>
+ <plant v-if="plantVisible" ref="plant" @refreshOnLoad="refreshAll"></plant>
<!-- 农事操作 -->
- <farming v-if="farmingVisible" ref="farming"></farming>
+ <farming v-if="farmingVisible" ref="farming" @refreshOnLoad="refreshAll"></farming>
<!-- 农资入库 -->
- <stock v-if="stockVisible" ref="stock"></stock>
+ <stock v-if="stockVisible" ref="stock" @refreshOnLoad="refreshAll"></stock>
</div>
</template>
<script>
import { mapGetters } from "vuex"
-import { getList, update } 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"
+import {getFarmList} from "@/api/farm/farm";
import recovery from "./recovery.vue"
+import over from "./over.vue"
import land from "./land.vue"
import plant from "./plant.vue"
import farming from "./farming.vue"
import stock from "./stock.vue"
+import fixed from "@/util/mathHandler"
export default {
components: {
recovery,
+ over,
land,
plant,
farming,
@@ -194,12 +229,17 @@
farmingList: [],
stockList: [],
isFarmingDetail: false,
+ isStockDetail: false,
landInfo: {},
+ farm:{},
+ farmList:[],
customColor: "#5ABF78",
total: 0,
farmingCount: 0,
farmPlanList: [],
+ farmPlanListYM:[],
recoveryVisible: false,
+ overVisible:false,
landVisible: false,
plantVisible: false,
farmingVisible: false,
@@ -211,9 +251,24 @@
}
},
computed: {
- ...mapGetters(["userInfo"]),
+ ...mapGetters(["userInfo","$farmId"]),
},
- created () {
+ 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
+ this.initData(this.userInfo.tenant_id);
//地块使用率统计
this.getCountStatis()
//采收列表
@@ -223,12 +278,66 @@
//本年农事操作记录,分组
this.getFarmingStatis()
this.StockCount()
+
},
- methods: {
+ watch: {
+ '$farmId':{
+ handler (newName, oldName) {
+ this.farm.id = newName
+
+ setTimeout(() => {
+ //农场概览 地块使用率
+ this.getCountStatis ()
+ //本年农事操作记录
+ this.getFarmingCount()
+ //本年农事操作记录,分组
+ this.getFarmingStatis()
+ this.StockCount()
+ //当前农场种养品种
+ this.onLoad()
+ }, 100);
+
+ }
+ }
+ },
+ methods: {
+ //获取农场信息
+ initData(tenantId) {
+ const data = {
+ deptId:this.userInfo.dept_id
+ }
+ getFarmList(data).then(res => {
+ this.farmList = this.farmList.concat(res.data.data)
+ });
+ },
+ refreshAll(){
+ this.getCountStatis ()
+ //本年农事操作记录
+ this.getFarmingCount()
+ //本年农事操作记录,分组
+ this.getFarmingStatis()
+ this.StockCount()
+ //当前农场种养品种
+ this.onLoad()
+ },
+ //农场下拉框change事件
+ farmChange(data) {
+ this.farm.id = data
+ //更新农场数据
+ //农场概览 地块使用率
+ this.getCountStatis ()
+ //当前农场种养品种
+ this.onLoad()
+ //本年农事操作记录
+ // this.getFarmingCount()
+ //农资库存
+ // this.StockCount()
+
+ },
//本年农事操作记录
getFarmingCount () {
var that = this
- getFarmingCount(this.userInfo.farmId).then((res) => {
+ getFarmingCount(this.$farmId).then((res) => {
that.total = res.data.data
// that.total = 0;
if (that.total > 0) {
@@ -239,23 +348,30 @@
//本年农事操作记录,分组统计
getFarmingStatis () {
var that = this
- getFarmingStatis(this.userInfo.farmId).then((res) => {
+ getFarmingStatis(this.$farmId).then((res) => {
that.farmingList = res.data.data
})
},
+ //农资库存
StockCount () {
var that = this
- StockCount(this.userInfo.farmId).then((res) => {
- that.stockList = res.data.data
- console.log(that.stockList)
+ StockCount(this.$farmId).then((res) => {
+ that.stockList = res.data.data.filter((e)=>{
+ return e.val != 0
+ })
+ that.stockList.forEach((e)=>{
+ e.val = fixed.fixedNum(e.val)
+ })
})
},
//地块使用率统计
getCountStatis () {
var that = this
- selectCount(this.userInfo.farmId).then((res) => {
+ 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) {
@@ -267,10 +383,21 @@
status: 1,
}
params['tenantId'] = this.userInfo.tenant_id
- params['farmId'] = this.userInfo.farmId
- getList(1, 10, Object.assign(params)).then((res) => {
- const data = res.data.data
- this.farmPlanList = data.records
+ params['farmId'] = this.farm.id
+ 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)
+ })
})
},
//采收
@@ -280,30 +407,13 @@
this.$refs.recovery.init(data)
})
},
- //结束种植
- over (id) {
- var that = this
- this.$confirm("确定结束当前种植的农产品?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
+ //结束种养
+ over(data) {
+ this.overVisible = true
+ this.$nextTick(() => {
+ this.$refs.over.initData(data,this.farm.id)
})
- .then(() => {
- const data = {
- id: id,
- status: 2,
- }
- return update(data)
- })
- .then(() => {
- that.onLoad()
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
},
- //圈地
land () {
this.landVisible = true
this.$nextTick(() => {
@@ -311,10 +421,10 @@
})
},
//种植
- plant () {
+ plant (item) {
this.plantVisible = true
this.$nextTick(() => {
- this.$refs.plant.init()
+ this.$refs.plant.init(item)
})
},
//农事操作
@@ -348,7 +458,6 @@
},
//本年农事操作明细--有参
farmPlantDetails (item) {
- console.log(item, 11111)
const data = {
type: item.value,
activeName: "tab2",
@@ -394,6 +503,13 @@
query: data,
})
},
+ //进入地图模式
+ goToMapModel () {
+ this.$router.push({
+ path: `/mapPattern`,
+ // query: row,
+ })
+ }
},
};
</script>
@@ -445,8 +561,8 @@
.percentText {
position: relative;
- left: -16%;
- top: 57px;
+ left: -15.8%;
+ top: 77px;
width: 90px;
font-size: 16px;
text-align: center;
@@ -462,7 +578,7 @@
.land-statis {
width: 33%;
- margin: 3% 8%;
+ margin: 3% 3%;
.land-num {
margin-top: 20px;
--
Gitblit v1.9.3