Browse Source

角色管理

epans 1 year ago
parent
commit
8ce02b47b3

+ 71 - 65
src/views/Home.vue

@@ -22,14 +22,14 @@
           <el-submenu :index="item.id +''" v-for="item in menuList" :key="item.id">
             <!-- 一级菜单的模板区域 -->
             <template slot="title">
-              <i :class="item.iconclass"></i>
-              <span>{{item.authName}}</span>
+              <i class="iconfont el-icon-s-order"></i>
+              <span>{{item.name}}</span>
             </template>
             <!-- 二级菜单 -->  
             <el-menu-item :index="'/' + items.path" v-for="items in item.children" :key="items.id" @click = "saveNavState(items)">
               <template slot="title">
-                <i :class="items.iconclass"></i>
-                <span>{{items.authName}}</span>
+                <i class="iconfont el-icon-s-order"></i>
+                <span>{{items.name}}</span>
               </template>
             </el-menu-item>
 
@@ -71,8 +71,9 @@
 </template> 
 
 <script>
-import { ajaxDataPost} from '@/api/common'
-
+ 
+import {  ajaxDataGet, ajaxDataPost, ajaxDataPut, ajaxDataDelete, checkButtons} from '@/api/common'
+import { parseTime, json2excel } from '@/utils/index.js'
 export default {
   data() {
     return {
@@ -92,83 +93,70 @@ export default {
       isCollapse:false, //侧边栏是否展开
       activePath:"",//侧边栏高亮路径
       menuList:[
+       
         // {
-        //   authName:"用户管理", id:10, order:1,iconclass:'iconfont el-icon-s-order',
+        //   authName:"数据统计", id:20, order:1,iconclass:'iconfont el-icon-s-order',
         //   children:[
-        //     {id:103,authName:"用户列表",iconclass:'iconfont el-icon-message',path: 'users'}
+        //     {id:101,authName:"饲喂过程",iconclass:'iconfont el-icon-message',path: 'FeedProcess'},
+             
         //   ]
         // },
         // {
-        //   authName:"权限管理", id:20, order:1,iconclass:'iconfont el-icon-s-order',
+        //   authName:"牛只管理", id:20, order:1,iconclass:'iconfont el-icon-s-order',
         //   children:[
-        //     {id:203,authName:"角色列表",iconclass:'iconfont el-icon-message',path: 'roles'},
-        //     // {id:203,authName:"角色列表",iconclass:'iconfont el-icon-message',path: 'roles1'},
-        //     // {id:204,authName:"权限列表",iconclass:'iconfont el-icon-message',path: 'rights'},
+        //     {id:201,authName:"牛只信息",iconclass:'iconfont el-icon-message',path: 'CowInfo'},
+        //     {id:202,authName:"事件记录",iconclass:'iconfont el-icon-message',path: 'EventRecord'},
+   
+        //   ]
+        // },
+        // {
+        //   authName:"栏舍管理", id:30, order:1,iconclass:'iconfont el-icon-s-order',
+        //   children:[
+        //     {id:303,authName:"牛只栏舍",iconclass:'iconfont el-icon-message',path: 'CowCowShed'},
+        //     {id:304,authName:"栏舍分组",iconclass:'iconfont el-icon-message',path: 'CowShedGroup'},
+        //     // {id:304,authName:"分类参数",iconclass:'iconfont el-icon-message',path: 'users56'},
+        //     // {id:305,authName:"产品分类",iconclass:'iconfont el-icon-message',path: 'categories'},
+        //   ]
+        // },
+        // {
+        //   authName:"配方计划", id:40, order:1,iconclass:'iconfont el-icon-s-order',
+        //   children:[
+        //     {id:403,authName:"饲喂计划",iconclass:'iconfont el-icon-message',path: 'FeedPlan'},
+        //     {id:404,authName:"配方模板",iconclass:'iconfont el-icon-message',path: 'FormulaTemplate'},
         //   ]
         // },
-        {
-          authName:"数据统计", id:20, order:1,iconclass:'iconfont el-icon-s-order',
-          children:[
-            {id:101,authName:"饲喂过程",iconclass:'iconfont el-icon-message',path: 'FeedProcess'},
-             
-          ]
-        },
-        {
-          authName:"牛只管理", id:20, order:1,iconclass:'iconfont el-icon-s-order',
-          children:[
-            {id:201,authName:"牛只信息",iconclass:'iconfont el-icon-message',path: 'CowInfo'},
-            {id:202,authName:"事件记录",iconclass:'iconfont el-icon-message',path: 'EventRecord'},
-   
-          ]
-        },
-        {
-          authName:"栏舍管理", id:30, order:1,iconclass:'iconfont el-icon-s-order',
-          children:[
-            {id:303,authName:"牛只栏舍",iconclass:'iconfont el-icon-message',path: 'CowCowShed'},
-            {id:304,authName:"栏舍分组",iconclass:'iconfont el-icon-message',path: 'CowShedGroup'},
-            // {id:304,authName:"分类参数",iconclass:'iconfont el-icon-message',path: 'users56'},
-            // {id:305,authName:"产品分类",iconclass:'iconfont el-icon-message',path: 'categories'},
-          ]
-        },
-        {
-          authName:"配方计划", id:40, order:1,iconclass:'iconfont el-icon-s-order',
-          children:[
-            {id:403,authName:"饲喂计划",iconclass:'iconfont el-icon-message',path: 'FeedPlan'},
-            {id:404,authName:"配方模板",iconclass:'iconfont el-icon-message',path: 'FormulaTemplate'},
-          ]
-        },
 
 
  
-        {
-          authName:"基础数据", id:60, order:6,iconclass:'iconfont el-icon-s-order',
-          children:[
-           {id:601,authName:"犊牛类型",iconclass:'iconfont el-icon-message',path: 'CalfType'},
-           {id:602,authName:"工单类型",iconclass:'iconfont el-icon-message',path: 'WorkOrderType'},
-           {id:603,authName:"饲喂车管理",iconclass:'iconfont el-icon-message',path: 'FeedCarManagement'},
-          //  {id:604,authName:"疾病类型",iconclass:'iconfont el-icon-message',path: 'DiseaseType'},
-           {id:605,authName:"预设饲喂模板",iconclass:'iconfont el-icon-message',path: 'FeedTemplate'},
-
-           {id:606,authName:"默认标准参数",iconclass:'iconfont el-icon-message',path: 'DefaultPara'},
-           {id:607,authName:"饲料成本设置",iconclass:'iconfont el-icon-message',path: 'FeedCost'},
+        // {
+        //   authName:"基础数据", id:60, order:6,iconclass:'iconfont el-icon-s-order',
+        //   children:[
+        //    {id:601,authName:"犊牛类型",iconclass:'iconfont el-icon-message',path: 'CalfType'},
+        //    {id:602,authName:"工单类型",iconclass:'iconfont el-icon-message',path: 'WorkOrderType'},
+        //    {id:603,authName:"饲喂车管理",iconclass:'iconfont el-icon-message',path: 'FeedCarManagement'},
+        //   //  {id:604,authName:"疾病类型",iconclass:'iconfont el-icon-message',path: 'DiseaseType'},
+        //    {id:605,authName:"预设饲喂模板",iconclass:'iconfont el-icon-message',path: 'FeedTemplate'},
+
+        //    {id:606,authName:"默认标准参数",iconclass:'iconfont el-icon-message',path: 'DefaultPara'},
+        //    {id:607,authName:"饲料成本设置",iconclass:'iconfont el-icon-message',path: 'FeedCost'},
             
-          ]
-        },
-
-        {
-          authName:"系统管理", id:60, order:6,iconclass:'iconfont el-icon-s-order',
-          children:[
-            {id:701,authName:"用户管理",iconclass:'iconfont el-icon-message',path: 'User'},
-            {id:702,authName:"角色管理",iconclass:'iconfont el-icon-message',path: 'Role'},
+        //   ]
+        // },
+
+        // {
+        //   authName:"系统管理", id:60, order:6,iconclass:'iconfont el-icon-s-order',
+        //   children:[
+        //     {id:701,authName:"用户管理",iconclass:'iconfont el-icon-message',path: 'User'},
+        //     {id:702,authName:"角色管理",iconclass:'iconfont el-icon-message',path: 'Role'},
               
-          ]
-        },
+        //   ]
+        // },
 
       ]
     }
   },
   created(){
-     //this.getMenuList()
+     this.getMenuList()
      this.activePath = window.sessionStorage.getItem('activePath')
   },
   methods:{
@@ -213,6 +201,24 @@ export default {
     },
     //获取所有菜单
     getMenuList(){
+      var me = this 
+
+     
+      ajaxDataPost('/api/v1/system/user/permissions', {}).then(e => {
+        console.log("getMenuList请求结果:",e)
+          //打印请求成功结果
+          if(e.code == 200 ){
+            
+            me.menuList = e.data.menu_list
+          } else {
+            me.menuList = []
+            
+          }
+
+        
+  
+        })
+
 
     },
     //折叠展开左侧菜单

+ 4 - 6
src/views/Login.vue

@@ -73,19 +73,17 @@ export default {
   data() {
     return {
       loginForm:{
-        user_name:"admin",
-        password:"123456" 
+        user_name:"10011",
+        password:"e10adc3949ba59abbe56e057f20f883e" 
  
       },
       //表单验证规则
       loginFormRules:{
         user_name:[
-          { required:true, message:"请输入登录名称", trigger:"blur" },
-          { min:3, max:10, message:"长度在3到10个字符", trigger:"blur"},
+          { required:true, message:"请输入登录名称", trigger:"blur" }
         ],
         password:[
-          { required:true, message:"请输入登录密码", trigger:"blur" },
-          { min:6, max:15, message:"长度在6到15个字符", trigger:"blur"},
+          { required:true, message:"请输入登录密码", trigger:"blur" } 
         ]
       },
 

+ 141 - 171
src/views/basicSettings/DefaultPara.vue

@@ -1,13 +1,89 @@
 <template>
  
   <div>
-   待开发页面
+    <el-card>
+ 
+    <el-form  ref="addFormRef"  :rules="addFormRules"  :model="addForm"  label-position="right" label-width="200px"  style="width:70%;">
+      
+        <el-row>
+          <el-col :span="12">
+       
+            <el-form-item label="代乳粉与水的比例:" prop="name">
+              <el-col :span="11">
+                <el-form-item prop="milk_replace_min">
+                  <el-input-number v-model="addForm.milk_replace_min" style="width:100%;" :controls="false" placeholder="比例" />
+                </el-form-item>
+              </el-col>
+              <el-col class="line" :span="2">-</el-col>
+              <el-col :span="11">
+                <el-form-item prop="milk_replace_max">
+                  <el-input-number v-model="addForm.milk_replace_max" style="width:100%;" :controls="false" placeholder="比例" />
+                </el-form-item>
+              </el-col> 
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="饲喂班次数量:" prop="class_number">
+                <el-select  v-model="addForm.class_number" filterable placeholder="请选择"   style="width: 98%;" >
+                  <el-option v-for="item in classList" :key="item.id" :label="item.value" :value="item.id" />
+                </el-select>
+              </el-form-item> 
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="计量单位小数点位数:" prop="measurement_decimals">
+                <el-select  v-model="addForm.measurement_decimals" filterable placeholder="请选择"   style="width: 98%;" >
+                  <el-option v-for="item in unitList1" :key="item.id" :label="item.value" :value="item.id" />
+                </el-select>
+              </el-form-item> 
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="比例小数点位数:" prop="ratio_decimals">
+                <el-select  v-model="addForm.ratio_decimals" filterable placeholder="请选择"   style="width: 98%;" >
+                  <el-option v-for="item in unitList2" :key="item.id" :label="item.value" :value="item.id" />
+                </el-select>
+              </el-form-item> 
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
+       
+            <el-form-item label="犊牛断奶提醒:" prop="weaning_reminder">
+              <el-input  v-model="addForm.weaning_reminder" :controls="false" placeholder="比例" >
+                <template slot="append">天</template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="饲喂时间误差范围:" prop="feed_plan_time_rang">
+              <el-input  v-model="addForm.feed_plan_time_rang" :controls="false" placeholder="比例" >
+                <template slot="append">分钟</template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
+            <el-button type="warning" @click="reset_save()">恢复默认</el-button>
+            <el-button type="primary" @click="add_dialog_save()">保存</el-button>
+          </el-col>
+        </el-row>
 
-   
 
  
- 
-    
+
+
+      
+            
+              
+    </el-form>
+   
+  
+    </el-card>
   </div>
 
 
@@ -28,19 +104,14 @@ export default {
  
 
       //接口 - 获取 - 表格
-      url_get_table:'/api/v1/ops/barn/list',
+      url_get_table:'/api/v1/ops/base_setting/default_params/list',
       //接口 - 新增 - 表格
-      url_add_table:'/api/v1/ops/barn/add',  
+      url_add_table:'/api/v1/ops/base_setting/default_params/edit',  
       //接口 - 修改 - 表格
-      url_edit_table:'/api/v1/ops/barn/update', 
-      //接口 - 删除 - 表格
-      url_delete_table:'/api/v1/ops/barn/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',
+      url_get_select1:'/role/getAll',
 
       //按钮权限
       isButtonEdit:false,
@@ -71,21 +142,34 @@ export default {
       ],
 
 
-      //栏舍状态
-      statusList:[
-        {id: 1, value: '正常'},
-        {id: 2, value: '空栏'},
-        {id: 3, value: '损坏'},
+      
+      classList:[
+        {id: 1, value: 1},
+        {id: 2, value: 2},
+        {id: 3, value: 3},
+        {id: 4, value: 4},
       ],
 
-    
+      unitList1:[
+        {id: 1, value: '整数'},
+        {id: 2, value: '保留1位'},
+        {id: 3, value: '保留2位'},
+        {id: 4, value: '保留3位'},
+      ],
 
-      //栏舍组下拉
-      barnGroupList:[
-         
+      unitList2:[
+        {id: 1, value: '整数'},
+        {id: 2, value: '保留1位'},
+        {id: 3, value: '保留2位'},
+        {id: 4, value: '保留3位'},
       ],
 
 
+    
+
+ 
+
+
       addFormShow:false,
       addFormStatus: '',
       addFormTxt: {  edit: '修改',  create: '新增' },
@@ -111,10 +195,10 @@ export default {
      
 
      //获取下拉框
-       //this.get_select_list1()
+     // this.get_select_list1()
 
       //表格 - 初始化 
-        //this.get_table_data()
+      this.get_table_data()
 
      
 
@@ -132,13 +216,14 @@ export default {
     //获取 下拉框
     get_select_list1(){
         var me = this
-        ajaxDataPost(me.url_get_select2, { name: ""}).then(e => {
-          console.log("栏舍组下拉框:",e)
+        ajaxDataGet(me.url_get_select1, {"roleName": "",  "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.barnGroupList = []
+          //打印请求成功结果
+          if(e.data == null || e.data == undefined ||e.data.length == 0   ){
+            me.roleList = []
           } else {
-            me.barnGroupList = e.data.list
+            me.roleList = e.data
           }
 
          
@@ -146,17 +231,17 @@ export default {
         })
 
 
-        // ajaxDataGet('/authdata/pasture', {  "page": 1,   "page_size": 1000}).then(e => {
-        //   console.log("牧场下拉框1:",e)
+        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
-        //   }
+          //打印请求成功结果
+          if(e.data == null || e.data == undefined ||e.data.length == 0   ){
+            me.pastureList = []
+          } else {
+            me.pastureList = e.data
+          }
   
-        // })
+        })
 
     
     },
@@ -170,24 +255,19 @@ export default {
      me.tableLoading = true
      console.log("searchData======>", me.searchData)
 
-      var send_url = me.url_get_table + '?page=' + me.searchData.page +  '&page_size=' + me.searchData.page_size
+      var send_url = me.url_get_table  
 
-      ajaxDataPost(send_url,  me.searchData).then(e => {
+      ajaxDataGet(send_url,  {}).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;	//每页数量
-           
+            me.addForm = e.data
+
           } else {
-            me.$message({ type: 'error', message: '请求表格列表失败!' + e.msg, duration: 2000 })
+            me.$message({ type: 'error', message: '请求默认数据失败!' + e.msg, duration: 2000 })
           }
 
-          setTimeout(() => {
-            me.tableLoading = false
-          }, 100)
+      
   
         })
 
@@ -225,10 +305,6 @@ export default {
     //清空弹窗表单信息
     reset_form(){
       this.addForm.name = ''
-      this.addForm.id = undefined
-      this.addForm.barn_group_id = undefined
-      this.addForm.number = ''
-       
     },
 
     //新增
@@ -243,7 +319,6 @@ export default {
 
     //编辑
     form_edit(row) {
-      this.reset_form()
       console.log('行内容row=========', row)
       //编辑行内容赋值
       this.addForm = Object.assign({}, row)  
@@ -269,10 +344,13 @@ export default {
         if (valid) {
           //发起请求
           var send_data = {
-              "name": me.addForm.name,
-              "barn_group_id": me.addForm.barn_group_id,
-              "number": me.addForm.number,
-
+              "milk_replace_min": me.addForm.milk_replace_min,
+              "milk_replace_max": me.addForm.milk_replace_max,
+              "class_number": me.addForm.class_number,
+              "measurement_decimals": me.addForm.measurement_decimals,
+              "ratio_decimals": me.addForm.ratio_decimals,
+              "weaning_reminder": parseFloat(me.addForm.weaning_reminder),
+              "feed_plan_time_rang": parseFloat(me.addForm.feed_plan_time_rang) 
           }
           console.log("弹窗参数:", send_data)
 
@@ -283,137 +361,29 @@ export default {
                 console.log("新增结果:",e)
                 //打印请求成功结果
                 if(e.code == 200  ){
-                  me.$message({ type: 'success', message: '新增成功!'  , duration: 2000 })
-                  //关闭弹窗
-                  me.addFormShow = false
+                  me.$message({ type: 'success', message: '修改成功!'  , duration: 2000 })
+         
                   me.get_table_data()
                 } else {
-                  me.$message({ type: 'error', message: '新增失败!' + e.msg, duration: 2000 })
+                  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,
-              "barn_group_id": me.addForm.barn_group_id,
-              "number": me.addForm.number,
-          }
 
-          // var name = this.barnGroupList.find(obj => obj.id == me.addForm.barn_group_id).name
-          // console.log(name)
 
-           // 编辑保存
-          console.log("弹窗参数:", send_data)
+    reset_save(){
 
-          //关闭弹窗
-          // 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')
-}
-
+     
      
 
   }

+ 239 - 144
src/views/basicSettings/FeedCost.vue

@@ -1,11 +1,117 @@
 <template>
  
   <div>
-   待开发页面
 
-   
+
+    <el-card class="box-card">
+     
+
+ 
+      <!-- 表格 -->
+      <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.cost }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="最近更新时间" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.updated_at_format }}</span>
+          </template>
+        </el-table-column> 
+        <el-table-column label="最近更新用户" min-width="150px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.operation_user }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="成本更新记录" min-width="150px" align="center">
+          <template slot-scope="scope">
+             <el-button type="primary" size="mini"  @click="form_record_see(scope.row)">查看</el-button>
+          </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" @click="form_edit(scope.row)">修改</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
 
  
+    </el-card>
+
+
+    <!-- 弹窗 新增or修改 -->
+    <el-dialog   title="设置" :visible.sync="addFormShow" @close="add_dialog_close" width="50%">
+      <div class="">
+        <el-form  ref="addFormRef"  :rules="addFormRules"  :model="addForm"  label-position="right" label-width="100px"  style="width:50%;margin:0 auto 50px">
+            <el-form-item label="类型名称:" prop="name">
+                <el-input   v-model="addForm.name" disabled ></el-input>  
+            </el-form-item>
+            <el-form-item label="成本:" prop="cost">
+                <el-input   v-model="addForm.cost" ></el-input>  
+            </el-form-item>
+           
+            
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="edit_dialog_save()">确认</el-button>
+          <el-button @click="addFormShow = false">关闭</el-button>
+        </div>
+      </div>
+    </el-dialog>
+
+
+    <el-dialog   title="" :visible.sync="seeFormShow" @close="see_dialog_close" width="80%">
+      <div class="">
+
+         <!-- 搜索区域 -->
+         <h2 style="float:left">饲料名称:{{tableListTxt2}}</h2>
+         <div class="search-bx1">
+          <el-date-picker v-model="searchData2.inputDatetime" type="daterange"   range-separator="至" start-placeholder="操作时间" end-placeholder="操作时间"  class="g-mr20" />
+          
+          <el-button type="primary"   @click="form_search2">搜索</el-button>
+        </div>
+        
+        <el-table   key="0"  :data="tableList2"  v-loading="tableLoading2" 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.cost }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作时间" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.updated_at_format }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作用户" min-width="150px" align="center">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.operation_user }}</span>
+                </template>
+              </el-table-column>
+        </el-table>
+
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="seeFormShow = false">关闭</el-button>
+        </div>
+      </div>
+    </el-dialog>
  
     
   </div>
@@ -28,19 +134,17 @@ export default {
  
 
       //接口 - 获取 - 表格
-      url_get_table:'/api/v1/ops/barn/list',
-      //接口 - 新增 - 表格
-      url_add_table:'/api/v1/ops/barn/add',  
+      url_get_table:'/api/v1/ops/base_setting/forage/list',
+
+      url_get_table2:'/api/v1/ops/base_setting/forage_cost_log/list',
+    
+   
       //接口 - 修改 - 表格
-      url_edit_table:'/api/v1/ops/barn/update', 
-      //接口 - 删除 - 表格
-      url_delete_table:'/api/v1/ops/barn/delete', 
+      url_edit_table:'/api/v1/ops/base_setting/forage/edit', 
+   
       
       //接口 - 下拉框 列表 
-      url_get_select1:'/api/v1/ops/calf_feed/enum/list',
-
-      //接口 - 下拉框 列表 栏舍组
-      url_get_select2:'/api/v1/ops/barn_group/list?page=1&page_size=1000',
+      url_get_select1:'/role/getAll',
 
       //按钮权限
       isButtonEdit:false,
@@ -71,19 +175,14 @@ export default {
       ],
 
 
-      //栏舍状态
-      statusList:[
-        {id: 1, value: '正常'},
-        {id: 2, value: '空栏'},
-        {id: 3, value: '损坏'},
+      
+      pastureList:[
+    
       ],
 
     
 
-      //栏舍组下拉
-      barnGroupList:[
-         
-      ],
+ 
 
 
       addFormShow:false,
@@ -92,13 +191,34 @@ export default {
       addForm:{
         name:'',id:'' 
       },
-
       addFormRules:{
-        // name: [
-        //   { required: true, message: '类型必填', trigger: 'blur' },
-        // ],
-   
+        name: [
+          { required: true, message: '类型必填', trigger: 'blur' },
+        ],
+      },
+
+
+      tableLoading2: false,
+      //表格内容
+      tableListTxt2:'',
+      tableList2:[],
+      seeFormShow:false,
+      seeFormStatus: '',
+      seeFormTxt: {  edit: '修改',  create: '新增' },
+      seeForm:{
+        name:'',id:''
+      },
+
 
+      searchData2:{
+        min_operation_time: '',
+        max_operation_time: '',
+        inputDatetime: '',
+        forage_id:undefined,
+        page: 1,  //页码
+        page_size: 10,   //每页数量
+        total:0,  //总页数
+        pastureId: ""
       },
 
      
@@ -111,10 +231,10 @@ export default {
      
 
      //获取下拉框
-       //this.get_select_list1()
+     // this.get_select_list1()
 
       //表格 - 初始化 
-        //this.get_table_data()
+      this.get_table_data()
 
      
 
@@ -132,13 +252,14 @@ export default {
     //获取 下拉框
     get_select_list1(){
         var me = this
-        ajaxDataPost(me.url_get_select2, { name: ""}).then(e => {
-          console.log("栏舍组下拉框:",e)
+        ajaxDataGet(me.url_get_select1, {"roleName": "",  "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.barnGroupList = []
+          //打印请求成功结果
+          if(e.data == null || e.data == undefined ||e.data.length == 0   ){
+            me.roleList = []
           } else {
-            me.barnGroupList = e.data.list
+            me.roleList = e.data
           }
 
          
@@ -146,17 +267,17 @@ export default {
         })
 
 
-        // ajaxDataGet('/authdata/pasture', {  "page": 1,   "page_size": 1000}).then(e => {
-        //   console.log("牧场下拉框1:",e)
+        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
-        //   }
+          //打印请求成功结果
+          if(e.data == null || e.data == undefined ||e.data.length == 0   ){
+            me.pastureList = []
+          } else {
+            me.pastureList = e.data
+          }
   
-        // })
+        })
 
     
     },
@@ -170,9 +291,8 @@ export default {
      me.tableLoading = true
      console.log("searchData======>", me.searchData)
 
-      var send_url = me.url_get_table + '?page=' + me.searchData.page +  '&page_size=' + me.searchData.page_size
-
-      ajaxDataPost(send_url,  me.searchData).then(e => {
+      var send_url = me.url_get_table + '?page=1&page_size=1000' 
+      ajaxDataGet(send_url,  me.searchData).then(e => {
         console.log("表格请求结果:",e)
           //打印请求成功结果
           if(e.code == 200 ){
@@ -193,13 +313,7 @@ export default {
 
        
     },
-    //搜索 查询表格
-    form_search(){
-      var me = this
-      console.log('请求表格列表searchData',me.searchData)
-      me.get_table_data()
-
-    },
+    
 
     //重置 表格
     form_clear(){
@@ -225,25 +339,15 @@ export default {
     //清空弹窗表单信息
     reset_form(){
       this.addForm.name = ''
-      this.addForm.id = undefined
-      this.addForm.barn_group_id = undefined
-      this.addForm.number = ''
-       
     },
 
-    //新增
-    form_add() {
-      this.reset_form()
-      this.addFormStatus = 'create'
-      this.addFormShow = true
-      this.$nextTick(() => {
-        this.$refs['addFormRef'].clearValidate()
-      })
+    //新增关闭
+    add_dialog_close(){
+       //内容重置
+       this.$refs['addFormRef'].resetFields()
     },
-
     //编辑
     form_edit(row) {
-      this.reset_form()
       console.log('行内容row=========', row)
       //编辑行内容赋值
       this.addForm = Object.assign({}, row)  
@@ -255,46 +359,7 @@ export default {
     },
 
 
-    //新增关闭
-    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,
-              "barn_group_id": me.addForm.barn_group_id,
-              "number": me.addForm.number,
-
-          }
-          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
@@ -303,23 +368,16 @@ export default {
         if (valid) {
           //发起请求
           var send_data = {
-    
               "id": me.addForm.id,
               "name": me.addForm.name,
-              "barn_group_id": me.addForm.barn_group_id,
-              "number": me.addForm.number,
+              "cost": parseFloat(me.addForm.cost),
           }
-
-          // 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 => {
+         ajaxDataPost(me.url_edit_table, send_data).then(e => {
                 console.log("编辑结果:",e)
                 //打印请求成功结果
                 if(e.code == 200  ){
@@ -337,46 +395,83 @@ export default {
     },
 
 
+
     
-    
+     //查看记录
+     form_record_see(row) {
+      var me = this
+      console.log('行内容row=========', row)
+      //编辑行内容赋值
+      this.seeForm = Object.assign({}, row)
 
+      this.seeFormShow = true
+      this.searchData2.forage_id = row.id
+   
 
+      this.get_table_data2()
 
-    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 })
-                }
-            })
 
-        
+     //新增关闭
+     see_dialog_close(){
+       //内容重置
+       this.seeFormShow = false
+     },
+
+    //获取 表格
+    get_table_data2() {
  
-          
-        }).catch(() => {
-          me.$message({
-            type: 'info',
-            message: '已取消删除'
-          });          
-        });
+        var me = this
 
+        me.tableLoading = true
+        console.log("searchData======>", me.searchData)
 
-       
+          var send_url2 = me.url_get_table2 + '?page=' + me.searchData2.page +  '&page_size=' + me.searchData2.page_size
+
+          ajaxDataPost(send_url2,  me.searchData2).then(e => {
+            console.log("表格请求结果:",e)
+              //打印请求成功结果
+              if(e.code == 200 ){
+                me.tableList2 = e.data.list
+                me.searchData2.total = e.data.total;	// 总数
+                me.searchData2.page = e.data.page;	//页码
+                me.searchData2.page_size = e.data.page_size;	//每页数量
+              
+              } else {
+                me.$message({ type: 'error', message: '请求表格列表失败!' + e.msg, duration: 2000 })
+              }
+
+              setTimeout(() => {
+                me.tableLoading = false
+              }, 100)
+
+            })
+
+      
     },
 
+
+    //搜索 查询表格
+    form_search2(){
+      var me = this
+      console.log('请求表格列表searchData',me.searchData2)
+      if (me.searchData2.inputDatetime !== '' && me.searchData2.inputDatetime !== null) {
+          me.searchData2.min_operation_time = parseTime(me.searchData2.inputDatetime[0], '{y}-{m}-{d}')
+          me.searchData2.max_operation_time = parseTime(me.searchData2.inputDatetime[1], '{y}-{m}-{d}')
+        } else {
+          me.searchData2.inputDatetime = ''
+          me.searchData2.min_operation_time = ''
+          me.searchData2.max_operation_time = ''
+        }
+      me.get_table_data2()
+
+    },
+
+   
+
+ 
  
     form_export() {
     //获取请求表格数据的参数

+ 4 - 4
src/views/cowManagement/CowInfo.vue

@@ -132,7 +132,7 @@
       <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="请选择" class="filter-item" style="width: 100%;" >
+              <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> 
@@ -140,7 +140,7 @@
                 <el-input   v-model="addForm.calf_code"  placeholder=""  ></el-input>  
             </el-form-item>
             <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-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> 
@@ -149,7 +149,7 @@
               <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="请选择" class="filter-item" style="width: 100%;" >
+              <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> 
@@ -163,7 +163,7 @@
                 <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" class="filter-item" :rows="3"  />
+              <el-input  v-model="addForm.remark" type="textarea" maxlength="200"   :rows="3"  />
             </el-form-item>
 
           

+ 686 - 161
src/views/cowManagement/EventRecord.vue

@@ -1,97 +1,268 @@
 <template>
+ 
   <div>
+
+
     <el-card class="box-card">
       <!-- 搜索区域 -->
       <div class="search-bx1">
-        <el-select v-model="searchData.class_id" filterable placeholder="操作方式" class="g-mr20  g-mb20" style="width: 180px;" clearable>
-          <!--<el-option v-for="item in enumList.class_list" :key="item.value" :label="item.label" :value="item.value" /> -->
-        </el-select>
-        <el-input v-model="searchData.feed_vehicle_name" placeholder="操作人"  style="width: 180px;" class="g-mr20" clearable />
-        <el-button type="primary"   @click="form_search">搜索</el-button>
-        <el-button type="primary"   @click="form_clear">重置</el-button>
-        <el-button type="primary"   @click="form_add">添加</el-button>
-        <!-- <el-button type="primary"   @click="form_export">导出</el-button> -->
+          <el-select v-model="searchData.source" filterable placeholder="操作方式" class="g-mr20" style="width: 180px;" clearable>
+                <el-option v-for="item in sourceList" :key="item.id" :label="item.name" :value="item.id" />
+          </el-select>
+
+       
+
+          <el-input v-model="searchData.operation_user" placeholder="操作人"  style="width: 220px;" class="g-mr20" clearable />
+
+          <el-date-picker v-model="searchData.inputDatetime1" class="g-mr20" type="daterange" range-separator="至" start-placeholder="操作日期" end-placeholder="操作日期" style="width: 250px;" />
+
+
+          <el-button type="primary"   @click="form_search">搜索</el-button>
+          <el-button type="primary"   @click="form_clear">重置</el-button>
+          <el-button type="primary"   @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.calf_category_name }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="事件类型" min-width="150px" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.event_kind }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="事件描述" min-width="150px" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.description }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="备注" min-width="150px" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.remark }}</span>
-          </template>
-        </el-table-column>
+          <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="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{ scope.row.calf_code  }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="犊牛类型" min-width="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{ scope.row.calf_category_name  }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="事件类型" min-width="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span v-if="scope.row.event_kind == 1">称重</span>
+              <span v-if="scope.row.event_kind == 2">饲喂</span>
+              <span v-if="scope.row.event_kind == 3">粪便情况</span>
+              <span v-if="scope.row.event_kind == 4">测量体温</span>
+              <span v-if="scope.row.event_kind == 5">测量心跳</span>
+              <span v-if="scope.row.event_kind == 6">测量呼吸</span>
+              <span v-if="scope.row.event_kind == 7">疾病</span>
+              <span v-if="scope.row.event_kind == 8">病愈</span>
+              <span v-if="scope.row.event_kind == 9">去角</span>
+              <span v-if="scope.row.event_kind == 10">去副乳</span>
+              <span v-if="scope.row.event_kind == 11">转栏</span>
+              <span v-if="scope.row.event_kind == 12">出栏</span>
+              <span v-if="scope.row.event_kind == 13">死亡</span>
 
-        <el-table-column label="来源" min-width="150px" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.source }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作人" min-width="150px" align="center">
+            </template>
+          </el-table-column>
+          <el-table-column label="事件描述" min-width="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{ scope.row.description  }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="备注" min-width="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{ scope.row.remark  }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="来源" min-width="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span v-if="scope.row.source == 2">录入</span>
+              <span v-if="scope.row.source == 1">导入</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作人" min-width="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{ scope.row.operation_user  }}</span>
+            </template>
+          </el-table-column>
+
+          <el-table-column label="操作日期" min-width="120px" align="center" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{ scope.row.operation_time  }}</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">
-            <span>{{ scope.row.operation_user }}</span>
+             <!-- 修改按钮 -->
+             <el-button type="primary" size="mini" icon="el-icon-edit" @click="form_edit(scope.row)">修改</el-button>
+             <!-- 删除按钮 -->
+             <el-button type="danger" size="mini" icon="el-icon-delete" @click="form_delete(scope.row)">删除</el-button>
           </template>
         </el-table-column>
-        <el-table-column label="操作日期" min-width="150px" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.operation_time }}</span>
-          </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="100px"  style="width:50%;margin:0 auto 50px">
+             
+
+            <el-row>
+                <el-form-item label="牛号:" prop="calf_code">
+                  <el-select ref="calf_code" v-model="addForm.calf_code" filterable placeholder="请选择" style="width: 100%;"  @change = "change_cow" :disabled="addFormStatus=='edit'" >
+                    <el-option v-for="item in cowNameList" :key="item.calf_code" :label="item.calf_code" :value="item.calf_code" />
+                  </el-select>
+                </el-form-item>
+            
+                <el-form-item label="犊牛类型:" prop="calf_category_name">
+                  <el-input ref="calf_category_name" v-model="addForm.calf_category_name"    disabled />
+                </el-form-item> 
+          
+                <el-form-item label="事件类型:" prop="event_kind">
+                  <el-select ref="event_kind" v-model="addForm.event_kind" filterable placeholder="请选择"  style="width: 100%;"  :disabled="addFormStatus=='edit'" >
+                    <el-option v-for="item in eventNameList" :key="item.id" :label="item.name" :value="item.id"  />
+                  </el-select>
+                </el-form-item>
+   
+            </el-row>
+
+             <!-- 1 称重 2 饲喂 3 粪便情况 4 测量体温 5 测量心跳 6 测量呼吸 7 疾病 8 病愈 9 去角 10 去副乳 11 转栏 12 出栏 13 死亡 -->
+             <!-- 称重 -->
+            <el-row   v-if="addForm.event_kind == 1" >
+               <el-form-item label="体重:" prop="weight">
+                  <el-input ref="weight" v-model="addForm.weight"   />
+                </el-form-item> 
+            </el-row>
+            <!-- 饲喂 -->
+            <el-row   v-if="addForm.event_kind == 2">
+               <el-form-item label="一班进食量:" prop="first_class_food_number">
+                  <el-input ref="first_class_food_number" v-model="addForm.first_class_food_number"   />
+                </el-form-item> 
+                <el-form-item label="二班进食量:" prop="second_class_food_number">
+                  <el-input ref="second_class_food_number" v-model="addForm.second_class_food_number"   />
+                </el-form-item> 
+                <el-form-item label="三班进食量:" prop="third_class_food_number">
+                  <el-input ref="third_class_food_number" v-model="addForm.third_class_food_number"  />
+                </el-form-item> 
+                <el-form-item label="四班进食量:" prop="fourth_class_food_number">
+                  <el-input ref="fourth_class_food_number" v-model="addForm.fourth_class_food_number"  />
+                </el-form-item> 
+            </el-row>
+            <!-- 粪便情况 -->
+            <el-row   v-if="addForm.event_kind == 3">
+                <el-form-item label="粪便评分:" prop="fecal_score">
+                  <el-select ref="fecal_score" v-model="addForm.fecal_score" filterable placeholder="请选择"  style="width: 100%;"  >
+                    <el-option v-for="item in scoreNameList" :key="item.id" :label="item.name" :value="item.id" />
+                  </el-select>
+                </el-form-item>
+            </el-row>
+            <!-- 测量体温 -->
+            <el-row   v-if="addForm.event_kind == 4" >
+               <el-form-item label="体温(℃):" prop="temp">
+                  <el-input ref="temp" v-model="addForm.temp"   />
+                </el-form-item> 
+            </el-row>
+            <!-- 测量心跳 -->
+            <el-row   v-if="addForm.event_kind == 5" >
+               <el-form-item label="心跳频率(次/分钟):" prop="heartbeat">
+                  <el-input ref="heartbeat" v-model="addForm.heartbeat"   />
+                </el-form-item> 
+            </el-row>
+            <!-- 测量呼吸 -->
+            <el-row   v-if="addForm.event_kind == 6" >
+               <el-form-item label="呼吸频率(次/分钟):" prop="breathe">
+                  <el-input ref="breathe" v-model="addForm.breathe"   />
+                </el-form-item> 
+            </el-row>
+            <!-- 疾病 -->
+            <el-row   v-if="addForm.event_kind == 7" >
+               <el-form-item label="疾病名称:" prop="diseased_type">
+                  <el-select ref="diseased_type" v-model="addForm.diseased_type" filterable placeholder="请选择"  style="width: 100%;"  >
+                    <el-option v-for="item in diseaseNameList" :key="item.id" :label="item.name" :value="item.id" />
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="用药:" prop="medication">
+                  <el-input ref="medication" v-model="addForm.medication"   />
+                </el-form-item> 
+            </el-row>
+            <!-- 转投栏舍 -->
+            <el-row   v-if="addForm.event_kind == 11" >
+                <el-form-item label="原栏舍:" prop="original_barn_name">
+                  <el-input ref="original_barn_name" v-model="addForm.original_barn_name"   disabled/>
+                </el-form-item> 
+                <el-form-item label="转投栏舍:" prop="new_barn_id">
+                  <el-select ref="new_barn_id" v-model="addForm.new_barn_id" filterable placeholder="请选择"  style="width: 100%;"  @change = "change_cowshed" >
+                    <el-option v-for="item in cowshedList" :key="item.id" :label="item.name" :value="item.id" />
+                  </el-select>
+                </el-form-item>
+            </el-row>
+            <!-- 死亡 -->
+            <el-row   v-if="addForm.event_kind == 13" >
+               <el-form-item label="死亡原因:" prop="reason">
+                  <el-input ref="reason" v-model="addForm.reason"   />
+                </el-form-item> 
+            </el-row>
+
+            <el-row  >
+                <el-form-item label="备注:" prop="remark">
+                  <el-input ref="remark" v-model="addForm.remark"   />
+                </el-form-item>
+            </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>
+
+ 
+    
   </div>
-</template>
+
+
+</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/event/list',
       //接口 - 新增 - 表格
-      url_add_table:'/api/v1/ops/barn/add',
+      url_add_table:'/api/v1/ops/event/add',  
       //接口 - 修改 - 表格
-      url_edit_table:'/api/v1/ops/barn/update',
+      url_edit_table:'/api/v1/ops/event/update', 
       //接口 - 删除 - 表格
-      url_delete_table:'/api/v1/ops/barn/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',
+      url_delete_table:'/api/v1/ops/event', 
+      
+      //接口 - 下拉框 列表 
+      url_get_select1:'/role/getAll',
+
       //按钮权限
       isButtonEdit:false,
 
       //获取 - 表格数据 - 参数
       searchData:{
         name: "",
+        inputDatetime1:"",
         page: 1,  //页码
         page_size: 10,   //每页数量
         total:0,  //总页数
@@ -99,68 +270,175 @@ export default {
       },
       tableLoading: false,
       //表格内容
-      tableList:[],
+      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: '损坏'},
+
+      
+      pastureList:[
+    
       ],
 
-      //栏舍组下拉
-      barnGroupList:[],
+    
+
+ 
+
 
       addFormShow:false,
       addFormStatus: '',
       addFormTxt: {  edit: '修改',  create: '新增' },
       addForm:{
-        name:'',id:''
+        name:'',id:'' 
       },
 
       addFormRules:{
-        // name: [
-        //   { required: true, message: '类型必填', trigger: 'blur' },
-        // ],
+        name: [
+          { required: true, message: '类型必填', trigger: 'blur' },
+        ],
+   
+
       },
+
+      //  下拉框 - 操作方式 
+      sourceList: [
+        {id: 1, name: "导入"}, 
+        {id: 2, name: "录入"},
+     
+      ], 
+
+      //  下拉框 - 犊牛类型 
+      cowNameList: [
+    
+      ], 
+
+
+      //  下拉框 - 事件类型 
+      eventNameList: [
+        {id: 1, name: "称重"}, 
+        {id: 2, name: "饲喂"}, 
+        {id: 3, name: "粪便情况"},
+        {id: 4, name: "测量体温"},
+        {id: 5, name: "测量心跳"},
+        {id: 6, name: "测量呼吸"},
+        {id: 7, name: "疾病"},
+        {id: 8, name: "痊愈"},
+        {id: 9, name: "去角"},
+        {id: 10, name: "去副乳"},
+        {id: 11, name: "转投栏舍"},
+        {id: 12, name: "出栏"},
+        {id: 13, name: "死亡"},
+      ], 
+
+
+      //  下拉框 - 粪便评分 
+      scoreNameList: [
+        {id: 5, name: "5分"}, 
+        {id: 4, name: "4分"}, 
+        {id: 3, name: "3分"},
+        {id: 2, name: "2分"},
+        {id: 1, name: "1分"},
+      ], 
+
+      //  下拉框 - 疾病 
+      diseaseNameList: [
+        {id: 1, name: "腹泻"}, 
+        {id: 2, name: "便秘"}, 
+        {id: 3, name: "下痢"},
+        {id: 4, name: "脐炎"},
+        {id: 5, name: "肺炎"},
+        {id: 6, name: "软瘫衰弱"}
+      ], 
+
+      //  下拉框 - 栏舍
+      cowshedList: [
+        // {id: "栏舍组1", name: "栏舍组1"}, 
+        // {id: "栏舍组2", name: "栏舍组2"}, 
+        // {id: "栏舍组3", name: "栏舍组3"}
+      ], 
+
+     
+       
     }
   },
   created(){
-    //获取按钮权限
-    // this.get_auto_buttons
+      //获取按钮权限
+      // this.get_auto_buttons 
+     
+
+     //获取下拉框
+      this.get_select_list1()
+
+      //表格 - 初始化 
+      this.get_table_data()
 
-    //获取下拉框
-    //this.get_select_list1()
+     
 
-    //表格 - 初始化
-    //this.get_table_data()
+    
   },
   methods:{
+
     get_auto_buttons() {
       // 编辑
       const isButtonEdit = checkButtons(this.$store.state.buttonsList, "用户管理编辑")
       this.isButtonEdit = isButtonEdit
       console.log('this.isButtonEdit==========',this.isButtonEdit)
     },
-
+    
     //获取 下拉框
     get_select_list1(){
-      var me = this
-      ajaxDataPost(me.url_get_select2, { name: ""}).then(e => {
-        console.log("栏舍组下拉框:",e)
-        if(e.data.list == null || e.data.list == undefined ||e.data.list.length == 0   ){
-          me.barnGroupList = []
-        } else {
-          me.barnGroupList = e.data.list
-        }
-      })
+        var me = this
+
+        ajaxDataPost('http://192.168.1.70:8087/api/v1/ops/calf/list?page=1&page_size=10000', {}).then(e => {
+          console.log("牛只下拉框:",e)
+
+          if(e.code == 200 ){
+            me.cowNameList = e.data.list
+           
+          } else {
+            me.cowNameList = []
+          }
+        })
+
+
+
+  
+
+        ajaxDataPost('http://192.168.1.70:8087/api/v1/ops/barn/list?page=1&page_size=1000', {}).then(e => {
+          console.log("栏舍下拉框:",e)
+
+          if(e.code == 200 ){
+            me.cowshedList = e.data.list
+           
+          } else {
+            me.cowshedList = []
+          }
+        })
+
+ 
+
+    
     },
 
+    
     //获取 表格
     get_table_data() {
-      var me = this
-      me.tableLoading = true
-      console.log("searchData======>", me.searchData)
+ 
+     var me = this
+
+     me.tableLoading = true
+     console.log("searchData======>", me.searchData)
 
       var send_url = me.url_get_table + '?page=' + me.searchData.page +  '&page_size=' + me.searchData.page_size
 
@@ -172,7 +450,7 @@ export default {
             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 })
           }
@@ -180,41 +458,78 @@ export default {
           setTimeout(() => {
             me.tableLoading = false
           }, 100)
+  
         })
 
-      },
+       
+    },
     //搜索 查询表格
     form_search(){
       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()
 
     },
+
     //重置 表格
     form_clear(){
       var me = this
       me.searchData.name = ""
       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.barn_group_id = undefined
-      this.addForm.number = ''
     },
+
+    //监听 - 更改牛号
+    change_cow(value){
+      var me = this 
+      console.log("更改牛号Id",value)
+      var item  = me.cowNameList.find(obj => obj.id == value)
+      console.log("更改牛号当前的内容",item)
+      me.addForm.calf_code = item.calf_code
+      me.addForm.calf_category_id = item.calf_category_id
+      me.addForm.calf_category_name = item.calf_category_name
+      me.addForm.original_barn_id = item.barn_id
+      me.addForm.original_barn_name = item.barn_name
+          
+    },
+     //监听 - 更改栏舍
+    change_cowshed(value){
+      var me = this 
+      console.log("更改栏舍Id",value)
+      var item  = me.cowshedList.find(obj => obj.id == value)
+      console.log("更改栏舍当前的内容",item)
+  
+      
+      me.addForm.new_barn_string = item.name
+          
+    },
+
     //新增
     form_add() {
       this.reset_form()
@@ -224,23 +539,37 @@ export default {
         this.$refs['addFormRef'].clearValidate()
       })
     },
+
     //编辑
     form_edit(row) {
-      this.reset_form()
       console.log('行内容row=========', row)
-      //编辑行内容赋值
-      this.addForm = Object.assign({}, row)
+      if(row.message && row.message !== ""){
+        var messageTxt = JSON.parse(row.message)
+        //编辑行内容赋值
+        this.addForm  = Object.assign({}, row ,messageTxt)  
+      } else {
+        this.addForm  = Object.assign({}, row)  
+      }
+ 
+      
+
+    
+
+      console.log("this.addForm=========",this.addForm)
       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
@@ -248,25 +577,109 @@ export default {
         //验证成功
         if (valid) {
           //发起请求
+          
           var send_data = {
-            "name": me.addForm.name,
-            "barn_group_id": me.addForm.barn_group_id,
-            "number": me.addForm.number,
+              "calf_code": me.addForm.calf_code,
+              "calf_category_id":  me.addForm.calf_category_id,
+              "calf_category_name": me.addForm.calf_category_name,
+              "event_kind":me.addForm.event_kind,
+              "remark": me.addForm.remark,
+              "source": 2,
+              "message": "",
+          }
+          console.log("弹窗参数:", send_data)
+
+          // event_kind 1 称重 2 饲喂 3 粪便情况 4 测量体温 5 测量心跳 6 测量呼吸 7 疾病 8 病愈 9 去角 10 去副乳 11 转栏 12 出栏 13 死亡
+          var event_kind = me.addForm.event_kind
+          if(event_kind == 1){
+            var messageTxt = {
+              "weight":  parseFloat(me.addForm.weight)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+          if(event_kind == 2){
+            var messageTxt = {
+              "first_class_food_number":  parseFloat(me.addForm.first_class_food_number),
+              "second_class_food_number":  parseFloat(me.addForm.second_class_food_number),
+              "third_class_food_number":  parseFloat(me.addForm.third_class_food_number),
+              "fourth_class_food_number":  parseFloat(me.addForm.fourth_class_food_number),
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 3){
+            var messageTxt = {
+              "fecal_score":  me.addForm.fecal_score  
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 4){
+            var messageTxt = {
+              "temp":   parseFloat(me.addForm.temp)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 5){
+            var messageTxt = {
+              "heartbeat":  parseFloat(me.addForm.heartbeat)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 6){
+            var messageTxt = {
+              "breathe":  parseFloat(me.addForm.breathe)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 7){
+            var messageTxt = {
+              "diseased_type":  me.addForm.diseased_type,
+              "medication":  me.addForm.medication,
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 11){
+            var messageTxt = {
+              "original_barn_id":   parseFloat(me.addForm.original_barn_id),
+              "original_barn_name":  me.addForm.original_barn_name,
+              "new_barn_id":   parseFloat(me.addForm.new_barn_id),
+              "new_barn_string":  me.addForm.new_barn_string,
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          
+          if(event_kind == 13){
+            var messageTxt = {
+              "reason":  me.addForm.reason
+            }
+            send_data.message = JSON.stringify(messageTxt)
           }
-           console.log("弹窗参数:", send_data)
-           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 })
-              }
-          })
 
+      
+ 
+
+          //关闭弹窗
+          // 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 })
+                }
+            })
+         
         }
       })
     },
@@ -277,81 +690,193 @@ export default {
         //验证成功
         if (valid) {
           //发起请求
+        
+          
           var send_data = {
+             "id": me.addForm.id,
+              "calf_code": me.addForm.calf_code,
+              "calf_category_id":  me.addForm.calf_category_id,
+              "calf_category_name": me.addForm.calf_category_name,
+              "event_kind":me.addForm.event_kind,
+              "remark": me.addForm.remark,
+              "source": 2,
+              "message": "",
+          }
+          console.log("弹窗参数:", send_data)
 
-              "id": me.addForm.id,
-              "name": me.addForm.name,
-              "barn_group_id": me.addForm.barn_group_id,
-              "number": me.addForm.number,
+          // event_kind 1 称重 2 饲喂 3 粪便情况 4 测量体温 5 测量心跳 6 测量呼吸 7 疾病 8 病愈 9 去角 10 去副乳 11 转栏 12 出栏 13 死亡
+          var event_kind = me.addForm.event_kind
+          if(event_kind == 1){
+            var messageTxt = {
+              "weight":  parseFloat(me.addForm.weight)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+          if(event_kind == 2){
+            var messageTxt = {
+              "first_class_food_number":  parseFloat(me.addForm.first_class_food_number),
+              "second_class_food_number":  parseFloat(me.addForm.second_class_food_number),
+              "third_class_food_number":  parseFloat(me.addForm.third_class_food_number),
+              "fourth_class_food_number":  parseFloat(me.addForm.fourth_class_food_number),
+            }
+            send_data.message = JSON.stringify(messageTxt)
           }
 
-          // var name = this.barnGroupList.find(obj => obj.id == me.addForm.barn_group_id).name
-          // console.log(name)
+          if(event_kind == 3){
+            var messageTxt = {
+              "fecal_score":  me.addForm.fecal_score  
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
 
-           // 编辑保存
-          console.log("弹窗参数:", send_data)
+          if(event_kind == 4){
+            var messageTxt = {
+              "temp":   parseFloat(me.addForm.temp)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 5){
+            var messageTxt = {
+              "heartbeat":  parseFloat(me.addForm.heartbeat)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
 
+          if(event_kind == 6){
+            var messageTxt = {
+              "breathe":  parseFloat(me.addForm.breathe)
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 7){
+            var messageTxt = {
+              "diseased_type":  me.addForm.diseased_type,
+              "medication":  me.addForm.medication,
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          if(event_kind == 11){
+            var messageTxt = {
+              "original_barn_id":   parseFloat(me.addForm.original_barn_id),
+              "original_barn_name":  me.addForm.original_barn_name,
+              "new_barn_id":   parseFloat(me.addForm.new_barn_id),
+              "new_barn_string":  me.addForm.new_barn_string,
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+          
+          if(event_kind == 13){
+            var messageTxt = {
+              "reason":  me.addForm.reason
+            }
+            send_data.message = JSON.stringify(messageTxt)
+          }
+
+      
           //关闭弹窗
           // 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 })
-            }
-          })
+         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 })
-            }
-          })
+        }).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(() => {
+        
+ 
+          
+        }).catch(() => {
           me.$message({
             type: 'info',
             message: '已取消删除'
-          });
-       });
+          });          
+        });
+
+
+       
     },
 
+ 
     form_export() {
-      const excelDatas = [
+    //获取请求表格数据的参数
+    //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')
-    }
+            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>

+ 3 - 5
src/views/formulaPlan/FeedPlan.vue

@@ -53,9 +53,8 @@
 
         <el-table-column label="配方模板" min-width="150px" align="center">
           <template slot-scope="scope">
-             <el-button type="primary" size="mini" icon="el-icon-edit" @click="form_record_see(scope.row)">{{ scope.row.formula_name }}</el-button>
+             <el-button type="primary" size="mini"  @click="form_record_see(scope.row)">{{ scope.row.formula_name }}</el-button>
           </template>
-           
         </el-table-column>
         <el-table-column label="饲喂时间" min-width="150px" align="center">
           <template slot-scope="scope">
@@ -194,6 +193,7 @@
     </el-dialog>
 
 
+    <!-- 查看记录 -->
     <el-dialog   title="" :visible.sync="seeFormShow" @close="see_dialog_close" width="80%">
       <div class="">
          <h2 style="float:left">模板名称:{{tableListTxt2}}</h2>
@@ -522,6 +522,7 @@ export default {
       
     },
 
+    //查看记录
     form_record_see(row) {
       var me = this
       console.log('行内容row=========', row)
@@ -530,9 +531,6 @@ export default {
 
       this.seeFormShow = true
 
-
-      
-
       ajaxDataGet('/api/v1/ops/formula_plan/formula/'+row.formula_id, {  }).then(e => {
           console.log("配方模板:",e)
 

+ 339 - 187
src/views/systemManagement/Role.vue

@@ -1,16 +1,16 @@
 <template>
  
   <div>
-   未开发,未对接,光明的页面暂时拿过来用
+  
  
 
     <!-- 卡片视图区域 -->
     <el-card class="box-card">
       <div class="search-bx1">
-          <el-input v-model="sendData.roleName" placeholder="角色"  style="width: 220px;" class="g-mr20" clearable />
+          <el-input v-model="searchData.roleName" placeholder="角色"  style="width: 220px;" class="g-mr20" clearable />
       
           <el-button type="primary"   @click="form_search">搜索</el-button>
-          <el-button type="primary"   v-if="isButtonEdit" @click="form_add">添加角色</el-button>
+          <el-button type="primary"    @click="form_add">添加角色</el-button>
       </div>
 
 
@@ -18,20 +18,25 @@
       <el-table   key="0"  :data="tableList"  v-loading="tableLoading" element-loading-text="给我一点时间"  stripe border fit>
         <el-table-column label="序号"  width="50px" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.number }}</span>
+            <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.roleName }}</span>
+            <span>{{ scope.row.name }}</span>
           </template>
         </el-table-column>
- 
-        <el-table-column label="角色说明" min-width="150px" align="center">
+        <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.remark }}</span>
+            <span>{{ scope.row.created_at_format }}</span>
           </template>
         </el-table-column>
+        
     
  
         <!-- <el-table-column  label="状态"  min-width="100px" align="center">
@@ -42,13 +47,13 @@
         <el-table-column label="操作" align="center" width="400" class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="scope">
             <!-- 修改按钮 -->
-            <el-button  v-if="isButtonEdit" type="primary" size="mini" icon="el-icon-edit" @click="form_edit(scope.row)">修改</el-button>
+            <el-button    type="primary" size="mini" icon="el-icon-edit" @click="form_edit(scope.row)">修改</el-button>
             <!-- 删除按钮 -->
-            <el-button  v-if="isButtonEdit" type="danger" size="mini" icon="el-icon-delete" @click="form_delete(scope.row)">删除</el-button>
+            <el-button   type="danger" size="mini" icon="el-icon-delete" @click="form_delete(scope.row)">删除</el-button>
             <!-- 分配角色 -->
-            <el-button  v-if="isButtonEdit" type="warning" size="mini" icon="el-icon-setting" @click="form_set(scope.row)">分配权限</el-button>
+            <el-button   type="warning" size="mini" icon="el-icon-setting" @click="form_set(scope.row)">页面权限</el-button>
 
-            <el-button  v-if="isButtonEdit" type="warning" size="mini" icon="el-icon-setting" @click="form_set2(scope.row)">数据权限</el-button>
+            <el-button  type="warning" size="mini" icon="el-icon-setting" @click="form_set2(scope.row)">数据权限</el-button>
 
 
           </template>
@@ -56,7 +61,7 @@
       </el-table>
 
       <!-- 分页区域 -->
-      <el-pagination  @size-change="change_size_page"  @current-change="change_current_page"  :current-page="sendData.pageNum" :page-sizes="[1,5,10,20,30,50]"  :page-size="sendData.pageSize" layout="total, prev, pager, next" :total="sendData.total"/>
+      <el-pagination  @size-change="change_size_page"  @current-change="change_current_page"  :current-page="searchData.pageNum" :page-sizes="[1,5,10,20,30,50]"  :page-size="searchData.pageSize" layout="total, prev, pager, next" :total="searchData.total"/>
     </el-card>
 
 
@@ -64,14 +69,10 @@
     <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="70px"  style="width:50%;margin:0 auto 50px">
-            <el-form-item label="角色名" prop="roleName">
-                <el-input   v-model="addForm.roleName"  ></el-input>  
-            </el-form-item>
-            <el-form-item label="角色说明" prop="remark">
-                <el-input   v-model="addForm.remark"></el-input>  
+            <el-form-item label="角色名" prop="name">
+                <el-input   v-model="addForm.name"  ></el-input>  
             </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>
@@ -87,8 +88,8 @@
       <div class="">
         <el-form  ref="setFormRef"    :model="setForm"  label-position="right" label-width="70px"  style="width:50%;margin:0 auto 50px">
            
-           <!-- 树形控件 -->
-         <el-tree  ref="tree" :data="rightlist" :props="treeProps" show-checkbox   node-key="menuId"  default-expand-all :default-checked-keys="checkedIdArr" check-strictly    @check-change="change_check"> </el-tree>
+           <!-- 树形控件  -->
+         <el-tree  ref="tree" :data="rightlist" :props="treeProps" show-checkbox   node-key="id"  default-expand-all :default-checked-keys="checkedIdArr" check-strictly   @check-change="change_check"> </el-tree>
      
             
         </el-form>
@@ -127,8 +128,8 @@
 </template> 
 
 <script>
-import { ajaxDataGet, ajaxDataPost, checkButtons} from '@/api/common'
-
+import { ajaxDataGet, ajaxDataPost, ajaxDataPut, ajaxDataDelete, checkButtons} from '@/api/common'
+import { parseTime, json2excel } from '@/utils/index.js'
 export default {
   data() {
 
@@ -139,29 +140,32 @@ export default {
 
       
       //接口 - 获取 - 表格
-      url_get_table:'/role/getAll',
+      url_get_table:'/api/v1/system/role/list',
       //接口 - 新增 - 表格
-      url_add_table:'/role/add',  
+      url_add_table:'/api/v1/system/role/add',  
       //接口 - 修改 - 表格
-      url_edit_table:'/role/update', 
+      url_edit_table:'/api/v1/system/role/edit', 
       //接口 - 删除 - 表格
-      url_delete_table:'/role/delete', 
+      url_delete_table:'/api/v1/system/role', 
       
       isButtonEdit:false,
 
       //获取 - 表格数据 - 参数
-      sendData:{
-        "roleName": "",
-        "pageNum": 1,  //页码
-        "pageSize": 10,   //每页数量
-        "total":0,  //总页数
-        "pastureId": sessionStorage.getItem('g_pastureId')
+      searchData:{
+        name: "",
+        min_updated_time: "",
+        max_updated_time: "",
+        page: 1,  //页码
+        page_size: 10,   //每页数量
+        total:0,  //总页数
+       
+ 
       },
 
       tableLoading: false,
       //表格内容
       tableList:[
-         
+         {id:1,roleName:'111'}
       ],
 
 
@@ -174,11 +178,11 @@ export default {
       addFormStatus: '',
       addFormTxt: {  edit: '修改用户',  create: '新增用户' },
       addForm:{
-        roleName:'',remark:'' 
+        name:'',remark:'' 
       },
 
       addFormRules:{
-        roleName: [
+        name: [
           { required: true, message: '用户名必填', trigger: 'blur' },
           
         ],
@@ -202,71 +206,137 @@ export default {
       setForm:{
           username:'',password:'',email:'',mobile:'',roleList:[2,3]
       },
-   
+      
+      rightlistAll:[],
        
       //权限数据
       rightlist: [
-        // { "menuName": "功能模块", "parentId": 0,  "sort": 1,  "path": null, "menuId": 208,
+        // { "menuName": "数据统计", "parentId": 0,  "sort": 1,  "path": null, "menuId": 1, "type":1,
         //     "children": [
-        //         {"menuName": "设备基础信息", "parentId": 208, "sort": 2, "path": null, "menuId": 209 },
-        //         {"menuName": "故障管理", "parentId": 208, "sort": 3,"path": null,"menuId": 210 },
-        //         {"menuName": "设备绑定",  "parentId": 208,"sort": 4, "path": null, "menuId": 211},
-        //         {"menuName": "备件管理","parentId": 208,"sort": 5,"path": null,"menuId": 212},
-        //         {"menuName": "盘点","parentId": 208,"sort": 6,"path": null,"menuId": 213},
-        //         {"menuName": "维修记录","parentId": 208,"sort": 7,"path": null,"menuId": 225}
+        //         {"menuName": "饲喂过程", "parentId": 1, "sort": 1, "path": 'FeedProcess', "menuId": 10 ,"type":2},
+        //         {"menuName": "增重趋势", "parentId": 1, "sort": 2,"path":  'WeightTrend',"menuId": 11 ,"type":2},
+        //         {"menuName": "配方效果",  "parentId": 1,"sort": 3, "path": 'FormulaEffect', "menuId": 12,"type":2},
+        //         {"menuName": "成长达标率","parentId": 1,"sort": 4,"path": 'GrowthRate',"menuId": 13,"type":2},
+        //         {"menuName": "饲料成本","parentId": 1,"sort": 5,"path": 'FeedCost',"menuId": 14,"type":2},
+        //         {"menuName": "疾病情况","parentId": 1,"sort": 6,"path": 'DiseaseSituation',"menuId": 15},
+        //         {"menuName": "存活率","parentId": 1,"sort": 7,"path": 'SurvivalRate',"menuId": 16},
         //     ]
         // },
-        // { "menuName": "工单模块","parentId": 0,"sort": 7,"path": null,"menuId": 214,
+        // { "menuName": "牛只管理","parentId": 0,"sort": 2,"path": null,"menuId": 2, "type":1,
         //     "children": [
-        //         {"menuName": "维修接单","parentId": 214,"sort": 8,"path": null,"menuId": 215},
-        //         {"menuName": "维修","parentId": 214,"sort": 9,"path": null,"menuId": 216},
-        //         {"menuName": "预防性维护","parentId": 214,"sort": 10,"path": null,"menuId": 217},
-        //         {"menuName": "工单跟踪","parentId": 214,"sort": 18, "path": null,"menuId": 226}
+        //         {"menuName": "称量记录","parentId": 2,"sort": 1,"path": 'WeightRecord',"menuId": 20,"type":2,
+        //          "children": [
+        //               {"menuName": "称量记录编辑","parentId": 20,"sort": 1, "path": null,"menuId": 201,"type":3},
+        //           ]
+        //         },
+        //         {"menuName": "牛只信息","parentId": 2,"sort": 2,"path": 'CowInfo',"menuId": 21,"type":2,
+        //          "children": [
+        //               {"menuName": "牛只信息编辑","parentId": 21,"sort": 1, "path": null,"menuId": 211,"type":3},
+        //           ]
+        //         },
+        //         {"menuName": "事件记录","parentId": 2,"sort": 3,"path": 'EventRecord',"menuId": 22,"type":2,
+        //          "children": [
+        //               {"menuName": "事件记录编辑","parentId": 22,"sort": 1, "path": null,"menuId": 221,"type":3},
+        //           ]
+        //         }
         //     ]
         // },
-        // {"menuName": "报修模块","parentId": 0,"sort": 11,"path": null,"menuId": 218,
+        // {"menuName": "栏舍管理","parentId": 0,"sort": 3,"path": null,"menuId": 3, "type":1,
         //     "children": [
-        //         {"menuName": "报修","parentId": 218,"sort": 12, "path": null,"menuId": 219},
-        //         {"menuName": "派单","parentId": 218,"sort": 13,"path": null,"menuId": 220}
+        //         {"menuName": "牛只栏舍","parentId": 3,"sort": 1, "path": 'CowCowShed',"menuId": 30,"type":2,
+        //          "children": [
+        //               {"menuName": "牛只栏舍编辑","parentId": 30,"sort": 1, "path": null,"menuId": 301,"type":3},
+        //           ]
+        //         },
+        //         {"menuName": "栏舍分组","parentId": 3,"sort": 2,"path": 'CowShedGroup',"menuId": 31,"type":2,
+        //          "children": [
+        //               {"menuName": "栏舍分组编辑","parentId": 31,"sort": 1, "path": null,"menuId": 311,"type":3},
+        //           ]
+        //         }
         //     ]
         // },
-        // {"menuName": "审核模块","parentId": 0,"sort": 14,"path": null,"menuId": 221,
+        // {"menuName": "配方计划","parentId": 0,"sort": 4,"path": null,"menuId": 4, "type":1,
         //     "children": [
-        //         {"menuName": "维修审核","parentId": 221,"sort": 15, "path": null,"menuId": 222},
-        //         {"menuName": "领用审核", "parentId": 221,"sort": 16, "path": null,"menuId": 223},
-        //         {"menuName": "维护审核", "parentId": 221, "sort": 17,"path": null, "menuId": 224}
+        //         {"menuName": "饲喂计划","parentId": 4,"sort": 1, "path": 'FeedPlan',"menuId": 40,"type":2,
+        //          "children": [
+        //               {"menuName": "饲喂计划编辑","parentId": 40,"sort": 1, "path": null,"menuId": 401,"type":3},
+        //           ]
+        //         },
+        //         {"menuName": "配方模板", "parentId": 4,"sort": 2, "path": 'FormulaTemplate',"menuId": 41,"type":2,
+        //          "children": [
+        //               {"menuName": "配方模板编辑","parentId": 41,"sort": 1, "path": null,"menuId": 411,"type":3},
+        //           ]
+        //         } 
         //     ]
         // },
-        // {"menuName": "PC用户管理","parentId": 0,"sort": 30,"path": null,"menuId": 331,
+        // {"menuName": "工单管理","parentId": 0,"sort": 5,"path": null,"menuId": 5, "type":1,
         //     "children": [
-        //         {"menuName": "用户管理","parentId": 331,"sort": 18, "path": null,"menuId": 332,
-        //           "children": [
-        //               {"menuName": "用户管理查看","parentId": 221,"sort": 15, "path": null,"menuId": 222},
-        //               {"menuName": "用户管理编辑","parentId": 221,"sort": 15, "path": null,"menuId": 222},
+        //         {"menuName": "工单任务(分派)","parentId": 5,"sort": 1, "path": 'WorkTaskAssign',"menuId": 50,"type":2,
+        //          "children": [
+        //               {"menuName": "工单任务(分派)编辑","parentId": 50,"sort": 1, "path": null,"menuId": 501,"type":3},
         //           ]
-        //       },
+        //         },
+        //         {"menuName": "工单任务(执行)", "parentId": 5,"sort": 2, "path": 'WorkTaskImplement',"menuId": 51,"type":2,
+        //          "children": [
+        //               {"menuName": "工单任务(执行)编辑","parentId": 51,"sort": 1, "path": null,"menuId": 511,"type":3},
+        //           ]} 
         //     ]
         // },
-        // {"menuName": "PC权限管理","parentId": 0,"sort": 30,"path": null,"menuId": 331,
+        // {"menuName": "基础设置","parentId": 0,"sort": 6,"path": null,"menuId": 6, "type":1,
         //     "children": [
-        //         {"menuName": "角色列表","parentId": 331,"sort": 18, "path": null,"menuId": 332,
-        //           "children": [
-        //               {"menuName": "角色列表查看","parentId": 221,"sort": 15, "path": null,"menuId": 222},
-        //               {"menuName": "角色列表编辑","parentId": 221,"sort": 15, "path": null,"menuId": 222},
+        //         {"menuName": "犊牛类型","parentId": 6,"sort": 1, "path": 'CalfType',"menuId": 60,"type":2,
+        //          "children": [
+        //               {"menuName": "犊牛类型编辑","parentId": 60,"sort": 1, "path": null,"menuId": 601,"type":3},
         //           ]
-        //       },
+        //         },
+        //         {"menuName": "工单类型", "parentId": 6,"sort": 2, "path": 'WorkOrderType',"menuId": 61,"type":2,
+        //          "children": [
+        //               {"menuName": "工单类型编辑","parentId": 61,"sort": 1, "path": null,"menuId": 611,"type":3},
+        //           ]},
+        //         {"menuName": "饲喂车管理", "parentId": 6,"sort": 3, "path": 'FeedCarManagement',"menuId": 62,"type":2,
+        //          "children": [
+        //               {"menuName": "饲喂车管理编辑","parentId": 62,"sort": 1, "path": null,"menuId": 621,"type":3},
+        //           ]},
+        //         {"menuName": "疾病管理", "parentId": 6,"sort": 4, "path": 'DiseaseType',"menuId": 63,"type":2,
+        //          "children": [
+        //               {"menuName": "疾病管理编辑","parentId": 63,"sort": 1, "path": null,"menuId": 631,"type":3},
+        //           ]},
+        //         {"menuName": "预设饲喂模板", "parentId": 6,"sort": 5, "path": 'FeedTemplate',"menuId": 64,"type":2,
+        //          "children": [
+        //               {"menuName": "预设饲喂模板编辑","parentId": 64,"sort": 1, "path": null,"menuId": 641,"type":3},
+        //           ]},
+        //         {"menuName": "默认标准参数", "parentId": 6,"sort": 6, "path": 'DefaultPara',"menuId": 65,"type":2,
+        //          "children": [
+        //               {"menuName": "默认标准参数编辑","parentId": 65,"sort": 1, "path": null,"menuId": 651,"type":3},
+        //           ]},
+        //         {"menuName": "饲喂成本设置", "parentId": 6,"sort": 7, "path": 'FeedCost',"menuId": 66,"type":2,
+        //          "children": [
+        //               {"menuName": "饲喂成本设置编辑","parentId": 66,"sort": 1, "path": null,"menuId": 661,"type":3},
+        //           ]
+        //         },
+           
         //     ]
         // },
-        // {"menuName": "PC内容管理","parentId": 0,"sort": 30,"path": null,"menuId": 331,
+        // {"menuName": "系统管理","parentId": 0,"sort": 7,"path": null,"menuId": 7, "type":1,
         //     "children": [
-        //         {"menuName": "工时","parentId": 331,"sort": 18, "path": null,"menuId": 332,
-        //           "children": [
-        //               {"menuName": "工时查看","parentId": 221,"sort": 15, "path": null,"menuId": 222},
-                     
+        //         {"menuName": "用户管理","parentId": 7,"sort": 1, "path": 'User',"menuId": 70,"type":2,
+        //          "children": [
+        //               {"menuName": "用户管理编辑","parentId": 70,"sort": 1, "path": null,"menuId": 701,"type":3},
         //           ]
-        //       },
+        //         },
+        //         {"menuName": "角色管理", "parentId": 7,"sort": 2, "path": 'Role',"menuId": 71,"type":2,
+        //          "children": [
+        //               {"menuName": "用户管理编辑","parentId": 71,"sort": 1, "path": null,"menuId": 711,"type":3},
+        //           ]
+        //         },
+               
+           
         //     ]
-        // }
+        // },
+
+
+        
+       
     ],
       
       
@@ -274,7 +344,7 @@ export default {
 
       //树形控件的属性绑定对象
       treeProps:{
-        label:'menuName',children:'children'
+        label:'name',children:'children'
       },
 
       //树形默认选中的值
@@ -289,13 +359,12 @@ export default {
   },
   created(){
 
-    
-
+  
 
       //表格 - 初始化 
-       // this.get_table_data()
+      this.get_table_data()
        //下拉框
-        // this.get_select_list1()
+      this.get_select_list1()
 
 
        
@@ -316,17 +385,42 @@ export default {
  
     get_select_list1(){
       var me = this
-      ajaxDataGet('/menu/tree', {"onlyMenu": false, "isPc":""}).then(e => {
-        console.log("下拉框1:",e)
+      ajaxDataPost('/api/v1/system/menu/list', {"name":""}).then(e => {
+        console.log("树形下拉框1:",e)
 
  
-          if(e.data == null || e.data == undefined ||e.data.length == 0   ){
+          if(e.data.list == null || e.data.list  == undefined ||e.data.list.length == 0   ){
             me.rightlist = []
+            me.rightlistAll = []
+
           } else {
-            me.rightlist = e.data
+            var rightlistAll = []
+            me.rightlist = e.data.list 
+            me.rightlist.forEach(function(item){
+              if(item.children.length !== 0){
+
+                rightlistAll.push(item)
+                item.children.forEach(function(items){
+                  if(items.children.length !== 0){
+                    rightlistAll.push(items)
+                    items.children.forEach(function(itemss){
+                      rightlistAll.push(itemss)
+                    })
+                  }
+                })
+                 
+              } else {
+                rightlistAll.push(item)
+              }
+
+            })
           }
+          console.log('rightlistAll',rightlistAll)
+          me.rightlistAll = rightlistAll
+          
 
          
+         
   
         })
     },
@@ -334,7 +428,7 @@ export default {
 
     form_search(){
       var me = this
-      console.log('请求表格列表sendData',me.sendData)
+      console.log('请求表格列表ssearchData',me.searchData)
       this.get_table_data()
 
     },
@@ -345,19 +439,22 @@ export default {
       var me = this
 
       me.tableLoading = true
-      console.log("sendData======>", me.sendData)
+      console.log("searchData======>", me.searchData)
+        var send_url = me.url_get_table + '?page=' + me.searchData.page +  '&page_size=' + me.searchData.page_size
 
-        ajaxDataGet(me.url_get_table,  me.sendData).then(e => {
+        ajaxDataPost(send_url,  me.searchData).then(e => {
           console.log("表格请求结果:",e)
             //打印请求成功结果
-            if(e.data == null || e.data == undefined ||e.data.length == 0   ){
-              me.tableList = []
+            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.tableList = e.data
-              me.sendData.total = e.count;	// 总数
-              me.sendData.pageNum = e.pageNum;	//页码
-              me.sendData.pageSize = e.pageSize;	//每页数量
+              me.$message({ type: 'error', message: '请求表格列表失败!' + e.msg, duration: 2000 })
             }
+            
 
             setTimeout(() => {
               me.tableLoading = false
@@ -378,28 +475,31 @@ export default {
     //监听 pagenum 改变的事件
     change_current_page(item){
       console.log(item)
-       this.sendData.pageNum = item
+       this.searchData.pageNum = item
        this.get_table_data()
     },
 
 
     form_add() {
+    
+      this.reset_form()
       this.addFormStatus = 'create'
       this.addFormShow = true
       this.$nextTick(() => {
         this.$refs['addFormRef'].clearValidate()
       })
     },
+    //清空弹窗表单信息
+    reset_form(){
+      this.addForm.name = ''
+    },
 
-
+    //编辑
     form_edit(row) {
-      console.log('row', row)
-      this.addForm = Object.assign({}, row) // copy obj
-
+      console.log('行内容row=========', row)
+      //编辑行内容赋值
+      this.addForm = Object.assign({}, row)  
       this.addFormStatus = 'edit'
-
-
-
       this.addFormShow = true
       this.$nextTick(() => {
         this.$refs['addFormRef'].clearValidate()
@@ -407,122 +507,102 @@ export default {
     },
 
 
-    //监听关闭对话框
+    //新增关闭
     add_dialog_close(){
        //内容重置
        this.$refs['addFormRef'].resetFields()
     },
 
-
+    //新增 保存
     add_dialog_save() {
       var me = this
-      
       this.$refs['addFormRef'].validate(valid => {
         //验证成功
         if (valid) {
-
-          console.log(me.addForm )
           //发起请求
-
           var send_data = {
-              "roleName": me.addForm.roleName,
-              "remark":  me.addForm.remark
+              "name": me.addForm.name,
           }
           console.log("弹窗参数:", send_data)
 
           //关闭弹窗
           // me.addFormShow = false
          //加载 - 发送新增保存
-         ajaxDataPost(me.url_add_table, send_data).then(e => {
-          console.log("新增结果:",e)
-            //打印请求成功结果
-            if(e.msg == "success"  ){
-              me.$message({ type: 'success', message: '新增成功!'  , duration: 2000 })
-              //关闭弹窗
-              me.addFormShow = false
-              me.get_table_data()
-            } else {
-              me.$message({ type: 'error', message: '新增失败!' + e.msg, duration: 2000 })
-            }
-          })
-          
-          
+           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) {
-
-          console.log(me.addForm )
           //发起请求
-
           var send_data = {
-              "roleName": me.addForm.roleName,
-              "remark":  me.addForm.remark,
-              "roleId":  me.addForm.roleId,
+              "name": me.addForm.name,
+              "id": me.addForm.id,
           }
           console.log("弹窗参数:", send_data)
 
           //关闭弹窗
           // me.addFormShow = false
-         //加载 - 发送编辑保存
-          ajaxDataPost(me.url_edit_table, send_data).then(e => {
-           console.log("编辑结果:",e)
-            //打印请求成功结果
-            if(e.msg == "success"  ){
-              me.$message({ type: 'success', message: '编辑成功!'  , duration: 2000 })
-              //关闭弹窗
-              me.addFormShow = false
-              me.get_table_data()
-            } else {
-              me.$message({ type: 'error', message: '编辑失败!' + e.msg, duration: 2000 })
-            }
-          })
-          
-          
+         //加载 - 发送新增保存
+         ajaxDataPost(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
 
-      var send_data = {
-    
-              "roleId":  row.roleId
-          }
-
-       me.$confirm('是否删除该角色?', '提示', {
+       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 })
+                }
+            })
 
-           //加载 - 发送编辑保存
-           ajaxDataPost(me.url_delete_table, send_data).then(e => {
-            console.log("删除结果:",e)
-              //打印请求成功结果
-              if(e.msg == "success"  ){
-                me.$message({ type: 'success', message: '删除成功!'  , duration: 2000 })
-                //关闭弹窗
-                me.addFormShow = false
-                me.get_table_data()
-              } else {
-                me.$message({ type: 'error', message: '删除失败!' + e.msg, duration: 2000 })
-              }
-          })
-          // me.$message({
-          //   type: 'success',
-          //   message: '删除成功!'
-          // });
+        
+ 
+          
         }).catch(() => {
           me.$message({
             type: 'info',
@@ -543,12 +623,16 @@ export default {
       console.log('row', row)
       this.setForm = Object.assign({}, row) 
 
-      this.checkedIdArr = row.menuIdList
       
-      this.setFormShow = true
+      
+      
       this.$nextTick(() => {
         this.$refs['setFormRef'].clearValidate()
+
+        this.checkedIdArr = row.menu_ids
       })
+
+      this.setFormShow = true
     },
 
 
@@ -560,10 +644,35 @@ export default {
        this.checkedIdArr = []
        //清空树
        this.$refs.tree.setCheckedKeys([]);
+       this.setFormShow2 = false
     },
 
+
+
+
+
+
+ 
+
+
+
+
     
     change_check() {
+      var me =  this
+ 
+      // me.$nextTick(() => {
+      //   const arr = []
+      //   me.rightlist.forEach(item => {
+      //     if (!me.$refs.tree.getNode(item.menuId).childNodes || !me.$refs.tree.getNode(item.menuId).childNodes.length) {
+      //       arr.push(item.menuId)
+      //     }
+      //   })
+      //   console.log (arr)
+      //   me.$refs.tree.setCheckedKeys(arr)
+      // })
+ 
+      
       var checkedKeys = this.$refs.tree.getCheckedKeys() // 所有被选中的节点的 key 所组成的数组数据
       console.log(checkedKeys)
       this.checkedIdArr = checkedKeys
@@ -573,7 +682,46 @@ export default {
       var me = this
       console.log(me.setForm)
     
-      console.log(me.checkedIdArr)
+      console.log("选中的ID  checkedIdArr",me.checkedIdArr)
+
+
+      console.log(" rightlistAll",me.rightlistAll)
+     
+
+
+      var isParent = false 
+      me.rightlistAll.forEach(function(item){
+
+
+         me.checkedIdArr.forEach(function(items){
+           if(items == item.id ){
+              var parent_id = item.parent_id
+              var name = item.name
+              console.log('item.parent_id',item.parent_id)
+              if(parent_id !== 0){
+                var isParentCheck = me.checkedIdArr.indexOf(parent_id)
+                if(isParentCheck == -1){
+                  console.log('父级没勾上',name)
+           
+                  isParent = true
+                  return false
+                   
+                }
+              }
+              
+
+           
+           }
+         })
+      })
+
+      
+
+      if(isParent){
+        me.$message({ type: 'error', message:   '请勾选已选择菜单或按钮的父级权限!'  , duration: 2000 })
+        return false
+      }
+ 
 
       
  
@@ -586,26 +734,30 @@ export default {
           //发起请求
 
           var send_data = {
-            "roleId": me.setForm.roleId,
-            "menuIdList": me.checkedIdArr
+            "role_id": me.setForm.id,
+            "menu_ids":me.checkedIdArr
  
           }
           console.log("弹窗参数:", send_data)
 
+
+          
+
           //关闭弹窗
           // me.addFormShow = false
          //加载 - 发送编辑保存
-         ajaxDataPost('/role/menu/updateRoleMenu', send_data).then(e => {
+         ajaxDataPost('/api/v1/system/role/menu_ids', send_data).then(e => {
           console.log("编辑结果:",e)
             //打印请求成功结果
-            if(e.msg == "success"  ){
-              me.$message({ type: 'success', message: '编辑成功!'  , duration: 2000 })
-              //关闭弹窗
-              me.setFormShow = false
-              me.get_table_data()
-            } else {
-              me.$message({ type: 'error', message: '编辑失败!' + e.msg, duration: 2000 })
-            }
+            if(e.code == 200  ){
+                  me.$message({ type: 'success', message: '新增成功!'  , duration: 2000 })
+                  //关闭弹窗
+                  me.setFormShow = false
+                  me.get_table_data()
+                  me.checkedIdArr = []
+                } else {
+                  me.$message({ type: 'error', message: '新增失败!' + e.msg, duration: 2000 })
+                }
           })
           
           

+ 52 - 24
src/views/systemManagement/User.vue

@@ -40,7 +40,7 @@
         </el-table-column>
         <el-table-column label="更新时间" min-width="150px" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.updated_at_format }}</span>
+            <span>{{ scope.row.created_at_format }}</span>
           </template>
         </el-table-column>
         <el-table-column label="更新用户" min-width="150px" align="center">
@@ -84,6 +84,12 @@
             <el-form-item label="手机号:" prop="phone">
                 <el-input   v-model="addForm.phone"  ></el-input>  
             </el-form-item>
+             
+            <el-form-item label="角色名称:" prop="rolesId">
+                <el-select ref="rolesId" v-model="addForm.rolesId" filterable placeholder="请选择" class="filter-item" style="width: 100%;" @change="change_rolesId">
+                  <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
            
             
         </el-form>
@@ -157,7 +163,7 @@ export default {
 
 
       
-      pastureList:[
+      roleList:[
     
       ],
 
@@ -170,7 +176,7 @@ export default {
       addFormStatus: '',
       addFormTxt: {  edit: '修改',  create: '新增' },
       addForm:{
-        name:'',id:'' 
+        name:'',id:'' ,rolesId:undefined,
       },
 
       addFormRules:{
@@ -191,7 +197,7 @@ export default {
      
 
      //获取下拉框
-     // this.get_select_list1()
+       this.get_select_list1()
 
       //表格 - 初始化 
       this.get_table_data()
@@ -212,32 +218,25 @@ export default {
     //获取 下拉框
     get_select_list1(){
         var me = this
-        ajaxDataGet(me.url_get_select1, {"roleName": "",  "page": 1,   "page_size": 1000}).then(e => {
+        ajaxDataPost('/api/v1/system/role/list?page=1&page_size=1000', { }).then(e => {
           console.log("下拉框1:",e)
 
-          //打印请求成功结果
-          if(e.data == null || e.data == undefined ||e.data.length == 0   ){
-            me.roleList = []
-          } else {
-            me.roleList = e.data
-          }
+        
+
+          if(e.code == 200 ){
+              me.roleList = e.data.list
+             
+            
+            } else {
+              me.roleList = []
+            }
 
          
   
         })
 
 
-        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
-          }
-  
-        })
+        
 
     
     },
@@ -282,6 +281,12 @@ export default {
 
     },
 
+    change_rolesId(item){
+      this.$set(this.addForm, 'rolesId', item)
+      
+      this.$forceUpdate()
+  },
+
     //重置 表格
     form_clear(){
       var me = this
@@ -306,6 +311,7 @@ export default {
     //清空弹窗表单信息
     reset_form(){
       this.addForm.name = ''
+      this.addForm.rolesId = undefined
     },
 
     //新增
@@ -323,6 +329,17 @@ export default {
       console.log('行内容row=========', row)
       //编辑行内容赋值
       this.addForm = Object.assign({}, row)  
+
+
+ 
+        if(row.role_ids.length !== 0){
+          this.addForm.rolesId = row.role_ids[0]
+        } else {
+          this.addForm.rolesId = ""
+        }
+ 
+
+
       this.addFormStatus = 'edit'
       this.addFormShow = true
       this.$nextTick(() => {
@@ -340,7 +357,13 @@ export default {
     //新增 保存
     add_dialog_save() {
       var me = this
+      console.log(me.addForm.rolesId)
       this.$refs['addFormRef'].validate(valid => {
+
+        var roleArr = [{id:"",name:""}]
+        if(me.addForm.rolesId){
+          roleArr[0].id = me.addForm.rolesId
+        } 
         //验证成功
         if (valid) {
           //发起请求
@@ -348,7 +371,7 @@ export default {
               "name": me.addForm.name,
               "phone": me.addForm.phone,
               "employee_name": me.addForm.employee_name,
-              "roles": [{id:1,name:'测试'}],
+              "roles": roleArr,
           }
           console.log("弹窗参数:", send_data)
 
@@ -378,13 +401,18 @@ export default {
         //验证成功
         if (valid) {
           //发起请求
+
+          var roleArr = [{id:"",name:""}]
+          if(me.addForm.rolesId){
+            roleArr[0].id = me.addForm.rolesId
+          } 
           var send_data = {
            
               "id": me.addForm.id,
               "name": me.addForm.name,
               "phone": me.addForm.phone,
               "employee_name": me.addForm.employee_name,
-              "roles": [{id:1,name:'测试'}],
+              "roles":roleArr
           }
           console.log("弹窗参数:", send_data)