智慧农业大数据平台
1
guanqb
2022-07-21 f9812ca20f1a34809057fdcd8564f7c495fc9693
1
5 files modified
9752 ■■■■ changed files
package-lock.json 8638 ●●●● patch | view | raw | blame | history
src/styles/element-ui.css 17 ●●●●● patch | view | raw | blame | history
src/styles/element-ui.min.css 2 ●●● patch | view | raw | blame | history
src/styles/element-ui.scss 21 ●●●● patch | view | raw | blame | history
src/views/manage/index.vue 1074 ●●●● patch | view | raw | blame | history
package-lock.json
Diff too large
src/styles/element-ui.css
@@ -47,7 +47,6 @@
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: red;
}
.equipment-plot-select input {
@@ -59,24 +58,10 @@
}
.manage-select {
  background-color: #05243e;
}
.manage-option:hover {
  background-color: #0e7894 !important;
  background-color: #05243e !important;
}
.manage-option {
  background-color: #05243e !important;
  color: #a5cacc;
}
/deep/.el-input--suffix .el-input__inner {
  padding-right: 102px;
}
/deep/.el-input__inner {
  background-color: #003e00;
  color: #fff;
  border: 1px solid #e43179;
}
src/styles/element-ui.min.css
@@ -1 +1 @@
.emit-el-date-picker input{background:#003555;border-color:#849EAE;color:rgba(255,255,255,0.6)}.el-icon-my-sy{background:url("/img/icon/1016.png") center no-repeat}.el-icon-my-sy:before{content:"替";font-size:18px;visibility:hidden}.el-icon-my-sb{background:url("/img/icon/3666.png") center no-repeat}.el-icon-my-sb:before{content:"替";font-size:24px;visibility:hidden}.dialog-fixed{margin:0 !important;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:99}.equipment-plot-select .el-input{position:relative;display:flex;align-items:center;justify-content:center}.equipment-plot-select .el-input .el-input__suffix{display:flex;align-items:center;justify-content:center;background-color:red}.equipment-plot-select input{color:#fff;font-size:28px !important;font-weight:bold;background:transparent !important;border:none !important}.manage-select{background-color:#05243e}.manage-option:hover{background-color:#0e7894 !important}.manage-option{background-color:#05243e !important;color:#a5cacc}/deep/.el-input--suffix .el-input__inner{padding-right:102px}/deep/.el-input__inner{background-color:#003e00;color:#fff;border:1px solid #e43179}
.emit-el-date-picker input{background:#003555;border-color:#849EAE;color:rgba(255,255,255,0.6)}.el-icon-my-sy{background:url("/img/icon/1016.png") center no-repeat}.el-icon-my-sy:before{content:"替";font-size:18px;visibility:hidden}.el-icon-my-sb{background:url("/img/icon/3666.png") center no-repeat}.el-icon-my-sb:before{content:"替";font-size:24px;visibility:hidden}.dialog-fixed{margin:0 !important;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:99}.equipment-plot-select .el-input{position:relative;display:flex;align-items:center;justify-content:center}.equipment-plot-select .el-input .el-input__suffix{display:flex;align-items:center;justify-content:center}.equipment-plot-select input{color:#fff;font-size:28px !important;font-weight:bold;background:transparent !important;border:none !important}.manage-select{background-color:#05243e !important}.manage-option{background-color:#05243e !important;color:#a5cacc}
src/styles/element-ui.scss
@@ -52,7 +52,6 @@
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: red;
        }
    }
@@ -66,25 +65,17 @@
}
.manage-select {
    background-color: #05243e;
    background-color: #05243e!important;
}
.manage-option:hover {
    background-color: #0e7894!important;
}
// .manage-option:hover {
//     background-color: #0e7894!important;
// }
.manage-option {
    background-color: #05243e!important;
    color: #a5cacc;
}
// 设置输入框的长度为:102px;
/deep/.el-input--suffix .el-input__inner {
  padding-right: 102px;
}
// 设置输入框的背景色、字体颜色、边框属性设置;
/deep/.el-input__inner {
  background-color: #003e00;
  color: #fff;
  border: 1px solid #e43179;
}
src/views/manage/index.vue
@@ -8,12 +8,20 @@
<template>
    <div class="container">
        <div class="toggle-plot">
            <el-select v-model="farmValue" @change="farmSelectChange" placeholder="请选择农场">
      <el-select
        popper-class="manage-select"
        v-model="farmValue"
        @change="farmSelectChange"
        placeholder="请选择农场"
        :popper-append-to-body="false"
      >
                <el-option
                        v-for="item in farmSelect"
                        :key="item.id"
                        :label="item.farmName"
                        :value="item.id">
          :value="item.id"
          class=".manage-option"
        >
                </el-option>
            </el-select>
        </div>
@@ -83,7 +91,9 @@
                        :currentNum="sweepList['todayNum']"
                        :subTitle="'昨日溯源次数对比'"
                        :contrast="sweepList['yesterdayNum']"
                        :upDown="sweepList['todayNum'] > sweepList['yesterdayNum'] ? 'up' : 'down'"
            :upDown="
              sweepList['todayNum'] > sweepList['yesterdayNum'] ? 'up' : 'down'
            "
                    ></time-box>
                    <time-box
                        :imgUrl="'/img/icon/week.png'"
@@ -91,7 +101,11 @@
                        :currentNum="sweepList['thisWeekNum']"
                        :subTitle="'上周溯源次数对比'"
                        :contrast="sweepList['lastWeekNum']"
                        :upDown="sweepList['thisWeekNum'] > sweepList['lastWeekNum'] ? 'up' : 'down'"
            :upDown="
              sweepList['thisWeekNum'] > sweepList['lastWeekNum']
                ? 'up'
                : 'down'
            "
                    ></time-box>
                    <time-box
                        :imgUrl="'/img/icon/month.png'"
