Browse Source

BUG:栏舍组问题处理

epans 1 year ago
parent
commit
ce68dba39d

+ 745 - 0
src/views/cowManagement/CowInfo10.vue

@@ -0,0 +1,745 @@
+<template>
+ 
+  <div>
+
+
+    <el-card class="box-card">
+      <!-- 搜索区域 -->
+      <div class="search-bx1">
+          <el-input v-model="searchData.calf_code" placeholder="犊牛编号"  style="width: 180px;" class="g-mr20 g-mb20" clearable />
+
+          <el-input v-model="searchData.barn_number" placeholder="栏舍身份ID"  style="width: 180px;" class="g-mr20" clearable />
+          <el-input v-model="searchData.barn_name" placeholder="栏舍"  style="width: 180px;" class="g-mr20" clearable />
+          <!-- <el-input v-model="searchData.mother_code" placeholder="母号"  style="width: 180px;" class="g-mr20" clearable /> -->
+         
+          <el-select v-model="searchData.status" filterable placeholder="健康状态" class="g-mr20" style="width: 180px;" clearable>
+            <el-option v-for="item in healthList" :key="item.id" :label="item.value" :value="item.id" />
+          </el-select>
+
+          <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-select v-model="searchData.genders" filterable placeholder="性别" class="g-mr20" style="width: 180px;" clearable>
+            <el-option v-for="item in sexList" :key="item.id" :label="item.value" :value="item.id" />
+          </el-select>
+
+          <!-- <el-input-number v-model="searchData.min_daily_weight_gain" style="width:120px;" :controls="false" placeholder="日均增重" />
+          <span style="margin:0px 8px;">至</span>
+          <el-input-number v-model="searchData.max_daily_weight_gain" style="width:120px;" class="g-mr20" :controls="false" placeholder="日均增重" /> -->
+
+          <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.calf_code }}</span>
+          </template>
+        </el-table-column>
+       
+        <el-table-column label="耳号" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.ear_number }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="栏舍身份ID" min-width="150px" align="center">
+            <template slot-scope="scope">
+              <span>{{ scope.row.barn_number }}</span>
+            </template>
+          </el-table-column>
+        <el-table-column label="栏舍" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.barn_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>{{ scope.row.birth_date_format }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="性别" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.genders == 1">公</span>
+            <span v-if="scope.row.genders == 2">母</span>
+            <span v-else> </span>
+          </template>
+        </el-table-column>
+        <el-table-column label="日龄" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.daily_age }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="出生体重(KG)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.birth_weight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="当前体重(KG)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.current_weight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="日均增重(KG)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.daily_weight_gain }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="母号" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.mother_code }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="建档日期" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.created_at_format }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="出栏日期" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.leave_barn_date_format }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="状态" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.status == 1" style="color:#67c23a;font-weight:bold">健康</span>
+            <span v-if="scope.row.status == 2" style="color:#ff9100;font-weight:bold">疾病</span>
+            <span v-if="scope.row.status == 3" style="color:#dec40d;font-weight:bold">出栏</span>
+            <span v-if="scope.row.status == 4" style="color:#ff0000;font-weight:bold">死亡</span>
+            <span v-if="scope.row.status == 5" style="color:#fa00ff;font-weight:bold">淘汰</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" size="mini" icon="el-icon-edit"  v-if="isButtonEdit" @click="form_edit(scope.row)">修改</el-button>
+             <!-- 删除按钮 -->
+             <el-button type="danger" size="mini" icon="el-icon-delete"  v-if="isButtonEdit"  @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="50%">
+      <div class="">
+        <el-form  ref="addFormRef"  :rules="addFormRules"  :model="addForm"  label-position="right" label-width="140px"  style="width:50%;margin:0 auto 50px">
+            <el-form-item label="栏舍:" prop="barn_id">
+              <el-select  v-model="addForm.barn_id" filterable placeholder="请选择"   style="width: 100%;" >
+                <el-option v-for="item in cowsheList" :key="item.id" :label="item.name" :value="item.id" />
+              </el-select>
+            </el-form-item> 
+            <el-form-item label="犊牛编号:" prop="calf_code">
+                <el-input   v-model="addForm.calf_code"  placeholder=""   :disabled="addFormStatus=='edit'"></el-input>  
+            </el-form-item>
+            <el-form-item label="耳号:" prop="ear_number">
+                <el-input   v-model="addForm.ear_number"  placeholder=""   :disabled="addFormStatus=='edit'"></el-input>  
+            </el-form-item>
+
+            
+
+            <el-form-item label="犊牛类型:" prop="calf_category_id">
+              <el-select  v-model="addForm.calf_category_id" filterable placeholder="请选择"   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-form-item label="出生日期:" prop="birth_date_format">
+              <el-date-picker v-model="addForm.birth_date_format" type="datetime" placeholder="选择日期"   style="width: 100%;" :clearable="false"   />
+            </el-form-item>
+            <el-form-item label="性别:" prop="genders">
+              <el-select  v-model="addForm.genders" filterable placeholder="请选择"   style="width: 100%;" >
+                <el-option v-for="item in sexList" :key="item.id" :label="item.value" :value="item.id" />
+              </el-select>
+            </el-form-item> 
+            <el-form-item label="出生体重(KG):" prop="birth_weight">
+                <el-input   v-model="addForm.birth_weight"    ></el-input>  
+            </el-form-item>      
+            <el-form-item label="当前体重(KG):" prop="current_weight">
+                <el-input   v-model="addForm.current_weight"    ></el-input>  
+            </el-form-item>     
+            <el-form-item label="母号:" prop="mother_code">
+                <el-input   v-model="addForm.mother_code"    ></el-input>  
+            </el-form-item>
+            <el-form-item label="备注:" prop="remark">
+              <el-input  v-model="addForm.remark" type="textarea" maxlength="200"   :rows="3"  />
+            </el-form-item>
+
+          
+            
+        </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>
+
+ 
+    
+  </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/calf/list',
+      //接口 - 新增 - 表格
+      url_add_table:'/api/v1/ops/calf/add',  
+      //接口 - 修改 - 表格
+      url_edit_table:'/api/v1/ops/calf/update', 
+      //接口 - 删除 - 表格
+      url_delete_table:'/api/v1/ops/calf/delete', 
+      
+      //接口 - 下拉框 列表 
+      url_get_select1:'/api/v1/ops/calf_feed/enum/list',
+
+      //接口 - 下拉框 列表 栏舍组
+      url_get_select2:'/api/v1/ops/barn_group/list?page=1&page_size=1000',
+
+      
+
+      //获取 - 表格数据 - 参数
+      searchData:{
+        calf_code: "",
+        barn_name: "",
+        barn_number: "",
+        barn_id:undefined,
+        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:[
+         
+      ],
+
+      sexList:[
+        {id: 1, value: '公'},
+        {id: 2, value: '母'},
+      ],
+
+      healthList:[
+        {id: 1, value: '健康'},
+        {id: 2, value: '疾病'},
+        {id: 3, value: '出栏'},
+        {id: 4, value: '死亡'},
+        {id: 5, value: '淘汰'},
+      ],
+
+
+ 
+
+      addFormShow:false,
+      addFormStatus: '',
+      addFormTxt: {  edit: '修改',  create: '新增' },
+      addForm:{
+        barn_id:undefined,ear_number:'',calf_code:'',calf_category_id:undefined, id:undefined, birth_date_format: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'),genders:undefined, birth_weight:undefined, current_weight:undefined, mother_code:'',remark:'',
+      },
+
+      addFormRules:{
+        barn_id: [ { required: true, message: '栏舍必选', trigger: 'change' },  ],
+        calf_code: [ { required: true, message: '犊牛编号必填', trigger: 'blur' },  ],
+        // ear_number: [ { required: true, message: '耳号必填', trigger: 'blur' },  ],
+        calf_category_id: [ { required: true, message: '犊牛类型必选', trigger: 'change' },  ],
+        birth_date_format: [ { required: true, message: '出生日期必填', trigger: 'blur' },  ],
+        genders: [ { required: true, message: '性别必选', trigger: 'change' },  ],
+        birth_weight: [ { required: true, message: '出生体重必填', trigger: 'blur' },  ],
+        current_weight: [ { required: true, message: '当前体重必填', trigger: 'blur' },  ],
+        mother_code: [ { required: true, message: '母号必填', trigger: 'blur' },  ],
+
+      },
+      //按钮权限
+      isButtonEdit:false,
+
+     
+       
+    }
+  },
+  created(){
+      //获取按钮权限
+      const isButtonEdit = checkButtons(this.$store.state.buttonsList, "牛只信息编辑")
+      this.isButtonEdit = isButtonEdit
+      console.log('this.isButtonEdit==========',this.isButtonEdit)
+     
+
+      //获取下拉框
+      this.get_select_list1()
+
+      //表格 - 初始化 
+      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('/authdata/pasture', {  "page": 1,   "page_size": 1000}).then(e => {
+        //   console.log("牧场下拉框1:",e)
+
+        //   //打印请求成功结果
+        //   if(e.data == null || e.data == undefined ||e.data.length == 0   ){
+        //     me.pastureList = []
+        //   } else {
+        //     me.pastureList = e.data
+        //   }
+  
+        // })
+
+    
+    },
+
+    
+    //获取 表格
+    get_table_data() {
+ 
+     var me = this
+
+     me.tableLoading = true
+     console.log("searchData======>", me.searchData)
+
+     if( me.searchData.status == ""){
+        me.searchData.status = undefined
+      }
+      
+      if( me.searchData.calf_category_id == ""){
+        me.searchData.calf_category_id = undefined
+      }
+      if( me.searchData.genders == ""){
+        me.searchData.genders = 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.barn_number = ""
+      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.searchData.page = 1
+      me.searchData.page_size = 10
+
+     
+
+
+      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.calf_code = ''
+      this.addForm.ear_number = ''
+      this.addForm.name = ''
+      this.addForm.barn_id = undefined
+      this.addForm.barn_number = ''
+
+        
+      this.addForm.calf_category_id = undefined
+      this.addForm.id = undefined
+      this.addForm.genders = undefined
+      this.addForm.birth_weight = undefined
+      this.addForm.current_weight = undefined
+      this.addForm.mother_code = ''
+      this.addForm.remark = ''
+ 
+      this.addForm.birth_date_format = parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
+
+
+    
+       
+    },
+
+    //新增
+    form_add() {
+      this.reset_form()
+      this.addFormStatus = 'create'
+      this.addFormShow = true
+      this.$nextTick(() => {
+        this.$refs['addFormRef'].clearValidate()
+      })
+    },
+
+    //编辑
+    form_edit(row) {
+      this.reset_form()
+      console.log('行内容row=========', row)
+      //编辑行内容赋值
+      this.addForm = Object.assign({}, row)  
+
+      if(row.genders == 0){
+        this.addForm.genders = undefined
+      }
+      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 = {
+              "barn_id": me.addForm.barn_id,
+              "calf_code": me.addForm.calf_code,
+              "ear_number": me.addForm.ear_number,
+              
+              "calf_category_id": me.addForm.calf_category_id,
+              "birth_weight": parseFloat(me.addForm.birth_weight) ,
+              "genders": me.addForm.genders,
+              "current_weight":parseFloat(me.addForm.current_weight) ,
+              "mother_code": me.addForm.mother_code,
+              "remark": me.addForm.remark,
+              // "birth_date":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+              "birth_date_format":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+
+          }
+
+ 
+ 
+
+
+          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,
+              "barn_id": me.addForm.barn_id,
+              "calf_code": me.addForm.calf_code,
+              "ear_number": me.addForm.ear_number,
+              "calf_category_id": me.addForm.calf_category_id,
+              "birth_weight": parseFloat(me.addForm.birth_weight) ,
+              "genders": me.addForm.genders,
+              "current_weight":parseFloat(me.addForm.current_weight) ,
+              "mother_code": me.addForm.mother_code,
+              "remark": me.addForm.remark,
+              // "birth_date":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+              "birth_date_format":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+          }
+
+          // 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: '已取消删除'
+          });          
+        });
+
+
+       
+    },
+
+ 
+    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>

