Browse Source

称量记录视图模式

epans 1 year ago
parent
commit
2d97b4f34b
2 changed files with 1108 additions and 8 deletions
  1. 80 8
      src/views/cowShedManagement/CowCowShed.vue
  2. 1028 0
      src/views/formulaPlan/FormulaTemplate1.vue

+ 80 - 8
src/views/cowShedManagement/CowCowShed.vue

@@ -86,7 +86,7 @@
         <el-row :gutter="20">
           
           <el-col :span="12">
-            <!-- <div>
+            <div>
               <el-row :gutter="10">
     
                 <el-col :span="4" :offset="4">
@@ -106,18 +106,21 @@
                   <span class = "column-txt">空栏</span>
                 </el-col>
               </el-row>
-            </div> -->
+            </div>
             <div v-for="item in columnViewList" :key="index">
               <el-row :gutter="10">
                 <el-col :span="4">{{item.title}}</el-col>
                 <el-col :span="20">
                   <!-- 数量不定的栏舍 -->
                   <el-col :span="3" v-for="items in item.arrList" :key="index">
+
+                    <div style = "margin-bottom:20px;text-align:center">
                       <span class = "column-item column-color1" v-if="items.status == '正常'"></span>
                       <span class = "column-item column-color2" v-if="items.status == '发病'"></span>
                       <span class = "column-item column-color3" v-if="items.status == '断奶'"></span>
                       <span class = "column-item column-color4" v-if="items.status == '空栏'"></span>
                       <span class = "column-txt">{{items.cowshedname}}</span>
+                    </div>
                   </el-col>
                 </el-col>
               </el-row>
@@ -127,7 +130,7 @@
           </el-col>
           <el-col :span="12">
               <!-- 图表 -->
-            <!-- <div id="chartPie1"  style="width: 100%;height:400px;"></div> -->
+            <div id="chartPie1"  style="width: 100%;height:400px;"></div>  
           </el-col>
         </el-row>
         
@@ -173,6 +176,7 @@
 <script>
 import {  ajaxDataGet, ajaxDataPost, ajaxDataPut, ajaxDataDelete, checkButtons} from '@/api/common'
 import { parseTime, json2excel } from '@/utils/index.js'