@@ -99,7 +113,11 @@
                        :currentNum="sweepList['thisMonthNum']"
                        :subTitle="'上月溯源次数对比'"
                        :contrast="sweepList['lastMonthNum']"
                        :upDown="sweepList['thisMonthNum'] > sweepList['lastMonthNum'] ? 'up' : 'down'"
            :upDown="
              sweepList['thisMonthNum'] > sweepList['lastMonthNum']
                ? 'up'
                : 'down'
            "
                    ></time-box>
                </div>
                <div class="task-box">
@@ -124,8 +142,14 @@
                            </div>
                        </div>
                    </div>
                    <date-select :type="'ncptrSelect'" v-if="nzOrNcp == 'ncp'"></date-select>
                    <date-select :type="'nztrSelect'" v-if="nzOrNcp == 'nz'"></date-select>
          <date-select
            :type="'ncptrSelect'"
            v-if="nzOrNcp == 'ncp'"
          ></date-select>
          <date-select
            :type="'nztrSelect'"
            v-if="nzOrNcp == 'nz'"
          ></date-select>
                    <div v-if="nzOrNcp == 'ncp'" class="lists-box">
                        <div v-for="(item,index) in ncptr" :key="index">
                            <div>{{index + 1}}</div>
@@ -155,13 +179,17 @@
                    <div class="title-box">
                        <div>
                            <div class="item" :class="{on: trpOrNcp == 'trp'}">
                                <div @click="trpOrNcpChange('trp')" class="title">投入品监管</div>
                <div @click="trpOrNcpChange('trp')" class="title">
                  投入品监管
                </div>
                                <span></span>
                            </div>
                        </div>
                        <div>
                            <div class="item" :class="{on: trpOrNcp == 'ncp'}">
                                <div @click="trpOrNcpChange('ncp')" class="title">农产品监管</div>
                <div @click="trpOrNcpChange('ncp')" class="title">
                  农产品监管
                </div>
                                <span></span>
                            </div>
                        </div>
@@ -181,20 +209,30 @@
                    <div class="title-box">
                        <div>
                            <div class="item" :class="{on : cltjOrsym == 'cltj'}">
                                <div @click="cltjOrSymChange('cltj')" class="title">产量统计</div>
                <div @click="cltjOrSymChange('cltj')" class="title">
                  产量统计
                </div>
                                <span></span>
                            </div>
                        </div>
                        <div>
                            <div class="item" :class="{on : cltjOrsym == 'sym'}">
                                <div @click="cltjOrSymChange('sym')" class="title">溯源查询趋势图</div>
                <div @click="cltjOrSymChange('sym')" class="title">
                  溯源查询趋势图
                </div>
                                <span></span>
                            </div>
                        </div>
                        <div class="date">
                            <date-select :type="'cltjSelect'" v-if="cltjOrsym == 'cltj'"></date-select>
                            <date-select :type="'symSelect'" v-if="cltjOrsym == 'sym'"></date-select>
              <date-select
                :type="'cltjSelect'"
                v-if="cltjOrsym == 'cltj'"
              ></date-select>
              <date-select
                :type="'symSelect'"
                v-if="cltjOrsym == 'sym'"
              ></date-select>
                        </div>
                    </div>
@@ -210,12 +248,17 @@
                        </div>
                        <div>
                            <div class="item" :class="{on : nsjlOrnz == 'nzcr'}">
                                <div @click="nsjlOrnz='nzcr'" class="title">农资出入库记录</div>
                <div @click="nsjlOrnz = 'nzcr'" class="title">
                  农资出入库记录
                </div>
                                <span></span>
                            </div>
                        </div>
                        <div class="more" @click="popDetailedFarming({type: '', landId: ''})">
            <div
              class="more"
              @click="popDetailedFarming({ type: '', landId: '' })"
            >
                            更多
                            <img src="/img/icon/more.png" alt />
                        </div>
@@ -288,14 +331,16 @@
                            type="primary"
                            icon="el-icon-search"
                            @click="TRP_query"
                        >查询</el-button>
              >查询</el-button
            >
                        <el-button
                            size="small"
                            class="reset"
                            type="info"
                            icon="el-icon-refresh-right"
                            @click="TRP_refresh"
                        >重置</el-button>
              >重置</el-button
            >
                    </div>
                </div>
                <div class="table-list">
@@ -308,7 +353,11 @@
                        <div>厂家</div>
                    </div>
                    <div class="t-body">
                        <div class="table-list"  v-for="(item,index) in nztrAll" :key="index">
            <div
              class="table-list"
              v-for="(item, index) in nztrAll"
              :key="index"
            >
                            <div>{{item.agrname}}</div>
                            <div>{{item.stype}}</div>
                            <div>{{item.spn}}</div>
@@ -354,14 +403,16 @@
                                type="primary"
                                icon="el-icon-search"
                                @click="NZCR_query"
                        >查询</el-button>
              >查询</el-button
            >
                        <el-button
                                size="small"
                                class="reset"
                                type="info"
                                icon="el-icon-refresh-right"
                                @click="NZCR_refresh"
                        >重置</el-button>
              >重置</el-button
            >
                    </div>
                </div>
                <div class="table-list">
@@ -375,9 +426,13 @@
                        <div>操作人</div>
                    </div>
                    <div class="t-body">
                        <div class="table-list"  v-for="(item,index) in stockrecordAll" :key="index">
            <div
              class="table-list"
              v-for="(item, index) in stockrecordAll"
              :key="index"
            >
                            <div style="width: 225px">{{item.agrname}}</div>
                            <div>{{item.stype == 0 ? '采购入库':'调拨入库'}}</div>
              <div>{{ item.stype == 0 ? "采购入库" : "调拨入库" }}</div>
                            <div>{{item.spn}}</div>
                            <div>{{item.type1}}</div>
                            <div>{{item.count}}</div>
