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/statistics/stock.vue |  372 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 213 insertions(+), 159 deletions(-)

diff --git a/src/views/statistics/stock.vue b/src/views/statistics/stock.vue
index 6b795fb..ab2555a 100644
--- a/src/views/statistics/stock.vue
+++ b/src/views/statistics/stock.vue
@@ -5,8 +5,8 @@
       :table-loading="loading"
       :data="data"
       :page.sync="page"
-      :permission="permissionList"
       :before-open="beforeOpen"
+      :summary-method="getSummaries"
       v-model="form"
       ref="crud"
       @row-update="rowUpdate"
@@ -18,7 +18,6 @@
       @current-change="currentChange"
       @size-change="sizeChange"
       @refresh-change="refreshChange"
-      @on-load="onLoad"
     >
     </avue-crud>
   </basic-container>
@@ -32,13 +31,15 @@
   remove,
   save,
 } from "@/api/farmplant/farmproductstock";
-import { getStrainList } from "@/api/farmplant/strain";
-import { mapGetters } from "vuex";
+import {pagenum} from "@/api/stock/stock";
+import {mapGetters} from "vuex";
+
 export default {
   data() {
     return {
       visible: true,
       form: {},
+      farm:{},
       query: {},
       loading: true,
       excelBox: false,
@@ -66,7 +67,8 @@
         selectionFixed: false,
         expandFixed: false,
         menuFixed: false,
-        menu:false,
+        menu: false,
+        header:false,
         sumColumnList: [
           {
             label: "合计",
@@ -79,72 +81,62 @@
         ],
         column: [
           {
-            label: "农产品名称",
-            prop: "strainId",
+            label: "农资名称",
+            prop: "agrname",
+            //labelWidth: 145,
+          },
+          {
+            label: "厂家",
+            prop: "facname",
+            // labelWidth: 145,
+          }, {
+            label: "入库量合计",
+            prop: "rknum",
+            //labelWidth: 145,
+          },
+          {
+            label: "采购入库",
+            prop: "cgnum",
+            //labelWidth: 145,
+          },
+          {
+            label: "调拨入库",
+            prop: "dbrknum",
+            //labelWidth: 145,
+          },
+          {
+            label: "出库量合计",
+            prop: "cknum",
+            //labelWidth: 145,
+          },
+          {
+            label: "领用出库",
+            prop: "lycknum",
+            //labelWidth: 145,
+          },
+          {
+            label: "调拨出库",
+            prop: "dbcknum",
+            //labelWidth: 145,
+          },
+          {
+            label: "报废出库",
+            prop: "bfcknum",
+            //labelWidth: 145,
+          },
+          {
+            label: "筛选时间段",
+            prop: "releaseTimeRange",
             span: 12,
+            hide: true,
             search: true,
-            searchSpan: 4,
-            searchLabelWidth: 100,
-            type: "tree",
-            dicData: [],
-            props: {
-              label: "strainName",
-              value: "id",
-            },
-            labelWidth: 145,
-            rules: [
-              {
-                required: true,
-                message: "请输入农产品名称",
-                trigger: "blur",
-              },
-            ],
-            disabled: true,
-          },
-          {
-            label: "农产品图片",
-            prop: "url",
-            span: 12,
-            addDisplay: false,
-            editDisplay: false,
-            type: "upload",
-            dataType: "string",
-            listType: "picture-card",
-            labelWidth: 145,
-            rules: [
-              {
-                required: true,
-                message: "请上传农产品图片",
-                trigger: "click",
-              },
-            ],
-          },
-          {
-            label: "库存重量/公斤",
-            prop: "weight",
-            tip: "公斤",
-            span: 12,
-            labelWidth: 145,
-            controls: false,
-            type: "number",
-            rules: [
-              {
-                required: true,
-                message: "请输入库存重量 公斤",
-                trigger: "click",
-              },
-            ],
-          },
-          {
-            label: "采收时间",
-            prop: "time",
-            addDisplay: false,
-            editDisplay: false,
-            span: 12,
-            labelWidth: 145,
-            type: "datetime",
-            format: "yyyy-MM-dd HH:mm",
-            valueFormat: "yyyy-MM-dd HH:mm",
+            searchSpan: 7,
+            searchLabelWidth: 110,
+            searchRange: true,
+            searchValue: [this.getStartTime(), this.getEndTime()],
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
             rules: [
               {
                 required: true,
@@ -153,73 +145,15 @@
               },
             ],
           },
-          // {
-          //   label: "操作人",
-          //   prop: "operator",
-          //   type: "tree",
-          //   dicData: [],
-          //   props: {
-          //     label: "realName",
-          //     value: "id",
-          //   },
-          //   span: 12,
-          //   labelWidth: 145,
-          //   rules: [
-          //     {
-          //       required: true,
-          //       message: "请输入操作人",
-          //       trigger: "click",
-          //     },
-          //   ],
-          // },
-          {
-            label: "产品等级",
-            prop: "leaves",
-            span: 12,
-            labelWidth: 145,
-            search: true,
-            searchSpan: 4,
-            type: "select",
-            dicData: [
-              {
-                label: "一等品",
-                value: "0",
-              },
-              {
-                label: "二等品",
-                value: "1",
-              },
-              {
-                label: "三等品",
-                value: "2",
-              },
-              {
-                label: "四等品",
-                value: "3",
-              },
-              {
-                label: "五等品",
-                value: "4",
-              },
-            ],
-            rules: [
-              {
-                required: true,
-                message: "请输入产品等级",
-                trigger: "click",
-              },
-            ],
-          },
-        ],
+        ]
       },
       data: [],
     };
-  },
-  created() {
-    this.initData();
-  },
+  }
+  ,
   computed: {
-    ...mapGetters(["permission", "userInfo"]),
+    ...
+      mapGetters(["permission", "userInfo","$farmId"]),
     // permissionList() {
     //   return {
     //     addBtn: this.vaildData(this.permission.social_add, true),
@@ -234,20 +168,110 @@
         ids.push(ele.id);
       });
       return ids.join(",");