+ 745 - 0
src/views/cowManagement/CowInfo11.vue

@@ -0,0 +1,745 @@
+<template>
+ 
+  <div>
+
+
+    <el-card class="box-card">
+      <!-- 搜索区域 -->
+      <div class="search-bx1">
+          <el-input v-model="searchData.calf_code" placeholder="犊牛编号"  style="width: 180px;" class="g-mr20 g-mb20" clearable />
+
+          <el-input v-model="searchData.barn_number" placeholder="栏舍身份ID"  style="width: 180px;" class="g-mr20" clearable />
+          <el-input v-model="searchData.barn_name" placeholder="栏舍"  style="width: 180px;" class="g-mr20" clearable />
+          <!-- <el-input v-model="searchData.mother_code" placeholder="母号"  style="width: 180px;" class="g-mr20" clearable /> -->
+         
+          <el-select v-model="searchData.status" filterable placeholder="健康状态" class="g-mr20" style="width: 180px;" clearable>
+            <el-option v-for="item in healthList" :key="item.id" :label="item.value" :value="item.id" />
+          </el-select>
+
+          <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-select v-model="searchData.genders" filterable placeholder="性别" class="g-mr20" style="width: 180px;" clearable>
+            <el-option v-for="item in sexList" :key="item.id" :label="item.value" :value="item.id" />
+          </el-select>
+
+          <!-- <el-input-number v-model="searchData.min_daily_weight_gain" style="width:120px;" :controls="false" placeholder="日均增重" />
+          <span style="margin:0px 8px;">至</span>
+          <el-input-number v-model="searchData.max_daily_weight_gain" style="width:120px;" class="g-mr20" :controls="false" placeholder="日均增重" /> -->
+
+          <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.calf_code }}</span>
+          </template>
+        </el-table-column>
+       
+        <el-table-column label="耳号" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.ear_number }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="栏舍身份ID" min-width="150px" align="center">
+            <template slot-scope="scope">
+              <span>{{ scope.row.barn_number }}</span>
+            </template>
+          </el-table-column>
+        <el-table-column label="栏舍" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.barn_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>{{ scope.row.birth_date_format }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="性别" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.genders == 1">公</span>
+            <span v-if="scope.row.genders == 2">母</span>
+            <span v-else> </span>
+          </template>
+        </el-table-column>
+        <el-table-column label="日龄" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.daily_age }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="出生体重(KG)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.birth_weight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="当前体重(KG)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.current_weight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="日均增重(KG)" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.daily_weight_gain }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="母号" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.mother_code }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="建档日期" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.created_at_format }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="出栏日期" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.leave_barn_date_format }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="状态" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.status == 1" style="color:#67c23a;font-weight:bold">健康</span>
+            <span v-if="scope.row.status == 2" style="color:#ff9100;font-weight:bold">疾病</span>
+            <span v-if="scope.row.status == 3" style="color:#dec40d;font-weight:bold">出栏</span>
+            <span v-if="scope.row.status == 4" style="color:#ff0000;font-weight:bold">死亡</span>
+            <span v-if="scope.row.status == 5" style="color:#fa00ff;font-weight:bold">淘汰</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" size="mini" icon="el-icon-edit"  v-if="isButtonEdit" @click="form_edit(scope.row)">修改</el-button>
+             <!-- 删除按钮 -->
+             <el-button type="danger" size="mini" icon="el-icon-delete"  v-if="isButtonEdit"  @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="50%">
+      <div class="">
+        <el-form  ref="addFormRef"  :rules="addFormRules"  :model="addForm"  label-position="right" label-width="140px"  style="width:50%;margin:0 auto 50px">
+            <el-form-item label="栏舍:" prop="barn_id">
+              <el-select  v-model="addForm.barn_id" filterable placeholder="请选择"   style="width: 100%;" >
+                <el-option v-for="item in cowsheList" :key="item.id" :label="item.name" :value="item.id" />
+              </el-select>
+            </el-form-item> 
+            <el-form-item label="犊牛编号:" prop="calf_code">
+                <el-input   v-model="addForm.calf_code"  placeholder=""   :disabled="addFormStatus=='edit'"></el-input>  
+            </el-form-item>
+            <el-form-item label="耳号:" prop="ear_number">
+                <el-input   v-model="addForm.ear_number"  placeholder=""   :disabled="addFormStatus=='edit'"></el-input>  
+            </el-form-item>
+
+            
+
+            <el-form-item label="犊牛类型:" prop="calf_category_id">
+              <el-select  v-model="addForm.calf_category_id" filterable placeholder="请选择"   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-form-item label="出生日期:" prop="birth_date_format">
+              <el-date-picker v-model="addForm.birth_date_format" type="datetime" placeholder="选择日期"   style="width: 100%;" :clearable="false"   />
+            </el-form-item>
+            <el-form-item label="性别:" prop="genders">
+              <el-select  v-model="addForm.genders" filterable placeholder="请选择"   style="width: 100%;" >
+                <el-option v-for="item in sexList" :key="item.id" :label="item.value" :value="item.id" />
+              </el-select>
+            </el-form-item> 
+            <el-form-item label="出生体重(KG):" prop="birth_weight">
+                <el-input   v-model="addForm.birth_weight"    ></el-input>  
+            </el-form-item>      
+            <el-form-item label="当前体重(KG):" prop="current_weight">
+                <el-input   v-model="addForm.current_weight"    ></el-input>  
+            </el-form-item>     
+            <el-form-item label="母号:" prop="mother_code">
+                <el-input   v-model="addForm.mother_code"    ></el-input>  
+            </el-form-item>
+            <el-form-item label="备注:" prop="remark">
+              <el-input  v-model="addForm.remark" type="textarea" maxlength="200"   :rows="3"  />
+            </el-form-item>
+
+          
+            
+        </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>
+
+ 
+    
+  </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/calf/list',
+      //接口 - 新增 - 表格
+      url_add_table:'/api/v1/ops/calf/add',  
+      //接口 - 修改 - 表格
+      url_edit_table:'/api/v1/ops/calf/update', 
+      //接口 - 删除 - 表格
+      url_delete_table:'/api/v1/ops/calf/delete', 
+      
+      //接口 - 下拉框 列表 
+      url_get_select1:'/api/v1/ops/calf_feed/enum/list',
+
+      //接口 - 下拉框 列表 栏舍组
+      url_get_select2:'/api/v1/ops/barn_group/list?page=1&page_size=1000',
+
+      
+
+      //获取 - 表格数据 - 参数
+      searchData:{
+        calf_code: "",
+        barn_name: "",
+        barn_number: "",
+        barn_id:undefined,
+        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:[
+         
+      ],
+
+      sexList:[
+        {id: 1, value: '公'},
+        {id: 2, value: '母'},
+      ],
+
+      healthList:[
+        {id: 1, value: '健康'},
+        {id: 2, value: '疾病'},
+        {id: 3, value: '出栏'},
+        {id: 4, value: '死亡'},
+        {id: 5, value: '淘汰'},
+      ],
+
+
+ 
+
+      addFormShow:false,
+      addFormStatus: '',
+      addFormTxt: {  edit: '修改',  create: '新增' },
+      addForm:{
+        barn_id:undefined,ear_number:'',calf_code:'',calf_category_id:undefined, id:undefined, birth_date_format: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'),genders:undefined, birth_weight:undefined, current_weight:undefined, mother_code:'',remark:'',
+      },
+
+      addFormRules:{
+        barn_id: [ { required: true, message: '栏舍必选', trigger: 'change' },  ],
+        calf_code: [ { required: true, message: '犊牛编号必填', trigger: 'blur' },  ],
+        // ear_number: [ { required: true, message: '耳号必填', trigger: 'blur' },  ],
+        calf_category_id: [ { required: true, message: '犊牛类型必选', trigger: 'change' },  ],
+        birth_date_format: [ { required: true, message: '出生日期必填', trigger: 'blur' },  ],
+        genders: [ { required: true, message: '性别必选', trigger: 'change' },  ],
+        birth_weight: [ { required: true, message: '出生体重必填', trigger: 'blur' },  ],
+        current_weight: [ { required: true, message: '当前体重必填', trigger: 'blur' },  ],
+        mother_code: [ { required: true, message: '母号必填', trigger: 'blur' },  ],
+
+      },
+      //按钮权限
+      isButtonEdit:false,
+
+     
+       
+    }
+  },
+  created(){
+      //获取按钮权限
+      const isButtonEdit = checkButtons(this.$store.state.buttonsList, "牛只信息编辑")
+      this.isButtonEdit = isButtonEdit
+      console.log('this.isButtonEdit==========',this.isButtonEdit)
+     
+
+      //获取下拉框
+      this.get_select_list1()
+
+      //表格 - 初始化 
+      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('/authdata/pasture', {  "page": 1,   "page_size": 1000}).then(e => {
+        //   console.log("牧场下拉框1:",e)
+
+        //   //打印请求成功结果
+        //   if(e.data == null || e.data == undefined ||e.data.length == 0   ){
+        //     me.pastureList = []
+        //   } else {
+        //     me.pastureList = e.data
+        //   }
+  
+        // })
+
+    
+    },
+
+    
+    //获取 表格
+    get_table_data() {
+ 
+     var me = this
+
+     me.tableLoading = true
+     console.log("searchData======>", me.searchData)
+
+     if( me.searchData.status == ""){
+        me.searchData.status = undefined
+      }
+      
+      if( me.searchData.calf_category_id == ""){
+        me.searchData.calf_category_id = undefined
+      }
+      if( me.searchData.genders == ""){
+        me.searchData.genders = 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.barn_number = ""
+      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.searchData.page = 1
+      me.searchData.page_size = 10
+
+     
+
+
+      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.calf_code = ''
+      this.addForm.ear_number = ''
+      this.addForm.name = ''
+      this.addForm.barn_id = undefined
+      this.addForm.barn_number = ''
+
+        
+      this.addForm.calf_category_id = undefined
+      this.addForm.id = undefined
+      this.addForm.genders = undefined
+      this.addForm.birth_weight = undefined
+      this.addForm.current_weight = undefined
+      this.addForm.mother_code = ''
+      this.addForm.remark = ''
+ 
+      this.addForm.birth_date_format = parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
+
+
+    
+       
+    },
+
+    //新增
+    form_add() {
+      this.reset_form()
+      this.addFormStatus = 'create'
+      this.addFormShow = true
+      this.$nextTick(() => {
+        this.$refs['addFormRef'].clearValidate()
+      })
+    },
+
+    //编辑
+    form_edit(row) {
+      this.reset_form()
+      console.log('行内容row=========', row)
+      //编辑行内容赋值
+      this.addForm = Object.assign({}, row)  
+
+      if(row.genders == 0){
+        this.addForm.genders = undefined
+      }
+      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 = {
+              "barn_id": me.addForm.barn_id,
+              "calf_code": me.addForm.calf_code,
+              "ear_number": me.addForm.ear_number,
+              
+              "calf_category_id": me.addForm.calf_category_id,
+              "birth_weight": parseFloat(me.addForm.birth_weight) ,
+              "genders": me.addForm.genders,
+              "current_weight":parseFloat(me.addForm.current_weight) ,
+              "mother_code": me.addForm.mother_code,
+              "remark": me.addForm.remark,
+              // "birth_date":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+              "birth_date_format":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+
+          }
+
+ 
+ 
+
+
+          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,
+              "barn_id": me.addForm.barn_id,
+              "calf_code": me.addForm.calf_code,
+              "ear_number": me.addForm.ear_number,
+              "calf_category_id": me.addForm.calf_category_id,
+              "birth_weight": parseFloat(me.addForm.birth_weight) ,
+              "genders": me.addForm.genders,
+              "current_weight":parseFloat(me.addForm.current_weight) ,
+              "mother_code": me.addForm.mother_code,
+              "remark": me.addForm.remark,
+              // "birth_date":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+              "birth_date_format":parseTime(me.addForm.birth_date_format, '{y}-{m}-{d} {h}:{i}:{s}'), 
+          }
+
+          // 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: '已取消删除'
+          });          
+        });
+
+
+       
+    },
+
+ 
+    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>