+import * as echarts from 'echarts';
 export default {
   data() {
 
@@ -278,7 +282,10 @@ export default {
         {id: 4, value: '空栏'},
       ],
 
-    
+     //图表实例
+     chartPie1: null,
+      //图表数据
+      chartPie1_data: {  num1:5.26,num2:0,num3:5.26,num4:89.48 },
 
       //栏舍组下拉
       barnGroupList:[
@@ -557,9 +564,9 @@ export default {
       //切换视图模式,table表格,view图
       if(this.tabView == 'table'){
         this.tabView = 'view'
-        // setTimeout(() => {
-        //   this.roadchartPie1()
-        // }, 500)
+        setTimeout(() => {
+          this.roadchartPie1()
+        }, 500)
         
       } else {
         this.tabView = 'table'
@@ -568,6 +575,70 @@ export default {
     },
 
 
+    //图表数据加载
+    roadchartPie1() {
+
+      if (this.chartPie1 != null) {
+        this.chartPie1.dispose()
+      }
+      this.chartPie1 = echarts.init(document.getElementById('chartPie1'))
+      var option = {
+        tooltip: {  trigger: 'item'  },
+        series: [
+          {
+            name: '',
+            type: 'pie',
+            radius: [10, 100],
+            center: ['50%', '50%'],
+            
+            itemStyle: {
+              borderRadius: 8
+            },
+            label: {
+              formatter: '{b|{b}:}  {per|{d}%}  ',
+              backgroundColor: '#F6F8FC',
+              borderColor: '#8C8D8E',
+              borderWidth: 1,
+              borderRadius: 4,
+              lineHeight: 22,
+              rich: {
+                b: {
+                  color: '#4C5058',
+                  fontSize: 14,
+                  fontWeight: 'bold',
+                  lineHeight: 33
+                },
+                per: {
+                  color: '#fff',
+                  backgroundColor: '#4C5058',
+                  padding: [3, 4],
+                  borderRadius: 4
+                }
+              }
+            },
+            data: [
+              //  { value: 300, name: '合同收入' },
+              // { value: 200, name: '维修服务收入' },
+              // { value: 200, name: '现场服务收入' },
+              // { value: 20, name: '远程服务收入' }
+              { value: this.chartPie1_data.num1, name: '发病' },
+              { value: this.chartPie1_data.num2, name: '断奶提醒' },
+              { value: this.chartPie1_data.num3, name: '空栏' },
+              { value: this.chartPie1_data.num4, name: '正常' }
+          
+            ]
+          }
+        ]
+      }
+
+
+      this.chartPie1.setOption(option)
+      window.onresize = function () {
+        this.chartPie1.resize()
+      }
+    },
+
+
     form_delete(row) {
       var me = this
 
@@ -647,7 +718,8 @@ export default {
 </script>
 <!-- 加了scoped,则是仅在此组件里生效 -->
 <style scoped>
-.column-item{display: block;height:20px;width:30px;background-color:#d7d7d7; border-radius: 4px;    margin-top: 10px;}
+ 
+.column-item{display: block;height:20px;width:30px;background-color:#d7d7d7; border-radius: 4px;    margin:0 auto;}
 .column-color1{background-color:#4b7902;}
 .column-color2{background-color:#d9001b;}
 .column-color3{background-color:#8080ff;}

+ 1028 - 0
src/views/formulaPlan/FormulaTemplate1.vue

@@ -0,0 +1,1028 @@
+<template>
+
+  <div>
+
+
+    <el-card class="box-card">
+      <!-- 搜索区域 -->
+      <div class="search-bx1">
+          <el-input v-model="searchData.name" placeholder="配方名称"  style="width: 180px;" class="g-mr20 g-mb20" clearable />
+
+          <el-select v-model="searchData.calf_category_id" filterable placeholder="犊牛类型" class="g-mr20" style="width: 180px;" clearable>
+            <el-option v-for="item in calfTypeList" :key="item.id" :label="item.name" :value="item.id" />
+          </el-select>
+
+          <el-input-number v-model="searchData.min_daily_age" style="width:120px;" :controls="false" placeholder="日龄" />
+          <span style="margin:0px 8px;">至</span>
+          <el-input-number v-model="searchData.max_daily_age" style="width:120px;" class="g-mr20" :controls="false" placeholder="日龄" />
+
+
+
+
+          <el-button type="primary"   @click="form_search">搜索</el-button>
+          <el-button type="primary"   @click="form_clear">重置</el-button>
+          <el-button type="primary"   v-if="isButtonEdit"  @click="form_add">添加</el-button>
+           <!-- <el-button type="primary"   @click="form_export">导出</el-button> -->
+      </div>
+
+
+      <!-- 表格 -->
+      <el-table   key="0"  :data="tableList"  v-loading="tableLoading" element-loading-text="给我一点时间"    border fit>
+        <el-table-column label="序号"  width="50px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.id }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="配方名称" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="犊牛类型" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.calf_category_name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="适用日龄" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{   }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="配方阶段数" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{   }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="公犊增重指标(KG/日)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.male_calf_daily_weight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="母犊增重指标(KG/日)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.female_calf_daily_weight }}</span>
+          </template>
+        </el-table-column>
+
+
+        <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
+          <template slot-scope="scope">
+             <!-- 修改按钮 -->
+             <el-button type="primary"  v-if="isButtonEdit"  size="mini" icon="el-icon-edit" @click="form_edit(scope.row)">修改</el-button>
+             <!-- 删除按钮 -->
+             <el-button type="danger"  v-if="isButtonEdit"  size="mini" icon="el-icon-delete" @click="form_delete(scope.row)">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <!-- 分页区域 -->
+      <el-pagination  @size-change="change_size_page"  @current-change="change_current_page"  :current-page="searchData.page" :page-sizes="[1,5,10,20,30,50]"  :page-size="searchData.page_size" layout="total, prev, pager, next" :total="searchData.total"/>
+    </el-card>
+
+
+    <!-- 弹窗 新增or修改 -->
+    <el-dialog  :title="addFormTxt[addFormStatus]" :visible.sync="addFormShow" @close="add_dialog_close" width="80%">
+      <div class="">
+        <el-form  ref="addFormRef"  :rules="addFormRules"  :model="addForm"  label-position="right" label-width="160px"  style="width:80%;margin:0 auto 50px">
+
+          <el-row :gutter="20">
+            <el-col :span="12">
+              <el-form-item label="配方名称:" prop="name">
+                <el-input v-model="addForm.name"      />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="犊牛类型:" prop="calf_category_id">
+                <el-select  v-model="addForm.calf_category_id" filterable placeholder="请选择" class="filter-item" style="width: 100%;" >
+                  <el-option v-for="item in calfTypeList" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+         </el-row>
+
+         <el-row :gutter="20">
+            <el-col :span="12">
+              <el-form-item label="公犊增重指标(KG/日):" prop="male_calf_daily_weight">
+                <el-input v-model="addForm.male_calf_daily_weight"    placeholder="建议填写,用以统计牛只成长达标率"   />
+              </el-form-item>
+
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="母犊增重指标(KG/日):" prop="female_calf_daily_weight">
+                <el-input v-model="addForm.female_calf_daily_weight"    placeholder="建议填写,用以统计牛只成长达标率"   />
+              </el-form-item>
+            </el-col>
+         </el-row>
+
+
+
+         <el-row :gutter="20"  >
+            <el-button type="primary"   @click="add_step">增加一个阶段</el-button>
+         </el-row>
+
+
+         <el-row>
+            <!-- 表格 -->
+            <el-table   key="0"  ref="tableStep" :data="tableListStep"  v-loading="tableLoadingStep" element-loading-text="给我一点时间"    border fit>
+              <el-table-column label="阶段"  width="50px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.id }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="开始日龄" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.start_daily_age }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="结束日龄" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.end_daily_age }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="饲料类型" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.forage_name }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="日饲喂量(kg)" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.daily_feed_number }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="第一班占比(%)" min-width="150px" align="center" >
+                <template slot-scope="scope">
+                  <span>{{ scope.row.first_class_ratio }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="第二班占比(%)" min-width="150px" align="center" v-if="class_num == 2 || class_num == 3 || class_num == 4">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.second_class_ratio }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="第三班占比(%)" min-width="150px" align="center" v-if=" class_num == 3 || class_num == 4">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.third_class_ratio }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="第四班占比(%)" min-width="150px" align="center" v-if="  class_num == 4">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.fourth_class_ratio }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="班次允许误差(kg)" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.allow_class_error }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="饲喂温度℃" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.feed_temp }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="允许温差℃" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.allow_temp_error }}</span>
+                </template>
+              </el-table-column>
+
+
+              <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
+                <template slot-scope="scope">
+                  <!-- 修改按钮 -->
+                  <el-button type="primary"  v-if="isButtonEdit"  size="mini" icon="el-icon-edit" @click="edit_step(scope.$index, scope.row)">修改</el-button>
+                  <!-- 删除按钮 -->
+                  <el-button type="danger"  v-if="isButtonEdit" size="mini" icon="el-icon-delete" @click="delete_step(scope.$index, scope.row)">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+         </el-row>
+
+
+
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="addFormStatus==='create'?add_dialog_save():edit_dialog_save()">确认</el-button>
+          <el-button @click="addFormShow = false">关闭</el-button>
+        </div>
+      </div>
+    </el-dialog>
+
+     <!-- 弹窗 新增or修改 -->
+     <el-dialog  :title="addFormTxtStep[addFormStatusStep]" :visible.sync="addFormShowStep" @close="add_step_close" width="80%">
+      <div class="">
+        <el-form  ref="addFormRefStep"  :rules="addFormRulesStep"  :model="addFormStep"  label-position="right" label-width="150px"  style="width:80%;margin:0 auto 50px">
+
+          <el-row :gutter="20">
+            <el-col :span="12">
+              <el-form-item label="阶段:"  >
+                <el-input v-model="addFormStep.id"    placeholder=""  disabled />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="12">
+              <el-form-item label="开始日龄:" prop="start_daily_age">
+                <el-input v-model="addFormStep.start_daily_age"    placeholder=""   />
+              </el-form-item>
+
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="结束日龄:" prop="end_daily_age">
+                <el-input v-model="addFormStep.end_daily_age"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+         </el-row>
+         <el-row :gutter="20">
+            <el-col :span="12">
+              <el-form-item label="饲料类型:" prop="forage_id">
+                <el-select  v-model="addFormStep.forage_id" filterable placeholder="请选择"  style="width: 100%;" >
+                  <el-option v-for="item in forageList" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="日饲喂量(kg):" prop="daily_feed_number">
+                <el-input v-model="addFormStep.daily_feed_number"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+         </el-row>
+         <el-row :gutter="20">
+          <el-col :span="12">
+              <el-form-item label="第一班占比(%):" prop="first_class_ratio">
+                <el-input v-model="addFormStep.first_class_ratio"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="第二班占比(%):" prop="second_class_ratio" v-if="class_num == 2 || class_num == 3 || class_num == 4">
+                <el-input v-model="addFormStep.second_class_ratio"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+         </el-row>
+         <el-row :gutter="20">
+          <el-col :span="12">
+              <el-form-item label="第三班占比(%):" prop="third_class_ratio" v-if=" class_num == 3 || class_num == 4">
+                <el-input v-model="addFormStep.third_class_ratio"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="第四班占比(%):" prop="fourth_class_ratio" v-if=" class_num == 4">
+                <el-input v-model="addFormStep.fourth_class_ratio"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+         </el-row>
+
+         <el-row :gutter="20">
+          <el-col :span="12">
+              <el-form-item label="饲喂温度℃:" prop="feed_temp">
+                <el-input v-model="addFormStep.feed_temp"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="允许温差℃:" prop="allow_temp_error">
+                <el-input v-model="addFormStep.allow_temp_error"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+         </el-row>
+         <el-row :gutter="20">
+          <el-col :span="12">
+              <el-form-item label="班次允许误差(kg):" prop="allow_class_error">
+                <el-input v-model="addFormStep.allow_class_error"    placeholder=""   />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+
+            </el-col>
+         </el-row>
+
+
+
+
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="addFormStatusStep==='create'?add_step_save():edit_step_save()">确认</el-button>
+          <el-button @click="addFormShowStep = false">关闭</el-button>
+        </div>
+      </div>
+    </el-dialog>
+
+
+  </div>
+
+
+</template>
+
+<script>
+import {  ajaxDataGet, ajaxDataPost, ajaxDataPut, ajaxDataDelete, checkButtons} from '@/api/common'
+import { parseTime, json2excel } from '@/utils/index.js'
+export default {
+  data() {
+
+
+
+
+
+    return {
+
+
+
+      //接口 - 获取 - 表格
+      url_get_table:'/api/v1/ops/formula_plan/formula/list',
+      //接口 - 新增 - 表格
+      url_add_table:'/api/v1/ops/formula_plan/formula/add',
+      //接口 - 修改 - 表格
+      url_edit_table:'/api/v1/ops/formula_plan/formula/update',
+      //接口 - 删除 - 表格
+      url_delete_table:'/api/v1/ops/formula_plan/formula',
+
+      //接口 - 下拉框 列表
+      url_get_select1:'/api/v1/ops/calf_feed/enum/list',
+
+      //接口 - 下拉框 列表 栏舍组
+      url_get_select2:'/api/v1/ops/barn_group/list?page=1&page_size=1000',
+
+      //按钮权限
+      isButtonEdit:false,
+
+      //获取 - 表格数据 - 参数
+      searchData:{
+        calf_code: "",
+        barn_name: "",
+        mother_code: "",
+        calf_category_id:undefined,
+        genders: undefined,
+        status: undefined,
+        min_daily_weight_gain: undefined,
+        max_daily_weight_gain: undefined,
+        min_daily_age: undefined,
+        max_daily_age: undefined,
+        page: 1,  //页码
+        page_size: 10,   //每页数量
+        total:0,  //总页数
+        pastureId: ""
+      },
+      tableLoading: false,
+      //表格内容
+      tableList:[
+        //  { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123',roleList:[2,3] },
+        // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123',roleList:[] },
+        // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123' },
+        // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
+      ],
+
+
+
+
+
+
+
+
+      //栏舍状态
+      statusList:[
+        {id: 1, value: '正常'},
+        {id: 2, value: '空栏'},
+        {id: 3, value: '损坏'},
+      ],
+
+
+
+      //犊牛类型
+      calfTypeList:[
+
+      ],
+
+    //栏舍
+      cowsheList:[
+
+      ],
+       //饲料
+      forageList:[
+
+      ],
+
+      sexList:[
+        {id: 1, value: '公'},
+        {id: 2, value: '母'},
+      ],
+
+
+
+
+
+      addFormShow:false,
+      addFormStatus: '',
+      addFormTxt: {  edit: '修改',  create: '新增' },
+      addForm:{
+        name:'',id:'' ,calf_category_id:undefined, male_calf_daily_weight:undefined, female_calf_daily_weight:undefined,
+      },
+      addFormRules:{
+        name: [ { required: true, message: '配方名称必填', trigger: 'blur' },  ],
+        calf_category_id: [ { required: true, message: '犊牛类型必填', trigger: 'blur' },  ],
+      },
+
+
+      stepIndex:undefined,
+
+      tableLoadingStep: false,
+      //表格内容
+      tableListStep:[
+
+      ],
+
+      addFormShowStep:false,
+      addFormStatusStep: '',
+      addFormTxtStep: {  edit: '修改',  create: '新增' },
+      addFormStep:{
+        name:'',id:'' , start_daily_age:undefined,end_daily_age:undefined,forage_id:undefined,forage_name:'',daily_feed_number:undefined,first_class_ratio:undefined,second_class_ratio:undefined,third_class_ratio:undefined,fourth_class_ratio:undefined,allow_class_error:undefined,feed_temp:undefined,feed_temp:undefined,allow_temp_error:undefined,
+      },
+
+      addFormRulesStep:{
+        // name: [
+        //   { required: true, message: '类型必填', trigger: 'blur' },
+        // ],
+      },
+
+
+      class_num:4
+
+    }
+  },
+  created(){
+
+     //获取按钮权限
+     const isButtonEdit = checkButtons(this.$store.state.buttonsList, "日龄饲喂模板编辑")
+      this.isButtonEdit = isButtonEdit
+      console.log('this.isButtonEdit==========',this.isButtonEdit)
+
+
+     var me = this
+
+     //获取下拉框
+     this.get_select_list1()
+
+     //表格 - 初始化
+     setTimeout(function () {
+       me.get_table_data()
+			}, 1000);
+
+
+//  this.get_table_data()
+
+  },
+  methods:{
+
+
+
+    //获取 下拉框
+    get_select_list1(){
+        var me = this
+
+
+
+        ajaxDataPost('/api/v1/ops/base_setting/calf_type/list?page=1&page_size=1000', {name:"" }).then(e => {
+            console.log("穿梭框1:",e)
+
+            //打印请求成功结果
+            if(e.data.list == null || e.data.list == undefined ||e.data.list.length == 0   ){
+              me.calfTypeList = []
+            } else {
+              me.calfTypeList = e.data.list
+            }
+
+        })
+
+
+
+
+        ajaxDataPost('/api/v1/ops/barn/list?page=1&page_size=1000', {name:"",barn_group_name:"",status:undefined}).then(e => {
+            console.log("穿梭框1:",e)
+
+            //打印请求成功结果
+            if(e.data.list == null || e.data.list == undefined ||e.data.list.length == 0   ){
+              me.cowsheList = []
+            } else {
+              me.cowsheList = e.data.list
+            }
+
+        })
+
+
+
+
+
+
+        ajaxDataGet('/api/v1/ops/base_setting/forage/list?page=1&page_size=1000', {  }).then(e => {
+          console.log("饲料下拉框1:",e)
+
+          //打印请求成功结果
+          if(e.data.list == null || e.data.list == undefined ||e.data.list.length == 0   ){
+            me.forageList = []
+          } else {
+            me.forageList = e.data.list
+          }
+
+        })
+        // 班次数量下拉框
+        ajaxDataGet('/api/v1/ops/calf_feed/enum/list').then(e => {
+          console.log(e)
+          if(e.code === 200){
+            var class_num = e.data.class_list.length
+          } else {
+            var class_num = 4
+          }
+          console.log("class_num========",class_num)
+          me.class_num = class_num
+        })
+
+
+
+    },
+
+
+    //获取 表格
+    get_table_data() {
+
+     var me = this
+
+     me.tableLoading = true
+     console.log("searchData======>", me.searchData)
+
+
+
+
+     if( me.searchData.calf_category_id == ""){
+        me.searchData.calf_category_id = undefined
+      }
+
+
+      var send_url = me.url_get_table + '?page=' + me.searchData.page +  '&page_size=' + me.searchData.page_size
+
+      ajaxDataPost(send_url,  me.searchData).then(e => {
+        console.log("表格请求结果:",e)
+          //打印请求成功结果
+          if(e.code == 200 ){
+            me.tableList = e.data.list
+            me.searchData.total = e.data.total;	// 总数
+            me.searchData.page = e.data.page;	//页码
+            me.searchData.page_size = e.data.page_size;	//每页数量
+
+          } else {
+            me.$message({ type: 'error', message: '请求表格列表失败!' + e.msg, duration: 2000 })
+          }
+
+          setTimeout(() => {
+            me.tableLoading = false
+          }, 100)
+
+        })
+
+
+    },
+    //搜索 查询表格
+    form_search(){
+      var me = this
+      console.log('请求表格列表searchData',me.searchData)
+      me.get_table_data()
+
+    },
+
+    //重置 表格
+    form_clear(){
+      var me = this
+      me.searchData.calf_code = ""
+      me.searchData.barn_name = ""
+      me.searchData.mother_code = ""
+      me.searchData.calf_category_id = undefined
+      me.searchData.genders = undefined
+      me.searchData.status = undefined
+      me.searchData.min_daily_weight_gain = undefined
+      me.searchData.max_daily_weight_gain = undefined
+      me.searchData.min_daily_age = undefined
+      me.searchData.max_daily_age = undefined
+
+
+
+      me.get_table_data()
+    },
+
+    //监听 page_size 改变的事件
+    change_size_page(item){
+      console.log(item)
+     // this.searchData.page_size = item
+      //  this.getUserList()
+    },
+
+    //监听 page 改变的事件
+    change_current_page(item){
+      console.log(item)
+       this.searchData.page = item
+       this.get_table_data()
+    },
+
+    //清空弹窗表单信息
+    reset_form(){
+      this.addForm.name = ''
+      this.addForm.id = undefined
+      this.addForm.calf_category_id = undefined
+      this.addForm.male_calf_daily_weight = undefined
+      this.addForm.female_calf_daily_weight = undefined
+      this.addForm.number = ''
+
+
+      this.tableListStep = []
+
+    },
+
+    //新增
+    form_add() {
+      this.reset_form()
+      this.addFormStatus = 'create'
+      this.addFormShow = true
+      this.$nextTick(() => {
+        this.$refs['addFormRef'].clearValidate()
+      })
+    },
+
+    //编辑
+    form_edit(row) {
+      this.reset_form()
+      var me = this
+      console.log('行内容row=========', row)
+      //编辑行内容赋值
+      this.addForm = Object.assign({}, row)
+
+      if(row.genders == 0){
+        this.addForm.genders = undefined
+      }
+      me.tableListStep = row.formula_stage
+
+      this.addFormStatus = 'edit'
+      this.addFormShow = true
+      this.$nextTick(() => {
+        this.$refs['addFormRef'].clearValidate()
+      })
+    },
+
+
+    //新增关闭
+    add_dialog_close(){
+       //内容重置
+       this.$refs['addFormRef'].resetFields()
+    },
+
+    //新增 保存
+    add_dialog_save() {
+      var me = this
+      this.$refs['addFormRef'].validate(valid => {
+        //验证成功
+        if (valid) {
+          //发起请求
+          var send_data = {
+              "name": me.addForm.name,
+              "calf_category_id": me.addForm.calf_category_id,
+              "calf_category_name":'11',
+              "male_calf_daily_weight": parseFloat(me.addForm.male_calf_daily_weight),
+              "female_calf_daily_weight": parseFloat(me.addForm.female_calf_daily_weight),
+              "formula_stage": me.tableListStep
+          }
+
+
+
+
+
+
+          console.log("弹窗参数:", send_data)
+
+          //关闭弹窗
+          // me.addFormShow = false
+         //加载 - 发送新增保存
+           ajaxDataPost(me.url_add_table, send_data).then(e => {
+                console.log("新增结果:",e)
+                //打印请求成功结果
+                if(e.code == 200  ){
+                  me.$message({ type: 'success', message: '新增成功!'  , duration: 2000 })
+                  //关闭弹窗
+                  me.addFormShow = false
+                  me.get_table_data()
+                } else {
+                  me.$message({ type: 'error', message: '新增失败!' + e.msg, duration: 2000 })
+                }
+            })
+
+        }
+      })
+    },
+    //编辑 保存
+    edit_dialog_save(){
+      var me = this
+      this.$refs['addFormRef'].validate(valid => {
+        //验证成功
+        if (valid) {
+          //发起请求
+          var send_data = {
+             "id": me.addForm.id,
+              "name": me.addForm.name,
+              "calf_category_id": me.addForm.calf_category_id,
+              "calf_category_name":'11',
+              "male_calf_daily_weight": parseFloat(me.addForm.male_calf_daily_weight),
+              "female_calf_daily_weight": parseFloat(me.addForm.female_calf_daily_weight),
+              "formula_stage": me.tableListStep
+          }
+
+          // var name = this.barnGroupList.find(obj => obj.id == me.addForm.barn_group_id).name
+          // console.log(name)
+
+           // 编辑保存
+          console.log("弹窗参数:", send_data)
+
+          //关闭弹窗
+          // me.addFormShow = false
+         //加载 - 发送新增保存
+         ajaxDataPut(me.url_edit_table, send_data).then(e => {
+                console.log("编辑结果:",e)
+                //打印请求成功结果
+                if(e.code == 200  ){
+                  me.$message({ type: 'success', message: '编辑成功!'  , duration: 2000 })
+                  //关闭弹窗
+                  me.addFormShow = false
+                  me.get_table_data()
+                } else {
+                  me.$message({ type: 'error', message: '编辑失败!' + e.msg, duration: 2000 })
+                }
+            })
+
+        }
+      })
+    },
+
+
+    form_delete(row) {
+      var me = this
+
+       me.$confirm('是否删除此条内容?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+            console.log("删除的ID参数:", row.id)
+            //加载 - 发送新增保存
+            ajaxDataDelete(me.url_delete_table + '/' +row.id, {}).then(e => {
+                console.log("编辑结果:",e)
+                //打印请求成功结果
+                if(e.code == 200  ){
+                  me.$message({ type: 'success',  message: '删除成功!'  });
+                  me.get_table_data()
+                } else {
+                  me.$message({ type: 'error', message: '删除失败!' + e.msg, duration: 2000 })
+                }
+            })
+
+
+
+
+        }).catch(() => {
+          me.$message({
+            type: 'info',
+            message: '已取消删除'
+          });
+        });
+
+
+
+    },
+
+
+
+
+
+
+    //清空弹窗表单信息
+    reset_step(){
+
+      this.addFormStep.name = ''
+      this.addFormStep.start_daily_age = undefined
+      this.addFormStep.end_daily_age = undefined
+      this.addFormStep.forage_id = undefined
+      this.addFormStep.forage_name=""
+      this.addFormStep.daily_feed_number = undefined
+      this.addFormStep.first_class_ratio = undefined
+      this.addFormStep.second_class_ratio = undefined
+      this.addFormStep.third_class_ratio = undefined
+      this.addFormStep.fourth_class_ratio = undefined
+      this.addFormStep.allow_class_error = undefined
+      this.addFormStep.feed_temp = undefined
+      this.addFormStep.allow_temp_error = undefined
+
+
+    },
+
+    //新增
+    add_step() {
+      this.reset_step()
+      this.addFormStatusStep = 'create'
+      this.addFormStep.id = this.tableListStep.length + 1
+
+      this.addFormShowStep = true
+      this.$nextTick(() => {
+        this.$refs['addFormRefStep'].clearValidate()
+      })
+    },
+
+    //编辑
+    edit_step(index, row) {
+      this.stepIndex = index
+      console.log('行内容row=========', row)
+      //编辑行内容赋值
+      this.addFormStep = Object.assign({}, row)
+
+      if(row.forage_id == 0){
+        this.addFormStep.forage_id = undefined
+      }
+      this.addFormStatusStep = 'edit'
+      this.addFormShowStep = true
+      this.$nextTick(() => {
+        this.$refs['addFormRefStep'].clearValidate()
+      })
+    },
+
+
+    //新增关闭
+    add_step_close(){
+       //内容重置
+       this.$refs['addFormRefStep'].resetFields()
+       this.reset_step()
+       this.addFormShowStep = false
+
+    },
+
+    //新增 保存
+    add_step_save() {
+      var me = this
+      this.$refs['addFormRefStep'].validate(valid => {
+        //验证成功
+        if (valid) {
+          //发起请求
+          var forage_name = me.forageList.find(obj => obj.id == me.addFormStep.forage_id).name
+          var send_data =   {
+            "id":  me.addFormStep.id,
+            "name":  me.addFormStep.name,
+            "start_daily_age":me.addFormStep.start_daily_age,
+            "end_daily_age":me.addFormStep.end_daily_age,
+            "forage_id": me.addFormStep.forage_id,
+            "forage_name":  forage_name ,
+            "daily_feed_number":me.addFormStep.daily_feed_number,
+            "first_class_ratio": me.addFormStep.first_class_ratio,
+            "second_class_ratio":me.addFormStep.second_class_ratio,
+            "third_class_ratio": me.addFormStep.third_class_ratio,
+            "fourth_class_ratio": me.addFormStep.fourth_class_ratio,
+            "allow_class_error": me.addFormStep.allow_class_error,
+            "feed_temp": me.addFormStep.feed_temp,
+            "allow_temp_error": me.addFormStep.allow_temp_error,
+        }
+
+
+
+
+
+          console.log("弹窗参数:", send_data)
+
+          //关闭弹窗
+          me.addFormShowStep = false
+          me.tableListStep.push(send_data)
+
+
+        }
+      })
+    },
+    //编辑 保存
+    edit_step_save(){
+      var me = this
+      this.$refs['addFormRefStep'].validate(valid => {
+        //验证成功
+        if (valid) {
+          var forage_name = me.forageList.find(obj => obj.id == me.addFormStep.forage_id).name
+          //发起请求
+          var send_data = {
+
+            "id":  me.addFormStep.id,
+            "name":  me.addFormStep.name,
+            "start_daily_age":me.addFormStep.start_daily_age,
+            "end_daily_age":me.addFormStep.end_daily_age,
+            "forage_id": me.addFormStep.forage_id,
+            "forage_name":  forage_name ,
+            "daily_feed_number":me.addFormStep.daily_feed_number,
+            "first_class_ratio": me.addFormStep.first_class_ratio,
+            "second_class_ratio":me.addFormStep.second_class_ratio,
+            "third_class_ratio": me.addFormStep.third_class_ratio,
+            "fourth_class_ratio": me.addFormStep.fourth_class_ratio,
+            "allow_class_error": me.addFormStep.allow_class_error,
+            "feed_temp": me.addFormStep.feed_temp,
+            "allow_temp_error": me.addFormStep.allow_temp_error,
+          }
+
+
+
+           // 编辑保存
+          console.log("弹窗参数:", send_data)
+          me.addFormShowStep = false
+          var stepIndex = me.stepIndex
+          this.$set(me.tableListStep, stepIndex, send_data)
+          console.log('me.tableListStep============',me.tableListStep)
+
+
+        }
+      })
+    },
+
+
+    delete_step(index, row) {
+      var me = this
+
+       me.$confirm('是否删除此条内容?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          console.log('点击了 - 删除一个阶段index===',index,'row===',row)
+          me.tableListStep.splice(index, 1)
+
+            //加载 - 发送新增保存
+            // ajaxDataDelete(me.url_delete_table + '/' +row.id, {}).then(e => {
+            //     console.log("编辑结果:",e)
+            //     //打印请求成功结果
+            //     if(e.code == 200  ){
+            //       me.$message({ type: 'success',  message: '删除成功!'  });
+            //       me.get_table_data()
+            //     } else {
+            //       me.$message({ type: 'error', message: '删除失败!' + e.msg, duration: 2000 })
+            //     }
+            // })
+
+
+
+
+        }).catch(() => {
+          me.$message({
+            type: 'info',
+            message: '已取消删除'
+          });
+        });
+
+
+
+    },
+
+
+
+    form_export() {
+    //获取请求表格数据的参数
+    //this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
+    //请求表格
+    // GetDataByName(this.download.getdataListParm).then(response => {
+    //     if (response.data.list !== null) {
+    //       this.download.list = response.data.list
+    //     } else {
+    //       this.download.list = []
+    //     }
+    //     var excelDatas = [
+    //       {
+    //         tHeader: ['表头1', '表头2', '表头3', '表头4',],
+    //         filterVal: ['title1', 'title2', 'title3', 'title4'],
+    //         tableDatas: this.download.list,
+    //         sheetName: 'Sheet1'
+    //       }
+    //     ]
+    //     json2excel(excelDatas, '表格大标题', true, 'xlsx')
+    // })
+
+    var excelDatas = [
+        {
+            tHeader: ['表头1', '表头2', '表头3', '表头4',],
+            filterVal: ['title1', 'title2', 'title3', 'title4'],
+            tableDatas: [
+                {title1: "内容1",title2: "内容2",title3: "内容3",title4: "内容4"},
+                {title1: "内容11",title2: "内容22",title3: "内容32",title4: "内容44"},
+                {title1: "内容111",title2: "内容222",title3: "内容333",title4: "内容444"},
+            ],
+            sheetName: 'Sheet1'
+        }
+    ]
+    json2excel(excelDatas, '表格大标题', true, 'xlsx')
+}
+
+
+
+  }
+}
+</script>
+<!-- 加了scoped,则是仅在此组件里生效 -->
+<style scoped>
+
+</style>