|
@@ -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>
|
|
|
+ 至
|
|
|
+ <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>
|
|
|
+ 至
|
|
|
+ <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>
|
|
|
+ 至
|
|
|
+ <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>
|
|
|
+ 至
|
|
|
+ <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%;
|