Forráskód Böngészése

人员管理、路由跳转、修改密码

sunyadv 5 éve
szülő
commit
5bd71cee25

+ 1 - 1
ys_vue/index.html

@@ -51,7 +51,7 @@
             }
             
             .customWidth {
-                width: 685px!important;
+                width: 675px!important;
             }
         </style>
     </head>

+ 1 - 1
ys_vue/src/App.vue

@@ -46,7 +46,7 @@
         background: #f2f2f2;
         padding: 10px;
         //border:1px solid #dfe6ec;
-        margin: 10px 0px;
+        // margin: 10px 0px;
         .el-form-item {
             margin-bottom: 10px;
         }

+ 2 - 2
ys_vue/src/http.js

@@ -7,7 +7,6 @@ const TIME_OUT_MS = 60 * 1000 // 默认请求超时时间
  * @param response 返回数据列表
  */
 function handleResults (response) {
-    // console.log(response)
     let remoteResponse = response.data;
     // var result = {
     //     success: false,
@@ -60,6 +59,7 @@ export default {
         var user = sessionStorage.getItem('user') , token = "";
         if(user != null){
             token = JSON.parse(user).headImgurl
+            data.token = token
         }
         axios({
             method: 'post',
@@ -69,7 +69,7 @@ export default {
             headers: {
                 //'Content-Type': 'application/json; charset=UTF-8'
                 'Content-type': ' application/x-www-form-urlencoded; charset=UTF-8',
-                'token': token
+                //'token': token
             }
         }).then(
             (result) => {

+ 24 - 4
ys_vue/src/main.js

@@ -36,6 +36,7 @@ const router = new VueRouter({
     routes
 })
 
+
 router.beforeEach((to, from, next) => {
     //NProgress.start();
     if (to.path == '/login') {
@@ -46,10 +47,29 @@ router.beforeEach((to, from, next) => {
     if (!user && to.path != '/login') {
         next({ path: '/login' })
     } else {
-        for(var i in routes){
-            if(user){
-                if(routes[i].name == "基础管理" && user.username != "管理员"){
-                    routes.splice(i, 1)
+        if(user){
+            for(var i in routes){
+                if(routes[i].name == "基础管理" && user.parentId != 0){
+                    routes[i].hidden = true
+                } else if(routes[i].name == "基础管理"){
+                    routes[i].hidden = false
+                }
+
+                if(routes[i].name == "项目管理" && user.parentId > 1){
+                    var children = routes[i].children;
+                    for(var j in children){
+                        if(children[j].name == "人员管理"){
+                            children[j].hidden = true
+                        }
+                        if(children[j].name == "权限管理"){
+                            children[j].hidden = true
+                        }
+                    }
+                } else if(routes[i].name == "项目管理") {
+                    var children = routes[i].children;
+                    for(var j in children){
+                        children[j].hidden = false
+                    }
                 }
             }
         }

+ 15 - 10
ys_vue/src/port.js

@@ -1,24 +1,29 @@
 export default {
     manage: {
-        login: '/user/login', // 登录
-        //logout: '/manage/company/loginOut' // 退出
+        login: '/user/login', //登录
+        //logout: '/manage/company/loginOut' //退出
     },
     pwd: {
-        sendEmail: '/manage/user/sendEmail',
-        resetPwd: '/manage/user/passwordReset'
+        resetPwd: '/user/updatePassword'
     },
     project: {
-        userList: '/user/list'
+        userList: '/user/list',  //用户列表
+        addUser: '/user/add',  //添加用户
+        delUser: '/user/delete',  //删除用户
     },
     // 基础管理
     base: {
-        addRole: '/role/add',  // 新建或修改 (角色)
-        roleList: '/role/list', // 列表
-        delRole: '/role/delete', // 删除
-        addCompany: '/company/add',  // (公司)
+        addRole: '/role/add',  //新建或修改 (角色)
+        roleList: '/role/list', //列表
+        delRole: '/role/delete', //删除
+        roles: '/user/getRoleList', //获取角色列表
+
+        addCompany: '/company/add',  //(公司)
         companyList: '/company/list', 
         delCompany: '/company/delete', 
-        addFactory: '/factory/add',  // (工厂)
+        companys: '/user/getCompanyList', //获取公司列表
+
+        addFactory: '/factory/add',  //(工厂)
         factoryList: '/factory/list', 
         delFactory: '/factory/delete', 
     }

+ 2 - 2
ys_vue/src/routes.js

@@ -104,7 +104,7 @@ let routes = [
         iconCls: 'iconfont icon-ic_dashboard',
         children: [
             { path: '/project', component: project, name: '项目列表' },
-            { path: '/staff', component: staff, name: '人员管理' },
+            { path: '/staff', component: staff, name: '人员管理'},
             { path: '/competence', component: competence, name: '权限管理' }
         ]
     },
@@ -144,4 +144,4 @@ let routes = [
     }
 ];
 
-export default routes;
+export default routes;

+ 64 - 9
ys_vue/src/views/Home.vue

@@ -13,7 +13,7 @@
 				<el-dropdown trigger="hover">
 					<span class="el-dropdown-link userinfo-inner"><img src="../assets/image/userHead.jpg" /> {{sysUserName}}</span>
 					<el-dropdown-menu slot="dropdown">
-						<el-dropdown-item>修改密码</el-dropdown-item>
+						<el-dropdown-item @click.native="reset">修改密码</el-dropdown-item>
 						<el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item>
 					</el-dropdown-menu>
 				</el-dropdown>
@@ -60,10 +60,23 @@
 					</el-col> -->
 					<el-col :span="24" class="content-wrapper">
 						<transition name="fade" mode="out-in">
-							<router-view></router-view></router-view>
+							<router-view></router-view>
 						</transition>
 					</el-col>
 				</div>
+
+                <!--修改密码-->
+                <el-dialog title="修改密码" v-if="editPassWord" :visible.sync="editPassWord" :close-on-click-modal="false" customClass='customWidth'>
+                    <el-form :model="addForm" label-width="80px" :rules="passRule" ref="addForm">
+                        <el-form-item label="新密码" prop="password">
+                            <el-input v-model="addForm.password" autocomplete="off" placeholder="请输入新密码" show-password></el-input>
+                        </el-form-item>
+                    </el-form>
+                    <div slot="footer" class="dialog-footer">
+                        <el-button @click.native="editPassWord = false">取消</el-button>
+                        <el-button type="primary" @click.native="resetPwd" :loading="editLoading">提交</el-button>
+                    </div>
+                </el-dialog>
 			</section>
 		</el-col>
 	</el-row>
@@ -85,18 +98,25 @@
 					type: [],
 					resource: '',
 					desc: ''
+                },
+                editPassWord: false,
+                editLoading: false,
+                addForm: {
+                    password: ''
+                },
+                passRule: {
+                    password: [
+                        { required: true, message: '请输入新密码', trigger: 'blur' }
+                    ]
                 }
 			}
 		},
 		methods: {
-			onSubmit() {
-				console.log('submit!');
+            onSubmit() {
 			},
 			handleopen() {
-				//console.log('handleopen');
 			},
 			handleclose() {
-				//console.log('handleclose');
 			},
 			handleselect: function (a, b) {
 			},
@@ -108,8 +128,6 @@
 				}).then(() => {
 					sessionStorage.removeItem('user');
 					_this.$router.push('/login');
-				}).catch(() => {
-
 				});
 			},
 			//折叠导航栏
@@ -118,13 +136,50 @@
 			},
 			showMenu(i,status){
 				this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none';
-			}
+            },
+            reset() {
+                this.editPassWord = true;
+                this.addForm.id = JSON.parse(sessionStorage.getItem('user')).id;
+                this.addForm.account = JSON.parse(sessionStorage.getItem('user')).account;
+            },
+            resetPwd(){
+                this.$refs.addForm.validate((valid) => {
+					if (valid) {
+                        this.editLoading = true;
+                        this.http.post(this.port.pwd.resetPwd, this.addForm , res => {
+                            this.editLoading = false;
+                            this.editPassWord = false;
+                            if (res.code == "ok") {
+                                this.$message({
+                                    message: '修改成功,请重新登录',
+                                    type: 'success'
+                                });
+                                this.$router.push('/login');
+                            } else {
+                                this.$message({
+                                    message: res.msg,
+                                    type: 'error'
+                                });
+                            }
+                        }, error => {
+                            this.editLoading = false;
+                            this.editPassWord = false;
+                            this.$message({
+                                message: error,
+                                type: 'error'
+                            });
+                        })
+					}
+				});
+            }
         },
 		mounted() {
 			var user = sessionStorage.getItem('user');
 			if (user) {
 				user = JSON.parse(user);
 				this.sysUserName = user.username || '';
+            } else {
+                this.$router.push('/login');
             }
 		}
 	}

+ 1 - 26
ys_vue/src/views/Login.vue

@@ -25,6 +25,7 @@
 <script>
     //import { requestLogin } from '../api/api';
     //import NProgress from 'nprogress'
+
     export default {
         data() {
             return {
@@ -73,32 +74,6 @@
                         })
                     }
                 });
-
-                // this.$refs.ruleForm.validate((valid) => {
-                //     if (valid) {
-                //         //_this.$router.replace('/table');
-                //         this.logining = true;
-                //         //NProgress.start();
-                //         var loginParams = { account: this.ruleForm.account, password: this.ruleForm.password };
-                //         requestLogin(loginParams).then(data => {
-                //             this.logining = false;
-                //             //NProgress.done();
-                //             let { msg, code, user } = data;
-                //             if (code !== 200) {
-                //                 this.$message({
-                //                     message: msg,
-                //                     type: 'error'
-                //                 });
-                //             } else {
-                //                 sessionStorage.setItem('user', JSON.stringify(user));
-                //                 this.$router.push({ path: '/Map' });
-                //             }
-                //         });
-                //     } else {
-                //         console.log('error submit!!');
-                //         return false;
-                //     }
-                // });
             }
         }
     }

+ 10 - 12
ys_vue/src/views/base/comp.vue

@@ -42,13 +42,13 @@
 		</el-col>
 
         <!--新增界面-->
-		<el-dialog title="新增公司" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
-			<el-form :model="addForm" label-width="100px" :rules="formRules" ref="addForm" :inline="true" class="demo-form-inline">
+		<el-dialog title="新增公司" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+			<el-form :model="addForm" label-width="100px" :rules="formRules" ref="addForm">
 				<el-form-item label="公司名称" prop="companyName">
-					<el-input v-model="addForm.companyName" autocomplete="off"></el-input>
+					<el-input v-model="addForm.companyName" autocomplete="off" placeholder="请输入公司地址"></el-input>
 				</el-form-item>
                 <el-form-item label="公司地址" prop="companyAddress">
-					<el-input v-model="addForm.companyAddress" autocomplete="off"></el-input>
+					<el-input v-model="addForm.companyAddress" autocomplete="off" placeholder="请输入公司地址"></el-input>
 				</el-form-item>
 			</el-form>
 			<div slot="footer" class="dialog-footer">
@@ -58,13 +58,13 @@
 		</el-dialog>
 
 		<!--编辑界面-->
-		<el-dialog title="编辑公司" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
-			<el-form :model="editForm" label-width="100px" :rules="formRules" ref="editForm" :inline="true" class="demo-form-inline">
+		<el-dialog title="编辑公司" v-if="editFormVisible" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+			<el-form :model="editForm" label-width="100px" :rules="formRules" ref="editForm">
 				<el-form-item label="公司名称" prop="companyName">
-					<el-input v-model="editForm.companyName" autocomplete="off"></el-input>
+					<el-input v-model="editForm.companyName" autocomplete="off" placeholder="请输入公司地址"></el-input>
 				</el-form-item>
                 <el-form-item label="公司地址" prop="companyAddress">
-					<el-input v-model="editForm.companyAddress" autocomplete="off"></el-input>
+					<el-input v-model="editForm.companyAddress" autocomplete="off" placeholder="请输入公司地址"></el-input>
 				</el-form-item>
 			</el-form>
 			<div slot="footer" class="dialog-footer">
@@ -165,7 +165,7 @@
 				this.addForm = {
                     companyName: '',
                     companyAddress: '',
-                    flag: 1
+                    flag: 0
 				};
             },
             
