From de951f2ffc00664a4af840944b9c239a6c5f09f7 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 16 Jul 2022 08:47:01 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhny-dsjdp

---
 src/views/manage/index.vue    |  503 ++++++++++++++++++++++++++++++++++++++++++-------------
 src/api/farm/farmingrecord.js |   24 ++
 src/api/land/land.js          |    4 
 3 files changed, 402 insertions(+), 129 deletions(-)

diff --git a/src/api/farm/farmingrecord.js b/src/api/farm/farmingrecord.js
index 7a38bfa..d4d9aba 100644
--- a/src/api/farm/farmingrecord.js
+++ b/src/api/farm/farmingrecord.js
@@ -126,12 +126,12 @@
     })
 }
 
-export const getStockCount = (deptId) => {
+export const getStockCount = (farmId) => {
     return request({
         url: '/farmingRecord/getStockCount',
         method: 'get',
         params: {
-            deptId
+            farmId
         }
     })
 }
@@ -168,6 +168,15 @@
 export const productsSupervise = (params) => {
     return request({
         url: '/farmProductStock/productsSupervise',
+        method: 'get',
+        params: {
+            ...params
+        }
+    })
+}
+export const productsSuperviseList = (params) => {
+    return request({
+        url: '/recovery/page',
         method: 'get',
         params: {
             ...params
@@ -252,7 +261,7 @@
 
 export const farmingRecords = (params) => {
     return request({
-        url: '/farmingRecord/page',
+        url: '/farmingRecord/getFarmingRecordList',
         method: 'get',
         params: {
             ...params
@@ -278,3 +287,12 @@
         }
     })
 }
+export const farmSelectQuery = (params) => {
+    return request({
+        url: '/farm/page',
+        method: 'get',
+        params: {
+            ...params
+        }
+    })
+}
diff --git a/src/api/land/land.js b/src/api/land/land.js
index 8038e66..a4eedc3 100644
--- a/src/api/land/land.js
+++ b/src/api/land/land.js
@@ -58,12 +58,12 @@
     })
 }
 
-export const selectXCount = (deptId) => {
+export const selectXCount = (farmId) => {
     return request({
         url: '/land/land/selectXCount',
         method: 'get',
         params: {
-            deptId
+            farmId
         }
     })
 }
diff --git a/src/views/manage/index.vue b/src/views/manage/index.vue
index 30336aa..a6deaa8 100644
--- a/src/views/manage/index.vue
+++ b/src/views/manage/index.vue
@@ -8,8 +8,14 @@
 <template>
     <div class="container">
         <div class="toggle-plot">
-            选择农场
-            <i class="el-icon-arrow-down"></i>
+            <el-select v-model="farmValue" @change="farmSelectChange" placeholder="请选择农场">
+                <el-option
+                        v-for="item in farmSelect"
+                        :key="item.id"
+                        :label="item.farmName"
+                        :value="item.id">
+                </el-option>
+            </el-select>
         </div>
         <div class="main-content">
             <div class="t">
@@ -209,7 +215,7 @@
                             </div>
                         </div>
 
-                        <div class="more" @click="popDetailedFarming">
+                        <div class="more" @click="popDetailedFarming({type: '', landId: ''})">
                             更多
                             <img src="/img/icon/more.png" alt />
                         </div>
@@ -252,7 +258,7 @@
         <public-box
             v-show="trpPopupFlag"
             :closeFlag="'trpPopupFlag'"
-            :className="'public-trace-table'"
+            :className="'public-farm-oper-table'"
         >
             <template slot="public-box-header">
                 <div class="logo"></div>
@@ -292,28 +298,21 @@
                 </div>
                 <div class="table-list">
                     <div class="t-header">
-                        <div class="sym-style">农资</div>
+                        <div>农资</div>
                         <div>分类</div>
                         <div>规格</div>
+                        <div>库存</div>
                         <div>数量</div>
-                        <div>操作</div>
+                        <div>厂家</div>
                     </div>
                     <div class="t-body">
                         <div class="table-list"  v-for="(item,index) in nztr" :key="index">
-                            <div class="sym-style">
-                                <div>{{item.agrname}}</div>
-                            </div>
+                            <div>{{item.agrname}}</div>
                             <div>{{item.stype}}</div>
                             <div>{{item.spn}}</div>
-                            <div>{{item.cnum}}</div>
-                            <div>
-                                <el-button
-                                    @click="openPopup('/img/icon/sym.png')"
-                                    size="small"
-                                    class="look"
-                                    type="info"
-                                >查看</el-button>
-                            </div>
+                            <div>{{item.amount}}{{item.dic2}}</div>
+                            <div>{{item.cnum}}{{item.dic1}}</div>
+                            <div>{{item.factoryName}}</div>
                         </div>
                     </div>
                 </div>
@@ -321,70 +320,221 @@
         </public-box>
 
         <public-box
-            v-show="nsjlPopupFlag"
-            :closeFlag="'nsjlPopupFlag'"
-            :className="'public-trace-table'"
+                v-show="nzcrPopupFlag"
+                :closeFlag="'nzcrPopupFlag'"
+                :className="'public-farm-oper-table'"
         >
             <template slot="public-box-header">
                 <div class="logo"></div>
-                <div class="title">农事记录</div>
+                <div class="title">农资出入库记录</div>
                 <img
-                    @click="nsjlPopupFlag = false"
-                    src="/img/icon/public-close.png"
-                    alt
-                    class="close"
+                        @click="nzcrPopupFlag = false"
+                        src="/img/icon/public-close.png"
+                        alt
+                        class="close"
                 />
             </template>
             <template slot="public-box-content">
                 <div class="action-bar">
                     <div class="search">
                         <el-input
-                            class="search-input"
-                            size="small"
-                            prefix-icon="el-icon-search"
-                            placeholder="请输入内容"
-                            v-model="input1"
+                                class="search-input"
+                                size="small"
+                                prefix-icon="el-icon-search"
+                                placeholder="请输入内容"
+                                v-model="input1"
                         ></el-input>
                     </div>
                     <div class="btn-grounp">
                         <el-button
-                            size="small"
-                            class="search"
-                            type="primary"
-                            icon="el-icon-search"
+                                size="small"
+                                class="search"
+                                type="primary"
+                                icon="el-icon-search"
                         >查询</el-button>
                         <el-button
-                            size="small"
-                            class="reset"
-                            type="info"
-                            icon="el-icon-refresh-right"
+                                size="small"
+                                class="reset"
+                                type="info"
+                                icon="el-icon-refresh-right"
                         >重置</el-button>
                     </div>
                 </div>
                 <div class="table-list">
                     <div class="t-header">
-                        <div class="sym-style">农事类型</div>
-                        <div>所属地块</div>
-                        <div>农资</div>
-                        <div>作业方式</div>
-                        <div>操作</div>
+                        <div style="width: 225px">农资</div>
+                        <div>分类</div>
+                        <div>规格</div>
+                        <div>类型</div>
+                        <div>数量</div>
+                        <div>操作时间</div>
+                        <div>操作人</div>
                     </div>
                     <div class="t-body">
-                        <div class="table-list">
-                            <div class="sym-style">
-                                <div>施肥</div>
-                            </div>
-                            <div>1号地块</div>
-                            <div>1524217070160453633</div>
-                            <div>人工</div>
-                            <div>
-                                <el-button
-                                    @click="openPopup('/img/icon/sym.png')"
-                                    size="small"
-                                    class="look"
-                                    type="info"
-                                >查看</el-button>
-                            </div>
+                        <div class="table-list"  v-for="(item,index) in stockrecordAll" :key="index">
+                            <div style="width: 225px">{{item.agrname}}</div>
+                            <div>{{item.stype}}</div>
+                            <div>{{item.spn}}</div>
+                            <div>{{item.type1}}</div>
+                            <div>{{item.count}}</div>
+                            <div>{{item.createTime}}</div>
+                            <div>{{item.czr}}</div>
+                        </div>
+                    </div>
+                </div>
+            </template>
+        </public-box>
+
+        <public-box
+                v-show="ncpPopupFlag"
+                :closeFlag="'ncpPopupFlag'"
+                :className="'public-farm-oper-table'"
+        >
+            <template slot="public-box-header">
+                <div class="logo"></div>
+                <div class="title">农产品监管</div>
+                <img
+                        @click="ncpPopupFlag = false"
+                        src="/img/icon/public-close.png"
+                        alt
+                        class="close"
+                />
+            </template>
+            <template slot="public-box-content">
+                <div class="action-bar">
+                    <div class="search">
+                        <el-input
+                                class="search-input"
+                                size="small"
+                                prefix-icon="el-icon-search"
+                                placeholder="请输入内容"
+                                v-model="input1"
+                        ></el-input>
+                    </div>
+                    <div class="btn-grounp">
+                        <el-button
+                                size="small"
+                                class="search"
+                                type="primary"
+                                icon="el-icon-search"
+                        >查询</el-button>
+                        <el-button
+                                size="small"
+                                class="reset"
+                                type="info"
+                                icon="el-icon-refresh-right"
+                        >重置</el-button>
+                    </div>
+                </div>
+                <div class="table-list">
+                    <div class="t-header">
+                        <div>农资</div>
+                        <div>作业方式</div>
+                        <div>采收地块</div>
+                        <div>类型</div>
+                        <div>采收数量</div>
+                        <div>操作时间</div>
+                        <div>操作人</div>
+                    </div>
+                    <div class="t-body">
+                        <div class="table-list"  v-for="(item,index) in ncpAll" :key="index">
+                            <div>{{item.strainName}}</div>
+                            <div>{{item.jobWay}}</div>
+                            <div>{{item.landName}}</div>
+                            <div>{{Number(item.leaves) + 1}}等品</div>
+                            <div>{{item.weight}}公斤</div>
+                            <div>{{item.createTime}}</div>
+                            <div>{{item.operator}}</div>
+                        </div>
+                    </div>
+                </div>
+            </template>
+        </public-box>
+
+        <public-box
+                v-show="nsjlPopupFlag"
+                :closeFlag="'nsjlPopupFlag'"
+                :className="'public-farm-oper-table'"
+        >
+            <template slot="public-box-header">
+                <div class="logo"></div>
+                <div class="title">农事操作</div>
+                <img
+                        @click="nsjlPopupFlag = false"
+                        src="/img/icon/public-close.png"
+                        alt
+                        class="close"
+                />
+            </template>
+            <template slot="public-box-content">
+                <div class="action-bar">
+                    <div class="search">
+                        <el-select
+                                class="select-type"
+                                size="small"
+                                v-model="farmOperType"
+                                placeholder="选择农事类型"
+                        >
+                            <el-option
+                                    v-for="(item, index) in farmingList"
+                                    :key="index"
+                                    :label="item.name"
+                                    :value="item.type"
+                            ></el-option>
+                        </el-select>
+
+                        <el-select
+                                class="select-plot"
+                                size="small"
+                                v-model="farmPlotId"
+                                placeholder="选择地块"
+                        >
+                            <el-option
+                                    v-for="(item, index) in plotNumArray"
+                                    :key="index"
+                                    :label="item.landName"
+                                    :value="item.id"
+                            ></el-option>
+                        </el-select>
+                    </div>
+                    <div class="btn-grounp">
+                        <el-button
+                                size="small"
+                                class="search"
+                                type="primary"
+                                icon="el-icon-search"
+                                @click="farmSelectList"
+                        >查询</el-button>
+                        <el-button
+                                size="small"
+                                class="reset"
+                                type="info"
+                                icon="el-icon-refresh-right"
+                                @click="farmResetList"
+                        >重置</el-button>
+                    </div>
+                </div>
+                <div class="table-list">
+                    <div class="t-header">
+                        <div>农事类型</div>
+                        <div>地块</div>
+                        <div>备注</div>
+                        <div>农资</div>
+                        <div>作业方式</div>
+                        <div>农事操作时间</div>
+                        <div>创建时间</div>
+                        <div>操作人</div>
+                    </div>
+                    <div class="t-body">
+                        <div class="table-list" v-for="(item, index) in farmOperList" :key="index">
+                            <div>{{item.typeName}}</div>
+                            <div>{{item.landName}}</div>
+                            <div>{{item.remarks == '' ? '--' : item.remarks}}</div>
+                            <div>{{item.agriculturalName}}</div>
+                            <div>{{item.jobWay == 0 ? '人工' : '机械'}}</div>
+                            <div>{{item.time}}</div>
+                            <div>{{item.createTime.substr(0,10)}}</div>
+                            <div>{{item.realName}}</div>
                         </div>
                     </div>
                 </div>
@@ -397,9 +547,7 @@
 import { selectXCount } from '@/api/land/land'
 // eslint-disable-next-line no-unused-vars
 import {
-    page,
     getStockCount,
-    pagePalnt,
     statisticsStockAndYield,
     pageCount,
     pageCountNz,
@@ -410,7 +558,12 @@
     productsSupervise,
     pageCountNzCrk,
     getSweepRecordStatistics,
-    getSweepRecordStatisticsByDayOrMonthOrYear
+    getSweepRecordStatisticsByDayOrMonthOrYear,
+    getFarmingRecordList,
+    getFarmingStatis,
+    getLandList,
+    productsSuperviseList,
+    farmSelectQuery
 } from '@/api/farm/farmingrecord'
 
 export default {
@@ -422,7 +575,6 @@
             jnStock: 0,
             qnStock: 0,
             byStock: 0,
-            farmPlanList: [],
             // 库存数量统计
             stockTj: 0,
             // 农产品数量统计
@@ -462,48 +614,136 @@
             cltjOrsym: 'cltj',
             // 投入品监管窗体控制
             trpPopupFlag: false,
-            // 农事记录
-            nsjlPopupFlag: false
+            // 农事记录窗体控制
+            nsjlPopupFlag: false,
+            // 农资出入记录窗体控制
+            nzcrPopupFlag: false,
+            // 农产品监管窗体控制
+            ncpPopupFlag: false,
+            // 农事操作记录列表
+            farmOperList: [],
+            // 选择的农事类型
+            farmOperType: '',
+            // 农场地块id
+            farmPlotId: '',
+            // 地块下拉
+            plotNumArray: [],
+            // 农事类型下拉
+            farmingList: [],
+            // 农资出入库记录弹窗
+            stockrecordAll: [],
+            // 农产品监管记录弹窗
+            ncpAll: [],
+            // 农场下拉
+            farmSelect: [],
+            // 所选值
+            farmValue: 1,
+            input1: ''
         }
     },
     created () {
-        this.selectXCount()
-        this.getStockCount()
-        this.page()
-        // 年产量与库存数量
-        this.statisticsStockAndYield()
-        // 按月统计产量
-        this.statisticsStockMonth('2022-07')
-        // 农产品投入
-        this.pageCount('2022-07')
-        // 农资投入
-        this.pageCountNz('2022-07')
-        // 统计市场流通/去年流通量/本月流通量
-        this.selectMarketCirculate()
-        // 统计任务总数
-        this.countTaskNum('2022-07')
-        // 溯源趋势统计
-        this.getSweepRecordStatisticsByDayOrMonthOrYear('2022-07')
-        // 农事操作
-        this.farmingRecords()
-        // 农产品监管
-        this.productsSupervise()
-        // 农资出入库记录
-        this.pageCountNzCrk()
-        // 溯源次数统计
-        this.getSweepRecordStatistics()
+        // 农场下拉列表
+        this.farmSelectQuery()
+
+        // 默认查询第一个农场数据
+        this.AllDataUpdate()
     },
     mounted () {
 
     },
     methods: {
+        // 农场下拉选中事件
+        farmSelectChange (e) {
+            this.AllDataUpdate()
+        },
+        // 全局数据刷新事件
+        AllDataUpdate () {
+            this.selectXCount()
+            this.getStockCount()
+            // 年产量与库存数量
+            this.statisticsStockAndYield('2022')
+            // 按月统计产量
+            this.statisticsStockMonth('2022-07')
+            // 农产品投入
+            this.pageCount('2022-07')
+            // 农资投入
+            this.pageCountNz('2022-07')
+            // 统计市场流通/去年流通量/本月流通量
+            this.selectMarketCirculate('2022')
+            // 统计任务总数
+            this.countTaskNum('2022-07')
+            // 溯源趋势统计
+            this.getSweepRecordStatisticsByDayOrMonthOrYear('2022-07')
+            // 农事操作
+            this.farmingRecords()
+            // 农产品监管
+            this.productsSupervise('2022')
+            // 农资出入库记录
+            this.pageCountNzCrk()
+            // 溯源次数统计
+            this.getSweepRecordStatistics()
+        },
+        // 农场下拉列表
+        farmSelectQuery () {
+            var params = {}
+            params.current = '1'
+            params.size = '999'
+            farmSelectQuery(Object.assign(params)).then((res) => {
+                this.farmSelect = res.data.data.records
+            })
+        },
         // 投入品监管明细弹窗
         popDetailedSupervise () {
-            this.trpPopupFlag = true
+            if (this.trpOrNcp == 'trp') {
+                this.trpPopupFlag = true
+            } else {
+                var params = {}
+                params.codes = '000000'
+                params.deptId = '1123598813738675201'
+                params.current = '1'
+                params.size = '999'
+                productsSuperviseList(Object.assign(params)).then((res) => {
+                    this.ncpPopupFlag = true
+                    this.ncpAll = res.data.data.records
+                })
+            }
         },
         // 农事记录明细弹窗
-        popDetailedFarming () {
-            this.nsjlPopupFlag = true
+        popDetailedFarming (item) {
+            if (this.nsjlOrnz == 'nsjl') {
+                this.getFarmingStatis()
+                this.getLandList()
+                getFarmingRecordList({ type: item.type, landId: item.landId }).then(res => {
+                    this.farmOperList = res.data.data
+                    this.nsjlPopupFlag = true
+                })
+            } else {
+                    var params = {}
+                    params.codes = '000000'
+                    params.farmId = this.farmValue
+                    params.current = '1'
+                    params.size = '999'
+                    pageCountNzCrk(Object.assign(params)).then((res) => {
+                        this.nzcrPopupFlag = true
+                        this.stockrecordAll = res.data.data.records
+                    })
+            }
+        },
+        // 农事操作搜索
+        farmSelectList () {
+            this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId })
+        },
+        // 农事操作重置
+        farmResetList () {
+            this.farmOperType = ''
+            this.farmPlotId = ''
+            this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId })
+        },
+        farmOperClick (item) {
+            getFarmingRecordList({ type: item.type, landId: item.landId }).then(res => {
+                this.farmOperList = res.data.data
+                this.farmOperPopup = true
+            })
         },
         // 任务总数时间查询
         getTaskTime (e) {
@@ -980,8 +1220,8 @@
         selectXCount () {
             // eslint-disable-next-line no-unused-vars
             var that = this
-            var deptId = '1123598813738675201'
-            selectXCount(deptId).then((res) => {
+            var farmId = that.farmValue
+            selectXCount(farmId).then((res) => {
                 that.landsnum = res.data.data.snum.toFixed(0)
                 that.landwnum = res.data.data.wnum.toFixed(0)
                 that.znum = res.data.data.num.toFixed(0)
@@ -990,28 +1230,19 @@
         // 农资使用概况
         getStockCount () {
             var that = this
-            var deptId = '1123598813738675201'
-            getStockCount(deptId).then((res) => {
+            var farmId = that.farmValue
+            getStockCount(farmId).then((res) => {
                 that.jnStock = res.data.data.jn.toFixed(0)
                 that.qnStock = res.data.data.qn.toFixed(0)
                 that.byStock = res.data.data.by.toFixed(0)
             })
         },
-        // 农事记录
-        page () {
-            var params = {}
-            params.tenantId = '000000'
-            params.deptId = '1123598813738675201'
-            page(1, 10, Object.assign(params)).then((res) => {
-                this.farmPlanList = res.data.data.records
-            })
-        },
         // 大屏经营概况库存数量与年产量
-        statisticsStockAndYield () {
+        statisticsStockAndYield (year) {
             var params = {}
             params.tenantId = '000000'
-            params.deptId = '1123598813738675201'
-            params.year = '2022'
+            params.farmId = this.farmValue
+            params.year = year
             statisticsStockAndYield(Object.assign(params)).then((res) => {
                 this.stockNCP = res.data.data.sum
                 this.stockJG = res.data.data.jgsum
@@ -1026,7 +1257,7 @@
         statisticsStockMonth (e) {
             var params = {}
             params.tenantId = '000000'
-            params.deptId = '1123598813738675201'
+            params.farmId = this.farmValue
             params.year = e
             statisticsStockMonth(Object.assign(params)).then((res) => {
                 this.yieldMonth = res.data.data
@@ -1034,11 +1265,11 @@
             })
         },
         // 农产品监管
-        productsSupervise () {
+        productsSupervise (year) {
             var params = {}
             params.tenantId = '000000'
-            params.deptId = '1123598813738675201'
-            params.year = '2022'
+            params.farmId = this.farmValue
+            params.year = year
             productsSupervise(Object.assign(params)).then((res) => {
                 this.NcpJg = res.data.data
             })
@@ -1047,7 +1278,7 @@
         pageCount (e) {
             var params = {}
             params.tenantId = '000000'
-            params.deptId = '1123598813738675201'
+            params.farmId = this.farmValue
             params.year = e
             params.status = '1'
             pageCount(Object.assign(params)).then((res) => {
@@ -1058,7 +1289,7 @@
         pageCountNz (e) {
             var params = {}
             params.codes = '000000'
-            params.deptId = '1123598813738675201'
+            params.farmId = this.farmValue
             params.year = e
             pageCountNz(Object.assign(params)).then((res) => {
                 this.nztr = res.data.data.records
@@ -1067,11 +1298,11 @@
             })
         },
         // 统计市场流通/去年流通量/本月流通量
-        selectMarketCirculate () {
+        selectMarketCirculate (year) {
             var params = {}
             params.codes = '000000'
-            params.deptId = '1123598813738675201'
-            params.year = '2022'
+            params.farmId = this.farmValue
+            params.year = year
             selectMarketCirculate(Object.assign(params)).then((res) => {
                 this.salaNumBN = res.data.data[0].num
                 this.salaNumQN = res.data.data[1].num
@@ -1082,7 +1313,7 @@
         countTaskNum (year) {
             var params = {}
             params.codes = '000000'
-            params.deptId = '1123598813738675201'
+            params.farmId = this.farmValue
             params.year = year
             countTaskNum(Object.assign(params)).then((res) => {
                 this.taskNum = res.data.data
@@ -1093,18 +1324,25 @@
         farmingRecords () {
             var params = {}
             params.tenantId = '000000'
-            params.deptId = '1123598813738675201'
+            params.farmId = this.farmValue
             params.current = '1'
             params.size = '3'
             farmingRecords(Object.assign(params)).then((res) => {
-                this.farminList = res.data.data.records
+                var data = []
+                for (var i = 0; i < res.data.data.length; i++) {
+                    data.push(res.data.data[i])
+                    if (i == 3) {
+                        break
+                    }
+                }
+                this.farminList = data
             })
         },
         // 农资出入库记录
         pageCountNzCrk () {
             var params = {}
             params.codes = '000000'
-            params.deptId = '1123598813738675201'
+            params.farmId = this.farmValue
             params.current = '1'
             params.size = '3'
             pageCountNzCrk(Object.assign(params)).then((res) => {
@@ -1115,7 +1353,7 @@
         getSweepRecordStatistics () {
             var params = {}
             // 农场id
-            params.farmId = '1'
+            params.farmId = this.farmValue
             getSweepRecordStatistics(Object.assign(params)).then((res) => {
                 this.sweepList = res.data.data
             })
@@ -1124,7 +1362,7 @@
         getSweepRecordStatisticsByDayOrMonthOrYear (year) {
             var params = {}
             // 农场id
-            params.farmId = '1'
+            params.farmId = this.farmValue
             params.time = year
             getSweepRecordStatisticsByDayOrMonthOrYear(Object.assign(params)).then((res) => {
                 this.sweepTrend = res.data.data
@@ -1154,6 +1392,23 @@
                 // 溯源码
                 this.initSymyBar('ClSyEcharts')
             }
+        },
+        // 本年农事操作记录,分组统计
+        getFarmingStatis () {
+            var that = this
+            var farmId = that.farmValue
+            getFarmingStatis(farmId).then((res) => {
+                that.farmingList = res.data.data
+            })
+        },
+        // 地块下拉
+        getLandList () {
+            var params = {}
+            // 农场id
+            params.farmId = this.farmValue
+            getLandList(Object.assign(params)).then(res => {
+                this.plotNumArray = res.data.data
+            })
         }
     }
 }

--
Gitblit v1.9.3