Browse Source

修改权限

xsh 3 years ago
parent
commit
57c88a3ef0

+ 10 - 0
src/router/ChildrenRouters.js

@@ -307,6 +307,16 @@ const childrenRouters = [
       permission: 'userAdmin',
       parentName: '系统管理'
     }
+  },
+  {
+    path: '/farmAdmin',
+    name: 'FarmAdmin',
+    component: () => import('../views/SystemAdmin/FarmAdmin.vue'),
+    meta: {
+      title: '牧场管理',
+      permission: 'farmAdmin',
+      parentName: '系统管理'
+    }
   }
 ]
 

+ 17 - 9
src/utils/api.js

@@ -4,7 +4,7 @@ import axios from './http';
 // 登录
 export function Login(data) {
   return axios({
-    url: '/admin/my/login',
+    url: '/admin/my/loginMultilevel',
     method: 'post',
     data: data
   })
@@ -12,7 +12,7 @@ export function Login(data) {
 // 根据用户id 拿到默认的 颜色 和 导航栏
 export function findOne(data) {
   return axios({
-    url: '/admin/account/findOne',
+    url: '/admin/accountMultilevel/findOne',
     method: 'get',
     params: data
   })
@@ -21,7 +21,7 @@ export function findOne(data) {
 // 根据id 修改 默认样式 导航
 export function findUpdate(data) {
   return axios({
-    url: '/admin/account/update',
+    url: '/admin/accountMultilevel/update',
     method: 'post',
     data: data
   })
@@ -173,7 +173,7 @@ export function saveAccountGroup(data) {
 // 获取用户列表
 export function getUserList(data) {
   return axios({
-    url: '/admin/user/list',
+    url: '/admin/accountMultilevel/list',
     method: 'post',
     data: data
   })
@@ -182,7 +182,7 @@ export function getUserList(data) {
 // 用户添加
 export function addUser(data) {
   return axios({
-    url: '/admin/user/add',
+    url: '/admin/accountMultilevel/add',
     method: 'post',
     data: data
   })
@@ -191,7 +191,7 @@ export function addUser(data) {
 // 用户编辑
 export function editUser(data) {
   return axios({
-    url: '/admin/user/edit',
+    url: '/admin/accountMultilevel/update',
     method: 'post',
     data: data
   })
@@ -200,8 +200,8 @@ export function editUser(data) {
 // 是否启用账号
 export function isUser(data) {
   return axios({
-    url: '/admin/account/setAccountStatus',
-    method: 'post',
+    url: '/admin/accountMultilevel/setAccountStatus',
+    method: 'get',
     params: data
   })
 }
@@ -209,12 +209,20 @@ export function isUser(data) {
 // 用户删除
 export function delUser(data) {
   return axios({
-    url: '/admin/user/remove',
+    url: '/admin/accountMultilevel/remove',
     method: 'get',
     params: data
   })
 }
 
+// 牧场列表
+export function getFarm(data) {
+  return axios({
+    url: '/admin/farm/getFarm',
+    method: 'get',
+    params: (data)
+  })
+}
 
 /**
  *

+ 2 - 2
src/views/Alarm/chart/AlarmPie.vue

@@ -70,8 +70,8 @@ export default {
         color: color,
         tooltip: {
           trigger: 'item',
-          formatter:function (parms){
-            var str= parms.marker+""+parms.data.name+"</br>"+
+          formatter: function (parms){
+            var str = parms.marker+""+parms.data.name+"</br>"+
                 "数量:"+ parms.data.value+ '条' +"</br>"+
                 "占比:"+ parms.percent+"%";
             return  str ;

+ 3 - 3
src/views/SystemAdmin/AuthAdmin.vue

@@ -150,7 +150,7 @@
               label="用户ID">
           </el-table-column>
           <el-table-column
-              prop="userName"
+              prop="account"
               label="用户姓名">
           </el-table-column>
         </el-table>
@@ -462,8 +462,8 @@ export default {
       };
       getUserList(params)
           .then(res => {
-            if(res.code === 10001) {
-              this.userList = res.data;
+            if(res.code === 10000) {
+              this.userList = res.data.records;
             }
           });
     }

+ 29 - 0
src/views/SystemAdmin/FarmAdmin.vue

@@ -0,0 +1,29 @@
+<template>
+  <div>1111</div>
+</template>
+
+<script>
+import { getFarm } from '@/utils/api.js';
+export default {
+  name: "FarmAdmin",
+  data() {
+    return {
+
+    }
+  },
+  methods: {
+    init() {
+      getFarm().then(res => {
+        console.log(res)
+      })
+    }
+  },
+  mounted() {
+    this.init()
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 177 - 63
src/views/SystemAdmin/UserAdmin.vue

@@ -34,31 +34,32 @@
               prop="id"
               label="用户ID"
               width="80"></el-table-column>
-          <el-table-column
-              prop="userName"
-              label="用户姓名"></el-table-column>
-          <el-table-column prop="accountName" label="登录名"></el-table-column>
-          <el-table-column label="性别">
-            <template slot-scope="scope">
-              <span v-if="scope.row.male == 1">男</span>
-              <span v-else>女</span>
-            </template>
-          </el-table-column>
-          <el-table-column
-              prop="birthday"
-              label="出生日期"></el-table-column>
-          <el-table-column
-              prop="mobile"
-              label="手机号"></el-table-column>
-          <el-table-column
-              prop="job"
-              label="职务"></el-table-column>
-          <el-table-column
-              prop="address"
-              label="住址"></el-table-column>
-          <el-table-column
-              prop="remark"
-              label="备注"></el-table-column>
+<!--          <el-table-column-->
+<!--              prop="userName"-->
+<!--              label="用户姓名"></el-table-column>-->
+          <el-table-column prop="account" label="登录名"></el-table-column>
+<!--          <el-table-column label="性别">-->
+<!--            <template slot-scope="scope">-->
+<!--              <span v-if="scope.row.male == 1">男</span>-->
+<!--              <span v-else>女</span>-->
+<!--            </template>-->
+<!--          </el-table-column>-->
+          <el-table-column prop="password" label="密码"></el-table-column>
+<!--          <el-table-column-->
+<!--              prop="birthday"-->
+<!--              label="出生日期"></el-table-column>-->
+<!--          <el-table-column-->
+<!--              prop="mobile"-->
+<!--              label="手机号"></el-table-column>-->
+<!--          <el-table-column-->
+<!--              prop="job"-->
+<!--              label="职务"></el-table-column>-->
+<!--          <el-table-column-->
+<!--              prop="address"-->
+<!--              label="住址"></el-table-column>-->
+<!--          <el-table-column-->
+<!--              prop="remark"-->
+<!--              label="备注"></el-table-column>-->
           <el-table-column
               v-if="hasPerm('user:is')"
               label="是否启用">
@@ -70,12 +71,24 @@
           <el-table-column label="操作">
             <template slot-scope="scope">
               <el-button type="primary" v-if="hasPerm('user:edit')" size="mini" style="margin-right: 10px;" @click="edit(scope.row)">编辑</el-button>
-              <el-popconfirm
-                  title=" 确定要删除这个用户吗?"
-                  @confirm="del(scope.row)"
-              >
-                <el-button type="danger" v-if="hasPerm('user:del')" size="mini" slot="reference">删除</el-button>
-              </el-popconfirm>
+              <el-dropdown>
+                <span class="el-dropdown-link">
+                  操作<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item>
+                    <el-popconfirm
+                        title=" 确定要删除这个用户吗?"
+                        @confirm="del(scope.row)"
+                    >
+                      <el-button type="text" v-if="hasPerm('user:del')" size="mini" slot="reference">删除</el-button>
+                    </el-popconfirm>
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button type="text" @click="handleFarm(scope.row)" size="mini" >分配牧场</el-button>
+                  </el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
             </template>
           </el-table-column>
         </el-table>
@@ -93,30 +106,33 @@
         width="50%">
       <div>
         <el-form ref="form" :model="forms" label-width="80px" :rules="rules">
-          <el-form-item label="用户姓名" prop="userName">
-            <el-input v-model="forms.userName" placeholder="默认手机号为登录名,如没有填写手机号则是用户姓名为登录名"></el-input>
-          </el-form-item>
-          <el-form-item label="性别">
-            <el-radio-group v-model="forms.male">
-              <el-radio :label="0">女</el-radio>
-              <el-radio :label="1">男</el-radio>
-            </el-radio-group>
-          </el-form-item>
-          <el-form-item label="出生日期">
-            <el-date-picker type="date" placeholder="选择日期" v-model="forms.birthday" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
-          </el-form-item>
-          <el-form-item label="手机号">
-            <el-input v-model="forms.mobile" placeholder="默认手机号为登录名,如没有填写手机号则是用户姓名为登录名"></el-input>
-          </el-form-item>
-          <el-form-item label="住址">
-            <el-input v-model="forms.address"></el-input>
-          </el-form-item>
-          <el-form-item label="职务">
-            <el-input v-model="forms.job"></el-input>
+          <el-form-item label="登录名" prop="account">
+            <el-input v-model="forms.account" placeholder="默认手机号为登录名,如没有填写手机号则是用户姓名为登录名"></el-input>
           </el-form-item>
-          <el-form-item label="描述">
-            <el-input v-model="forms.remark"></el-input>
+          <el-form-item label="密码" prop="account">
+            <el-input type="password" v-model="forms.password" ></el-input>
           </el-form-item>
+<!--          <el-form-item label="性别">-->
+<!--            <el-radio-group v-model="forms.male">-->
+<!--              <el-radio :label="0">女</el-radio>-->
+<!--              <el-radio :label="1">男</el-radio>-->
+<!--            </el-radio-group>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="出生日期">-->
+<!--            <el-date-picker type="date" placeholder="选择日期" v-model="forms.birthday" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="手机号">-->
+<!--            <el-input v-model="forms.mobile" placeholder="默认手机号为登录名,如没有填写手机号则是用户姓名为登录名"></el-input>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="住址">-->
+<!--            <el-input v-model="forms.address"></el-input>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="职务">-->
+<!--            <el-input v-model="forms.job"></el-input>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="描述">-->
+<!--            <el-input v-model="forms.remark"></el-input>-->
+<!--          </el-form-item>-->
         </el-form>
       </div>
 
@@ -125,12 +141,41 @@
                 <el-button type="primary" @click="onSubmit('form')">{{showType ? '更 新' : '新 增'}}</el-button>
               </span>
     </el-dialog>
+    <el-dialog
+        title="牧场分配"
+        :visible.sync="dialogFarm"
+        width="50%">
+      <div>
+        <el-table
+            :data="farmList"
+            ref="multipleTable"
+            tooltip-effect="dark"
+            @selection-change="handleFarmChange">
+          <el-table-column
+              type="selection"
+              width="55">
+          </el-table-column>
+          <el-table-column
+              prop="id"
+              label="牧场id">
+          </el-table-column>
+          <el-table-column
+              prop="farmName"
+              label="牧场名称">
+          </el-table-column>
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+                <el-button @click="dialogFarm = false">取 消</el-button>
+                <el-button type="primary" @click="farmSave">保存</el-button>
+              </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import TableFooter from '../../components/TableFooter';
-import {getUserList, addUser, editUser, isUser, delUser} from '../../utils/api';
+import {getUserList, addUser, editUser, isUser, delUser, getFarm} from '../../utils/api';
 export default {
   name: "UserAdmin",
   components: {
@@ -146,7 +191,8 @@ export default {
       size: 20,
       pageNum: 1,
       forms: {
-        userName: '',
+        account: '',
+        password: '',
         remark: '',
         mobile: '',
         male: 0,
@@ -158,7 +204,11 @@ export default {
       selectList: '',
       rules: {
         userName: [ { required: true, message: '请输入用户姓名', trigger: 'blur' },]
-      }
+      },
+      dialogFarm: false,
+      farmList: [],
+      // 选中牧场的id
+      selectFarm: '',
     };
   },
   created() {
@@ -187,14 +237,22 @@ export default {
       };
       getUserList(params)
           .then(res => {
-            if(res.code === 10001) {
-              this.tableData = res.data;
-              this.total = res.totalElements;
+            if(res.code === 10000) {
+              this.tableData = res.data.records;
+              this.total = res.data.total;
             } else {
               this.$message(res.message);
             }
           })
     },
+    getFarm() {
+      getFarm().then(res => {
+        console.log(res)
+        if(res.code === 10000) {
+          this.farmList = res.data;
+        }
+      })
+    },
     // 添加用户
     addUser() {
       this.dialogVisible = true;
@@ -203,7 +261,8 @@ export default {
     // 用户编辑
     edit(data) {
       this.forms =  {
-        userName: data.userName,
+        account: data.account,
+        password: data.password,
         remark: data.remark,
         mobile: data.mobile,
         male: parseInt(data.male),
@@ -234,7 +293,8 @@ export default {
         if (valid) {
           if(this.showType) {
             let params = {};
-            params.userName = this.forms.userName;
+            params.account = this.forms.account;
+            params.password = this.forms.password;
             params.male = this.forms.male;
             params.birthday = this.forms.birthday;
             params.mobile = this.forms.mobile;
@@ -255,7 +315,8 @@ export default {
                 })
           } else {
             let params = {};
-            params.userName = this.forms.userName;
+            params.account = this.forms.account;
+            params.password = this.forms.password;
             params.male = this.forms.male;
             params.birthday = this.forms.birthday;
             params.mobile = this.forms.mobile;
@@ -283,7 +344,8 @@ export default {
     // 重置
     reset() {
       this.forms = {
-        userName: '',
+        account: '',
+        password: '',
         remark: '',
         mobile: '',
         male: '',
@@ -349,10 +411,62 @@ export default {
               this.$message.error(res.message);
             }
           })
+    },
+    // 打开分配牧场
+    handleFarm(data) {
+      this.dialogFarm = true;
+      this.selectId = data.id;
+      if(data.farmIds === null) {
+        this.$nextTick(() => {
+          this.$refs.multipleTable.clearSelection();
+          this.$forceUpdate();
+        });
+      } else {
+       let arr = data.farmIds.split(',');
+        this.$nextTick(() => {
+          this.$refs.multipleTable.clearSelection();
+          for (let key in this.farmList) {
+            for(let i in arr) {
+              if(this.farmList[key]['id'] == arr[i]) {
+                this.$refs.multipleTable.toggleRowSelection(this.farmList[key], true);
+              }
+            }
+          }
+        })
+      }
+
+    },
+    // 选择牧场
+    handleFarmChange(val) {
+      let arr = [];
+      val.forEach(item => {
+        arr.push(item.id);
+      });
+      this.selectFarm = arr.join(',');
+    },
+    // 牧场保存
+    farmSave() {
+      let params = {
+        id: this.selectId,
+        farmIds: this.selectFarm
+      }
+      editUser(params).then(res => {
+        this.dialogFarm = false;
+        this.selectFarm = '';
+        this.selectId = '';
+        if(res.code === 10000) {
+          this.$message.success('绑定成功!');
+          this.init();
+        } else {
+          this.$message.error('绑定失败!');
+        }
+      })
     }
   },
   mounted() {
     this.init();
+    // 获取牧场列表
+    this.getFarm();
   }
 }
 </script>