+ 3 - 81
src/views/cowShedManagement/CowCowShed.vue

@@ -17,7 +17,7 @@
           </el-select> -->
           <el-button type="primary"   @click="form_search">搜索</el-button>
           <el-button type="primary"   @click="form_clear">重置</el-button>
-          <!-- <el-button   type="primary"   @click="tab_view">切换视图</el-button> -->
+     
           <el-button type="primary"  v-if="isButtonEdit"  @click="form_add">添加</el-button>
            <!-- <el-button type="primary"   @click="form_export">导出</el-button> -->
       </div>
@@ -558,86 +558,8 @@ export default {
 
 
     
-    
-    //监听 - 切换视图
-    tab_view(){
-      //切换视图模式,table表格,view图
-      if(this.tabView == 'table'){
-        this.tabView = 'view'
-        setTimeout(() => {
-          this.roadchartPie1()
-        }, 500)
-        
-      } else {
-        this.tabView = 'table'
-      }
-
-    },
-
-
-    //图表数据加载
-    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

+ 3 - 81
src/views/cowShedManagement/CowCowShed10.vue

@@ -17,7 +17,7 @@
           </el-select> -->
           <el-button type="primary"   @click="form_search">搜索</el-button>
           <el-button type="primary"   @click="form_clear">重置</el-button>
-          <!-- <el-button   type="primary"   @click="tab_view">切换视图</el-button> -->
+     
           <el-button type="primary"  v-if="isButtonEdit"  @click="form_add">添加</el-button>
            <!-- <el-button type="primary"   @click="form_export">导出</el-button> -->
       </div>
@@ -558,86 +558,8 @@ export default {
 
 
     
-    
-    //监听 - 切换视图
-    tab_view(){
-      //切换视图模式,table表格,view图
-      if(this.tabView == 'table'){
-        this.tabView = 'view'
-        setTimeout(() => {
-          this.roadchartPie1()
-        }, 500)
-        
-      } else {
-        this.tabView = 'table'
-      }
-
-    },
-
-
-    //图表数据加载
-    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

+ 72 - 39
src/views/cowShedManagement/CowCowShed11.vue

@@ -17,7 +17,7 @@
           </el-select> -->
           <el-button type="primary"   @click="form_search">搜索</el-button>
           <el-button type="primary"   @click="form_clear">重置</el-button>
-          <!-- <el-button   type="primary"   @click="tab_view">切换视图</el-button> -->
+          <el-button   type="primary"   @click="tab_view">切换视图</el-button>
           <el-button type="primary"  v-if="isButtonEdit"  @click="form_add">添加</el-button>
            <!-- <el-button type="primary"   @click="form_export">导出</el-button> -->
       </div>
@@ -87,7 +87,7 @@
           
           <el-col :span="12">
             <div>
-              <el-row :gutter="10">
+              <el-row :gutter="10" style = "margin-bottom:20px; margin-top:40px;">
     
                 <el-col :span="4" :offset="4">
                   <span class = "column-item column-color1"  ></span>
@@ -109,17 +109,23 @@
             </div>
             <div v-for="item in columnViewList" :key="index">
               <el-row :gutter="10">
-                <el-col :span="4">{{item.title}}</el-col>
+                <el-col :span="4">{{item.barn_group_name}}</el-col>
                 <el-col :span="20">
                   <!-- 数量不定的栏舍 -->
-                  <el-col :span="3" v-for="items in item.arrList" :key="index">
+                  <el-col :span="3" v-for="items in item.barn_view" :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>
+
+                      <i class="el-icon-house  column-color11" style = "font-size:34px" v-if="items.barn_status == 1"></i>
+                      <i class="el-icon-house  column-color22" style = "font-size:34px" v-if="items.barn_status == 2"></i>
+                      <i class="el-icon-house  column-color33" style = "font-size:34px" v-if="items.barn_status == 3"></i>
+                      <i class="el-icon-house  column-color44" style = "font-size:34px" v-if="items.barn_status == 4"></i>
+                     
+                      <!-- <span class = "column-item column-color1" v-if="items.barn_status == 1"></span>
+                      <span class = "column-item column-color2" v-if="items.barn_status == 2"></span>
+                      <span class = "column-item column-color3" v-if="items.barn_status == 3"></span>
+                      <span class = "column-item column-color4" v-if="items.barn_status == 4"></span> -->
+                      <span class = "column-txt">{{items.barn_name}}</span>
                     </div>
                   </el-col>
                 </el-col>
@@ -213,36 +219,21 @@ export default {
 
       //视图模式中的栏舍
       columnViewList:[
-        {
-          title:"A001",
-          arrList:[
-              { id: '1', cowshedname: '001',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '003',cowshebar: 'A001',status: '发病'  },
-              { id: '1', cowshedname: '005',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '007',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '009',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '011',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '012',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '014',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '016',cowshebar: 'A001',status: '正常'  },
-              { id: '1', cowshedname: '018',cowshebar: 'A001',status: '正常'  },
-    
-          ]
-        },
-        {
-          title:"A002",
-          arrList:[
-              { id: '1', cowshedname: '002',cowshebar: 'A002',status: '空栏'  },
-              { id: '1', cowshedname: '004',cowshebar: 'A002',status: '正常'  },
-              { id: '1', cowshedname: '006',cowshebar: 'A002',status: '正常'  },
-              { id: '1', cowshedname: '008',cowshebar: 'A002',status: '正常'  },
-              { id: '1', cowshedname: '010',cowshebar: 'A002',status: '正常'  },
-              { id: '1', cowshedname: '013',cowshebar: 'A002',status: '正常'  },
-              { id: '1', cowshedname: '015',cowshebar: 'A002',status: '正常'  },
-              { id: '1', cowshedname: '017',cowshebar: 'A002',status: '正常'  },
-              { id: '1', cowshedname: '019',cowshebar: 'A002',status: '正常'  },
-          ]
-        } 
+        // {
+        //   barn_group_name:"A001",
+        //   barn_view:[
+        //       { barn_id: '1', barn_name: '001', status: '正常'  },
+        //       { barn_id: '1', barn_name: '002', status: '发病'  },
+        //   ]
+        // },
+        // {
+        //   barn_group_name:"A002",
+        //   barn_view:[
+        //       { barn_id: '1', barn_name: '001', status: '正常'  },
+        //       { barn_id: '1', barn_name: '002', status: '发病'  },
+        //   ]
+        // },
+         
       ],
 
       //获取 - 表格数据 - 参数
@@ -323,6 +314,7 @@ export default {
 
       //表格 - 初始化 
       this.get_table_data()
+      this.get_chart()
 
      
 
@@ -364,6 +356,37 @@ export default {
     
     },
 
+    //获取 图表
+    get_chart(){
+      var me = this
+        
+      ajaxDataPost('/api/v1/ops/barn/view', me.searchData).then(e => {
+          console.log("获取视图:",e)
+
+          //获取栏舍视图块块+饼图
+          if(e.data == null || e.data == undefined   ){
+            me.columnViewList = []
+            me.chartPie1_data.num1 = 0
+            me.chartPie1_data.num2 = 0
+            me.chartPie1_data.num3 = 0
+            me.chartPie1_data.num4 = 0
+
+          } else {
+            me.columnViewList = e.data.barn_group_view
+            me.chartPie1_data.num1 = e.data.disease_number
+            me.chartPie1_data.num2 = e.data.weaning_reminders_number
+            me.chartPie1_data.num3 = e.data.void_number
+            me.chartPie1_data.num4 = e.data.normalcy_number
+
+          }
+
+
+   
+
+  
+        })
+
+    },
     
     //获取 表格
     get_table_data() {
@@ -406,7 +429,11 @@ export default {
     form_search(){
       var me = this
       console.log('请求表格列表searchData',me.searchData)
+
+      this.tabView = 'table'
+
       me.get_table_data()
+      me.get_chart()
 
     },
 
@@ -724,5 +751,11 @@ export default {
 .column-color2{background-color:#d9001b;}
 .column-color3{background-color:#8080ff;}
 .column-color4{background-color:#d7d7d7;}
+
+.column-color11{color:#4b7902;}
+.column-color22{color:#d9001b;}
+.column-color33{color:#8080ff;}
+.column-color44{color:#d7d7d7;}
+
 .column-txt{display: block;}
 </style>

+ 41 - 0
src/views/dataStatistics/DiseaseSituation10.vue

@@ -0,0 +1,41 @@
+<template>
+ 
+  <div>
+        1.1版本页面,待开发
+  </div>
+
+
+</template> 
+
+<script>
+import {  ajaxDataGet, ajaxDataPost, ajaxDataPut, ajaxDataDelete, checkButtons} from '@/api/common'
+import { parseTime, json2excel } from '@/utils/index.js'
+export default {
+  data() {
+
+
+    
+ 
+  
+    return {
+
+  
+       
+    }
+  },
+  created(){
+    
+    
+  },
+  methods:{
+
+    
+     
+
+  }
+}
+</script>
+ 
+<style scoped>
+
+</style>

+ 58 - 44
src/views/dataStatistics/DiseaseSituation3.vue → src/views/dataStatistics/DiseaseSituation11.vue

@@ -8,13 +8,17 @@
        <div class="search-bx1">
 
 
-        <el-date-picker v-model="searchData.inputDatetime1" class="g-mr20" type="year"  style="width: 250px;" />
+        <el-date-picker v-model="searchData.date_for_year" class="g-mr20" type="year" value-format="yyyy"  style="width: 250px;" />
 
-        <el-select v-model="searchData.typeId" filterable placeholder="犊牛类型" style="width: 180px;" class="g-mr20">
+
+        <!-- <el-date-picker v-model="table.get_table_dataParm.parammaps.year" style="width:100px;" :clearable="false"  type="year" placeholder="选择年" format="yyyy" value-format="yyyy" @change="changeYear" />
+      <el-date-picker v-model="month"  type="month" style="width:90px;" placeholder="选择月" format="MM" value-format="MM" /> -->
+
+        <el-select v-model="searchData.calf_category_id" filterable placeholder="犊牛类型" style="width: 180px;" class="g-mr20">
           <el-option v-for="item in calfTypeList" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
 
-        <el-select   v-model="searchData.barid"   placeholder="疾病类型" style="width: 180px;" class="g-mr20" clearable>
+        <el-select   v-model="searchData.diseased_id"   placeholder="疾病类型" style="width: 180px;" class="g-mr20" clearable>
           <el-option v-for="item in diseaseList" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
 
@@ -36,17 +40,17 @@
       <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>
+            <span>{{ scope.row.date_month }}</span>
           </template>
         </el-table-column>
         <el-table-column label="发病次数" min-width="150px" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.name }}</span>
+            <span>{{ scope.row.disease_count }}</span>
           </template>
         </el-table-column>
         <el-table-column label="治愈次数" min-width="150px" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.number }}</span>
+            <span>{{ scope.row.recover_count }}</span>
           </template>
         </el-table-column>  
         <el-table-column label="治愈率" min-width="150px" align="center">
@@ -82,18 +86,15 @@ export default {
 
 
       //接口 - 获取 - 表格
-      url_get_table:'/api/v1/ops/barn_group/list',
-      //接口 - 获取 - 图表
-      url_get_echart:'/api/v1/ops/barn_group/add',  
+      url_get_table:'/api/v1/ops/statistics/disease',
+ 
  
       //获取 - 表格数据 - 参数
       searchData:{
-        inputDatetime1:"",
-        typeId:"全部",
-        name: "",
-        barn_group_name: "",
-        number: "",
-        status: undefined,
+        date_for_year: parseTime(new Date(), '{y}'),
+        month: parseTime(new Date(), '{m}'),
+        calf_category_id: undefined,
+        diseased_id: undefined,
         page: 1,  //页码
         page_size: 10,   //每页数量
         total:0,  //总页数
@@ -118,9 +119,9 @@ export default {
 
 
       diseaseList: [
-         {id: "疾病1", name: "疾病1"}, 
-         {id: "疾病1", name: "疾病1"}, 
-         {id: "疾病1", name: "疾病1"}, 
+        //  {id: "疾病1", name: "疾病1"}, 
+        //  {id: "疾病1", name: "疾病1"}, 
+        //  {id: "疾病1", name: "疾病1"}, 
  
       ], 
 
@@ -152,9 +153,9 @@ export default {
       chartBar1: null,
       //图表数据
       chartBar1_data: {
-        monthdate:['2022-01', '2022-02', '2022-03', '2022-04', '2022-05', '2022-06', '2022-07'],
-        arr1:[49, 71, 98, 92, 104, 76, 113],
-        arr2:[83, 78, 98, 93, 106, 85, 115],
+        // date_month:['2022-01', '2022-02', '2022-03', '2022-04', '2022-05', '2022-06', '2022-07'],
+        // disease_count:[49, 71, 98, 92, 104, 76, 113],
+        // recover_count:[83, 78, 98, 93, 106, 85, 115],
        
       },
   
@@ -163,10 +164,9 @@ export default {
   },
   mounted() {
     //加载 - 图表假数据,如果是图表需要放mounted里测试假数据
-     this.roadchartBar1(this.chartBar1_data)
+     //this.roadchartBar1(this.chartBar1_data)
 
  
-
   },
   created(){
     
@@ -184,8 +184,13 @@ export default {
     //获取 下拉框
     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)
+            console.log("犊牛类型1:",e)
 
             //打印请求成功结果
             if(e.data.list == null || e.data.list == undefined ||e.data.list.length == 0   ){
@@ -195,6 +200,18 @@ export default {
             }
 
         })
+ 
+        ajaxDataPost('/api/v1/ops/base_setting/category_table/list?page=1&page_size=1000', {category_type: 3 }).then(e => {
+            console.log("疾病:",e)
+
+            //打印请求成功结果
+            if(e.data.list == null || e.data.list == undefined ||e.data.list.length == 0   ){
+              me.diseaseList = []
+            } else {
+              me.diseaseList = e.data.list
+            }
+
+        })
 
  
     
@@ -206,16 +223,9 @@ export default {
       var me = this
       console.log('请求表格列表searchData',me.searchData)
 
-      if (me.searchData.inputDatetime1 !== '' && me.searchData.inputDatetime1 !== null) {
-          me.searchData.min_operation_time = parseTime(me.searchData.inputDatetime1[0], '{y}-{m}-{d}')
-          me.searchData.max_operation_time = parseTime(me.searchData.inputDatetime1[1], '{y}-{m}-{d}')
-        } else {
-          me.searchData.inputDatetime1 = ''
-          me.searchData.min_operation_time = ''
-          me.searchData.max_operation_time = ''
-        }               
+              
       me.get_table_data()
-      me.getChart1()
+      //me.getChart1()
 
     },
     
@@ -230,27 +240,31 @@ export default {
 
 
       
-      if( me.searchData.status == ""){
-        me.searchData.status = undefined
+      if( me.searchData.calf_category_id == ""){
+        me.searchData.calf_category_id = undefined
+      }
+      if( me.searchData.diseased_id == ""){
+        me.searchData.diseased_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)
+          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;	//每页数量
-            
+              me.tableList = e.data.table
+              me.chartBar1_data = e.data.chart
             } else {
+
+    
               me.$message({ type: 'error', message: '请求表格列表失败!' + e.msg, duration: 2000 })
             }
 
             setTimeout(() => {
               me.tableLoading = false
+
+              me.roadchartBar1(me.chartBar1_data)
             }, 100)
 
         })
@@ -308,14 +322,14 @@ export default {
         xAxis: {
           type: 'category',
           axisPointer: { type: 'shadow'},
-          data: chartBar1_data.monthdate 
+          data: chartBar1_data.date_month 
         },
         yAxis: [
           { type: 'value',axisLabel: {formatter: '{value} 次' }},
         ],
         series: [
-          { name: '治愈',  type: 'bar', data: chartBar1_data.arr1   },
-          { name: '疾病',  type: 'bar', data: chartBar1_data.arr2   },
+          { name: '治愈',  type: 'bar', data: chartBar1_data.recover_count   },
+          { name: '疾病',  type: 'bar', data: chartBar1_data.disease_count   },
         ]
       }
 

+ 19 - 6
src/views/formulaPlan/FeedPlan.vue

@@ -677,16 +677,29 @@ export default {
        if(barnGroupIdsArr.length > 0) {
           me.$nextTick(() => {
 
-                for(let i = 0; i<me.barnGroupTableList.length;i++){
+                // for(let i = 0; i<me.barnGroupTableList.length;i++){
 
-                  for(let j = 0; i<barnGroupIdsArr.length;i++){
-                    if(me.barnGroupTableList[i].id == barnGroupIdsArr[i]){
-                      me.$refs['multipleTable1'].toggleRowSelection(me.barnGroupTableList[i])
-                    }
-                  }
+                //   for(let j = 0; i<barnGroupIdsArr.length;i++){
+                //     if(me.barnGroupTableList[i].id == barnGroupIdsArr[i]){
+                //       me.$refs['multipleTable1'].toggleRowSelection(me.barnGroupTableList[i])
+                //       console.log("me.barnGroupTableList[i]==========",me.barnGroupTableList[i])
+                //     }
+                //   }
 
+                // }
+
+                for(let i = 0; i<me.barnGroupTableList.length;i++){
+                    for(let j = 0; j<barnGroupIdsArr.length;j++){
+                      if(me.barnGroupTableList[i].id == barnGroupIdsArr[j]){
+                        me.$refs['multipleTable1'].toggleRowSelection(me.barnGroupTableList[i])
+                        console.log("me.barnGroupTableList[i]==========",me.barnGroupTableList[i])
+                      }
+                    }
                 }
 
+
+                 
+
                 ajaxDataPost('/api/v1/ops/barn/list/ids',{ids:barnGroupIdsArr}).then(e => {
                     if(e.code === 200) {
                       // me.barnTableList = e.data.list

+ 37 - 11
src/views/formulaPlan/FormulaTemplate11.vue

@@ -324,7 +324,7 @@
             <h4> 注:只需设置起始、截止以及任意一个中间日龄(中间阶段的日龄可自行添加,添加越多算法越精准,至少设置1个中间日龄的饲喂量)  </h4>         
           </el-row>
           <el-row :gutter="20"  >
-            <el-button type="primary"   @click="add_step">增加中间日龄</el-button>
+            <el-button type="primary"   @click="add_middle_day">增加中间日龄</el-button>
           </el-row>
 
 
@@ -350,12 +350,10 @@
                
             
 
-                <el-table-column label="操作" align="center" min-width="200px" class-name="small-padding fixed-width" fixed="right">
+                <el-table-column label="操作" align="center" min-width="200px" 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>
+                    <el-button type="danger"   size="mini" icon="el-icon-delete" @click="delete_middle_day(scope.$index, scope.row)">删除</el-button>
                   </template>
                 </el-table-column>
               </el-table>
@@ -365,8 +363,8 @@
 
         </el-form>
         <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="addFormStatusStep==='create'?add_feed_save():edit_step_save()">确认</el-button>
-          <el-button @click="addFormShowStep = false">关闭</el-button>
+          <el-button type="primary" @click="addFormStatusStep==='create'?add_feed_save():edit_step_save()">生产饲喂方案</el-button>
+          <el-button @click="feedFormShow = false">关闭</el-button>
         </div>
       </div>
     </el-dialog>
@@ -542,11 +540,10 @@ export default {
 
       tableListFeed:[
         {name:'起始日龄',daynumber:0,daykg:0,},
-        {name:'中间阶段',daynumber:0,daykg:0,},
-        {name:'截止日',daynumber:0,daykg:0,},
+       
+        {name:'截止日',daynumber:0,daykg:0,},
       ],
-
-      class_num:4
+      
 
     }
   },
@@ -961,6 +958,35 @@ export default {
     },
 
 
+    add_middle_day() {
+
+      var tableListFeed = this.tableListFeed
+      console.log(tableListFeed)
+
+      var add_row = {name:'中间阶段',daynumber:0,daykg:0,}
+      this.tableListFeed.splice(1,0,add_row)
+
+
+      
+
+    },
+
+    delete_middle_day(index,row) {
+      var me = this
+      console.log(index)
+      console.log(row)
+      var lastIndex  = this.tableListFeed.length - 1
+      if(index == 0){
+         me.$message({ type: 'error', message: '不可删除起始日龄!'  , duration: 2000 })
+      } else if (index == lastIndex){
+        me.$message({ type: 'error', message: '不可删除截止日龄!'  , duration: 2000 })
+      } else {
+         me.tableListFeed.splice(index,1)
+      }
+
+    
+    },
+
     //编辑
     edit_step(index, row) {
       this.stepIndex = index