@@ -422,14 +477,16 @@
                                type="primary"
                                icon="el-icon-search"
                                @click="NCP_query"
                        >查询</el-button>
              >查询</el-button
            >
                        <el-button
                                size="small"
                                class="reset"
                                type="info"
                                icon="el-icon-refresh-right"
                                @click="NCP_refresh"
                        >重置</el-button>
              >重置</el-button
            >
                    </div>
                </div>
                <div class="table-list">
@@ -443,9 +500,13 @@
                        <div>操作人</div>
                    </div>
                    <div class="t-body">
                        <div class="table-list"  v-for="(item,index) in ncpAll" :key="index">
            <div
              class="table-list"
              v-for="(item, index) in ncpAll"
              :key="index"
            >
                            <div>{{item.strainName}}</div>
                            <div>{{item.jobWay == 0 ? '人工':'机械'}}</div>
              <div>{{ item.jobWay == 0 ? "人工" : "机械" }}</div>
                            <div>{{item.landName}}</div>
                            <div>{{Number(item.leaves) + 1}}等品</div>
                            <div>{{item.weight}}公斤</div>
@@ -510,14 +571,16 @@
                                type="primary"
                                icon="el-icon-search"
                                @click="farmSelectList"
                        >查询</el-button>
              >查询</el-button
            >
                        <el-button
                                size="small"
                                class="reset"
                                type="info"
                                icon="el-icon-refresh-right"
                                @click="farmResetList"
                        >重置</el-button>
              >重置</el-button
            >
                    </div>
                </div>
                <div class="table-list">
@@ -532,12 +595,16 @@
                        <div>操作人</div>
                    </div>
                    <div class="t-body">
                        <div class="table-list" v-for="(item, index) in farmOperList" :key="index">
            <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.remarks == "" ? "--" : item.remarks }}</div>
                            <div>{{item.agriculturalName}}</div>
                            <div>{{item.jobWay == 0 ? '人工' : '机械'}}</div>
              <div>{{ item.jobWay == 0 ? "人工" : "机械" }}</div>
                            <div>{{item.time}}</div>
                            <div>{{item.createTime.substr(0,10)}}</div>
                            <div>{{item.realName}}</div>
