Browse Source

统计分析接口对接

段小段 1 năm trước cách đây
mục cha
commit
9229f92267

+ 2 - 7
.env.development

@@ -3,16 +3,11 @@ ENV = 'development'
 
 # base api
 # 测试线
-VUE_APP_BASE_API = 'http://192.168.1.70:8081/'
-
-VUE_APP_BASE_API1 = 'http://210.16.189.72:8081/'
-VUE_APP_BASE_API2 = 'http://210.16.189.72:8081/'
-VUE_APP_BASE_API3 = 'http://192.168.1.104:8081/'
-VUE_APP_BASE_API4 = 'http://192.168.1.70:8081/'
+# VUE_APP_BASE_API = 'http://192.168.1.70:8081/'
 
 
 #许义平本地
-# VUE_APP_BASE_API = 'http://192.168.1.96:8000/'
+VUE_APP_BASE_API = 'http://192.168.1.96:8090/'
 
 #=====
 # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,

+ 2 - 12
src/store/getters.js

@@ -5,18 +5,8 @@ const getters = {
   avatar: state => state.user.avatar,
   name: state => state.user.name,
   roles: state => state.user.roles,
-  buttons: state => state.user.buttons,
-  pastureid: state => state.user.pastureid,
-  pasturename: state => state.user.pasturename,
-  pasturenumber: state => state.user.pasturenumber,
-  employename: state => state.user.employename,
-  employeid: state => state.user.employeid,
-  dashchartid: state => state.user.dashchartid,
-  ispastureuse: state => state.user.ispastureuse,
-  decimal: state => state.user.decimal,
-  decimalr: state => state.user.decimalr,
+  buttons: state => state.user.buttons,
   dashchartidisedit: state => state.user.dashchartidisedit,
-  permission_routes: state => state.permission.routes,
-  downlist: state => state.user.downlist,
+  permission_routes: state => state.permission.routes
 }
 export default getters

+ 5 - 2
src/store/modules/permission.js

@@ -1,7 +1,8 @@
 import { constantRoutes } from '@/router'
 import { validatenull } from '@/utils/validate'
 import { postJson } from '@/api/common'