@@ -206,8 +206,6 @@
 				this.$confirm('确认删除该公司吗?', '提示', {
 					type: 'warning'
 				}).then(() => {
-					var _this = this;
-                    this.addLoading = true;
                     this.http.post(this.port.base.delCompany, {
                         id: row.id
                     }, res => {
@@ -278,7 +276,7 @@
 
         created() {
             let height = window.innerHeight;
-            this.tableHeight = height - 240;
+            this.tableHeight = height - 210;
         },
 
 		mounted() {

+ 7 - 9
ys_vue/src/views/base/factory.vue

@@ -42,13 +42,13 @@
 		</el-col>
 
         <!--新增界面-->
-		<el-dialog title="新增工厂" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+		<el-dialog title="新增工厂" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
 			<el-form :model="addForm" label-width="100px" :rules="formRules" ref="addForm" :inline="true" class="demo-form-inline">
 				<el-form-item label="工厂名称" prop="factoryName">
-					<el-input v-model="addForm.factoryName" autocomplete="off"></el-input>
+					<el-input v-model="addForm.factoryName" autocomplete="off" placeholder="请输入工厂名称"></el-input>
 				</el-form-item>
                 <el-form-item label="工厂地址" prop="factoryArea">
-					<el-input v-model="addForm.factoryArea" autocomplete="off" :change="changeFactoryArea('addContainer')"></el-input>
+					<el-input v-model="addForm.factoryArea" autocomplete="off" :change="changeFactoryArea('addContainer')" placeholder="请输入工厂地址"></el-input>
 				</el-form-item>
                 <div id="addContainer" class="formMap" v-if="addForm.factoryArea != ''"></div>
 			</el-form>
@@ -59,13 +59,13 @@
 		</el-dialog>
 
 		<!--编辑界面-->
-		<el-dialog title="编辑工厂" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+		<el-dialog title="编辑工厂" v-if="editFormVisible" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
 			<el-form :model="editForm" label-width="100px" :rules="formRules" ref="editForm" :inline="true" class="demo-form-inline">
 				<el-form-item label="工厂名称" prop="factoryName">
-					<el-input v-model="editForm.factoryName" autocomplete="off"></el-input>
+					<el-input v-model="editForm.factoryName" autocomplete="off" placeholder="请输入工厂名称"></el-input>
 				</el-form-item>
                 <el-form-item label="工厂地址" prop="factoryArea">
-					<el-input v-model="editForm.factoryArea" autocomplete="off" :change="changeFactoryArea('editContainer')"></el-input>
+					<el-input v-model="editForm.factoryArea" autocomplete="off" :change="changeFactoryArea('editContainer')" placeholder="请输入工厂地址"></el-input>
 				</el-form-item>
                 <div id="editContainer" class="formMap" v-if="editForm.factoryArea != ''"></div>
 			</el-form>
@@ -233,8 +233,6 @@
 				this.$confirm('确认删除该工厂吗?', '提示', {
 					type: 'warning'
 				}).then(() => {
-					var _this = this;
-                    this.addLoading = true;
                     this.http.post(this.port.base.delFactory, {
                         id: row.id
                     }, res => {
@@ -356,7 +354,7 @@
 
         created() {
             let height = window.innerHeight;
-            this.tableHeight = height - 240;
+            this.tableHeight = height - 210;
         },
 
 		mounted() {

+ 5 - 7
ys_vue/src/views/base/role.vue

@@ -57,10 +57,10 @@
 		</el-col>
 
         <!--新增界面-->
-		<el-dialog title="新增角色" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+		<el-dialog title="新增角色" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
 			<el-form :model="addForm" label-width="100px" :rules="formRules" ref="addForm">
 				<el-form-item label="角色名称" prop="roleName">
-					<el-input v-model="addForm.roleName" autocomplete="off"></el-input>
+					<el-input v-model="addForm.roleName" autocomplete="off" placeholder="请输入角色名称"></el-input>
 				</el-form-item>
 				<el-form-item label="权限配置">
                     <el-row>
@@ -85,10 +85,10 @@
 		</el-dialog>
 
 		<!--编辑界面-->
-		<el-dialog title="编辑人员" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+		<el-dialog title="编辑人员" v-if="editFormVisible" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
 			<el-form :model="editForm" label-width="100px" :rules="formRules" ref="editForm">
 				<el-form-item label="角色名称" prop="roleName">
-					<el-input v-model="editForm.roleName" autocomplete="off"></el-input>
+					<el-input v-model="editForm.roleName" autocomplete="off" placeholder="请输入角色名称"></el-input>
 				</el-form-item>
 				<el-form-item label="权限配置">
                     <el-row>
@@ -281,8 +281,6 @@
 				this.$confirm('确认删除该角色吗?', '提示', {
 					type: 'warning'
 				}).then(() => {
-					var _this = this;
-                    this.addLoading = true;
                     this.http.post(this.port.base.delRole, {
                         id: row.id
                     }, res => {
@@ -363,7 +361,7 @@
 
         created() {
             let height = window.innerHeight;
-            this.tableHeight = height - 240;
+            this.tableHeight = height - 210;
         },
 
 		mounted() {

+ 0 - 1
ys_vue/src/views/map/map.vue

@@ -43,7 +43,6 @@
                 marker.sAdd=data[i].sAdd;
                 marker.status=data[i].status;			
 			    marker.on('click', function(data){
-                    console.log(data)
                     var MyComponent = Vue.extend({
                         template: "<div class='window'>" +
                             "<div class='info-top'><div>方恒假日酒店<span>价格:318</span></div><i class='el-icon-close' @click='closeInfoWindow()'></i></div>" +

+ 272 - 202
ys_vue/src/views/project/staff.vue

@@ -3,20 +3,32 @@
 		<!--工具条-->
 		<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
 			<el-form :inline="true" :model="filters">
-                <el-col :span="2">
+                <el-col :span="3">
                     <el-form-item>
-                        <el-select v-model="filters.value" clearable placeholder="请选择">
-                            <el-option
-                            v-for="item in options"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
+                        <el-select v-model="filters.roleType" clearable placeholder="请选择角色">
+                            <el-option v-for="item in role" :key="item.id" :label="item.roleName" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
+                <el-col :span="3">
+                    <el-form-item>
+                        <el-select v-model="filters.companyId" clearable filterable placeholder="请选择公司">
+                            <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="3">
+                    <el-form-item>
+                        <el-select v-model="filters.flag" placeholder="请选择查询条件">
+                            <el-option label="姓名" value="0"></el-option>
+                            <el-option label="用户名" value="1"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
                 <el-form-item>
-                    <el-input v-model="filters.name" placeholder="请输入账号或姓名进行搜索"></el-input>
+                    <el-input v-model="filters.keyName" clearable placeholder="请输入姓名或账号进行搜索" style="width:250px;"></el-input>
                 </el-form-item>
 				<el-form-item>
 					<el-button type="primary" @click="getUsers">查询</el-button>
@@ -30,15 +42,16 @@
 		<!--列表-->
 		<el-table :data="list" highlight-current-row :height="tableHeight" v-loading="listLoading" style="width: 100%;">
 			<el-table-column type="index" width="60"></el-table-column>
-			<el-table-column prop="name" label="姓名" width="120" sortable></el-table-column>
-			<el-table-column prop="sex" label="账号" width="100" :formatter="formatSex" sortable></el-table-column>
-			<el-table-column prop="age" label="年龄" width="100" sortable></el-table-column>
-			<el-table-column prop="birth" label="生日" width="120" sortable></el-table-column>
-			<el-table-column prop="addr" label="地址" min-width="180" sortable></el-table-column>
+			<el-table-column prop="username" label="姓名" width="150" sortable></el-table-column>
+			<el-table-column prop="account" label="用户名" width="150" sortable></el-table-column>
+			<el-table-column prop="mobile" label="联系方式" width="150" sortable></el-table-column>
+			<el-table-column prop="teamName" label="类型" width="150" sortable></el-table-column>
+			<el-table-column prop="companyName" label="公司" sortable></el-table-column>
+            <el-table-column prop="roleName" label="角色" sortable></el-table-column>
 			<el-table-column label="操作" width="150">
 				<template slot-scope="scope">
-					<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
-					<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
+					<el-button size="small" @click="handleEdit(scope.$index, scope.row)" v-if="scope.row.roleType != -1">编辑</el-button>
+					<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)" v-if="scope.row.roleType != -1">删除</el-button>
 				</template>
 			</el-table-column>
 		</el-table>
@@ -57,77 +70,76 @@
 		</el-col>
 
         <!--新增界面-->
-		<el-dialog title="新增人员" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
-			<el-form :model="addForm" label-width="100px" :rules="addFormRules" ref="addForm" :inline="true" class="demo-form-inline">
+		<el-dialog title="新增人员" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+			<el-form :model="addForm" label-width="100px" :rules="formRules" ref="addForm" :inline="true" class="demo-form-inline">
 				<el-form-item label="姓名" prop="username">
-					<el-input v-model="addForm.username" autocomplete="off"></el-input>
+					<el-input v-model="addForm.username" autocomplete="off" placeholder="请输入姓名"></el-input>
 				</el-form-item>
-				<el-form-item label="账号" prop="account">
-					<el-input v-model="addForm.account" autocomplete="off"></el-input>
+				<el-form-item label="用户名" prop="account">
+					<el-input v-model="addForm.account" autocomplete="off" placeholder="请输入用户名(登录账号)"></el-input>
 				</el-form-item>
-				<el-form-item label="手机号">
-					<el-input v-model="addForm.mobile" autocomplete="off"></el-input>
+				<el-form-item label="联系方式">
+					<el-input v-model="addForm.mobile" autocomplete="off" placeholder="请输入联系方式"></el-input>
 				</el-form-item>
                 <el-form-item label="类型" prop="teamName">
-					<el-select v-model="addForm.teamName" filterable placeholder="请选择">
-                        <el-option
-                            v-for="item in options"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
+					<el-select v-model="addForm.teamName" clearable filterable placeholder="请选择人员类型" style="width:202px">
+                        <el-option v-for="item in team" :key="item.value" :label="item.label" :value="item.value">
                         </el-option>
                     </el-select>
 				</el-form-item>
-                <el-form-item label="公司">
-					<el-select v-model="addForm.companyId" filterable placeholder="请选择">
-                        <el-option
-                            v-for="item in options"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
+                <el-form-item label="公司" prop="companyId">
+					<el-select v-model="addForm.companyId" clearable filterable placeholder="请选择所属公司" style="width:202px">
+                        <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item.id">
                         </el-option>
                     </el-select>
 				</el-form-item>
-				<el-form-item label="角色">
-					<el-select v-model="addForm.roleType" filterable placeholder="请选择">
-                        <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+				<el-form-item label="角色" prop="roleType">
+					<el-select v-model="addForm.roleType" clearable filterable placeholder="请选择角色" style="width:202px">
+                        <el-option v-for="item in role" :key="item.id" :label="item.roleName" :value="item.id">
                         </el-option>
                     </el-select>
 				</el-form-item>
 			</el-form>
 			<div slot="footer" class="dialog-footer">
+                <span style="color:#f00;float:left;margin-left:60px;">初始密码:000000</span>
 				<el-button @click.native="addFormVisible = false">取消</el-button>
 				<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
 			</div>
 		</el-dialog>
 
 		<!--编辑界面-->
-		<el-dialog title="编辑人员" :visible.sync="editFormVisible" :close-on-click-modal="false">
-			<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
-				<el-form-item label="姓名" prop="name">
-					<el-input v-model="editForm.name" autocomplete="off"></el-input>
+		<el-dialog title="编辑人员" v-if="editFormVisible" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
+			<el-form :model="editForm" label-width="80px" :rules="formRules" ref="editForm" :inline="true" class="demo-form-inline">
+				<el-form-item label="姓名" prop="username">
+					<el-input v-model="editForm.username" autocomplete="off" placeholder="请输入姓名"></el-input>
 				</el-form-item>
-				<el-form-item label="性别">
-					<el-radio-group v-model="editForm.sex">
-						<el-radio class="radio" :label="1">男</el-radio>
-						<el-radio class="radio" :label="0">女</el-radio>
-					</el-radio-group>
+				<el-form-item label="用户名" prop="account">
+					<el-input v-model="editForm.account" autocomplete="off" placeholder="请输入用户名(登录账号)"></el-input>
 				</el-form-item>
-				<el-form-item label="年龄">
-					<el-input-number v-model="editForm.age" :min="0" :max="200"></el-input-number>
+				<el-form-item label="联系方式">
+					<el-input v-model="editForm.mobile" autocomplete="off" placeholder="请输入联系方式"></el-input>
 				</el-form-item>
-				<el-form-item label="生日">
-					<el-date-picker type="date" placeholder="选择日期" v-model="editForm.birth"></el-date-picker>
+                <el-form-item label="类型" prop="teamName">
+					<el-select v-model="editForm.teamName" clearable filterable placeholder="请选择人员类型" style="width:202px">
+                        <el-option v-for="item in team" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
 				</el-form-item>
-				<el-form-item label="地址">
-					<el-input type="textarea" v-model="editForm.addr"></el-input>
+                <el-form-item label="公司" prop="companyId">
+					<el-select v-model="editForm.companyId" clearable filterable placeholder="请选择所属公司" style="width:202px">
+                        <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item.id">
+                        </el-option>
+                    </el-select>
+				</el-form-item>
+				<el-form-item label="角色" prop="roleType">
+					<el-select v-model="editForm.roleType" clearable filterable placeholder="请选择角色" style="width:202px">
+                        <el-option v-for="item in role" :key="item.id" :label="item.roleName" :value="item.id">
+                        </el-option>
+                    </el-select>
 				</el-form-item>
 			</el-form>
 			<div slot="footer" class="dialog-footer">
+                 <span style="color:#f00;float:left;margin-left:60px;">初始密码:000000</span>
 				<el-button @click.native="editFormVisible = false">取消</el-button>
 				<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
 			</div>
@@ -142,87 +154,130 @@
 	export default {
 		data() {
 			return {
-
-                options: [{
-                    value: '选项1',
-                    label: '黄金糕'
-                }, {
-                    value: '选项2',
-                    label: '双皮奶'
-                }, {
-                    value: '选项3',
-                    label: '蚵仔煎'
-                }, {
-                    value: '选项4',
-                    label: '龙须面'
-                }, {
-                    value: '选项5',
-                    label: '北京烤鸭'
-                }],
 				filters: {
-                    name: '',
-                    value: ''
-				},
+                    keyName: '',
+                    roleType: '',
+                    flag: '姓名',
+                    companyId: ''
+                },
+                
+                team: [{label:'供应商',value:'供应商'},{label:'客户',value:'客户'}],
+                company: [],
+                role: [],
+
 				list: [],
 				total: 0,
                 page: 1,
                 size: 20,
                 listLoading: false,
                 tableHeight: 0,
-				sels: [],//列表选中列
-
-				editFormVisible: false,//编辑界面是否显示
-				editLoading: false,
-				editFormRules: {
-					name: [
+                
+                formRules: {
+                    username: [
 						{ required: true, message: '请输入姓名', trigger: 'blur' }
+                    ],
+                    account: [
+						{ required: true, message: '请输入用户名', trigger: 'blur' }
+                    ],
+                    teamName: [
+						{ required: true, message: '请选择人员类型', trigger: ["blur",'change'] }
+					],
+                    companyId: [
+						{ required: true, message: '请选择所属公司', trigger: ["blur",'change'] }
+					],
+                    roleType: [
+						{ required: true, message: '请选择角色', trigger: ["blur",'change'] }
 					]
-				},
-				//编辑界面数据
-				editForm: {
-					id: 0,
-					name: '',
-					sex: -1,
-					age: 0,
-					birth: '',
-					addr: ''
-				},
+                },
 
-				addFormVisible: false,//新增界面是否显示
+                //新增界面是否显示
+                addFormVisible: false,
 				addLoading: false,
-				addFormRules: {
-					name: [
-						{ required: true, message: '请输入姓名', trigger: 'blur' }
-					]
-				},
 				//新增界面数据
 				addForm: {
-					name: '',
-					sex: -1,
-					age: 0,
-					birth: '',
-					addr: ''
-				}
+					username: '',
+                    account: '',
+                    mobile: '',
+                    teamName: '',
+					companyId: '',
+                    roleType: '',
+                    flag: 0
+				},
 
+                //编辑界面是否显示
+				editFormVisible: false,
+				editLoading: false,
+				//编辑界面数据
+				editForm: {
+					id: 0,
+					username: '',
+                    account: '',
+                    mobile: '',
+                    teamName: '',
+					companyId: '',
+                    roleType: '',
+                    flag: 1
+				}
 			}
 		},
 		methods: {
+            // 获取基础数据
+            getMsg(){
+                this.http.post(this.port.base.roles, {}, res => {
+                    if (res.code == "ok") {
+                        this.role = res.data;
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        });
+                    }
+                }, error => {
+                    this.$message({
+                        message: error,
+                        type: 'error'
+                    });
+                })
+
+                this.http.post(this.port.base.companys, {}, res => {
+                    if (res.code == "ok") {
+                        this.company = res.data;
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        });
+                    }
+                }, error => {
+                    this.$message({
+                        message: error,
+                        type: 'error'
+                    });
+                })
+            },
+
             //  分页
 			handleCurrentChange(val) {
 				this.page = val;
 				this.getUsers();
             },
+
             handleSizeChange(val) {
                 this.size = val;
 				this.getUsers();
             },
+
 			//获取用户列表
 			getUsers() {
 				this.listLoading = true;
-                this.http.post(this.port.base.roleList, {
+                this.http.post(this.port.project.userList, {
                     keyName: this.filters.keyName,
                     currentPage: this.page,
-                    pageSize: this.size
+                    pageSize: this.size,
+                    roleType: this.filters.roleType==''?-2:this.filters.roleType,
+                    companyId: this.filters.companyId==''?-1:this.filters.companyId,
+                    flag: this.filters.flag=='姓名'?0:this.filters.flag
+
                 }, res => {
                     this.listLoading = false;
                     if (res.code == "ok") {
@@ -241,123 +296,138 @@
                         type: 'error'
                     });
                 })
+            },
+            
+            //显示新增界面
+			handleAdd: function () {
+                this.addFormVisible = true;
+				this.addForm = {
+                    parentId: JSON.parse(sessionStorage.getItem('user')).id,
+					username: '',
+                    account: '',
+                    mobile: '',
+                    teamName: '',
+					companyId: '',
+                    roleType: '',
+                    flag: 0
+				};
+            },
+
+            //新增
+			addSubmit: function () {
+				this.$refs.addForm.validate((valid) => {
+					if (valid) {
+						this.addLoading = true;
+                        this.http.post(this.port.project.addUser, this.addForm , res => {
+                            this.addLoading = false;
+                            this.addFormVisible = false;
+                            if (res.code == "ok") {
+                                this.$message({
+                                    message: '创建成功',
+                                    type: 'success'
+                                });
+                                this.getUsers();
+                            } else {
+                                this.$message({
+                                    message: res.msg,
+                                    type: 'error'
+                                });
+                            }
+                        }, error => {
+                            this.addLoading = false;
+                            this.addFormVisible = false;
+                            this.$message({
+                                message: error,
+                                type: 'error'
+                            });
+                        })
+					}
+				});
 			},
+
 			//删除
 			handleDel: function (index, row) {
-				this.$confirm('确认删除该人员吗?', '提示', {
+                this.$confirm('确认删除该人员吗?', '提示', {
 					type: 'warning'
 				}).then(() => {
-					this.listLoading = true;
-					//NProgress.start();
-					let para = { id: row.id };
-					removeUser(para).then((res) => {
-						this.listLoading = false;
-						//NProgress.done();
-						this.$message({
-							message: '删除成功',
-							type: 'success'
-						});
-						this.getUsers();
-					});
-				}).catch(() => {
-
+                    this.http.post(this.port.project.delUser, {
+                        id: row.id
+                    }, res => {
+                        if (res.code == "ok") {
+                            this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            this.getUsers();
+                        } else {
+                            this.$message({
+                                message: res.msg,
+                                type: 'error'
+                            });
+                        }
+                    }, error => {
+                        this.$message({
+                            message: error,
+                            type: 'error'
+                        });
+                    })
 				});
-			},
+            },
+            
 			//显示编辑界面
 			handleEdit: function (index, row) {
 				this.editFormVisible = true;
-				this.editForm = Object.assign({}, row);
-			},
-			//显示新增界面
-			handleAdd: function () {
-                this.addFormVisible = true;
-				this.addForm = {
-					name: '',
-					sex: -1,
-					age: 0,
-					birth: '',
-					addr: ''
+				this.editForm = {
+                    id: row.id,
+                    parentId: JSON.parse(sessionStorage.getItem('user')).id,
+					username: row.username,
+                    account: row.account,
+                    mobile: row.mobile,
+                    teamName: row.teamName,
+					companyId: row.companyId,
+                    roleType: row.roleType,
+                    flag: 1
 				};
-			},
+            },
+            
 			//编辑
 			editSubmit: function () {
 				this.$refs.editForm.validate((valid) => {
 					if (valid) {
-						this.$confirm('确认提交吗?', '提示', {}).then(() => {
-							this.editLoading = true;
-							//NProgress.start();
-							let para = Object.assign({}, this.editForm);
-							para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
-							editUser(para).then((res) => {
-								this.editLoading = false;
-								//NProgress.done();
-								this.$message({
-									message: '提交成功',
-									type: 'success'
-								});
-								this.$refs['editForm'].resetFields();
-								this.editFormVisible = false;
-								this.getUsers();
-							});
-						});
-					}
-				});
-			},
-			//新增
-			addSubmit: function () {
-				this.$refs.addForm.validate((valid) => {
-					if (valid) {
-						this.$confirm('确认提交吗?', '提示', {}).then(() => {
-							this.addLoading = true;
-							//NProgress.start();
-							let para = Object.assign({}, this.addForm);
-							para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
-							addUser(para).then((res) => {
-								this.addLoading = false;
-								//NProgress.done();
-								this.$message({
-									message: '提交成功',
-									type: 'success'
-								});
-								this.$refs['addForm'].resetFields();
-								this.addFormVisible = false;
-								this.getUsers();
-							});
-						});
+                        this.editLoading = true;
+                        this.http.post(this.port.project.addUser, this.editForm , res => {
+                            this.editLoading = false;
+                            this.editFormVisible = false;
+                            if (res.code == "ok") {
+                                this.$message({
+                                    message: '修改成功',
+                                    type: 'success'
+                                });
+                                this.getUsers();
+                            } else {
+                                this.$message({
+                                    message: res.msg,
+                                    type: 'error'
+                                });
+                            }
+                        }, error => {
+                            this.editLoading = false;
+                            this.editFormVisible = false;
+                            this.$message({
+                                message: error,
+                                type: 'error'
+                            });
+                        })
 					}
 				});
-			},
-			selsChange: function (sels) {
-				this.sels = sels;
-			},
-			//批量删除
-			batchRemove: function () {
-				var ids = this.sels.map(item => item.id).toString();
-				this.$confirm('确认删除选中记录吗?', '提示', {
-					type: 'warning'
-				}).then(() => {
-					this.listLoading = true;
-					//NProgress.start();
-					let para = { ids: ids };
-					batchRemoveUser(para).then((res) => {
-						this.listLoading = false;
-						//NProgress.done();
-						this.$message({
-							message: '删除成功',
-							type: 'success'
-						});
-						this.getUsers();
-					});
-				}).catch(() => {
-
-				});
 			}
         },
         created() {
             let height = window.innerHeight;
-            this.tableHeight = height - 240;
+            this.tableHeight = height - 210;
         },
 		mounted() {
+            this.getMsg();
 			this.getUsers();
         }
 	}