@@ -550,7 +617,7 @@
</template>
<script>
import { selectXCount } from '@/api/land/land'
import { selectXCount } from "@/api/land/land";
// eslint-disable-next-line no-unused-vars
import {
    getStockCount,
@@ -569,8 +636,8 @@
    getFarmingStatis,
    getLandList,
    productsSuperviseList,
    farmSelectQuery
} from '@/api/farm/farmingrecord'
  farmSelectQuery,
} from "@/api/farm/farmingrecord";
export default {
    data () {
@@ -614,10 +681,10 @@
            sweepList: {},
            // 溯源趋势
            sweepTrend: [],
            nzOrNcp: 'ncp',
            trpOrNcp: 'trp',
            nsjlOrnz: 'nsjl',
            cltjOrsym: 'cltj',
      nzOrNcp: "ncp",
      trpOrNcp: "trp",
      nsjlOrnz: "nsjl",
      cltjOrsym: "cltj",
            // 投入品监管窗体控制
            trpPopupFlag: false,
            // 农事记录窗体控制
@@ -629,9 +696,9 @@
            // 农事操作记录列表
            farmOperList: [],
            // 选择的农事类型
            farmOperType: '',
      farmOperType: "",
            // 农场地块id
            farmPlotId: '',
      farmPlotId: "",
            // 地块下拉
            plotNumArray: [],
            // 农事类型下拉
@@ -646,520 +713,509 @@
            farmSelect: [],
            // 所选值
            farmValue: 1,
            inputNZ_nzname: '',
            inputTRP_nzname: '',
            inputNCP_nzname: ''
        }
      inputNZ_nzname: "",
      inputTRP_nzname: "",
      inputNCP_nzname: "",
    };
    },
    created () {
        // 农场下拉列表
        this.farmSelectQuery()
    this.farmSelectQuery();
        // 默认查询第一个农场数据
        this.AllDataUpdate()
    this.AllDataUpdate();
    },
    mounted () {
    },
  mounted() {},
    methods: {
        // 农场下拉选中事件
        farmSelectChange (e) {
            this.AllDataUpdate()
      this.AllDataUpdate();
        },
        // 全局数据刷新事件
        AllDataUpdate () {
            // 获取当前时间
            var date = new Date()
            var y = date.getFullYear() + '-' + this.checkTime(date.getMonth() + 1)
            var n = date.getFullYear() + ''
            this.selectXCount()
            this.getStockCount()
      var date = new Date();
      var y = date.getFullYear() + "-" + this.checkTime(date.getMonth() + 1);
      var n = date.getFullYear() + "";
      this.selectXCount();
      this.getStockCount();
            // 年产量与库存数量
            this.statisticsStockAndYield(n)
      this.statisticsStockAndYield(n);
            // 按月统计产量
            this.statisticsStockMonth(y)
      this.statisticsStockMonth(y);
            // 农产品投入
            this.pageCount(y)
      this.pageCount(y);
            // 农资投入
            this.pageCountNz(y)
      this.pageCountNz(y);
            // 统计市场流通/去年流通量/本月流通量
            this.selectMarketCirculate(n)
      this.selectMarketCirculate(n);
            // 统计任务总数
            this.countTaskNum(y)
      this.countTaskNum(y);
            // 溯源趋势统计
            this.getSweepRecordStatisticsByDayOrMonthOrYear(y)
      this.getSweepRecordStatisticsByDayOrMonthOrYear(y);
            // 农事操作
            this.farmingRecords()
      this.farmingRecords();
            // 农产品监管
            this.productsSupervise(n)
      this.productsSupervise(n);
            // 农资出入库记录
            this.pageCountNzCrk()
      this.pageCountNzCrk();
            // 溯源次数统计
            this.getSweepRecordStatistics()
      this.getSweepRecordStatistics();
        },
        // 农场下拉列表
        farmSelectQuery () {
            var params = {}
            params.current = '1'
            params.size = '999'
      var params = {};
      params.current = "1";
      params.size = "999";
            farmSelectQuery(Object.assign(params)).then((res) => {
                this.farmSelect = res.data.data.records
            })
        this.farmSelect = res.data.data.records;
      });
        },
        // 投入品监管明细弹窗
        popDetailedSupervise () {
            if (this.trpOrNcp == 'trp') {
                this.trpPopupFlag = true
      if (this.trpOrNcp == "trp") {
        this.trpPopupFlag = true;
            } else {
                var params = {}
                params.codes = '000000'
                params.farmId = this.farmValue
                params.current = '1'
                params.size = '999'
        var params = {};
        params.codes = "000000";
        params.farmId = this.farmValue;
        params.current = "1";
        params.size = "999";
                productsSuperviseList(Object.assign(params)).then((res) => {
                    this.ncpPopupFlag = true
                    this.ncpAll = res.data.data.records
                })
          this.ncpPopupFlag = true;
          this.ncpAll = res.data.data.records;
        });
            }
        },
        // 农事记录明细弹窗
        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
                })
      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'
        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
                    })
          this.nzcrPopupFlag = true;
          this.stockrecordAll = res.data.data.records;
        });
            }
        },
        // 农事操作搜索
        farmSelectList () {
            this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId })
      this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId });
        },
        // 农事操作重置
        farmResetList () {
            this.farmOperType = ''
            this.farmPlotId = ''
            this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId })
      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
            })
      getFarmingRecordList({ type: item.type, landId: item.landId }).then(
        (res) => {
          this.farmOperList = res.data.data;
          this.farmOperPopup = true;
        }
      );
        },
        // 任务总数时间查询
        getTaskTime (e) {
            this.countTaskNum(e)
      this.countTaskNum(e);
        },
        // 农产品投入时间查询
        getNcptrTime (e) {
            this.pageCount(e)
      this.pageCount(e);
        },
        // 农资投入时间查询
        getNztrTime (e) {
            this.pageCountNz(e)
      this.pageCountNz(e);
        },
        // 产量统计时间查询
        getCltjTime (e) {
            this.statisticsStockMonth(e)
      this.statisticsStockMonth(e);
        },
        // 溯源趋势时间查询
        getSymTime (e) {
            this.getSweepRecordStatisticsByDayOrMonthOrYear(e)
      this.getSweepRecordStatisticsByDayOrMonthOrYear(e);
        },
        // 农资出库记录查询按钮
        NZCR_query () {
            var params = {}
            params.codes = '000000'
            params.farmId = this.farmValue
            params.agrname = this.inputNZ_nzname
            params.current = '1'
            params.size = '999'
      var params = {};
      params.codes = "000000";
      params.farmId = this.farmValue;
      params.agrname = this.inputNZ_nzname;
      params.current = "1";
      params.size = "999";
            pageCountNzCrk(Object.assign(params)).then((res) => {
                this.nzcrPopupFlag = true
                this.stockrecordAll = res.data.data.records
            })
        this.nzcrPopupFlag = true;
        this.stockrecordAll = res.data.data.records;
      });
        },
        // 农资出库记录重置按钮
        NZCR_refresh () {
            var params = {}
            this.inputNZ_nzname = ''
            params.codes = '000000'
            params.farmId = this.farmValue
            params.current = '1'
            params.size = '999'
      var params = {};
      this.inputNZ_nzname = "";
      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
            })
        this.nzcrPopupFlag = true;
        this.stockrecordAll = res.data.data.records;
      });
        },
        // 投入品监管查询按钮
        TRP_query () {
            var params = {}
            params.codes = '000000'
            params.agrname = this.inputTRP_nzname
            params.farmId = this.farmValue
      var params = {};
      params.codes = "000000";
      params.agrname = this.inputTRP_nzname;
      params.farmId = this.farmValue;
            pageCountNz(Object.assign(params)).then((res) => {
                this.nztrAll = res.data.data.records
            })
        this.nztrAll = res.data.data.records;
      });
        },
        // 投入品监管重置按钮
        TRP_refresh () {
            var params = {}
            params.codes = '000000'
            this.inputTRP_nzname = ''
            params.farmId = this.farmValue
      var params = {};
      params.codes = "000000";
      this.inputTRP_nzname = "";
      params.farmId = this.farmValue;
            pageCountNz(Object.assign(params)).then((res) => {
                this.nztrAll = res.data.data.records
            })
        this.nztrAll = res.data.data.records;
      });
        },
        // 农产品监管查询按钮
        NCP_query () {
            var params = {}
            params.codes = '000000'
            params.strainName = this.inputNCP_nzname
            params.farmId = this.farmValue
            params.current = '1'
            params.size = '999'
      var params = {};
      params.codes = "000000";
      params.strainName = this.inputNCP_nzname;
      params.farmId = this.farmValue;
      params.current = "1";
      params.size = "999";
            productsSuperviseList(Object.assign(params)).then((res) => {
                this.ncpPopupFlag = true
                this.ncpAll = res.data.data.records
            })
        this.ncpPopupFlag = true;
        this.ncpAll = res.data.data.records;
      });
        },
        // 农产品监管重置按钮
        NCP_refresh () {
            var params = {}
            params.codes = '000000'
            this.inputNCP_nzname = ''
            params.farmId = this.farmValue
            params.current = '1'
            params.size = '999'
      var params = {};
      params.codes = "000000";
      this.inputNCP_nzname = "";
      params.farmId = this.farmValue;
      params.current = "1";
      params.size = "999";
            productsSuperviseList(Object.assign(params)).then((res) => {
                this.ncpPopupFlag = true
                this.ncpAll = res.data.data.records
            })
        this.ncpPopupFlag = true;
        this.ncpAll = res.data.data.records;
      });
        },
        initBar (dom) {
            const that = this
            const chartDom = document.getElementById(dom)
            const myChart = this.$echarts.init(chartDom)
            var y = []
      const that = this;
      const chartDom = document.getElementById(dom);
      const myChart = this.$echarts.init(chartDom);
      var y = [];
            for (let i = 0; i < that.taskNum.length; i++) {
                y.push(that.taskNum[i].count)
        y.push(that.taskNum[i].count);
            }
            const option = {
                grid: {
                    top: '14%',
                    left: '2%',
                    right: '2%',
                    bottom: '2%',
                    containLabel: true
          top: "14%",
          left: "2%",
          right: "2%",
          bottom: "2%",
          containLabel: true,
                },
                xAxis: {
                    type: 'category',
                    data: ['已完成', '未完成', '超期完成'],
          type: "category",
          data: ["已完成", "未完成", "超期完成"],
                    axisLine: {
                        lineStyle: {
                            color: 'rgba(153,153,153,.4)'
                        }
              color: "rgba(153,153,153,.4)",
            },
                    },
                    axisTick: {
                        show: false
            show: false,
                    },
                    axisLabel: {
                        color: 'rgba(255,255,255,.4)',
                        rotate: 0
                    }
            color: "rgba(255,255,255,.4)",
            rotate: 0,
          },
                },
                yAxis: {
                    name: '(次)',
          name: "(次)",
                    nameTextStyle: {
                        color: 'rgba(255,255,255,.4)'
            color: "rgba(255,255,255,.4)",
                    },
                    axisLine: {
                        lineStyle: {
                            color: '#657CA8'
                        }
              color: "#657CA8",
            },
                    },
                    axisTick: {
                        show: false
            show: false,
                    },
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: 'rgba(62,81,97, .5)',
                            type: 'dashed'
                        }
              color: "rgba(62,81,97, .5)",
              type: "dashed",
            },
                    },
                    axisLabel: {
                        color: 'rgba(255,255,255,.4)'
                    }
            color: "rgba(255,255,255,.4)",
          },
                },
                series: [
                    {
                        type: 'bar',
            type: "bar",
                        barWidth: 32,
                        data: y,
                        label: {
                            show: true,
                            position: 'top',
              position: "top",
                            textStyle: {
                                color: 'rgba(255,255,255,.4)'
                            }
                color: "rgba(255,255,255,.4)",
              },
                        },
                        itemStyle: {
                            normal: {
                                color:
                                    function (params) {
                color: function (params) {
                                        var colorList = [
                                            ['#24A5DF', '#01E2D2'],
                                            ['#E59438', '#FEF880 '],
                                            ['#E34C4C', '#E6945E']
                                        ]
                                        var index = params.dataIndex
                    ["#24A5DF", "#01E2D2"],
                    ["#E59438", "#FEF880 "],
                    ["#E34C4C", "#E6945E"],
                  ];
                  var index = params.dataIndex;
                                        if (params.dataIndex >= colorList.length) {
                                            index = params.dataIndex - colorList.length
                    index = params.dataIndex - colorList.length;
                                        }
                                        return new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
                                            {
                                                offset: 0,
                                                color: colorList[index][0]
                      color: colorList[index][0],
                                            },
                                            {
                                                offset: 0.5,
                                                color: colorList[index][0]
                      color: colorList[index][0],
                                            },
                                            {
                                                offset: 1,
                                                color: colorList[index][1]
                                            }
                                        ])
                                    }
                      color: colorList[index][1],
                    },
                  ]);
                },
              },
            },
          },
        ],
      };
                            }
                        }
                    }
                ]
            }
            option && myChart.setOption(option)
      option && myChart.setOption(option);
        },
        initTrpBar (dom) {
            const that = this
            const chartDom = document.getElementById(dom)
            const myChart = this.$echarts.init(chartDom)
            myChart.clear()
            var nztrData = this.nztr
            var nztrX = []
            var nztrY = []
      const that = this;
      const chartDom = document.getElementById(dom);
      const myChart = this.$echarts.init(chartDom);
      myChart.clear();
      var nztrData = this.nztr;
      var nztrX = [];
      var nztrY = [];
            for (let i = 0; i < nztrData.length; i++) {
                nztrX.push(nztrData[i].agrname)
                nztrY.push(nztrData[i].cnum)
        nztrX.push(nztrData[i].agrname);
        nztrY.push(nztrData[i].cnum);
            }
            const option = {
                grid: {
                    top: '14%',
                    left: '2%',
                    right: '2%',
                    bottom: '2%',
                    containLabel: true
          top: "14%",
          left: "2%",
          right: "2%",
          bottom: "2%",
          containLabel: true,
                },
                xAxis: {
                    type: 'category',
          type: "category",
                    data: nztrX,
                    axisLine: {
                        lineStyle: {
                            color: 'rgba(153,153,153,.4)'
                        }
              color: "rgba(153,153,153,.4)",
            },
                    },
                    axisTick: {
                        show: false
            show: false,
                    },
                    axisLabel: {
                        color: 'rgba(255,255,255,.4)',
                        rotate: 0
                    }
            color: "rgba(255,255,255,.4)",
            rotate: 0,
          },
                },
                yAxis: {
                    max: 600,
                    name: '(公斤)',
          name: "(公斤)",
                    nameTextStyle: {
                        color: 'rgba(255,255,255,.4)'
            color: "rgba(255,255,255,.4)",
                    },
                    axisLine: {
                        lineStyle: {
                            color: '#657CA8'
                        }
              color: "#657CA8",
            },
                    },
                    axisTick: {
                        show: false
            show: false,
                    },
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: 'rgba(62,81,97, .5)',
                            type: 'dashed'
                        }
              color: "rgba(62,81,97, .5)",
              type: "dashed",
            },
                    },
                    axisLabel: {
                        color: 'rgba(255,255,255,.4)'
                    }
            color: "rgba(255,255,255,.4)",
          },
                },
                series: [
                    {
                        type: 'bar',
            type: "bar",
                        barWidth: 32,
                        data: nztrY,
                        label: {
                            show: true,
                            position: 'top',
              position: "top",
                            textStyle: {
                                color: 'rgba(255,255,255,.4)'
                            }
                color: "rgba(255,255,255,.4)",
              },
                        },
                        itemStyle: {
                            normal: {
                                color:
                                    new that.$echarts.graphic.LinearGradient(
                color: new that.$echarts.graphic.LinearGradient(
                                        // 前四个参数用于配置渐变色的起止位置,这四个参数依次对应 右下左上 四个方位。也就是从右边开始顺时针方向。
                                        // 通过修改前4个参数,可以实现不同的渐变方向
                                        /* 第五个参数则是一个数组,用于配置颜色的渐变过程。
                                          每项为一个对象,包含offset和color两个参数
                                        */
                                        0, 0, 0, 1, [{ // 代表渐变色从正上方开始
                  0,
                  0,
                  0,
                  1,
                  [
                    {
                      // 代表渐变色从正上方开始
                                            offset: 0, // offset范围是0~1,用于表示位置,0是指0%处的颜色
                                            color: '#24A5DF'
                      color: "#24A5DF",
                                        }, // 柱图渐变色
                                        {
                                            offset: 1, // 指100%处的颜色
                                            color: '#01E2D2'
                                        }
                      color: "#01E2D2",
                    },
                                    ]
                                    )
                ),
              },
            },
          },
        ],
      };
                            }
                        }
                    }
                ]
            }
            option && myChart.setOption(option)
      option && myChart.setOption(option);
        },
        initNcpBar (dom) {
            const that = this
            const chartDom = document.getElementById(dom)
            const myChart = this.$echarts.init(chartDom)
            myChart.clear()
      const that = this;
      const chartDom = document.getElementById(dom);
      const myChart = this.$echarts.init(chartDom);
      myChart.clear();
            var data = that.NcpJg
            var dj = ['一等品', '二等品', '三等品', '四等品', '五等品']
            var echartData = []
            var sum = 0
      var data = that.NcpJg;
      var dj = ["一等品", "二等品", "三等品", "四等品", "五等品"];
      var echartData = [];
      var sum = 0;
            for (var i = 0; i < 5; i++) {
                sum += Number(data[i])
        sum += Number(data[i]);
                echartData.push({
                    name: dj[i],
                    value: data[i]
                })
          value: data[i],
        });
            }
            const option = {
                tooltip: {
                    trigger: 'item'
          trigger: "item",
                },
                legend: {
                    top: '5%',
          top: "5%",
                    padding: [50, 100, 0, 0],
                    orient: 'vertical',
                    left: 'right'
          orient: "vertical",
          left: "right",
                },
                series: [
                    {
                        name: '品质',
                        type: 'pie',
                        radius: ['40%', '70%'],
            name: "品质",
            type: "pie",
            radius: ["40%", "70%"],
                        avoidLabelOverlap: false,
                        label: {
                            normal: {
                                show: true,
                                formatter: '产品总数\n\n' + sum,
                                position: 'center',
                                lineHight: 30
                            }
                formatter: "产品总数\n\n" + sum,
                position: "center",
                lineHight: 30,
              },
                        },
                        labelLine: {
                            show: false
              show: false,
                        },
                        data: echartData
                    }
                ]
            }
            data: echartData,
          },
        ],
      };
            option && myChart.setOption(option)
      option && myChart.setOption(option);
        },
        initClSyBar (dom) {
            const chartDom = document.getElementById(dom)
            const myChart = this.$echarts.init(chartDom)
            myChart.clear()
            var data = []
            var data1 = [
                '0',
                '0',
                '0',
                '0',
                '0',
                '0',
                '0',
                '0',
                '0',
                '0',
                '0',
                '0'
            ]
            var data2 = []
            var ncp = this.yieldMonth
      const chartDom = document.getElementById(dom);
      const myChart = this.$echarts.init(chartDom);
      myChart.clear();
      var data = [];
      var data1 = ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"];
      var data2 = [];
      var ncp = this.yieldMonth;
            for (let i = 0; i < ncp.length; i++) {
                data.push(ncp[i].time)
                data2.push(ncp[i].num)
        data.push(ncp[i].time);
        data2.push(ncp[i].num);
            }
            const option = {
                grid: {
                    top: '10%',
                    right: '0%',
                    left: '0%',
                    bottom: '0%',
                    containLabel: true
          top: "10%",
          right: "0%",
          left: "0%",
          bottom: "0%",
          containLabel: true,
                },
                tooltip: {
                    trigger: 'axis',
          trigger: "axis",
                    axisPointer: {
                        type: 'shadow'
                    }
            type: "shadow",
          },
                },
                legend: {
                    left: 'center',
                    data: ['加工产品', '农产品'],
          left: "center",
          data: ["加工产品", "农产品"],
                    textStyle: {
                        color: '#A9D1D7'
                    }
            color: "#A9D1D7",
          },
                },
                xAxis: {
                    data: data,
@@ -1167,344 +1223,346 @@
                        interval: 0,
                        show: true,
                        textStyle: {
                            color: 'rgba(255,255,255,0.6)'
                        }
              color: "rgba(255,255,255,0.6)",
            },
                    },
                    axisTick: {
                        show: false
            show: false,
                    },
                    axisLine: {
                        show: true,
                        lineStyle: {
                            color: '#697B89',
                            width: 1
                        }
                    }
              color: "#697B89",
              width: 1,
            },
          },
                },
                yAxis: [
                    {
                        min: 0,
                        type: 'value',
            type: "value",
                        axisLabel: {
                            interval: 0,
                            show: true,
                            textStyle: {
                                color: '#B4B5BE'
                            }
                color: "#B4B5BE",
              },
                        },
                        axisLine: {
                            show: true,
                            lineStyle: {
                                color: '#697B89',
                                width: 1
                            }
                color: "#697B89",
                width: 1,
              },
                        },
                        splitLine: {
                            show: true,
                            lineStyle: {
                                color: 'rgba(62,81,97, .5)',
                                type: 'dashed'
                            }
                        }
                    }
                color: "rgba(62,81,97, .5)",
                type: "dashed",
              },
            },
          },
                ],
                series: [
                    {
                        name: '加工产品',
                        type: 'bar',
            name: "加工产品",
            type: "bar",
                        barWidth: 14,
                        silent: true,
                        itemStyle: {
                            normal: {
                                color: '#E29646'
                            }
                color: "#E29646",
                        },
                        data: data1
            },
            data: data1,
                    },
                    {
                        name: '农产品',
                        type: 'bar',
            name: "农产品",
            type: "bar",
                        barWidth: 14,
                        silent: true,
                        itemStyle: {
                            normal: {
                                color: '#6AE081'
                            }
                color: "#6AE081",
                        },
                        data: data2
                    }
                ]
            }
            },
            data: data2,
          },
        ],
      };
            option && myChart.setOption(option)
      option && myChart.setOption(option);
        },
        initSymyBar (dom) {
            const chartDom = document.getElementById(dom)
            const myChart = this.$echarts.init(chartDom)
            myChart.clear()
      const chartDom = document.getElementById(dom);
      const myChart = this.$echarts.init(chartDom);
      myChart.clear();
            var data = this.sweepTrend
            var x = []
            var y = []
      var data = this.sweepTrend;
      var x = [];
      var y = [];
            for (var i = 0; i < data.length; i++) {
                y.push(data[i].num)
                x.push(data[i].time)
        y.push(data[i].num);
        x.push(data[i].time);
            }
            var option = {
                grid: {
                    top: '10%',
                    right: '0%',
                    left: '0%',
                    bottom: '0%',
                    containLabel: true
          top: "10%",
          right: "0%",
          left: "0%",
          bottom: "0%",
          containLabel: true,
                },
                xAxis: {
                    type: 'category',
          type: "category",
                    boundaryGap: false,
                    data: x
          data: x,
                },
                yAxis: [
                    {
                        min: 0,
                        type: 'value',
            type: "value",
                        axisLabel: {
                            interval: 0,
                            show: true,
                            textStyle: {
                                color: '#B4B5BE'
                            }
                color: "#B4B5BE",
              },
                        },
                        axisLine: {
                            show: true,
                            lineStyle: {
                                color: '#697B89',
                                width: 1
                            }
                color: "#697B89",
                width: 1,
              },
                        },
                        splitLine: {
                            show: true,
                            lineStyle: {
                                color: 'rgba(62,81,97, .5)',
                                type: 'dashed'
                            }
                        }
                    }
                color: "rgba(62,81,97, .5)",
                type: "dashed",
              },
            },
          },
                ],
                series: [
                    {
                        data: y,
                        type: 'line',
            type: "line",
                        smooth: true,
                        areaStyle: {}
                    }
                ]
            }
            option && myChart.setOption(option)
            areaStyle: {},
          },
        ],
      };
      option && myChart.setOption(option);
        },
        // 农场使用率
        selectXCount () {
            // eslint-disable-next-line no-unused-vars
            var that = this
            var farmId = that.farmValue
      var that = this;
      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)
            })
        that.landsnum = res.data.data.snum.toFixed(0);
        that.landwnum = res.data.data.wnum.toFixed(0);
        that.znum = res.data.data.num.toFixed(0);
      });
        },
        // 农资使用概况
        getStockCount () {
            var that = this
            var farmId = that.farmValue
      var that = this;
      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)
            })
        that.jnStock = res.data.data.jn.toFixed(0);
        that.qnStock = res.data.data.qn.toFixed(0);
        that.byStock = res.data.data.by.toFixed(0);
      });
        },
        // 大屏经营概况库存数量与年产量
        statisticsStockAndYield (year) {
            var params = {}
            params.tenantId = '000000'
            params.farmId = this.farmValue
            params.year = year
      var params = {};
      params.tenantId = "000000";
      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
                this.stockTj = res.data.data.jgsum + res.data.data.sum
        this.stockNCP = res.data.data.sum;
        this.stockJG = res.data.data.jgsum;
        this.stockTj = res.data.data.jgsum + res.data.data.sum;
                this.yieldNCP = res.data.data.ncpNcl
                this.yieldJG = res.data.data.jgNcl
                this.yieldTj = res.data.data.ncpNcl + res.data.data.jgNcl
            })
        this.yieldNCP = res.data.data.ncpNcl;
        this.yieldJG = res.data.data.jgNcl;
        this.yieldTj = res.data.data.ncpNcl + res.data.data.jgNcl;
      });
        },
        // 按月统计产量
        statisticsStockMonth (e) {
            var params = {}
            params.tenantId = '000000'
            params.farmId = this.farmValue
            params.year = e
      var params = {};
      params.tenantId = "000000";
      params.farmId = this.farmValue;
      params.year = e;
            statisticsStockMonth(Object.assign(params)).then((res) => {
                this.yieldMonth = res.data.data
                this.initClSyBar('ClSyEcharts')
            })
        this.yieldMonth = res.data.data;
        this.initClSyBar("ClSyEcharts");
      });
        },
        // 农产品监管
        productsSupervise (year) {
            var params = {}
            params.tenantId = '000000'
            params.farmId = this.farmValue
            params.year = year
      var params = {};
      params.tenantId = "000000";
      params.farmId = this.farmValue;
      params.year = year;
            productsSupervise(Object.assign(params)).then((res) => {
                this.NcpJg = res.data.data
            })
        this.NcpJg = res.data.data;
      });
        },
        // 农产品投入
        pageCount (e) {
            var params = {}
            params.tenantId = '000000'
            params.farmId = this.farmValue
            params.year = e
            params.status = '1'
      var params = {};
      params.tenantId = "000000";
      params.farmId = this.farmValue;
      params.year = e;
      params.status = "1";
            pageCount(Object.assign(params)).then((res) => {
                this.ncptr = res.data.data
            })
        this.ncptr = res.data.data;
      });
        },
        // 农资投入
        pageCountNz (e) {
            var params = {}
            params.codes = '000000'
            params.farmId = this.farmValue
            params.year = e
      var params = {};
      params.codes = "000000";
      params.farmId = this.farmValue;
      params.year = e;
            pageCountNz(Object.assign(params)).then((res) => {
                this.nztr = res.data.data.records
                this.nztrAll = res.data.data.records
        this.nztr = res.data.data.records;
        this.nztrAll = res.data.data.records;
                // 投入品监管图表
                this.initTrpBar('TrpEcharts')
            })
        this.initTrpBar("TrpEcharts");
      });
        },
        // 统计市场流通/去年流通量/本月流通量
        selectMarketCirculate (year) {
            var params = {}
            params.codes = '000000'
            params.farmId = this.farmValue
            params.year = year
      var params = {};
      params.codes = "000000";
      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
                this.salaNumBY = res.data.data[2].num
            })
        this.salaNumBN = res.data.data[0].num;
        this.salaNumQN = res.data.data[1].num;
        this.salaNumBY = res.data.data[2].num;
      });
        },
        // 统计任务总数
        countTaskNum (year) {
            var params = {}
            params.codes = '000000'
            params.farmId = this.farmValue
            params.year = year
      var params = {};
      params.codes = "000000";
      params.farmId = this.farmValue;
      params.year = year;
            countTaskNum(Object.assign(params)).then((res) => {
                this.taskNum = res.data.data
                this.initBar('TaskNumEcharts')
            })
        this.taskNum = res.data.data;
        this.initBar("TaskNumEcharts");
      });
        },
        // 农事记录
        farmingRecords () {
            var params = {}
            params.tenantId = '000000'
            params.farmId = this.farmValue
            params.current = '1'
            params.size = '3'
      var params = {};
      params.tenantId = "000000";
      params.farmId = this.farmValue;
      params.current = "1";
      params.size = "3";
            farmingRecords(Object.assign(params)).then((res) => {
                var data = []
        var data = [];
                for (var i = 0; i < res.data.data.length; i++) {
                    data.push(res.data.data[i])
          data.push(res.data.data[i]);
                    if (i == 3) {
                        break
            break;
                    }
                }
                this.farminList = data
            })
        this.farminList = data;
      });
        },
        // 农资出入库记录
        pageCountNzCrk () {
            var params = {}
            params.codes = '000000'
            params.farmId = this.farmValue
            params.current = '1'
            params.size = '3'
      var params = {};
      params.codes = "000000";
      params.farmId = this.farmValue;
      params.current = "1";
      params.size = "3";
            pageCountNzCrk(Object.assign(params)).then((res) => {
                this.stockrecordList = res.data.data.records
            })
        this.stockrecordList = res.data.data.records;
      });
        },
        // 溯源次数统计
        getSweepRecordStatistics () {
            var params = {}
      var params = {};
            // 农场id
            params.farmId = this.farmValue
      params.farmId = this.farmValue;
            getSweepRecordStatistics(Object.assign(params)).then((res) => {
                this.sweepList = res.data.data
            })
        this.sweepList = res.data.data;
      });
        },
        // 溯源趋势统计
        getSweepRecordStatisticsByDayOrMonthOrYear (year) {
            var params = {}
      var params = {};
            // 农场id
            params.farmId = this.farmValue
            params.time = year
            getSweepRecordStatisticsByDayOrMonthOrYear(Object.assign(params)).then((res) => {
                this.sweepTrend = res.data.data
                if (this.cltjOrsym == 'sym') {
                    this.initSymyBar('ClSyEcharts')
      params.farmId = this.farmValue;
      params.time = year;
      getSweepRecordStatisticsByDayOrMonthOrYear(Object.assign(params)).then(
        (res) => {
          this.sweepTrend = res.data.data;
          if (this.cltjOrsym == "sym") {
            this.initSymyBar("ClSyEcharts");
                }
            })
        }
      );
        },
        // 监管图表切换
        trpOrNcpChange (item) {
            var that = this
            that.trpOrNcp = item
            if (item == 'trp') {
                that.initTrpBar('TrpEcharts')
      var that = this;
      that.trpOrNcp = item;
      if (item == "trp") {
        that.initTrpBar("TrpEcharts");
            } else {
                // 农产品监管
                that.initNcpBar('TrpEcharts')
        that.initNcpBar("TrpEcharts");
            }
        },
        // 产量统计图表切换
        cltjOrSymChange (item) {
            var that = this
            that.cltjOrsym = item
            if (item == 'cltj') {
                this.initClSyBar('ClSyEcharts')
      var that = this;
      that.cltjOrsym = item;
      if (item == "cltj") {
        this.initClSyBar("ClSyEcharts");
            } else {
                // 溯源码
                this.initSymyBar('ClSyEcharts')
        this.initSymyBar("ClSyEcharts");
            }
        },
        // 本年农事操作记录,分组统计
        getFarmingStatis () {
            var that = this
            var farmId = that.farmValue
      var that = this;
      var farmId = that.farmValue;
            getFarmingStatis(farmId).then((res) => {
                that.farmingList = res.data.data
            })
        that.farmingList = res.data.data;
      });
        },
        // 地块下拉
        getLandList () {
            var params = {}
      var params = {};
            // 农场id
            params.farmId = this.farmValue
            getLandList(Object.assign(params)).then(res => {
                this.plotNumArray = res.data.data
            })
      params.farmId = this.farmValue;
      getLandList(Object.assign(params)).then((res) => {
        this.plotNumArray = res.data.data;
      });
        },
        checkTime (i) {
            if (i < 10) {
                i = '0' + i
        i = "0" + i;
            }
            return i
        }
    }
}
      return i;
    },
  },
};
</script>
<style scoped lang="scss">
@@ -1541,6 +1599,10 @@
        /deep/.el-icon-arrow-up:before{
            color: #00f5fe;
        }
    .el-select-dropdown__item:hover,
    .el-select-dropdown__item.hover {
      background-color: #00f5fe;
    }
    }
    .main-content {