xsh 3 years ago
parent
commit
35cc8a6238
3 changed files with 690 additions and 41 deletions
  1. 2 1
      src/components/areaList.vue
  2. 473 0
      src/components/areaZz.vue
  3. 215 40
      src/views/pastureData/Home.vue

+ 2 - 1
src/components/areaList.vue

@@ -4,6 +4,7 @@
         size="large"
         :options="options"
         v-model="selectedOptions"
+        :props="{ checkStrictly: true }"
         @change="handleChange">
     </el-cascader>
   </div>
@@ -21,7 +22,7 @@ export default {
   },
   methods: {
     handleChange (value) {
-      console.log(value)
+      this.$emit('getCityCode', value);
     }
   }
 }

+ 473 - 0
src/components/areaZz.vue

@@ -0,0 +1,473 @@
+<template>
+  <div>
+    <el-cascader
+        size="mini"
+        :options="options"
+        v-model="selectedOptions"
+        :props="{ checkStrictly: true }"
+        @change="handleChange">
+    </el-cascader>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "areaZz",
+  data() {
+    return {
+      selectedOptions: [],
+      options: [
+        {
+          value: '330000',
+          label: '浙江省',
+          children: [
+            {
+              value: '330100',
+              label: '杭州市',
+              children: [
+                {
+                  value: '330102',
+                  label: '上城区'
+                },
+                {
+                  value: '330105',
+                  label: '拱墅区'
+                },
+                {
+                  value: '330106',
+                  label: '西湖区'
+                },
+                {
+                  value: '330108',
+                  label: '滨江区'
+                },
+                {
+                  value: '330109',
+                  label: '萧山区'
+                },
+                {
+                  value: '330110',
+                  label: '余杭区'
+                },
+                {
+                  value: '330111',
+                  label: '富阳区'
+                },
+                {
+                  value: '330112',
+                  label: '临安区'
+                },
+                {
+                  value: '330113',
+                  label: '钱塘区'
+                },
+                {
+                  value: '330114',
+                  label: '临平区'
+                },
+                {
+                  value: '330122',
+                  label: '桐庐县'
+                },
+                {
+                  value: '330127',
+                  label: '淳安县'
+                },
+                {
+                  value: '330182',
+                  label: '建德市'
+                },
+              ]
+            },
+            {
+              value: '330200',
+              label: '宁波市',
+              children: [
+                {
+                  value: '330203',
+                  label: '海曙区'
+                },
+                {
+                  value: '330205',
+                  label: '江北区'
+                },
+                {
+                  value: '330206',
+                  label: '北仑区'
+                },
+                {
+                  value: '330211',
+                  label: '镇海区'
+                },
+                {
+                  value: '330212',
+                  label: '鄞州区'
+                },
+                {
+                  value: '330213',
+                  label: '奉化区'
+                },
+                {
+                  value: '330225',
+                  label: '象山区'
+                },
+                {
+                  value: '330226',
+                  label: '宁海县'
+                },
+                {
+                  value: '330281',
+                  label: '余姚市'
+                },
+                {
+                  value: '330282',
+                  label: '慈溪市'
+                },
+              ]
+            },
+            {
+              value: '330300',
+              label: '温州市',
+              children: [
+                {
+                  value: '330302',
+                  label: '鹿城区'
+                },
+                {
+                  value: '330303',
+                  label: '龙湾区'
+                },
+                {
+                  value: '330304',
+                  label: '瓯海区',
+                },
+                {
+                  value: '330305',
+                  label: '洞头区'
+                },
+                {
+                  value: '330324',
+                  label: '永嘉县'
+                },
+                {
+                  value: '330326',
+                  label: '平阳县'
+                },
+                {
+                  value: '330327',
+                  label: '苍南县'
+                },
+                {
+                  value: '330328',
+                  label: '文成县'
+                },
+                {
+                  value: '330329',
+                  label: '泰顺县'
+                },
+                {
+                  value: '330381',
+                  label: '瑞安市'
+                },
+                {
+                  value: '330382',
+                  label: '乐清市'
+                },
+                {
+                  value: '330383',
+                  label: '龙港市'
+                },
+              ]
+            },
+            {
+              value: '330400',
+              label: '嘉兴市',
+              children: [
+                {
+                  value: '330402',
+                  label: '南湖区',
+                },
+                {
+                  value: '330411',
+                  label: '秀洲区',
+                },
+                {
+                  value: '330421',
+                  label: '嘉善县',
+                },
+                {
+                  value: '330424',
+                  label: '海盐县',
+                },
+                {
+                  value: '330481',
+                  label: '海宁市',
+                },
+                {
+                  value: '330482',
+                  label: '平湖市',
+                },
+                {
+                  value: '330483',
+                  label: '桐乡市',
+                },
+              ]
+            },
+            {
+              value: '330500',
+              label: '湖州市',
+              children: [
+                {
+                  value: '330502',
+                  label: '吴兴区',
+                },
+                {
+                  value: '330503',
+                  label: '南浔区',
+                },
+                {
+                  value: '330521',
+                  label: '德清县',
+                },
+                {
+                  value: '330522',
+                  label: '长兴县',
+                },
+                {
+                  value: '330523',
+                  label: '安吉县',
+                },
+              ]
+            },
+            {
+              value: '330600',
+              label: '绍兴市',
+              children: [
+                {
+                  value: '330602',
+                  label: '越城区',
+                },
+                {
+                  value: '330603',
+                  label: '柯桥区',
+                },
+                {
+                  value: '330604',
+                  label: '上虞区',
+                },
+                {
+                  value: '330624',
+                  label: '新昌县',
+                },
+                {
+                  value: '330681',
+                  label: '诸暨市',
+                },
+                {
+                  value: '330683',
+                  label: '嵊州市',
+                },
+              ]
+            },
+            {
+              value: '330700',
+              label: '金华市',
+              children: [
+                {
+                  value: '330702',
+                  label: '婺城区'
+                },
+                {
+                  value: '330703',
+                  label: '金东区'
+                },
+                {
+                  value: '330723',
+                  label: '武义县'
+                },
+                {
+                  value: '330726',
+                  label: '浦江县'
+                },
+                {
+                  value: '330727',
+                  label: '婺城区'
+                },
+                {
+                  value: '330702',
+                  label: '磐安县'
+                },
+                {
+                  value: '330784',
+                  label: '永康市'
+                },
+                {
+                  value: '330781',
+                  label: '兰溪市'
+                },
+                {
+                  value: '330782',
+                  label: '义乌市'
+                },
+                {
+                  value: '330783',
+                  label: '东阳市'
+                },
+              ]
+            },
+            {
+              value: '330800',
+              label: '衢州市',
+              children: [
+                {
+                  value: '330802',
+                  label: '柯城区'
+                },
+                {
+                  value: '330803',
+                  label: '衢江区'
+                },
+                {
+                  value: '330822',
+                  label: '常山县'
+                },
+                {
+                  value: '330824',
+                  label: '开化县'
+                },
+                {
+                  value: '330825',
+                  label: '龙游县'
+                },
+                {
+                  value: '330881',
+                  label: '江山市'
+                },
+              ]
+            },
+            {
+              value: '330900',
+              label: '舟山市',
+              children: [
+                {
+                  value: '330902',
+                  label: '定海区'
+                },
+                {
+                  value: '330903',
+                  label: '普陀区'
+                },
+                {
+                  value: '330921',
+                  label: '岱山县'
+                },
+                {
+                  value: '330922',
+                  label: '嵊泗县'
+                },
+              ]
+            },
+            {
+              value: '331000',
+              label: '台州市',
+              children: [
+                {
+                  value: '331002',
+                  label: '椒江区'
+                },
+                {
+                  value: '331003',
+                  label: '黄岩区'
+                },
+                {
+                  value: '331004',
+                  label: '路桥区'
+                },
+                {
+                  value: '331022',
+                  label: '三门县'
+                },
+                {
+                  value: '331023',
+                  label: '天台县'
+                },
+                {
+                  value: '331024',
+                  label: '仙居县'
+                },
+                {
+                  value: '331081',
+                  label: '温岭市'
+                },
+                {
+                  value: '331082',
+                  label: '临海市'
+                },
+                {
+                  value: '331083',
+                  label: '玉环市'
+                },
+              ]
+            },
+            {
+              value: '331100',
+              label: '丽水市',
+              children: [
+                {
+                  value: '331102',
+                  label: '莲都区',
+                },
+                {
+                  value: '331121',
+                  label: '青田县',
+                },
+                {
+                  value: '331122',
+                  label: '缙云县',
+                },
+                {
+                  value: '331102',
+                  label: '莲都区',
+                },
+                {
+                  value: '331123',
+                  label: '遂昌县',
+                },
+                {
+                  value: '331124',
+                  label: '松阳县',
+                },
+                {
+                  value: '331125',
+                  label: '云和县',
+                },
+                {
+                  value: '331126',
+                  label: '庆元县',
+                },
+                {
+                  value: '331127',
+                  label: '景宁畲族自治县',
+                },
+                {
+                  value: '331181',
+                  label: '龙泉市',
+                },
+              ]
+            },
+          ]
+        }
+      ]
+    }
+  },
+  methods: {
+    handleChange(value) {
+      this.$emit('getCityCode', value);
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 215 - 40
src/views/pastureData/Home.vue

@@ -14,9 +14,13 @@
       </div>
     </div>
     <div class="form_item">
-      <el-form :inline="true">
-        <el-form-item label="时间:">
+      <el-form :inline="true" size="mini">
+        <el-form-item label="市县">
+          <areaZz @getCityCode="getCityCode"></areaZz>
+        </el-form-item>
+        <el-form-item label="时间:"  v-if="isProvince">
           <el-date-picker
+              v-if="isProvince"
               v-model="value2"
               type="datetimerange"
               :picker-options="pickerOptions"
@@ -27,22 +31,27 @@
           </el-date-picker>
         </el-form-item>
         <el-form-item label="母猪存栏:">
-          <el-select filterable style="width: 120px;"></el-select>
+          <el-input style="width: 50px;" v-model="minStockTotal"></el-input>
+          &nbsp;至&nbsp;
+          <el-input style="width: 50px;" v-model="maxStockTotal"></el-input>
         </el-form-item>
         <el-form-item label="母猪新增:">
-          <el-select filterable  style="width: 120px;"></el-select>
+          <el-input style="width: 50px;" v-model="minStockNew"></el-input>
+          &nbsp;至&nbsp;
+          <el-input style="width: 50px;" v-model="maxStockNew"></el-input>
         </el-form-item>
         <el-form-item label="耳标离线:">
-          <el-select filterable style="width: 120px;"></el-select>
-        </el-form-item>
-        <el-form-item label="公猪存栏:">
-          <el-select filterable style="width: 120px;"></el-select>
+          <el-input style="width: 50px;" v-model="minOfflineNo"></el-input>
+          &nbsp;至&nbsp;
+          <el-input style="width: 50px;" v-model="maxOfflineNo"></el-input>
         </el-form-item>
-        <el-form-item>
-          <el-button>查询</el-button>
+        <el-form-item label="能繁母猪:">
+          <el-input style="width: 50px;" v-model="minSowStock"></el-input>
+          &nbsp;至&nbsp;
+          <el-input style="width: 50px;" v-model="maxSowStock"></el-input>
         </el-form-item>
         <el-form-item>
-          <area-list></area-list>
+          <el-button type="primary" @click="search">查询</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -54,53 +63,81 @@
           :header-cell-style="{'text-align':'center', 'background-color': '#F9FAFC', 'padding': '5px 0', 'color': '#666666'}"
           :cell-style="{'text-align':'center', 'padding': '5px 0'}"
           height="700"
+          row-key="name"
+          default-expand-all
+          :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
           style="width: 100%;">
         <el-table-column
-            prop="date"
-            label="时间">
-        </el-table-column>
-        <el-table-column
-            prop="date"
-            label="母猪存栏">
+            v-if="type === 1"
+            label="市县"
+            prop="name">
+          <template slot-scope="scope">
+            <span style="cursor: pointer;" @click="onSelect(scope.row)">{{scope.row.name}}</span>
+          </template>
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="耳标离线">
+            v-if="type === 2"
+            label="牧场"
+            prop="farmName"
+        >
+          <template slot-scope="scope">
+            <span style="cursor: pointer;" @click="onFarm(scope.row)">{{scope.row.farmName}}</span>
+          </template>
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="日龄占比 (250-1700)"
-            :render-header="renderHeader">
+            prop="sowTotalStock"
+            label="母猪总存栏">
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="日龄占比 (1000-1700)"
-            :render-header="renderHeader">
+            prop="eartagNew"
+            label="母猪新增">
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="日龄占比 (1700-2400)"
-            :render-header="renderHeader">
+            prop="eartagOffone"
+            label="耳标离线">
         </el-table-column>
+<!--        <el-table-column-->
+<!--            prop="date"-->
+<!--            label="日龄占比 (250-1700)"-->
+<!--            :render-header="renderHeader">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column-->
+<!--            prop="date"-->
+<!--            label="日龄占比 (1000-1700)"-->
+<!--            :render-header="renderHeader">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column-->
+<!--            prop="date"-->
+<!--            label="日龄占比 (1700-2400)"-->
+<!--            :render-header="renderHeader">-->
+<!--        </el-table-column>-->
+<!--        <el-table-column-->
+<!--            prop="date"-->
+<!--            label="日龄占比 (>2400)"-->
+<!--            :render-header="renderHeader">-->
+<!--        </el-table-column>-->
         <el-table-column
-            prop="date"
-            label="日龄占比 (>2400)"
-            :render-header="renderHeader">
+            prop="sowStock"
+            label="能繁母猪存栏">
         </el-table-column>
         <el-table-column
-            prop="date"
+            prop="stock1"
             label="配怀存栏">
         </el-table-column>
         <el-table-column
-            prop="date"
+            prop="stock2"
             label="分娩存栏">
         </el-table-column>
         <el-table-column
-            prop="date"
+            prop="stock3"
+            label="空怀存栏">
+        </el-table-column>
+        <el-table-column
+            prop="stock4"
             label="后备存栏">
         </el-table-column>
         <el-table-column
-            prop="date"
+            prop="stock5"
             label="公猪存栏">
         </el-table-column>
       </el-table>
@@ -114,8 +151,9 @@
 </template>
 
 <script>
+import areaZz from "../../components/areaZz";
 import TableFooter from "../../components/TableFooter";
-import areaList from "../../components/areaList";
+import { mapState } from 'vuex';
 export default {
   name: "Home",
   data() {
@@ -196,13 +234,34 @@ export default {
       totalPages: 0,
       pageNum: 1,
       pageSize: 20,
+      farmCode: '',
+      minStockTotal: '',
+      maxStockTotal: '',
+      minStockNew: '',
+      maxStockNew: '',
+      minOfflineNo: '',
+      maxOfflineNo: '',
+      minSowStock: '',
+      maxSowStock: '',
+      isProvince: false,
+      countyCode: '',
+      farmName: '',
+      // 区分市县
+      type: 1,
     }
   },
   components: {
     TableFooter,
-    areaList
+    areaZz
+  },
+  computed: {
+    ...mapState(['baseUrl'])
   },
   methods: {
+    getCityCode(val) {
+      let len = val.length;
+      this.countyCode = val[len-1];
+    },
     // 修改size
     sizeChange(val) {
       this.pageSize = val;
@@ -211,6 +270,9 @@ export default {
     pageChange(val) {
       this.pageNum = val;
     },
+    search() {
+      this.init();
+    },
     renderHeader(createElement, { column }) {
       const label = column.label
       const labelArr = label.split(' ')
@@ -226,9 +288,122 @@ export default {
           ]
       )
     },
+    // 省级
     init() {
-
-    }
+      let params= {
+        countyCode: this.countyCode,
+        farmCode: this.farmCode,
+        minStockTotal: this.minStockTotal,
+        maxStockTotal: this.maxStockTotal,
+        minStockNew: this.minStockNew,
+        maxStockNew: this.maxStockNew,
+        minOfflineNo: this.minOfflineNo,
+        maxOfflineNo: this.maxOfflineNo,
+        minSowStock: this.minSowStock,
+        maxSowStock: this.maxSowStock
+      }
+      console.log(111);
+      this.$http({
+        url: this.$http.adornUrl(`${this.baseUrl}/manager/farmstock/countAll`),
+        method: 'get',
+        params: this.$http.adornParams(params)
+      })
+      .then(res => {
+        if(res.data.code === 0) {
+          this.tableData = res.data.page;
+        }
+      })
+    },
+    // 市级
+    initCity() {
+      let params = {
+        countyCode: this.countyCode,
+        farmCode: this.farmCode,
+        minStockTotal: this.minStockTotal,
+        maxStockTotal: this.maxStockTotal,
+        minStockNew: this.minStockNew,
+        maxStockNew: this.maxStockNew,
+        minOfflineNo: this.minOfflineNo,
+        maxOfflineNo: this.maxOfflineNo,
+        minSowStock: this.minSowStock,
+        maxSowStock: this.maxSowStock
+      }
+      console.log(222);
+      this.$http({
+        url: this.$http.adornUrl(`${this.baseUrl}/manager/farmstock/cityCountAll`),
+        method: 'get',
+        params: this.$http.adornParams(params)
+      })
+      .then(res => {
+        if(res.data.code === 0) {
+          this.tableData = res.data.page;
+        }
+      })
+    },
+    // 县级
+    initCounty() {
+      let params = {
+        countyCode: this.countyCode,
+        farmName: this.farmName,
+        minStockTotal: this.minStockTotal,
+        maxStockTotal: this.maxStockTotal,
+        minStockNew: this.minStockNew,
+        maxStockNew: this.maxStockNew,
+        minOfflineNo: this.minOfflineNo,
+        maxOfflineNo: this.maxOfflineNo,
+        minSowStock: this.minSowStock,
+        maxSowStock: this.maxSowStock
+      }
+      this.$http({
+        url: this.$http.adornUrl(`${this.baseUrl}/manager/farmstock/list`),
+        method: 'get',
+        params: this.$http.adornParams(params)
+      })
+      .then(res => {
+        if(res.data.code === 0) {
+          this.tableData = res.data.page.list;
+        }
+      })
+    },
+    // 去牧场
+    onFarm(row) {
+      this.farmCode = row.farmCode;
+      let params = {
+        farmCode: this.farmCode,
+        startTime: this.value2[0],
+        endTime: this.value2[1],
+        minStockTotal: this.minStockTotal,
+        maxStockTotal: this.maxStockTotal,
+        minStockNew: this.minStockNew,
+        maxStockNew: this.maxStockNew,
+        minOfflineNo: this.minOfflineNo,
+        maxOfflineNo: this.maxOfflineNo,
+        minSowStock: this.minSowStock,
+        maxSowStock: this.maxSowStock,
+      }
+      this.$http({
+        url: this.$http.adornUrl(`${this.baseUrl}/manager/dailytabulatedata/list`),
+        method: 'get',
+        params: this.$http.adornParams(params)
+      })
+      .then(res => {
+        console.log(res);
+      })
+    },
+    // 选择
+    onSelect(row) {
+      console.log(row);
+      this.countyCode = row.code;
+      this.type = row.type;
+      if(row.type === 1) {
+        this.initCity();
+      } else if(row.type === 2) {
+        this.initCounty();
+      }
+    },
+  },
+  mounted() {
+    this.init();
   }
 }
 </script>
@@ -263,7 +438,7 @@ export default {
     background-color: #fff;
     border: 1px solid #ddd;
     box-sizing: border-box;
-    padding: 10px;
+    padding: 15px;
   }
   .box_table {
     width: 100%;