-import Layout from '@/layout'
+import Layout from '@/layout'
+import Cookies from 'js-cookie'
 
 function buildRouter(aMenu) {
   const aRouter = []
@@ -99,7 +100,9 @@ const actions = {
       let data = {}
       postJson(url,data).then(response => {
         if(response.code == 200){
-          sessionStorage.setItem('buttonList', JSON.stringify(response.data.menu_buttons_path))
+          sessionStorage.setItem('buttonList', JSON.stringify(response.data.menu_buttons_path))   //所有按钮
+          sessionStorage.setItem('pastureList', JSON.stringify(response.data.pasture_list))       //所属牧场
+          Cookies.set('pastureId', response.data.pasture_list[0].id)
           const menus = response.data.menu_list
           if (menus.length === 0) {
             reject('menus data is null')

+ 13 - 18
src/utils/request.js

@@ -48,25 +48,10 @@ service.interceptors.request.use(
 
 // response interceptor
 service.interceptors.response.use(
-  /**
-   * If you want to get http information such as headers or status
-   * Please return  response => response
-  */
-
-  /**
-   * Determine the request status by custom code
-   * Here is just an example
-   * You can also judge the status by HTTP Status Code
-   */
-  response => {
-
-    // console.log(res)
+  response => {
     const res = response.data
     // if the custom code is not 20000, it is judged as an error.
     if (res.code !== 200) {
-      console.log(response.errors,'res')
-      // return
-      // Message({ message: '操作失败1', type: 'error', duration: 5 * 1000 })
       if (res.code === 10000 || res.code === 50012 || res.code === 50014) {
         MessageBox.confirm('你已经注销登陆,你可以取消或重新登陆', '确认注销', {
           confirmButtonText: '重新登陆',
@@ -92,8 +77,18 @@ service.interceptors.response.use(
       return res
     }
   },
-  error => {
-    // console.log('err===============' +  JSON.stringify(error.response)) // for debug
+  error => {
+    if (error.response.data.code === 10000) {
+      MessageBox.confirm('你已经注销登陆,你可以取消或重新登陆', '确认注销', {
+        confirmButtonText: '重新登陆',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        store.dispatch('user/resetToken').then(() => {
+          location.reload()
+        })
+      })
+    }
     let config = error.config
     if (!config) {
       Message({ message: error.msg, type: 'error', duration: 5 * 1000 })

+ 311 - 168
src/views/statisticalAnalysis/errorAnalysis/index.vue

@@ -3,8 +3,8 @@
     <el-tabs v-model="activeName" @tab-click="handleTabClick">
       <el-tab-pane label="汇总统计" name="first">
         <div class="search">
-          <el-select v-model="tab.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+          <el-select v-model="tab.table.getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
           <el-date-picker v-model="tab.table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" :picker-options="pickerOptions" />
           <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled" @click="handleBefore" />
@@ -21,7 +21,7 @@
           <el-input v-if="tab.isTrainNumber" v-model="tab.table.getdataListParm.parammaps.projname" class="filter-item" style="width: 100px;" placeholder="车次" />
           <el-input v-if="tab.isFeed" v-model="tab.table.getdataListParm.parammaps.fname" class="filter-item" style="width: 140px;" placeholder="饲料" />
           <el-select v-if="tab.isTrainNumber" v-model="tab.table.getdataListParm.parammaps.times" filterable placeholder="班次" class="filter-item" style="width: 120px;" clearable>
-            <el-option v-for="item in tab2.frequencyList" :key="item.id" :label="item.name" :value="item.id" />
+            <el-option v-for="item in tab2.frequencyList" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <el-input v-if="tab.isTrainNumber" v-model="tab.table.getdataListParm.parammaps.fname" class="filter-item" style="width: 100px;" placeholder="TMR名称" />
           <el-select v-if="tab.isTMRName" v-model="tab.table.getdataListParm.parammaps.fname" placeholder="请选择TMR设备" class="filter-item" style="width: 150px;">
@@ -641,8 +641,8 @@
       </el-tab-pane>
       <el-tab-pane label="混料统计" name="second">
         <div class="search" ref="myHeightSecond">
-          <el-select v-model="tab2.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+          <el-select v-model="tab2.table.getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;margin-right: 10px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
           <el-date-picker v-model="tab2.table.getdataListParm.parammaps.inputDatetime2" :clearable="false" style="width: 140px;margin-top: 5px;" type="date" placeholder="选择日期"> </el-date-picker>
           <el-button class="el-icon-arrow-left elIconArrowLeft" style="display:inline-block;margin-top: 5px;" :disabled="Beforedisabled2" @click="handleBefore2" />
@@ -652,7 +652,7 @@
           </el-select>
           <el-input v-model="tab2.table.getdataListParm.parammaps.projname" style="margin-top: 5px;width: 110px;" placeholder="车次" class="filter-item" clearable />
           <el-select v-model="tab2.table.getdataListParm.parammaps.times" style="margin-top: 5px;width: 110px;" filterable placeholder="班次" class="filter-item" clearable>
-            <el-option v-for="item in tab2.frequencyList" :key="item.id" :label="item.name" :value="item.id" />
+            <el-option v-for="item in tab2.frequencyList" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <el-input v-model="tab2.table.getdataListParm.parammaps.templetname" style="margin-top: 5px;width: 110px;" placeholder="配方名称" class="filter-item" clearable />
           <el-select v-model="tab2.table.getdataListParm.parammaps.buttontype" style="margin-top: 5px;width: 130px;" filterable placeholder="跳转方式" class="filter-item" clearable>
@@ -726,8 +726,8 @@
       </el-tab-pane>
       <el-tab-pane label="撒料统计" name="third">
         <div class="search" ref="myHeightThird">
-          <el-select v-model="tab3.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+          <el-select v-model="tab3.table.getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;margin-right: 10px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
           <el-date-picker v-model="tab3.table.getdataListParm.parammaps.inputDatetime2" :clearable="false" style="margin-top: 5px;width:140px;" type="date" placeholder="选择日期"> </el-date-picker>
           <el-button class="el-icon-arrow-left elIconArrowLeft" style="dispaly:inline-block;margin-top: 5px;" :disabled="Beforedisabled3" @click="handleBefore3" />
@@ -737,7 +737,7 @@
           </el-select>
           <el-input v-model="tab3.table.getdataListParm.parammaps.projname" style="margin-top: 5px;width: 150px;" placeholder="车次" class="filter-item" clearable />
           <el-select v-model="tab3.table.getdataListParm.parammaps.times" style="margin-top: 5px;width: 100px;" filterable placeholder="班次" class="filter-item" clearable>
-            <el-option v-for="item in tab3.frequencyList" :key="item.id" :label="item.name" :value="item.id" />
+            <el-option v-for="item in tab3.frequencyList" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <el-input v-model="tab3.table.getdataListParm.parammaps.templetname" style="margin-top: 5px;width: 110px;" placeholder="配方名称" class="filter-item" clearable />
           <el-input v-model="tab3.table.getdataListParm.parammaps.fname" style="margin-top: 5px;width: 110px;" placeholder="栏舍名称" class="filter-item" clearable />
@@ -812,7 +812,7 @@
     <el-dialog :title="textMap[exportList.dialogStatus]" :visible.sync="exportList.dialogFormVisible" :close-on-click-modal="false" width="20%">
     <div>
       <span>导出时间范围:</span>
-      <el-date-picker v-model="exportList.inputDatetime" :clearable="false" style="width: 230px;" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" />
+      <el-date-picker v-model="exportList.inputDatetime" :clearable="false" style="width: 230px;" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions2" />
     </div>
     <div slot="footer" class="dialog-footer" style="margin-bottom: 10px;">
       <el-button class="cancelClose" @click="exportList.dialogFormVisible = false">关闭</el-button>
@@ -1202,7 +1202,7 @@
 import echarts from 'echarts'
 import See from './see.vue'
 require('echarts/theme/macarons')
-import { GetDataByName,GetDataByNames, GetReportform, whichWeek, postJson } from '@/api/common'
+import { GetDataByName, GetReportform, whichWeek, postJson } from '@/api/common'
 import Cookies from 'js-cookie'
 import { parseTime, json2excel, handleTableSpan, handleObjectSpanMethod } from '@/utils/index.js'
 import Pagination from '@/components/Pagination'
@@ -1213,6 +1213,7 @@ export default {
   components: { Pagination, mySelect, See },
   data() {
     return {
+      pastureList:JSON.parse(sessionStorage.pastureList), //牧场
       error:'',
       optdevice:'',
       stopTime:'',
@@ -1293,20 +1294,28 @@ export default {
           return time.getTime() > Date.now()
         }
       },
-      // 班次
-      maxTime: {
-        getMaxTimesParm: {
-          name: 'getSysoptEnable',
-          page: 1,
-          offset: 1,
-          pagecount: 1,
-          returntype: 'Map',
-          parammaps: {
-            pastureid: Cookies.get('pastureid'),
-            inforname: 'times'
+      pickerOptions2: {
+        onPick: ({ maxDate, minDate }) => {
+          this.pickerMinDate = minDate.getTime()
+          if (maxDate) {
+            this.pickerMinDate = ''
           }
+        },
+        // 限制不能选择今天之后的日期
+        disabledDate: (time) => {
+          if (this.pickerMinDate !== '') {
+            const one = 100 * 24 * 3600 * 1000
+            const minTime = this.pickerMinDate - one
+            let maxTime = this.pickerMinDate + one
+            if (maxTime > new Date()) {
+              maxTime = new Date()
+            }
+            return time.getTime() < minTime || time.getTime() > maxTime
+          }
+          return time.getTime() > Date.now()
         }
       },
+      // 班次
       activeName: 'first',
       tab: {
         TMRNameList:[],
@@ -1334,7 +1343,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1358,7 +1367,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1385,7 +1394,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1425,7 +1434,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1462,7 +1471,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1501,7 +1510,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1540,7 +1549,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1577,7 +1586,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1614,7 +1623,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1655,7 +1664,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1675,8 +1684,7 @@ export default {
           temp: {}
         },
         frequencyList: [],
-        jumpModeList: [{ id: '0', name: '手动跳转' }, { id: '1', name: '自动跳转' }],
-        isuseList: [{ id: '0', name: '未完成' }, { id: '2', name: '部分完成' }, { id: '1', name: '全部完成' }]
+        jumpModeList: [{ id: '0', name: '手动跳转' }, { id: '1', name: '自动跳转' }]
       },
       tab3: {
         TMRNameList:[],
@@ -1688,7 +1696,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -1709,8 +1717,7 @@ export default {
           temp: {}
         },
         frequencyList: [],
-        jumpModeList: [{ id: '0', name: '手动跳转' }, { id: '1', name: '自动跳转' }],
-        isuseList: [{ id: '0', name: '未完成' }, { id: '2', name: '部分完成' }, { id: '1', name: '全部完成' }]
+        jumpModeList: [{ id: '0', name: '手动跳转' }, { id: '1', name: '自动跳转' }]
       },
       titlefname: '',
       methodName:'',
@@ -1798,14 +1805,9 @@ export default {
         temp2:{},
         lastdate:'',currentdate:'',
       },
-      requestParams: [
-        { name: 'getPastureListJT', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid'), pasturename: '' }}
-      ],
-      pastureList: [], // 牧场
     }
   },
   created() {
-    this.getDownLists()
     this.getTimeFn()
     this.getAllYear()
     this.getIsDisplay()
@@ -1821,13 +1823,6 @@ export default {
   },
   mounted() {},
   methods: {
-    getDownLists() {
-      GetDataByNames(this.requestParams).then(response => {
-        this.pastureList = response.data.getPastureListJT.list
-        this.tab.table.getdataListParm.parammaps.pastureid = response.data.getPastureListJT.list[0].pastureid
-        this.getList()
-      })
-    },
     getAllYear() {
       var myDate = new Date()
       var thisYear = myDate.getFullYear() // 获取当年年份
@@ -2473,21 +2468,19 @@ export default {
       that.tab.chart7.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
     },
     getIsDisplay() {
-      GetDataByName(this.maxTime.getMaxTimesParm).then(response => {
-        if (response.data.list[0].inforvalue == 1) {
-          this.tab2.frequencyList = [{ id: '1', name: '第一班' }]
-          this.tab3.frequencyList = [{ id: '1', name: '第一班' }]
-        } else if (response.data.list[0].inforvalue == 2) {
-          this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }]
-          this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }]
-        } else if (response.data.list[0].inforvalue == 3) {
-          this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }]
-          this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }]
-          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }]
-        } else if (response.data.list[0].inforvalue == 4) {
-          this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
-          this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
-        }
+      // /api/v1/ops/statistics/train_number
+      let page = 1
+      let page_size = 0
+      let url = '/api/v1/ops/statistics/train_number' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        pasture_id:parseInt(Cookies.get('pastureId')),
+        api_name:'getSysoptEnable',
+        info_name:'times',
+      }
+      postJson(url, data).then(response => {
+        this.tab2.frequencyList = response.data.list
+        this.tab3.frequencyList = response.data.list
+        this.frequencyList = response.data.list
       })
     },
     // 导出
@@ -2897,14 +2890,39 @@ export default {
         this.tab.table.getdataListParm.parammaps.startTime = ''
         this.tab.table.getdataListParm.parammaps.stopTime = ''
       }
-      let url = 'authdata/summary'
-      let data = {}
       if(this.tab.checked ==false){
         this.tab.table.getdataListParm.parammaps.isdate = 0
       }else{
         this.tab.table.getdataListParm.parammaps.isdate = 1
       }
-      data.parammaps = this.tab.table.getdataListParm.parammaps
+      // let url = 'authdata/summary'
+      let page = this.tab.table.getdataListParm.offset
+      let page_size = 0
+      let url = '/api/v1/ops/accuracy/agg_statistics' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        pasture_id:this.tab.table.getdataListParm.parammaps.pastureId,
+        start_time:this.tab.table.getdataListParm.parammaps.startTime,
+        end_time:this.tab.table.getdataListParm.parammaps.stopTime,
+        fname:this.tab.table.getdataListParm.parammaps.fname,
+        sort:this.tab.table.getdataListParm.parammaps.sort,
+        status:this.tab.table.getdataListParm.parammaps.status,
+        times:this.tab.table.getdataListParm.parammaps.times,
+        genre:this.tab.table.getdataListParm.parammaps.genre,
+        is_error:this.tab.table.getdataListParm.parammaps.error,
+        isdate:this.tab.table.getdataListParm.parammaps.isdate,
+        hlwc1:this.tab.table.getdataListParm.parammaps.hlwc1,
+        hlwc2:this.tab.table.getdataListParm.parammaps.hlwc2,
+        hlzq1:this.tab.table.getdataListParm.parammaps.hlzq1,
+        hlzq2:this.tab.table.getdataListParm.parammaps.hlzq2,
+        hlzql1:this.tab.table.getdataListParm.parammaps.hlzql1,
+        hlzql2:this.tab.table.getdataListParm.parammaps.hlzql2,
+        slwc1:this.tab.table.getdataListParm.parammaps.slwc1,
+        slwc2:this.tab.table.getdataListParm.parammaps.slwc2,
+        slzq1:this.tab.table.getdataListParm.parammaps.slzq1,
+        slzq2:this.tab.table.getdataListParm.parammaps.slzq2,
+        slzql1:this.tab.table.getdataListParm.parammaps.slzql1,
+        slzql2:this.tab.table.getdataListParm.parammaps.slzql2,
+      }
       postJson(url, data).then(response => {
         if (response.data !== null) {
           console.log('汇总统计/混料table数据', response.data.list)
@@ -2940,14 +2958,39 @@ export default {
       this.tab.table2.getdataListParm.parammaps.slzql1 = this.tab.table.getdataListParm.parammaps.slzql1
       this.tab.table2.getdataListParm.parammaps.slzql2 = this.tab.table.getdataListParm.parammaps.slzql2
       this.tab.table2.getdataListParm.parammaps.error = this.tab.table.getdataListParm.parammaps.error
-      let url = 'authdata/summary'
-      let data = {}
       if(this.tab.checked ==false){
         this.tab.table2.getdataListParm.parammaps.isdate = 0
       }else{
         this.tab.table2.getdataListParm.parammaps.isdate = 1
       }
-      data.parammaps = this.tab.table2.getdataListParm.parammaps
+      let page = this.tab.table2.getdataListParm.offset
+      let page_size = 0
+      let url = '/api/v1/ops/accuracy/agg_statistics' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        pasture_id:this.tab.table2.getdataListParm.parammaps.pastureId,
+        start_time:this.tab.table2.getdataListParm.parammaps.startTime,
+        end_time:this.tab.table2.getdataListParm.parammaps.stopTime,
+        fname:this.tab.table2.getdataListParm.parammaps.fname,
+        sort:this.tab.table2.getdataListParm.parammaps.sort,
+        status:this.tab.table2.getdataListParm.parammaps.status,
+        times:this.tab.table2.getdataListParm.parammaps.times,
+        genre:this.tab.table2.getdataListParm.parammaps.genre,
+        is_error:this.tab.table2.getdataListParm.parammaps.error,
+        isdate:this.tab.table2.getdataListParm.parammaps.isdate,
+        hlwc1:this.tab.table2.getdataListParm.parammaps.hlwc1,
+        hlwc2:this.tab.table2.getdataListParm.parammaps.hlwc2,
+        hlzq1:this.tab.table2.getdataListParm.parammaps.hlzq1,
+        hlzq2:this.tab.table2.getdataListParm.parammaps.hlzq2,
+        hlzql1:this.tab.table2.getdataListParm.parammaps.hlzql1,
+        hlzql2:this.tab.table2.getdataListParm.parammaps.hlzql2,
+        slwc1:this.tab.table2.getdataListParm.parammaps.slwc1,
+        slwc2:this.tab.table2.getdataListParm.parammaps.slwc2,
+        slzq1:this.tab.table2.getdataListParm.parammaps.slzq1,
+        slzq2:this.tab.table2.getdataListParm.parammaps.slzq2,
+        slzql1:this.tab.table2.getdataListParm.parammaps.slzql1,
+        slzql2:this.tab.table2.getdataListParm.parammaps.slzql2,
+      }
+      // data.parammaps = this.tab.table2.getdataListParm.parammaps
       postJson(url, data).then(response => {
         if (response.data !== null) {
           console.log('汇总统计/撒料table数据', response.data.list)
@@ -3251,20 +3294,23 @@ export default {
     // 配方准确率
     getChart1() {
       this.tab.chart1.listLoading = true
-      const url = 'authdata/chart/accuracyAllFT'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/accuracyAllFT'
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      let data = {
+        api_type:'ft'
+      }
       if (this.tab.chart2.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart2.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart2.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart2.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart2.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart2.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart2.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart2.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart2.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart2.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart2.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart2.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart2.getdataListParm.parammaps.status
       }
+
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
           for (let i = 0; i < response.data.data.length; i++) {
@@ -3379,19 +3425,21 @@ export default {
     // 计划统计
     getChart2() {
       this.tab.chart2.listLoading = true
-      const url = 'authdata/chart/accuracyAllJH'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/accuracyAllJH'
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      let data = {
+        api_type:'jh'
+      }
       if (this.tab.chart2.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart2.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart2.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart2.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart2.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart2.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart2.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart2.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart2.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart2.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart2.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart2.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart2.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
@@ -3503,19 +3551,21 @@ export default {
     // 牛群准确率
     getChart3() {
       this.tab.chart3.listLoading = true
-      const url = 'authdata/chart/accuracyAllNQ'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/accuracyAllNQ'
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      let data = {
+        api_type:'nq'
+      }
       if (this.tab.chart3.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart3.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart3.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart3.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart3.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart3.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart3.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart3.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart3.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart3.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart3.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart3.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart3.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
@@ -3643,19 +3693,21 @@ export default {
     // 车辆准确率
     getChart4() {
       this.tab.chart4.listLoading = true
-      const url = 'authdata/chart/accuracyAllCC'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/accuracyAllCC'
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      let data = {
+        api_type:'cc'
+      }
       if (this.tab.chart4.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart4.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart4.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart4.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart4.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart4.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart4.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart4.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart4.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart4.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart4.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart4.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart4.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
@@ -3761,19 +3813,21 @@ export default {
     // 混料统计
     getChart5() {
       this.tab.chart5.listLoading = true
-      const url = 'authdata/chart/accuracyAllHL'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/accuracyAllHL'
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      let data = {
+        api_type:'hl'
+      }
       if (this.tab.chart5.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart5.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart5.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart5.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart5.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart5.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart5.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart5.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart5.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart5.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart5.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart5.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart5.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
@@ -3906,19 +3960,21 @@ export default {
     // 混料计划取消次数
     getChart6() {
       this.tab.chart6.listLoading = true
-      const url = 'authdata/chart/accuracyAllQX'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/accuracyAllQX'
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      let data = {
+        api_type:'qx'
+      }
       if (this.tab.chart6.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart6.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart6.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart6.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart6.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart6.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart6.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart6.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart6.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart6.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart6.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart6.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart6.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart6.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart6.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart6.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart6.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
@@ -4025,19 +4081,21 @@ export default {
     },
     getChart7() {
       this.tab.chart7.listLoading = true
-      const url = 'authdata/chart/accuracyAllLS'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/accuracyAllLS'
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      let data = {
+        api_type:'ls'
+      }
       if (this.tab.chart7.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart7.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart7.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart7.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart7.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart7.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart7.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart7.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart7.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart7.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart7.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart7.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart7.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart7.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart7.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart7.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart7.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
@@ -4340,7 +4398,50 @@ export default {
     // 混料统计
     getTab2List() {
       this.tab2.table.listLoading = true
-      GetDataByName(this.tab2.table.getdataListParm).then(response => {
+      let page = this.tab2.table.getdataListParm.offset
+      let page_size = 0
+      let url = '/api/v1/ops/accuracy/mixed_statistics' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        pasture_id:this.tab2.table.getdataListParm.parammaps.pastureId,
+        start_time:this.tab2.table.getdataListParm.parammaps.startTime,
+        end_time:this.tab2.table.getdataListParm.parammaps.stopTime,
+        api_name:this.tab2.table.getdataListParm.name,
+        equipment_name:this.tab2.table.getdataListParm.parammaps.tmrtname,
+        train_number:this.tab2.table.getdataListParm.parammaps.projname,
+        formulation_name:this.tab2.table.getdataListParm.parammaps.templetname,
+        is_error:this.tab2.table.getdataListParm.parammaps.error,
+        hlwc1:this.tab2.table.getdataListParm.parammaps.hlwc1,
+        hlwc2:this.tab2.table.getdataListParm.parammaps.hlwc2,
+        hlzq1:this.tab2.table.getdataListParm.parammaps.hlzq1,
+        hlzq2:this.tab2.table.getdataListParm.parammaps.hlzq2,
+        hlzql1:this.tab2.table.getdataListParm.parammaps.hlzql1,
+        hlzql2:this.tab2.table.getdataListParm.parammaps.hlzql2,
+      }
+      // if(this.tab3.table.getdataListParm.parammaps.buttontype){
+      //   data.jump_type =this.tab3.table.getdataListParm.parammaps.buttontype
+      // }
+      // if(this.tab3.table.getdataListParm.parammaps.times){
+      //   data.class_number =this.tab3.table.getdataListParm.parammaps.times
+      // }
+      if(this.tab2.table.getdataListParm.parammaps.hlwc1){
+        data.hlwc1 = this.tab2.table.getdataListParm.parammaps.hlwc1
+      }
+      if(this.tab2.table.getdataListParm.parammaps.hlwc2){
+        data.hlwc2 = this.tab2.table.getdataListParm.parammaps.hlwc2
+      }
+      if(this.tab2.table.getdataListParm.parammaps.hlzql1){
+        data.hlzql1 = this.tab2.table.getdataListParm.parammaps.hlzql1
+      }
+      if(this.tab2.table.getdataListParm.parammaps.hlzql2){
+        data.hlzql2 = this.tab2.table.getdataListParm.parammaps.hlzql2
+      }
+      if(this.tab2.table.getdataListParm.parammaps.times){
+        data.class_number =this.tab2.table.getdataListParm.parammaps.times
+      }
+      if(this.tab2.table.getdataListParm.parammaps.buttontype){
+        data.jump_type =this.tab2.table.getdataListParm.parammaps.buttontype
+      }
+      postJson(url, data).then(response => {
         if (response.data.list !== null) {
           console.log('混料统计table数据', response.data.list)
           // this.tab2.table.list = response.data.list
@@ -4442,7 +4543,49 @@ export default {
     // 撒料统计
     getTab3List() {
       this.tab3.table.listLoading = true
-      GetDataByName(this.tab3.table.getdataListParm).then(response => {
+      let page = this.tab3.table.getdataListParm.offset
+      let page_size = 20
+      let url = '/api/v1/ops/accuracy/sprinkle_statistics' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        pasture_id:this.tab3.table.getdataListParm.parammaps.pastureId,
+        start_time:this.tab3.table.getdataListParm.parammaps.startTime,
+        end_time:this.tab3.table.getdataListParm.parammaps.stopTime,
+        api_name:this.tab3.table.getdataListParm.name,
+        equipment_name:this.tab3.table.getdataListParm.parammaps.tmrtname,
+        train_number:this.tab3.table.getdataListParm.parammaps.projname,
+        formulation_name:this.tab3.table.getdataListParm.parammaps.templetname,
+        barn_name:this.tab3.table.getdataListParm.parammaps.fname,
+        is_error:this.tab3.table.getdataListParm.parammaps.error,
+        // button_type:this.tab3.table.getdataListParm.parammaps.slzql2,
+        // is_use:this.tab3.table.getdataListParm.parammaps.slzql2,
+      }
+      if(this.tab3.table.getdataListParm.parammaps.buttontype){
+        data.buttontype =this.tab3.table.getdataListParm.parammaps.buttontype
+      }
+      if(this.tab3.table.getdataListParm.parammaps.times){
+        data.class_number =this.tab3.table.getdataListParm.parammaps.times
+      }
+      if(this.tab3.table.getdataListParm.parammaps.slwc1){
+        data.slwc1 = this.tab3.table.getdataListParm.parammaps.slwc1
+      }
+      if(this.tab3.table.getdataListParm.parammaps.slwc2){
+        data.slwc2 = this.tab3.table.getdataListParm.parammaps.slwc2
+      }
+      if(this.tab3.table.getdataListParm.parammaps.slzq1){
+        data.slzq1 = this.tab3.table.getdataListParm.parammaps.slzq1
+      }
+      if(this.tab3.table.getdataListParm.parammaps.slzq2){
+        data.slzq2 = this.tab3.table.getdataListParm.parammaps.slzq2
+      }
+      if(this.tab3.table.getdataListParm.parammaps.slzql1){
+        data.slzql1 = this.tab3.table.getdataListParm.parammaps.slzql1
+      }
+      if(this.tab3.table.getdataListParm.parammaps.slzql2){
+        data.slzql2 = this.tab3.table.getdataListParm.parammaps.slzql2
+      }
+
+      postJson(url, data).then(response => {
+      // GetDataByName(this.tab3.table.getdataListParm).then(response => {
         console.log('撒料统计table数据', response.data.list)
         if (response.data.list !== null) {
           // this.tab3.table.list = response.data.list
@@ -4621,13 +4764,13 @@ export default {
       this.isShowDialog = true
     },
     getTMRNameList(){
+      let url = '/api/v1/ops/accuracy/data_by_name'
       var data = {}
-      data.name = 'getAccuracyMCTmrName'
-      data.parammaps = {}
-      data.parammaps.pastureid = Cookies.get('pastureid')
-      data.parammaps.startTime =  this.tab.table.getdataListParm.parammaps.startTime
-      data.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime
-      GetDataByName(data).then(response => {
+      data.api_name = 'getAccuracyMCTmrName'
+      data.pasture_id = parseInt(Cookies.get('pastureId'))
+      data.start_time = this.tab.table.getdataListParm.parammaps.startTime
+      data.end_time = this.tab.table.getdataListParm.parammaps.stopTime
+      postJson(url,data).then(response => {
         if(response.data.list !== null){
           this.tab.TMRNameList = response.data.list
         }else{
@@ -4636,13 +4779,13 @@ export default {
       })
     },
     getTMRNameList2(){
-      var data = {}
-      data.name = 'getAccuracyMCTmrName'
-      data.parammaps = {}
-      data.parammaps.pastureid = Cookies.get('pastureid')
-      data.parammaps.startTime = this.tab2.table.getdataListParm.parammaps.startTime
-      data.parammaps.stopTime = this.tab2.table.getdataListParm.parammaps.stopTime
-      GetDataByName(data).then(response => {
+      let url = '/api/v1/ops/accuracy/data_by_name'
+      let data = {}
+      data.api_name = 'getAccuracyMCTmrName'
+      data.pasture_id = parseInt(Cookies.get('pastureId'))
+      data.start_time = this.tab2.table.getdataListParm.parammaps.startTime
+      data.end_time = this.tab2.table.getdataListParm.parammaps.stopTime
+      postJson(url,data).then(response => {
         if(response.data !== null){
           this.tab2.TMRNameList = response.data.list
         }else{
@@ -4651,13 +4794,13 @@ export default {
       })
     },
     getTMRNameList3(){
+      let url = '/api/v1/ops/accuracy/data_by_name'
       var data = {}
-      data.name = 'getAccuracyMCTmrName'
-      data.parammaps = {}
-      data.parammaps.pastureid = Cookies.get('pastureid')
-      data.parammaps.startTime =  this.tab3.table.getdataListParm.parammaps.startTime
-      data.parammaps.stopTime = this.tab3.table.getdataListParm.parammaps.stopTime
-      GetDataByName(data).then(response => {
+      data.api_name = 'getAccuracyMCTmrName'
+      data.pasture_id = parseInt(Cookies.get('pastureId'))
+      data.start_time = this.tab3.table.getdataListParm.parammaps.startTime
+      data.end_time = this.tab3.table.getdataListParm.parammaps.stopTime
+      postJson(url,data).then(response => {
         if(response.data.list !== null){
           this.tab3.TMRNameList = response.data.list
         }else{

+ 151 - 117
src/views/statisticalAnalysis/feedingEfficiency/index.vue

@@ -3,11 +3,10 @@
     <el-tabs v-model="activeName" @tab-click="handleTabClick">
       <el-tab-pane label="效率统计" name="first">
         <div class="search">
-          <el-select v-model="tab.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+          <el-select v-model="tab.table.getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;float:left;margin-right: 10px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
-          <!-- <el-date-picker v-model="tab2.date" :clearable="false" type="date" placeholder="选择日期" style="width: 150px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeTab2Date" /> -->
-          <el-date-picker v-model="tab.table.getdataListParm.parammaps.date" :clearable="false" style="width: 140px;margin-top: 5px;" type="date" placeholder="选择日期" @change="changeTab1Date"> </el-date-picker>
+          <el-date-picker v-model="tab.table.getdataListParm.parammaps.date" :clearable="false" style="float:left;width: 140px;" type="date" placeholder="选择日期" @change="changeTab1Date"> </el-date-picker>
           <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled1" @click="handleBefore" />
           <el-button class="el-icon-arrow-right elIconArrowRight" :disabled="Nextdisabled1" @click="handleNext" />
           <span style="margin-left: 10px;">统计类型:</span>
@@ -19,7 +18,7 @@
           <el-input v-if="tab.isHouseName" v-model="tab.table.getdataListParm.parammaps.ftname" class="filter-item" style="width: 150px;" placeholder="配方模板" />
           <el-input v-if="tab.isLivestockType" v-model="tab.table.getdataListParm.parammaps.cowclass" class="filter-item" style="width: 150px;" placeholder="牲畜类别" />
           <el-select v-model="tab.table.getdataListParm.parammaps.times" filterable placeholder="班次" class="filter-item" style="width: 120px;" clearable>
-            <el-option v-for="item in frequencyList" :key="item.id" :label="item.name" :value="item.id" />
+            <el-option v-for="item in frequencyList" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <el-button class="successBorder" @click="form_search">查询</el-button>
           <el-button class="export" icon="el-icon-upload2" @click="handleDownload">导出</el-button>
@@ -395,8 +394,8 @@
       </el-tab-pane>
       <el-tab-pane label="牛群评估" name="second">
         <div class="search">
-          <el-select v-model="tab2.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+          <el-select v-model="tab2.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;float:left;margin-right: 10px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
           <el-date-picker v-model="tab2.date" :clearable="false" type="date" placeholder="选择日期" style="width: 150px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeTab2Date" />
           <el-button class="export" style="float: right;" icon="el-icon-upload2" @click="handleDownload2">导出</el-button>
@@ -545,7 +544,7 @@
 import echarts from 'echarts'
 
 require('echarts/theme/macarons')
-import { GetDataByName, GetDataByNames,postJson, GetReportform, whichWeek } from '@/api/common'
+import { GetDataByName, postJson, GetReportform, whichWeek } from '@/api/common'
 import Cookies from 'js-cookie'
 import { parseTime } from '@/utils/index.js'
 import Pagination from '@/components/Pagination'
@@ -641,20 +640,7 @@ export default {
         selectYear: parseTime(new Date(), '{y}'),
         yearList: [],
         weekList: [],
-        // 班次
-        maxTime: {
-          getMaxTimesParm: {
-            name: 'getSysoptEnable',
-            page: 1,
-            offset: 1,
-            pagecount: 1,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid'),
-              inforname: 'times'
-            }
-          }
-        },
+        
         table: {
           getdataListParm: {
             name: 'getFeedEfficiencyFT',
@@ -663,7 +649,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               date: parseTime(new Date(), '{y}-{m}-{d}'),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
@@ -688,7 +674,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -725,7 +711,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -764,7 +750,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -801,7 +787,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -840,7 +826,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -872,6 +858,7 @@ export default {
 
       tab2: {
         date:parseTime(new Date(), '{y}-{m}-{d}'),
+        pastureId: parseInt(Cookies.get('pastureId')),
         table: {
           getdataListParm: {
             name: 'getAssessCowPenn',
@@ -880,7 +867,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}')
             }
@@ -899,7 +886,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               date: ''
             }
           },
@@ -917,7 +904,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               date: ''
             }
           },
@@ -935,7 +922,7 @@ export default {
             pagecount: '',
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               date: ''
             }
           },
@@ -959,17 +946,13 @@ export default {
       tab2Download2List3:[],
       tab2Download2List4:[],
       frequencyList:[],
-      requestParams: [
-        { name: 'getPastureListJT', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid'), pasturename: '' }}
-      ],
-      pastureList: [], // 牧场
       rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
       cellStyle: { padding: 0 + 'px' },
-      myHeight: document.documentElement.clientHeight - 85 - 210
+      myHeight: document.documentElement.clientHeight - 85 - 210,
+      pastureList:JSON.parse(sessionStorage.pastureList), //牧场
     }
   },
   created() {
-    this.getDownLists()
     this.getAllYear()
     this.getTabList()
     this.getTimeFn()
@@ -981,26 +964,17 @@ export default {
     this.getIsDisplay()
   },
   methods: {
-    getDownLists() {
-      GetDataByNames(this.requestParams).then(response => {
-        this.pastureList = response.data.getPastureListJT.list
-        this.tab.table.getdataListParm.parammaps.pastureid = response.data.getPastureListJT.list[0].pastureid
-        this.getList()
-      })
-    },
     getIsDisplay() {
-      GetDataByName(this.tab.maxTime.getMaxTimesParm).then(response => {
-        console.log(response.data.list[0].inforvalue)
-        this.myMaxTimes = response.data.list[0].inforvalue
-        if (response.data.list[0].inforvalue == 1) {
-          this.frequencyList = [{ id: '1', name: '第一班' }]
-        } else if (response.data.list[0].inforvalue == 2) {
-          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }]
-        } else if (response.data.list[0].inforvalue == 3) {
-          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }]
-        } else if (response.data.list[0].inforvalue == 4) {
-          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
-        }
+      let page = 1
+      let page_size = 0
+      let url = '/api/v1/ops/statistics/train_number' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        pasture_id:parseInt(Cookies.get('pastureId')),
+        api_name:'getSysoptEnable',
+        info_name:'times',
+      }
+      postJson(url, data).then(response => {
+        this.frequencyList = response.data.list
       })
     },
     getAllYear() {
@@ -1728,7 +1702,21 @@ export default {
     // 效率统计
     getTabList() {
       this.tab.table.listLoading = true
-      GetDataByName(this.tab.table.getdataListParm).then(response => {
+      // let page = this.tab.table.getdataListParm.offset
+      let page = 0
+      let page_size = 0
+      let url = '/api/v1/ops/feed_efficiency/statistics' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        'pasture_id':this.tab.table.getdataListParm.parammaps.pastureId,
+        'start_time':this.tab.table.getdataListParm.parammaps.startTime,
+        'api_name':this.tab.table.getdataListParm.name,
+        'formula_template':this.tab.table.getdataListParm.parammaps.ftname,
+        'barn_name':this.tab.table.getdataListParm.parammaps.barname,
+        'cattle_category_name':this.tab.table.getdataListParm.parammaps.cowclass,
+        'class_number':this.tab.table.getdataListParm.parammaps.times,
+      }
+      postJson(url, data).then(response => {
+      // GetDataByName(this.tab.table.getdataListParm).then(response => {
         console.log('汇总统计/混料table数据', response.data.list)
         if (response.data.list !== null) {
           this.tab.table.list = response.data.list
@@ -1856,20 +1844,21 @@ export default {
     // 泌乳牛干物质采食量
     getChart1() {
       this.tab.chart1.listLoading = true
-      const url = 'authdata/chart/feedEffMR'
-      const data = {}
-      data.parammaps = {}
+      const data = {
+        api_type:'mr'
+      }
       if (this.tab.chart1.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart1.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart1.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart1.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart1.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart1.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart1.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart1.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart1.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart1.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart1.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart1.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart1.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart1.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart1.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart1.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart1.getdataListParm.parammaps.status
       }
+      let url = '/api/v1/ops/feed_efficiency/chart_statistics'
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
           console.log('泌乳牛干物质采食量图表数据', response.data.list)
@@ -1945,20 +1934,23 @@ export default {
     // 牛栏剩料率
     getChart2() {
       this.tab.chart2.listLoading = true
-      const url = 'authdata/chart/feedEffSL'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/feedEffSL'
+      const url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      const data = {
+        api_type:'sl'
+      }
       if (this.tab.chart2.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart2.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart2.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart2.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart2.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart2.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart2.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart2.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart2.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart2.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart2.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart2.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart2.getdataListParm.parammaps.status
       }
+
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null && response.data.data !== null) {
           console.log('牛栏剩料率图表数据', response.data.list)
@@ -2068,19 +2060,21 @@ export default {
     // 混料时间统计
     getChart3() {
       this.tab.chart3.listLoading = true
-      const url = 'authdata/chart/feedEffHL'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/feedEffHL'
+      const url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      const data = {
+        api_type:'hl'
+      }
       if (this.tab.chart3.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart3.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart3.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart3.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart3.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart3.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart3.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart3.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart3.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart3.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart3.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart3.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart3.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null) {
@@ -2172,19 +2166,21 @@ export default {
     },
     getChart4() {
       this.tab.chart4.listLoading = true
-      const url = 'authdata/chart/feedEffZH'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/feedEffZH'
+      const url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      const data = {
+        api_type:'zh'
+      }
       if (this.tab.chart4.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart4.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart4.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart4.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart4.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart4.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart4.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart4.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart4.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart4.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart4.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart4.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart4.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null) {
@@ -2302,19 +2298,21 @@ export default {
     },
     getChart5() {
       this.tab.chart5.listLoading = true
-      const url = 'authdata/chart/feedEffCBFT'
-      const data = {}
-      data.parammaps = {}
+      // const url = 'authdata/chart/feedEffCBFT'
+      const url = '/api/v1/ops/feed_efficiency/chart_statistics'
+      const data = {
+        api_type:'cbft'
+      }
       if (this.tab.chart5.getdataListParm.parammaps.specificDate == '1') {
-        data.parammaps.pastureid = this.tab.chart5.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        data.parammaps.stopTime = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
-        data.parammaps.status = this.tab.chart5.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart5.getdataListParm.parammaps.pastureId
+        data.start_time = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        data.end_time = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        data.status = this.tab.chart5.getdataListParm.parammaps.status
       } else {
-        data.parammaps.pastureid = this.tab.chart5.getdataListParm.parammaps.pastureid
-        data.parammaps.startTime = this.tab.chart5.getdataListParm.parammaps.startTime
-        data.parammaps.stopTime = this.tab.chart5.getdataListParm.parammaps.stopTime
-        data.parammaps.status = this.tab.chart5.getdataListParm.parammaps.status
+        data.pasture_id = this.tab.chart5.getdataListParm.parammaps.pastureId
+        data.start_time = this.tab.chart5.getdataListParm.parammaps.startTime
+        data.end_time = this.tab.chart5.getdataListParm.parammaps.stopTime
+        data.status = this.tab.chart5.getdataListParm.parammaps.status
       }
       postJson(url, data).then(response => {
         if (response.data !== null && response.data.list !== null) {
@@ -2531,7 +2529,16 @@ export default {
       this.tab2.table.listLoading = true
       this.tab2.table.getdataListParm.parammaps.startTime = this.tab2.date
       this.tab2.table.getdataListParm.parammaps.stopTime = this.tab2.date
-      GetDataByName(this.tab2.table.getdataListParm).then(response => {
+      let page = this.tab2.table.getdataListParm.offset
+      let page_size = 0
+      let url = '/api/v1/ops/feed_efficiency/cows_analysis' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        'api_name':this.tab2.table.getdataListParm.name,
+        'pasture_id':this.tab2.table.getdataListParm.parammaps.pastureId,
+        'start_time':this.tab2.table.getdataListParm.parammaps.startTime
+      }
+      postJson(url, data).then(response => {
+      // GetDataByName(this.tab2.table.getdataListParm).then(response => {
         console.log('宾州筛分析table数据', response.data.list)
         if (response.data.list !== null) {
           this.tab2.table.list = response.data.list
@@ -2550,7 +2557,16 @@ export default {
       this.tab2.table2.listLoading = true
       this.tab2.table2.getdataListParm.parammaps.startTime = this.tab2.date
       this.tab2.table2.getdataListParm.parammaps.stopTime = this.tab2.date
-      GetDataByName(this.tab2.table2.getdataListParm).then(response => {
+      let page = this.tab2.table2.getdataListParm.offset
+      let page_size = 0
+      let url = '/api/v1/ops/feed_efficiency/cows_analysis' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        'api_name':this.tab2.table2.getdataListParm.name,
+        'pasture_id':this.tab2.table2.getdataListParm.parammaps.pastureId,
+        'start_time':this.tab2.table2.getdataListParm.parammaps.startTime
+      }
+      postJson(url, data).then(response => {
+      // GetDataByName(this.tab2.table2.getdataListParm).then(response => {
         console.log('粪便筛分析table数据', response.data.list)
         if (response.data.list !== null) {
           this.tab2.table2.list = response.data.list
@@ -2569,7 +2585,16 @@ export default {
       this.tab2.table3.listLoading = true
       this.tab2.table3.getdataListParm.parammaps.startTime = this.tab2.date
       this.tab2.table3.getdataListParm.parammaps.stopTime = this.tab2.date
-      GetDataByName(this.tab2.table3.getdataListParm).then(response => {
+      let page = this.tab2.table3.getdataListParm.offset
+      let page_size = 0
+      let url = '/api/v1/ops/feed_efficiency/cows_analysis' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        'api_name':this.tab2.table3.getdataListParm.name,
+        'pasture_id':this.tab2.table3.getdataListParm.parammaps.pastureId,
+        'start_time':this.tab2.table3.getdataListParm.parammaps.startTime
+      }
+      postJson(url, data).then(response => {
+      // GetDataByName(this.tab2.table3.getdataListParm).then(response => {
         console.log('BCS评分table数据', response.data.list)
         if (response.data.list !== null) {
           this.tab2.table3.list = response.data.list
@@ -2588,7 +2613,16 @@ export default {
       this.tab2.table4.listLoading = true
       this.tab2.table4.getdataListParm.parammaps.startTime = this.tab2.date
       this.tab2.table4.getdataListParm.parammaps.stopTime = this.tab2.date
-      GetDataByName(this.tab2.table4.getdataListParm).then(response => {
+      let page = this.tab2.table4.getdataListParm.offset
+      let page_size = 0
+      let url = '/api/v1/ops/feed_efficiency/cows_analysis' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        'api_name':this.tab2.table4.getdataListParm.name,
+        'pasture_id':this.tab2.table4.getdataListParm.parammaps.pastureId,
+        'start_time':this.tab2.table4.getdataListParm.parammaps.startTime
+      }
+      postJson(url, data).then(response => {
+      // GetDataByName(this.tab2.table4.getdataListParm).then(response => {
         console.log('成本分析table数据', response.data.list)
         if (response.data.list !== null) {
           this.tab2.table4.list = response.data.list

+ 135 - 126
src/views/statisticalAnalysis/formulationEvaluation/index.vue

@@ -1,21 +1,26 @@
 <template>
   <div class="app-container">
     <div class="operation">
-      <el-select v-model="table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;float: left;">
-        <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+      <el-select v-model="table.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;float:left;margin-right: 10px;">
+        <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
       </el-select>
-      <el-date-picker v-model="table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;margin-right: 10px;float: left;" @change="changeDate" />
+      <el-date-picker v-model="table.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;margin-right: 10px;float: left;" @change="changeDate" />
       <el-button class="el-icon-arrow-left elIconArrowLeft" @click="handleBefore" />
       <el-button class="el-icon-arrow-right elIconArrowRight" @click="handleNext" />
-      <el-select v-model="table.getdataListParm.parammaps.search" placeholder="查询" class="filter-item" style="width: 120px;margin-right: 10px;">
-        <el-option v-for="item in searchList" :key="item.id" :label="item.name" :value="item.id" />
-      </el-select>
-      <el-select v-if="table.getdataListParm.parammaps.search == '0'" v-model="table.getdataListParm.parammaps.templetid" clearable filterable placeholder="请输入配方名称" style="width: 180px;" class="filter-item">
-        <el-option v-for="(item,index) in fenceHouseList" :key="index" :label="item.tname" :value="item.id" />
-      </el-select>
-      <el-select v-else v-model="table.getdataListParm.parammaps.barid" clearable filterable placeholder="请选择栏舍" style="width: 180px;" class="filter-item">
-        <el-option v-for="item in formulaList" :key="item.id" :label="item.bname" :value="item.id" />
+      <el-select v-model="table.parammaps.search_type" placeholder="查询" class="filter-item" style="width: 120px;margin-right: 10px;">
+        <el-option v-for="item in searchList" :key="item.value" :label="item.label" :value="item.value" />
       </el-select>
+
+      <el-autocomplete v-if="table.parammaps.search_type == 0" v-model="table.parammaps.template_name" class="filter-item" :fetch-suggestions="formula_Search" value-key="name" placeholder="请输入配方名称" @select="handle_formulaSelect" >
+        <template slot-scope="{ item }">
+          <div>{{ item.name }}</div>
+        </template>
+      </el-autocomplete>
+      <el-autocomplete v-else v-model="table.parammaps.barn_id" class="filter-item" :fetch-suggestions="fenceshed_Search" value-key="eqName" placeholder="请输入栏舍名称" @select="handle_fenceshedSelect">
+        <template slot-scope="{ item }">
+          <div>{{ item.eqName }}</div>
+        </template>
+      </el-autocomplete>
       <el-button class="successBorder" style="margin-left:10px;" @click="form_search">查询</el-button>
     </div>
     <div class="search" />
@@ -240,7 +245,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <pagination v-show="table.total>0" :total="table.total" :page.sync="table.getdataListParm.offset" :limit.sync="table.getdataListParm.pagecount" @pagination="getList" />
+      <pagination v-show="table.total>0" :total="table.total" :page.sync="table.page" :limit.sync="table.page_size" @pagination="getList" />
     </div>
 
     <!-- 查看 -->
@@ -504,7 +509,7 @@
 </template>
 
 <script>
-import { GetDataByName,GetDataByNames, postJson,postJson3 } from '@/api/common'
+import { GetDataByName, postJson } from '@/api/common'
 import Cookies from 'js-cookie'
 import Pagination from '@/components/Pagination'
 import { parseTime } from '@/utils/index.js'
@@ -519,33 +524,33 @@ export default {
   },
   data() {
     return {
-      dialogFull: false,
-      searchList: [{ id: '0', name: '按配方查询' }, { id: '1', name: '按栏舍查询' }],
+      pastureList:JSON.parse(sessionStorage.pastureList), //牧场
+      searchList: JSON.parse(sessionStorage.downlist).formulation_evaluation,  //查询
       formulaList: [],
       fenceHouseList: [],
       table: {
-        getdataListParm: {
-          name: 'judgenurFTReport',
-          page: 1,
-          offset: 1,
-          pagecount: parseInt(Cookies.get('pageCount')),
-          returntype: 'Map',
-          parammaps: {
-            pastureid: Cookies.get('pastureid'),
-            startTime: parseTime(new Date(), '{y}-{m}-{d}'),
-            stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
-            inputDatetime: [new Date(), new Date()],
-            search: '0',
-            templetid:'',
-            barid:''
-          }
-        },
-        tableKey: 1,
+        page: 1,
+        page_size: parseInt(Cookies.get('pageCount')),
+        tableKey: 0,
         list: [],
         total: 0,
         listLoading: true,
-        temp: {}
+        parammaps: {
+          pastureId: parseInt(Cookies.get('pastureId')),
+          start_time: parseTime(new Date(), '{y}-{m}-{d}'),
+          end_time: parseTime(new Date(), '{y}-{m}-{d}'),
+          inputDatetime: [new Date(), new Date()],
+          search_type: 0,
+          template_id:'',
+          template_name:'',
+          barn_name:'',
+          barn_id:''
+        },
       },
+      // =====
+      dialogFull: false,
+
+
       see: {
         dialogFormVisible: false,
         dialogStatus: '',
@@ -629,63 +634,113 @@ export default {
         see: '',
         details: '配方详情'
       },
-      requestParams: [
-        { name: 'getPastureListJT', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid'), pasturename: '' }}
-      ],
-      pastureList: [], // 牧场
       rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
       cellStyle: { padding: 0 + 'px' }
     }
   },
 
   created() {
-    if (this.$route.params.tname !== '' && this.$route.params.tname !== undefined && this.$route.params.startTime !== undefined && this.$route.params.stopTime !== undefined) {
-      console.log(this.table.getdataListParm.parammaps.inputDatetime, 'this.table.getdataListParm.parammaps.inputDatetime')
-      this.table.getdataListParm.parammaps.startTime = this.$route.params.startTime
-      this.table.getdataListParm.parammaps.stopTime = this.$route.params.stopTime
-      this.textMap.see = '栏舍详情——' + this.$route.params.tname
-      setTimeout(() => {
-        this.dialogFull = false
-        this.see.dialogStatus = 'see'
-        this.see.dialogFormVisible = true
-      }, 500)
-      this.see.table.getdataListParm.parammaps.ftid = this.$route.params.ftid
-      this.see.table.getdataListParm.parammaps.pastureid = this.$route.params.pastureid
-      this.see.table.getdataListParm.parammaps.startTime = this.table.getdataListParm.parammaps.startTime
-      this.see.table.getdataListParm.parammaps.stopTime = this.table.getdataListParm.parammaps.stopTime
-      this.getListSee()
-    }
+    // if (this.$route.params.tname !== '' && this.$route.params.tname !== undefined && this.$route.params.start_time !== undefined && this.$route.params.end_time !== undefined) {
+    //   console.log(this.table.getdataListParm.parammaps.inputDatetime, 'this.table.getdataListParm.parammaps.inputDatetime')
+    //   this.table.getdataListParm.parammaps.start_time = this.$route.params.start_time
+    //   this.table.getdataListParm.parammaps.end_time = this.$route.params.end_time
+    //   this.textMap.see = '栏舍详情——' + this.$route.params.tname
+    //   setTimeout(() => {
+    //     this.dialogFull = false
+    //     this.see.dialogStatus = 'see'
+    //     this.see.dialogFormVisible = true
+    //   }, 500)
+    //   this.see.table.getdataListParm.parammaps.ftid = this.$route.params.ftid
+    //   this.see.table.getdataListParm.parammaps.pastureid = this.$route.params.pastureid
+    //   this.see.table.getdataListParm.parammaps.start_time = this.table.getdataListParm.parammaps.start_time
+    //   this.see.table.getdataListParm.parammaps.end_time = this.table.getdataListParm.parammaps.end_time
+    //   this.getListSee()
+    // }
     this.getList()
-    // this.getDownLists()
-    // this.getformulaList()
     // this.getfenceHouseList()
   },
 
   methods: {
-    getDownLists() {
-      GetDataByNames(this.requestParams).then(response => {
-        this.pastureList = response.data.getPastureListJT.list
-        this.table.getdataListParm.parammaps.pastureid = response.data.getPastureListJT.list[0].pastureid
-        this.getList()
+    getList() {
+      this.table.listLoading = true
+      let page = this.table.page
+      let page_size = this.table.page_size
+      let url = '/api/v1/ops/feed_estimate/list' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        'api_name':'judgenurFTReport',
+        'pasture_id':this.table.parammaps.pastureId,
+        'start_time':this.table.parammaps.start_time,
+        'end_time':this.table.parammaps.end_time,
+        'search_type':this.table.parammaps.search_type
+      }
+      if(this.table.parammaps.template_id){
+        data.template_id = this.table.parammaps.template_id
+      }
+      if(this.table.parammaps.barn_id){
+        data.barn_id = this.table.parammaps.barn_id
+      }
+      postJson(url, data).then(response => {
+        if (response.data.list !== null) {
+          this.table.list = response.data.list
+          this.table.total = response.data.total
+          this.table.pageNum = response.data.page
+          this.table.pageSize = response.data.page_size
+        }else{
+          this.table.list = []
+        }
       })
+      setTimeout(() => {
+        this.table.listLoading = false
+      }, 100)
+    },
+    form_search() {
+      if(this.table.parammaps.search_type == '0'){
+        this.table.parammaps.barid = ''
+      }else{
+        this.table.parammaps.templetid = ''
+        console.log(this.table.parammaps.barid)
+      }
+      this.getList()
+    },
+    // 栏舍
+    fenceshed_Search(){
+
+    },
+    handle_fenceshedSelect(){
+
     },
-    getformulaList(){
-      const url = 'authdata/GetDataByName'
-      const data = {}
-      data.name = 'getBarListEnable'
-      data.parammaps = {}
-      data.parammaps.pastureid = Cookies.get('pastureid')
+    // 配方
+    formula_Search(queryString, cb){
+      console.log(queryString,'====s')
+      // this.table.parammaps.barn_id = queryString
+      let page = this.table.page
+      let page_size = this.table.page_size
+      let url = '/api/v1/ops/feed_formula/list' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        "name":queryString
+      }
       postJson(url, data).then(response => {
-        if(response.data.list !== null){
+        if (response.code == 200) {
           this.formulaList = response.data.list
-        }else{
-          this.formulaList = []
+          var formulaList = this.formulaList;
+          var results = queryString ? formulaList.filter(this.formulaFilter(queryString)) : formulaList;
+          cb(results);
         }
       })
     },
+    formulaFilter(queryString) {
+      return (formulaList) => {
+        return (formulaList.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+      };
+    },
+    handle_formulaSelect(item){
+      console.log(item);
+      this.table.parammaps.template_id = item.id
+    },
+
     getfenceHouseList(){
-      const url = 'authdata/GetDataByName'
-      const data = {}
+      let url = '/api/v1/ops/feed_formula/list' + '?page=' + 1 + '&page_size=' + page_size
+      let data = {}
       data.name = 'getFeedTempletName'
       postJson(url, data).then(response => {
         if(response.data.list !== null){
@@ -695,57 +750,11 @@ export default {
         }
       })
     },
-    getList() {
-      const url = 'authdata/GetDataByName'
-      const data = this.table.getdataListParm.parammaps
-      data.name = 'getFeedTempletName1'
-      const headers = {}
-      headers.id= '23'
-      postJson3(url, data,headers).then(response => {
-        if (response.data.list !== null) {
-          this.table.list = response.data.list
-          this.table.pageNum = response.data.pageNum
-          this.table.pageSize = response.data.pageSize
-          this.table.total = response.data.total
-        } else {
-          this.table.list = []
-          this.table.pageNum = 0
-          this.table.pageSize = 0
-          this.table.total = 0
-        }
-      })
-      // this.table.listLoading = true
-      // GetDataByName(this.table.getdataListParm).then(response => {
-      //   console.log('table数据', response.data.list)
-      //   if (response.data.list !== null) {
-      //     this.table.list = response.data.list
-      //     this.table.pageNum = response.data.pageNum
-      //     this.table.pageSize = response.data.pageSize
-      //     this.table.total = response.data.total
-      //   } else {
-      //     this.table.list = []
-      //     this.table.pageNum = 0
-      //     this.table.pageSize = 0
-      //     this.table.total = 0
-      //   }
-      //   setTimeout(() => {
-      //     this.table.listLoading = false
-      //   }, 100)
-      // })
-    },
-    form_search() {
-      if(this.table.getdataListParm.parammaps.search == '0'){
-        this.table.getdataListParm.parammaps.barid = ''
-      }else{
-        this.table.getdataListParm.parammaps.templetid = ''
-        console.log(this.table.getdataListParm.parammaps.barid)
-      }
-      this.getList()
-    },
+
     changeDate() {
       if (this.table.getdataListParm.parammaps.inputDatetime !== '' && this.table.getdataListParm.parammaps.inputDatetime !== null) {
-        this.table.getdataListParm.parammaps.startTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-        this.table.getdataListParm.parammaps.stopTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+        this.table.getdataListParm.parammaps.start_time = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+        this.table.getdataListParm.parammaps.end_time = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
         this.getList()
       }
     },
@@ -757,8 +766,8 @@ export default {
         this.table.getdataListParm.parammaps.inputDatetime.push(start, stop)
         this.$forceUpdate()
       }
-      this.table.getdataListParm.parammaps.startTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-      this.table.getdataListParm.parammaps.stopTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+      this.table.getdataListParm.parammaps.start_time = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+      this.table.getdataListParm.parammaps.end_time = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
       this.getList()
     },
     handleNext() {
@@ -769,8 +778,8 @@ export default {
         this.table.getdataListParm.parammaps.inputDatetime.push(start2, stop2)
         this.$forceUpdate()
       }
-      this.table.getdataListParm.parammaps.startTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
-      this.table.getdataListParm.parammaps.stopTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
+      this.table.getdataListParm.parammaps.start_time = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
+      this.table.getdataListParm.parammaps.end_time = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
       this.getList()
     },
     tableCellStyle({ row, column, rowIndex, columnIndex }) {
@@ -870,8 +879,8 @@ export default {
       this.see.dialogFormVisible = true
       this.see.table.getdataListParm.parammaps.ftid = row.ftid
       this.see.table.getdataListParm.parammaps.pastureid = row.pastureid
-      this.see.table.getdataListParm.parammaps.startTime = this.table.getdataListParm.parammaps.startTime
-      this.see.table.getdataListParm.parammaps.stopTime = this.table.getdataListParm.parammaps.stopTime
+      this.see.table.getdataListParm.parammaps.start_time = this.table.getdataListParm.parammaps.start_time
+      this.see.table.getdataListParm.parammaps.end_time = this.table.getdataListParm.parammaps.end_time
       this.getListSee()
     },
     getListSee() {

+ 188 - 135
src/views/statisticalAnalysis/inventoryManagement/index.vue

@@ -3,8 +3,8 @@
     <el-tabs v-model="activeName" @tab-click="handleTabClick">
       <el-tab-pane label="库存统计" name="first">
         <div class="search">
-          <el-select v-model="tab.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;float: left;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+          <el-select v-model="tab.table.getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;float:left;margin-right: 10px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
           <el-date-picker v-model="tab.table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="float: left;width: 250px;margin-bottom:10px;" :picker-options="pickerOptions" />
           <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled" style="float: left;" @click="handleBefore" />
@@ -52,15 +52,15 @@
       </el-tab-pane>
       <el-tab-pane label="用料分析" name="second">
         <div class="search">
-          <el-select v-model="tab2.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
-          </el-select>
-          <el-date-picker v-model="tab2.table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 245px;" :picker-options="pickerOptions" />
+          <el-select v-model="tab2.table.getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;float:left;margin-right: 10px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
+          </el-select>
+          <el-date-picker v-model="tab2.table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="float: left;width: 245px;" :picker-options="pickerOptions" />
           <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled2" @click="handleBefore2" />
           <el-button class="el-icon-arrow-right elIconArrowRight" :disabled="Nextdisabled2" @click="handleNext2" />
           <span style="margin-left: 10px;">统计类型:</span>
           <el-select v-model="tab2.radio" placeholder="统计类型" class="filter-item" style="width: 120px;" @change="changeRadio2">
-            <el-option v-for="item in statisticalTypeList2" :key="item.id" :label="item.name" :value="item.id" />
+            <el-option v-for="item in statisticalTypeList2" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <el-checkbox v-model="tab2.table.getdataListParm.checked" :true-label="1" :false-label="0" style="margin-right:10px;" @change="changeChecked">误差</el-checkbox>
           <el-input v-if="tab2.isRadio1" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="牲畜类别" />
@@ -70,7 +70,7 @@
           <el-input v-if="tab2.isRadio5" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="班次" />
           <el-input v-if="tab2.isRadio6" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="车次" />
           <el-select v-model="tab2.table.getdataListParm.parammaps.typea" clearable placeholder="列表显示" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in displayList" :key="item.id" :label="item.name" :value="item.id" />
+            <el-option v-for="item in displayList" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <el-button class="successBorder" @click="form_search('second')">查询</el-button>
           <el-button class="export" style="float: right;margin-right: 5px;margin-top:10px;" icon="el-icon-upload2" @click="handleExport('tab2')">导出</el-button>
@@ -98,15 +98,15 @@
       </el-tab-pane>
       <el-tab-pane label="价格分析" name="third">
         <div class="search">
-          <el-select v-model="tab3.table.getdataListParm.parammaps.pastureid" placeholder="牧场" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pasturename" :value="item.pastureid" />
+          <el-select v-model="tab3.table.getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;float:left;margin-right: 10px;">
+            <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
           <el-date-picker v-model="tab3.table.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :clearable="false" style="width: 250px;" :picker-options="pickerOptions" />
           <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled3" @click="handleBefore3" />
           <el-button class="el-icon-arrow-right elIconArrowRight" :disabled="Nextdisabled3" @click="handleNext3" />
           <span style="margin-left: 10px;">统计类型:</span>
           <el-select v-model="tab3.radio" placeholder="统计类型" class="filter-item" style="width: 120px;" @change="changeRadio3">
-            <el-option v-for="item in statisticalTypeList3" :key="item.id" :label="item.name" :value="item.id" />
+            <el-option v-for="item in statisticalTypeList3" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <!-- <el-radio v-model="tab3.radio" label="1" @change="changeRadio3">牲畜类别</el-radio>
           <el-radio v-model="tab3.radio" label="2" @change="changeRadio3">栏舍名称</el-radio>
@@ -146,7 +146,7 @@
 </template>
 
 <script>
-import { GetDataByName,GetDataByNames, GetReportform } from '@/api/common'
+import { postJson,GetDataByName, GetReportform } from '@/api/common'
 import Cookies from 'js-cookie'
 import { parseTime } from '@/utils/index.js'
 import Pagination from '@/components/Pagination'
@@ -155,7 +155,8 @@ export default {
   name: 'PastureInventoryManagement',
   components: { Pagination },
   data() {
-    return {
+    return {
+      pastureList:JSON.parse(sessionStorage.pastureList), //牧场
       Beforedisabled: false,
       Nextdisabled: false,
       Beforedisabled2: false,
@@ -185,19 +186,18 @@ export default {
         }
       },
       fileComment: [{ 'label': '商务文件评分', 'children': [{ 'label': '1' }, { 'label': '2' }, { 'label': '管理员' }] }],
-      displayList:[{id:'1',name:'理论'},{id:'2',name:'实际'}],//列表显示
+      displayList:JSON.parse(sessionStorage.downlist).use_materials_list,   //列表显示
       activeName: 'first',
       tab: {
         chartDate: [],
         table: {
           getdataListParm: {
             name: 'getfsStaticlist',
-            page: 1,
-            offset: 1,
+            page: 1,
+            offset: 1,
             pagecount: parseInt(Cookies.get('pageCount')),
-            returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -219,11 +219,11 @@ export default {
             name: 'getMaterialAnalysisSC',
             page: 1,
             offset: 1,
-            pagecount: '',
+            pagecount: parseInt(Cookies.get('pageCount')),
             returntype: 'Map',
             checked: 0,
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -238,7 +238,7 @@ export default {
           total: 0,
           listLoading: false
         },
-        radio: '1',
+        radio: 1,
         isRadio1: true,
         isRadio2: false,
         isRadio3: false,
@@ -256,7 +256,7 @@ export default {
             pagecount: parseInt(Cookies.get('pageCount')),
             returntype: 'Map',
             parammaps: {
-              pastureid: Cookies.get('pastureid'),
+              pastureId: parseInt(Cookies.get('pastureId')),
               startTime: parseTime(new Date(), '{y}-{m}-{d}'),
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
@@ -269,7 +269,7 @@ export default {
           total: 0,
           listLoading: false
         },
-        radio: '1',
+        radio: 1,
         isRadio1: true,
         isRadio2: false,
         isRadio3: false,
@@ -282,26 +282,14 @@ export default {
       rowHeight: 30,
       isDispayTable2:false,
       isDispayTable3:false,
-      statisticalTypeList2: [{ id: '1', name: '牲畜类别' }, { id: '2', name: '栏舍名称' }, { id: '3', name: '日期' }, { id: '4', name: 'TMR设备编号' }, { id: '5', name: 'TMR班次' }, { id: '6', name: '车次' }],
-      statisticalTypeList3: [{ id: '1', name: '牲畜类别' }, { id: '2', name: '栏舍名称' }, { id: '3', name: '日期' }, { id: '4', name: 'TMR设备编号' }],
-      requestParams: [
-        { name: 'getPastureListJT', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid'), pasturename: '' }}
-      ],
-      pastureList: [], // 牧场
+      statisticalTypeList2: JSON.parse(sessionStorage.downlist).use_materials_type,
+      statisticalTypeList3: JSON.parse(sessionStorage.downlist).price_materials_type,
     }
   },
   created() {
     this.getTimeFn()
-    this.getDownLists()
   },
-  methods: {
-    getDownLists() {
-      GetDataByNames(this.requestParams).then(response => {
-        this.pastureList = response.data.getPastureListJT.list
-        this.tab.table.getdataListParm.parammaps.pastureid = response.data.getPastureListJT.list[0].pastureid
-        this.getList()
-      })
-    },
+  methods: {
     getTimeFn() {
       const that = this
       const start = new Date()
@@ -335,7 +323,7 @@ export default {
         start2.setTime(start2.getTime() - 3600 * 1000 * 24 * 1)
         end2.setTime(end2.getTime() - 3600 * 1000 * 24 * 1)
         this.tab2.table.getdataListParm.parammaps.inputDatetime = [start2, end2]
-        this.tab2.radio = '1'
+        this.tab2.radio = 1
         this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
         this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
         this.getTab2List()
@@ -345,28 +333,38 @@ export default {
         start3.setTime(start3.getTime() - 3600 * 1000 * 24 * 1)
         end3.setTime(end3.getTime() - 3600 * 1000 * 24 * 1)
         this.tab3.table.getdataListParm.parammaps.inputDatetime = [start3, end3]
-        this.tab3.radio = '1'
+        this.tab3.radio = 1
         this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
         this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
         this.getTab3List()
       }
     },
-    getTabList() {
-      this.tab.table.listLoading = true
-      GetDataByName(this.tab.table.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          console.log('库存统计table数据', response.data.list)
-          this.tab.table.list = response.data.list
-          this.tab.table.total = response.data.total
-        } else {
-          this.tab.table.list = []
-        }
-        setTimeout(() => {
-          this.tab.table.listLoading = false
-        }, 100)
-      })
+    getTabList() {
+      this.tab.table.listLoading = true
+      let page = this.tab.table.getdataListParm.offset
+      let page_size = this.tab.table.getdataListParm.pagecount
+      let url = '/api/v1/ops/inventory/statistics' + '?page=' + page + '&page_size=' + page_size
+      let data = {
+        'api_name':this.tab.table.getdataListParm.name,
+        'pasture_id':this.tab.table.getdataListParm.parammaps.pastureId,
+        'start_time':this.tab.table.getdataListParm.parammaps.startTime,
+        'end_time':this.tab.table.getdataListParm.parammaps.stopTime,
+        'feed_name':this.tab.table.getdataListParm.parammaps.feedname
+      }
+      postJson(url, data).then(response => {
+        if (response.data.list !== null) {
+          this.tab.table.list = response.data.list
+          this.tab.table.total = response.data.total
+        }else{
+          this.tab.table.list = []
+        }
+      })
+      setTimeout(() => {
+        this.tab.table.listLoading = false
+      }, 100)
     },
-    form_search(item) {
+    form_search(item) {
+      console.log(this.tab2.radio)
       if (item == 'first') {
         if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) {
           this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
@@ -407,49 +405,61 @@ export default {
       setTimeout(()=>{
         this.isDispayTable2 = true
         this.$nextTick(() => {
-          let myList = []
-          GetReportform(this.tab2.table.getdataListParm).then(response => {
-            if (response.data !== null && response.data.data !== null && response.data.data1 !== null) {
-              this.tab2.table.data = response.data.data
-              for (let i = 0; i < response.data.list.data2.length; i++) {
-                for (let j = 0; j < response.data.list.data1.length; j++) {
-                  for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
-                    if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
-                      response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
-                    }
-                  }
-                }
-                if (response.data.list.data2[i].children.length > 1) {
-                  for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
-                    if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
-                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
-                    } else {
-                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
-                    }
-                  }
-                } else {
-                  this.$set(response.data.list.data2[i].children[0], 'width', '80px')
-                }
-              }
-              myList = response.data.list.data1
-              this.tab2.table.list = response.data.list.data1
-              this.tab2.table.tableConfig = response.data.list.data2
-              this.tab2.table.total = response.data.list.data1.length
-              console.log('库存统计-用料分析this.tab2.table.data', response.data.data)
-              console.log('库存统计-用料分析this.tab2.table.list', response.data.list.data1)
-              console.log('库存统计-用料分析this.tab2.table.tableConfig',response.data.list.data2)
-            } else {
-              myList = []
-              this.tab2.table.list = []
-              this.tab2.table.tableConfig = []
-            }
-
-            console.log(this.tab2.table.list.length)
-            this.$refs.plTable2.reloadData(myList)
-            setTimeout(() => {
-              this.tab2.table.listLoading = false
-            }, 100)
-          })
+          let myList = []
+          let page = this.tab2.table.getdataListParm.offset
+          let page_size = this.tab2.table.getdataListParm.pagecount
+          let url = '/api/v1/ops/inventory/user_materials_statistics' + '?page=' + page + '&page_size=' + page_size
+          let data = {
+            'api_name':this.tab2.table.getdataListParm.name,
+            'pasture_id':this.tab2.table.getdataListParm.parammaps.pastureId,
+            'start_time':this.tab2.table.getdataListParm.parammaps.startTime,
+            'end_time':this.tab2.table.getdataListParm.parammaps.stopTime,
+            'feed_name':this.tab2.table.getdataListParm.parammaps.fname,
+            'error_check':this.tab2.table.getdataListParm.checked,
+          }
+          if(this.tab2.table.getdataListParm.parammaps.typea){
+            data.type_check = this.tab2.table.getdataListParm.parammaps.typea
+          }
+          postJson(url, data).then(response => {
+            if (response.data !== null && response.data.data !== null && response.data.data1 !== null) {
+              this.tab2.table.data = response.data.data
+              for (let i = 0; i < response.data.list.data2.length; i++) {
+                for (let j = 0; j < response.data.list.data1.length; j++) {
+                  for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
+                    if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
+                      response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
+                    }
+                  }
+                }
+                if (response.data.list.data2[i].children.length > 1) {
+                  for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
+                    if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    } else {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    }
+                  }
+                } else {
+                  this.$set(response.data.list.data2[i].children[0], 'width', '80px')
+                }
+              }
+              myList = response.data.list.data1
+              this.tab2.table.list = response.data.list.data1
+              this.tab2.table.tableConfig = response.data.list.data2
+              this.tab2.table.total = response.data.list.data1.length
+              console.log('库存统计-用料分析this.tab2.table.data', response.data.data)
+              console.log('库存统计-用料分析this.tab2.table.list', response.data.list.data1)
+              console.log('库存统计-用料分析this.tab2.table.tableConfig',response.data.list.data2)
+            } else {
+              myList = []
+              this.tab2.table.list = []
+              this.tab2.table.tableConfig = []
+            }
+            this.$refs.plTable2.reloadData(myList)
+            setTimeout(() => {
+              this.tab2.table.listLoading = false
+            }, 100)
+          })
         })
       })
     },
@@ -536,44 +546,87 @@ export default {
       setTimeout(()=>{
         this.isDispayTable3 = true
         this.$nextTick(() => {
-          let myList = []
-          GetReportform(this.tab3.table.getdataListParm).then(response => {
-            if (response.data !== null && response.data.list.data1 !== null && response.data.list.data2 !== null) {
-              console.log('库存统计-价格分析', response.data.list)
-              for (let i = 0; i < response.data.list.data2.length; i++) {
-                for (let j = 0; j < response.data.list.data1.length; j++) {
-                  for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
-                    if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
-                      response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
-                    }
-                  }
-                }
-                if (response.data.list.data2[i].children.length > 1) {
-                  for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
-                    if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
-                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
-                    } else {
-                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
-                    }
-                  }
-                } else {
-                  this.$set(response.data.list.data2[i].children[0], 'width', '80px')
-                }
-              }
-              myList = response.data.list.data1
-              this.tab3.table.list = response.data.list.data1
-              this.tab3.table.tableConfig = response.data.list.data2
-              this.tab3.table.total = response.data.list.data1.length
-            } else {
-              this.tab3.table.tableConfig = []
-              this.tab3.table.list = []
-              myList = []
-            }
-            setTimeout(() => {
-             this.$refs.plTable3.reloadData(myList)
-              this.tab3.table.listLoading = false
-            }, 100)
+          let myList = []
+          let page = this.tab3.table.getdataListParm.offset
+          let page_size = this.tab3.table.getdataListParm.pagecount
+          let url = '/api/v1/ops/inventory/price_statistics' + '?page=' + page + '&page_size=' + page_size
+          let data = {
+            'api_name':this.tab3.table.getdataListParm.name,
+            'pasture_id':this.tab3.table.getdataListParm.parammaps.pastureId,
+            'start_time':this.tab3.table.getdataListParm.parammaps.startTime,
+            'end_time':this.tab3.table.getdataListParm.parammaps.stopTime,
+            'feed_name':this.tab3.table.getdataListParm.parammaps.fname
+          }
+          postJson(url, data).then(response => {
+            if (response.data !== null && response.data.list.data1 !== null && response.data.list.data2 !== null) {
+              console.log('库存统计-价格分析', response.data.list)
+              for (let i = 0; i < response.data.list.data2.length; i++) {
+                for (let j = 0; j < response.data.list.data1.length; j++) {
+                  for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
+                    if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
+                      response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
+                    }
+                  }
+                }
+                if (response.data.list.data2[i].children.length > 1) {
+                  for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
+                    if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    } else {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    }
+                  }
+                } else {
+                  this.$set(response.data.list.data2[i].children[0], 'width', '80px')
+                }
+              }
+              myList = response.data.list.data1
+              this.tab3.table.list = response.data.list.data1
+              this.tab3.table.tableConfig = response.data.list.data2
+              this.tab3.table.total = response.data.list.data1.length
+            } else {
+              this.tab3.table.tableConfig = []
+              this.tab3.table.list = []
+              myList = []
+            }
+            setTimeout(() => {
+             this.$refs.plTable3.reloadData(myList)
+              this.tab3.table.listLoading = false
+            }, 100)
           })
+          // GetReportform(this.tab3.table.getdataListParm).then(response => {
+          //   if (response.data !== null && response.data.list.data1 !== null && response.data.list.data2 !== null) {
+          //     console.log('库存统计-价格分析', response.data.list)
+          //     for (let i = 0; i < response.data.list.data2.length; i++) {
+          //       for (let j = 0; j < response.data.list.data1.length; j++) {
+          //         for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
+          //           if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
+          //             response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
+          //           }
+          //         }
+          //       }
+          //       if (response.data.list.data2[i].children.length > 1) {
+          //         for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
+          //           if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
+          //             this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+          //           } else {
+          //             this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+          //           }
+          //         }
+          //       } else {
+          //         this.$set(response.data.list.data2[i].children[0], 'width', '80px')
+          //       }
+          //     }
+          //     myList = response.data.list.data1
+          //     this.tab3.table.list = response.data.list.data1
+          //     this.tab3.table.tableConfig = response.data.list.data2
+          //     this.tab3.table.total = response.data.list.data1.length
+          //   } else {
+          //     this.tab3.table.tableConfig = []
+          //     this.tab3.table.list = []
+          //     myList = []
+          //   }
+
         })
       })
     },