-    },
+    }
+    ,
+  }
+  ,
+  watch: {
+    '$farmId':{
+      handler (newName, oldName) {
+        this.farm.id = newName
+        this.onLoad(this.page)
+      }
+    }
   },
-  mounted() {},
+  created () {
+    this.farm.id = this.$farmId
+  },
+  mounted() {
+    var params = {
+      startTime: this.getStartTime(),
+      endTime: this.getEndTime(),
+    }
+    this.onLoad(this.page, params);
+  }
+  ,
   methods: {
-    initData() {
-      var that = this;
-      //获取农产品数据
-      getStrainList(0).then((res) => {
-        if (res.data.code == 200) {
-          var strainId = that.findObject(that.option.column, "strainId");
-          strainId.dicData = res.data.data;
+    //合计计算
+    getSummaries(param) {
+      const {columns, data} = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "合计";
+          return;
+        }
+        if (index == 1) {
+          return;
+        }
+        const values = data.map((item) => Number(item[column.property]));
+        if (!values.every((value) => isNaN(value))) {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          // sums[index] += " 公斤";
+          var x = String(sums[index]).indexOf(".")+1;//得到小数点的位置
+          var y = String(sums[index]).length - x;//小数点的位数
+          if(y>4){
+            sums[index] = sums[index].toFixed(3)
+          }
+          sums[index] += " 公斤";
+        } else {
+          sums[index] = "N/A";
         }
       });
+      return sums;
     },
+    getStartTime() {
+      var myDate = new Date();
+      var year = myDate.getFullYear();
+      //获取当前月份(0-11,0代表1月,所以要加1);
+      var month = myDate.getMonth() + 1;
+      //获取当前日(1-31)
+      var day = myDate.getDate();
+      if (month < 10) {
+        month = "0" + month;
+      }
+      if (day >= 0 && day <= 9) {
+        day = "0" + day;
+      }
+      var firstDay = year + "-" + month + "-01";
+      // this.query['startTime'] = firstDay;
+      return firstDay;
+    },
+    getEndTime() {
+      var myDate = new Date();
+      var year = myDate.getFullYear();
+      //获取当前月份(0-11,0代表1月,所以要加1);
+      var month = myDate.getMonth() + 1;
+      //获取当前日(1-31)
+      var day = myDate.getDate();
+      if (month < 10) {
+        month = "0" + month;
+      }
+      if (day >= 0 && day <= 9) {
+        day = "0" + day;
+      }
+      var thisDay = year + "-" + month + "-" + day;
+      // this.query['endTime'] = thisDay;
+      return thisDay;
+    },
+    // initData() {
+    //   var that = this;
+    //   //获取农产品数据
+    //   getStrainList(0).then((res) => {
+    //     if (res.data.code == 200) {
+    //       var strainId = that.findObject(that.option.column, "strainId");
+    //       strainId.dicData = res.data.data;
+    //     }
+    //   });
+    // }
+    // ,
     //新增
     rowSave(row, done, loading) {
       row["strainType"] = 0;
@@ -265,7 +289,8 @@
           window.console.log(error);
         }
       );
-    },
+    }
+    ,
     //修改
     rowUpdate(row, index, done, loading) {
       update(row).then(
@@ -282,7 +307,8 @@
           console.log(error);
         }
       );
