123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- <template>
- <div>
- <div>
- <div class="box">
- <div class="box_item" v-for="item in boxList" :key="item.id">
- <p>{{item.name}}</p>
- <p class="number">
- {{item.value}}
- <template v-if="item.data !==0">
- <i :class="['icon', item.isUp ? '' : 'icon_red']"></i>
- <span v-if="item.isUp" class="icon_green">+{{item.data}}</span>
- <span v-else class="icon_dev">-{{item.data}}</span>
- </template>
- </p>
- </div>
- </div>
- <!-- 拆分 市 -->
- <div class="form_item">
- <el-form :inline="true" size="mini">
- <el-form-item label="时间:">
- <el-date-picker
- v-model="value2"
- type="datetimerange"
- :picker-options="pickerOptions"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- align="right">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="母猪存栏:">
- <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-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-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 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>
- <el-button type="primary" @click="search">查询</el-button>
- </el-form-item>
- </el-form>
- </div>
- <!-- 拆分 市 -->
- <div class="box_table">
- <el-table
- :data="tableData"
- border
- stripe
- :header-cell-style="{'text-align':'center', 'background-color': '#F9FAFC', 'padding': '5px 0', 'color': '#666666'}"
- :cell-style="{'text-align':'center', 'padding': '5px 0'}"
- height="700"
- style="width: 100%;">
- <el-table-column
- prop="sowTotalStock"
- label="时间">
- </el-table-column>
- <el-table-column
- prop="sowTotalStock"
- label="母猪总存栏">
- </el-table-column>
- <el-table-column
- prop="eartagNew"
- label="母猪新增">
- </el-table-column>
- <el-table-column
- prop="eartagOffone"
- label="耳标离线">
- </el-table-column>
- <el-table-column
- prop="sowStock"
- label="能繁母猪存栏">
- </el-table-column>
- <el-table-column label="存栏能繁母猪月龄分布">
- <el-table-column
- prop="date"
- label="8月-20月">
- </el-table-column>
- <el-table-column
- prop="date"
- label="20月-32月">
- </el-table-column>
- <el-table-column
- prop="date"
- label="32月-44月">
- </el-table-column>
- <el-table-column
- prop="date"
- label=">44月">
- </el-table-column>
- </el-table-column>
- <el-table-column
- prop="stock1"
- label="配怀存栏">
- </el-table-column>
- <el-table-column
- prop="stock2"
- label="分娩存栏">
- </el-table-column>
- <el-table-column
- prop="stock3"
- label="空怀存栏">
- </el-table-column>
- <el-table-column
- prop="stock4"
- label="后备存栏">
- </el-table-column>
- <el-table-column
- prop="stock5"
- label="公猪存栏">
- </el-table-column>
- </el-table>
- <table-footer
- :totals="totalPages"
- :size="pageSize"
- @sizeChange="sizeChange"
- @pageChange="pageChange"></table-footer>
- </div>
- </div>
- </div>
- </template>
- <script>
- import TableFooter from "../../../components/TableFooter";
- import {mapState} from "vuex";
- export default {
- name: "farm",
- components: {
- TableFooter
- },
- props: ['farmCode'],
- data() {
- return {
- boxList: [
- {
- id: 1,
- name: '母猪总存栏',
- value: 2500,
- data: 20,
- isUp: true,
- },
- {
- id: 2,
- name: '配怀存栏',
- value: 1689,
- data: 20,
- isUp: true,
- },
- {
- id: 3,
- name: '分娩存栏',
- value: 1689,
- data: 20,
- isUp: false,
- },
- {
- id: 4,
- name: '后备存栏',
- value: 1689,
- data: 0,
- isUp: true,
- },
- {
- id: 5,
- name: '公猪存栏',
- value: 1689,
- data: 20,
- isUp: true,
- },
- {
- id: 6,
- name: '预计年出栏量',
- value: 50000,
- data: 20,
- isUp: true,
- },
- ],
- pickerOptions: {
- shortcuts: [{
- text: '最近一周',
- onClick(picker) {
- const end = new Date();
- const start = new Date();
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
- picker.$emit('pick', [start, end]);
- }
- }, {
- text: '最近一个月',
- onClick(picker) {
- const end = new Date();
- const start = new Date();
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
- picker.$emit('pick', [start, end]);
- }
- }, {
- text: '最近三个月',
- onClick(picker) {
- const end = new Date();
- const start = new Date();
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
- picker.$emit('pick', [start, end]);
- }
- }]
- },
- value2: '',
- tableData: [],
- totalPages: 0,
- pageNum: 1,
- pageSize: 20,
- minStockTotal: '',
- maxStockTotal: '',
- minStockNew: '',
- maxStockNew: '',
- minOfflineNo: '',
- maxOfflineNo: '',
- minSowStock: '',
- maxSowStock: '',
- isProvince: false,
- }
- },
- computed: {
- ...mapState(['baseUrl'])
- },
- methods: {
- getCityCode(val) {
- let len = val.length;
- this.countyCode = val[len - 1];
- },
- // 修改size
- sizeChange(val) {
- this.pageSize = val;
- },
- // 修改页数
- pageChange(val) {
- this.pageNum = val;
- },
- search() {
- // this.init();
- },
- renderHeader(createElement, {column}) {
- const label = column.label
- const labelArr = label.split(' ')
- return createElement(
- 'span', //创建最外层的标签可随意
- [
- createElement('span', { // 创建第一个元素的标签可随意
- attrs: {type: 'text'}
- }, [labelArr[0]]),
- createElement('div', { // 创建第二个元素的标签可随意
- attrs: {type: 'text', style: 'font-size:14px'} // 给分割的某个元素单独加样式
- }, [labelArr[1] || ''])
- ]
- )
- },
- // 省级
- // 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() {
- 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 => {
- if(res.data.code === 0) {
- this.tableData = res.data.page.list;
- }
- console.log(res);
- })
- },
- // 选择
- // onSelect(row) {
- // console.log(row);
- // this.countyCode = row.code;
- // this.type = row.type;
- // this.$emit('getCountyCode', {countyCode: this.countyCode, type: this.type});
- // // if (row.type === 1) {
- // // this.initCity();
- // // } else if (row.type === 2) {
- // // this.initCounty();
- // // }
- // },
- },
- mounted() {
- this.onFarm();
- }
- }
- </script>
- <style scoped>
- /deep/ .el-form--inline .el-form-item {
- margin-right: 15px;
- }
- .box{
- width: 100%;
- height: 140px;
- background-color: #F9F9F9;
- display: flex;
- justify-content: space-around;
- align-items: center;
- margin-bottom: 10px;
- }
- .box_item {
- width: 198px;
- height: 78px;
- border: 1px solid #ddd;
- text-align: center;
- }
- .box_item p {
- height: 39px;
- line-height: 39px;
- margin: 0;
- }
- .form_item {
- width: 100%;
- height: 60px;
- background-color: #fff;
- border: 1px solid #ddd;
- box-sizing: border-box;
- padding: 15px;
- }
- .box_table {
- width: 100%;
- box-sizing: border-box;
- margin-top: 10px;
- padding-right: 10px;
- /*padding: 10px;*/
- }
- .icon {
- display: inline-block;
- background-image: url("../../../assets/up.png");
- width: 24px;
- height: 24px;
- background-size: 100% 100%;
- }
- .icon_red {
- background-image: url("../../../assets/decline.png");
- background-size: 100% 100%;
- }
- .number {
- font-size: 24px;
- font-weight: 600;
- }
- .icon_green {
- color: #33FA40;
- font-size: 16px;
- }
- .icon_dev {
- color: #DA331D;
- font-size: 16px;
- }
- </style>
|