-    },
+    }
+    ,
     //删除
     rowDel(row) {
       this.$confirm("确定将选择数据删除?", {
@@ -300,7 +326,8 @@
             message: "操作成功!",
           });
         });
-    },
+    }
+    ,
     handleDelete() {
       if (this.selectionList.length === 0) {
         this.$message.warning("请选择至少一条数据");
@@ -322,7 +349,8 @@
           });
           this.$refs.crud.toggleSelection();
         });
-    },
+    }
+    ,
     beforeOpen(done, type) {
       if (["edit", "view"].includes(type)) {
         getDetail(this.form.id).then((res) => {
@@ -330,49 +358,75 @@
         });
       }
       done();
-    },
+    }
+    ,
     searchReset() {
       this.query = {};
       this.onLoad(this.page);
-    },
+    }
+    ,
     searchChange(params, done) {
       this.query = params;
       this.page.currentPage = 1;
       this.onLoad(this.page, params);
+      this.query={}
       done();
-    },
+    }
+    ,
     selectionChange(list) {
       this.selectionList = list;
-    },
+    }
+    ,
     selectionClear() {
       this.selectionList = [];
       this.$refs.crud.toggleSelection();
-    },
+    }
+    ,
     currentChange(currentPage) {
       this.page.currentPage = currentPage;
-    },
+    }
+    ,
     sizeChange(pageSize) {
       this.page.pageSize = pageSize;
-    },
+    }
+    ,
     refreshChange() {
       this.onLoad(this.page, this.query);
     },
     onLoad(page, params = {}) {
+      params.deptId= this.farm.id;
       this.loading = true;
-      getList(
-        page.currentPage,
-        page.pageSize,
-        Object.assign(params, this.query)
+      const {releaseTimeRange} = this.query;
+      let values = {
+        ...params,
+      };
+      if (releaseTimeRange) {
+        values = {
+          ...params,
+          startTime: releaseTimeRange[0],
+          endTime: releaseTimeRange[1],
+          ...this.query,
+        };
+        values.releaseTimeRange = null;
+        values.farmId = this.$farmId
+      }
+      pagenum(page.currentPage, page.pageSize, values
       ).then((res) => {
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
+        this.data = this.data.filter((e)=>{
+          return (e.bfcknum == e.cgnum == e.dbcknum == e.dbrknum == e.lycknum == e.rknum == 0)
+        })
         this.loading = false;
         this.selectionClear();
       });
-    },
-  },
-};
+    }
+    ,
+  }
+  ,
+}
+;
 </script>
 
 <style>

--
Gitblit v1.9.3