wuxw
2020-02-09 bc11864c5e48a159ddaf0b6f0fee3879bd73c2ca
加入重置密码功能
11 文件已重命名
5个文件已修改
3个文件已添加
3 文件已复制
306 ■■■■■ 已修改文件
Api/src/main/java/com/java110/api/listener/user/AddStaffServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/ChangeStaffPwdListener.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/DeleteStaffServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/DisableStaffServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/EnableStaffServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/ModifyStaffServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/QueryStaffByUserNameServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/QueryStaffServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/ResetStaffPwdListener.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/UserLogoutServiceListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/components/staff/ChangeStaffPwdComponent.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/components/staff/ResetStaffPwdComponent.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/smo/staff/IChangeStaffPwdServiceSMO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/smo/staff/IResetStaffPwdServiceSMO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/smo/staff/impl/ChangeStaffPwdSMOImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/smo/staff/impl/ResetStaffPwdSMOImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/staffPackage/resetStaffPwd/resetStaffPwd.html 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/staffPackage/resetStaffPwd/resetStaffPwd.js 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/staffPackage/staff-manage/staff.html 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/staffPackage/staff-manage/staff.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/user/AddStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/AddStaffServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
Api/src/main/java/com/java110/api/listener/user/ChangeStaffPwdListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/ChangeStaffPwdListener.java
@@ -1,11 +1,10 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiDataFlowListener;
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.factory.DataFlowFactory;
import com.java110.core.smo.user.IUserInnerServiceSMO;
import com.java110.dto.user.UserDto;
import com.java110.entity.center.AppService;
@@ -13,20 +12,15 @@
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.ServiceCodeConstant;
import com.java110.utils.exception.ListenerExecuteException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.util.List;
import java.util.Map;
/**
 * 修改员工 2018年12月6日
Api/src/main/java/com/java110/api/listener/user/DeleteStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/DeleteStaffServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
Api/src/main/java/com/java110/api/listener/user/DisableStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/DisableStaffServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiDataFlowListener;
Api/src/main/java/com/java110/api/listener/user/EnableStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/EnableStaffServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiDataFlowListener;
Api/src/main/java/com/java110/api/listener/user/ModifyStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/ModifyStaffServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
Api/src/main/java/com/java110/api/listener/user/QueryStaffByUserNameServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/QueryStaffByUserNameServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
Api/src/main/java/com/java110/api/listener/user/QueryStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/QueryStaffServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiListener;
Api/src/main/java/com/java110/api/listener/user/ResetStaffPwdListener.java
copy from Api/src/main/java/com/java110/api/listener/users/ChangeStaffPwdListener.java copy to Api/src/main/java/com/java110/api/listener/user/ResetStaffPwdListener.java
File was copied from Api/src/main/java/com/java110/api/listener/users/ChangeStaffPwdListener.java
@@ -1,11 +1,12 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiDataFlowListener;
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.factory.DataFlowFactory;
import com.java110.core.factory.AuthenticationFactory;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.smo.user.IUserInnerServiceSMO;
import com.java110.dto.user.UserDto;
import com.java110.entity.center.AppService;
@@ -13,9 +14,7 @@
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.ServiceCodeConstant;
import com.java110.utils.exception.ListenerExecuteException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,16 +25,16 @@
import org.springframework.http.ResponseEntity;
import java.util.List;
import java.util.Map;
import java.util.Random;
/**
 * 修改员工 2018年12月6日
 * Created by wuxw on 2018/5/18.
 */
@Java110Listener("changeStaffPwdServiceListener")
public class ChangeStaffPwdListener extends AbstractServiceApiDataFlowListener {
@Java110Listener("resetStaffPwdListener")
public class ResetStaffPwdListener extends AbstractServiceApiDataFlowListener {
    private final static Logger logger = LoggerFactory.getLogger(ChangeStaffPwdListener.class);
    private final static Logger logger = LoggerFactory.getLogger(ResetStaffPwdListener.class);
    @Autowired
    private IUserInnerServiceSMO userInnerServiceSMOImpl;
@@ -43,7 +42,7 @@
    @Override
    public String getServiceCode() {
        return ServiceCodeConstant.SERVICE_CODE_CHANGE_STAFF_PWD;
        return ServiceCodeConstant.SERVICE_CODE_RESET_STAFF_PWD;
    }
    @Override
@@ -69,11 +68,9 @@
        DataFlowContext dataFlowContext = event.getDataFlowContext();
        AppService service = event.getAppService();
        String paramIn = dataFlowContext.getReqData();
        Assert.isJsonObject(paramIn, "添加员工时请求参数有误,不是有效的json格式 " + paramIn);
        Assert.isJsonObject(paramIn, "请求参数有误,不是有效的json格式 " + paramIn);
        JSONObject paramInJson = JSONObject.parseObject(paramIn);
        Assert.jsonObjectHaveKey(paramInJson, "userId", "请求参数中未包含userId 节点,请确认");
        Assert.jsonObjectHaveKey(paramInJson, "oldPwd", "请求参数中未包含oldPwd 节点,请确认");
        Assert.jsonObjectHaveKey(paramInJson, "newPwd", "请求参数中未包含newPwd 节点,请确认");
        JSONArray businesses = new JSONArray();
        //判断请求报文中包含 userId 并且 不为-1时 将已有用户添加为员工,反之,则添加用户再将用户添加为员工
@@ -93,7 +90,12 @@
        //http://user-service/test/sayHello
        super.doRequest(dataFlowContext, service, httpEntity);
        super.doResponse(dataFlowContext);
        if (dataFlowContext.getResponseEntity().getStatusCode() == HttpStatus.OK) {
            JSONObject paramOut = new JSONObject();
            paramOut.put("pwd", paramInJson.getString("pwd"));
            ResponseEntity<String> responseEntity = new ResponseEntity<>(paramOut.toJSONString(), HttpStatus.OK);
            dataFlowContext.setResponseEntity(responseEntity);
        }
    }
@@ -127,14 +129,13 @@
        Assert.listOnlyOne(userDtos, "数据错误查询到多条用户信息或单条");
        JSONObject userInfo = JSONObject.parseObject(JSONObject.toJSONString(userDtos.get(0)));
        if (!paramObj.getString("oldPwd").equals(userDtos.get(0).getPassword())) {
            throw new IllegalArgumentException("原始密码错误");
        }
        String pwd = GenerateCodeFactory.getRandomCode(6);
        userInfo.putAll(paramObj);
        userInfo.put("password", paramObj.getString("newPwd"));
        userInfo.put("password", AuthenticationFactory.passwdMd5(pwd));
        paramObj.put("pwd", pwd);
        return userInfo;
    }
}
Api/src/main/java/com/java110/api/listener/user/UserLogoutServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/UserLogoutServiceListener.java
@@ -1,4 +1,4 @@
package com.java110.api.listener.users;
package com.java110.api.listener.user;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiDataFlowListener;
WebService/src/main/java/com/java110/web/components/staff/ChangeStaffPwdComponent.java
@@ -2,10 +2,8 @@
import com.java110.core.context.IPageData;
import com.java110.web.smo.IChangeStaffPwdServiceSMO;
import com.java110.web.smo.IStaffServiceSMO;
import com.java110.web.smo.staff.IChangeStaffPwdServiceSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
WebService/src/main/java/com/java110/web/components/staff/ResetStaffPwdComponent.java
New file
@@ -0,0 +1,31 @@
package com.java110.web.components.staff;
import com.java110.core.context.IPageData;
import com.java110.web.smo.staff.IChangeStaffPwdServiceSMO;
import com.java110.web.smo.staff.IResetStaffPwdServiceSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
/**
 * 搜索员工
 */
@Component("resetStaffPwd")
public class ResetStaffPwdComponent {
    @Autowired
    IResetStaffPwdServiceSMO resetStaffPwdServiceSMOImpl;
    public ResponseEntity<String> reset(IPageData pd) {
        return resetStaffPwdServiceSMOImpl.reset(pd);
    }
    public IResetStaffPwdServiceSMO getResetStaffPwdServiceSMOImpl() {
        return resetStaffPwdServiceSMOImpl;
    }
    public void setResetStaffPwdServiceSMOImpl(IResetStaffPwdServiceSMO resetStaffPwdServiceSMOImpl) {
        this.resetStaffPwdServiceSMOImpl = resetStaffPwdServiceSMOImpl;
    }
}
WebService/src/main/java/com/java110/web/smo/staff/IChangeStaffPwdServiceSMO.java
File was renamed from WebService/src/main/java/com/java110/web/smo/IChangeStaffPwdServiceSMO.java
@@ -1,4 +1,4 @@
package com.java110.web.smo;
package com.java110.web.smo.staff;
import com.java110.core.context.IPageData;
import org.springframework.http.ResponseEntity;
WebService/src/main/java/com/java110/web/smo/staff/IResetStaffPwdServiceSMO.java
copy from WebService/src/main/java/com/java110/web/smo/IChangeStaffPwdServiceSMO.java copy to WebService/src/main/java/com/java110/web/smo/staff/IResetStaffPwdServiceSMO.java
File was copied from WebService/src/main/java/com/java110/web/smo/IChangeStaffPwdServiceSMO.java
@@ -1,13 +1,13 @@
package com.java110.web.smo;
package com.java110.web.smo.staff;
import com.java110.core.context.IPageData;
import org.springframework.http.ResponseEntity;
/**
 * 修改员工密码
 * 重置员工密码
 * Created by Administrator on 2019/4/2.
 */
public interface IChangeStaffPwdServiceSMO {
public interface IResetStaffPwdServiceSMO {
    /**
     * 保存员工信息
@@ -15,5 +15,5 @@
     * @param pd
     * @return
     */
    ResponseEntity<String> change(IPageData pd);
    ResponseEntity<String> reset(IPageData pd);
}
WebService/src/main/java/com/java110/web/smo/staff/impl/ChangeStaffPwdSMOImpl.java
File was renamed from WebService/src/main/java/com/java110/web/smo/impl/ChangeStaffPwdSMOImpl.java
@@ -1,4 +1,4 @@
package com.java110.web.smo.impl;
package com.java110.web.smo.staff.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.component.AbstractComponentSMO;
@@ -9,8 +9,7 @@
import com.java110.utils.exception.SMOException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.web.smo.IChangeStaffPwdServiceSMO;
import com.java110.web.smo.carInout.IListCarInoutsSMO;
import com.java110.web.smo.staff.IChangeStaffPwdServiceSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
WebService/src/main/java/com/java110/web/smo/staff/impl/ResetStaffPwdSMOImpl.java
copy from WebService/src/main/java/com/java110/web/smo/impl/ChangeStaffPwdSMOImpl.java copy to WebService/src/main/java/com/java110/web/smo/staff/impl/ResetStaffPwdSMOImpl.java
File was copied from WebService/src/main/java/com/java110/web/smo/impl/ChangeStaffPwdSMOImpl.java
@@ -1,4 +1,4 @@
package com.java110.web.smo.impl;
package com.java110.web.smo.staff.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.component.AbstractComponentSMO;
@@ -9,8 +9,7 @@
import com.java110.utils.exception.SMOException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.web.smo.IChangeStaffPwdServiceSMO;
import com.java110.web.smo.carInout.IListCarInoutsSMO;
import com.java110.web.smo.staff.IResetStaffPwdServiceSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
@@ -22,37 +21,31 @@
/**
 * 查询carInout服务类
 */
@Service("changeStaffPwdSMOImpl")
public class ChangeStaffPwdSMOImpl extends AbstractComponentSMO implements IChangeStaffPwdServiceSMO {
@Service("resetStaffPwdSMOImpl")
public class ResetStaffPwdSMOImpl extends AbstractComponentSMO implements IResetStaffPwdServiceSMO {
    @Autowired
    private RestTemplate restTemplate;
    @Override
    public ResponseEntity<String> change(IPageData pd) throws SMOException {
    public ResponseEntity<String> reset(IPageData pd) throws SMOException {
        return businessProcess(pd);
    }
    @Override
    protected void validate(IPageData pd, JSONObject paramIn) {
        Assert.hasKeyAndValue(paramIn, "communityId", "必填,请填写小区信息");
        Assert.hasKeyAndValue(paramIn, "oldPwd", "必填,请填写原始密码");
        Assert.hasKeyAndValue(paramIn, "newPwd", "必填,请填写新密码");
        Assert.hasKeyAndValue(paramIn, "userId", "必填,请填写用户ID");
        //super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_CARINOUT);
    }
    @Override
    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
        Map paramMap = BeanConvertUtil.beanCovertMap(result);
        paramIn.putAll(paramMap);
        super.validateStoreStaffCommunityRelationship(pd, restTemplate);
        paramIn.put("oldPwd", AuthenticationFactory.passwdMd5(paramIn.getString("oldPwd")));
        paramIn.put("newPwd", AuthenticationFactory.passwdMd5(paramIn.getString("newPwd")));
        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/user.changeStaffPwd";
        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/user.resetStaffPwd";
        ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
                apiUrl,
WebService/src/main/resources/components/staffPackage/resetStaffPwd/resetStaffPwd.html
New file
@@ -0,0 +1,19 @@
<div class="modal fade" id="resetStaffPwdModel" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">请确认您的操作!</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <tr align="center"><th>确认是否重置密码!</th></tr>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal" v-on:click="closeResetStaffPwdModel()">点错了</button>
                <button type="button" class="btn btn-primary" v-on:click="resetStaffPwd()">确认重置</button>
            </div>
        </div>
    </div>
</div>
WebService/src/main/resources/components/staffPackage/resetStaffPwd/resetStaffPwd.js
New file
@@ -0,0 +1,48 @@
(function(vc){
    vc.extends({
        data:{
            resetStaffPwdInfo:{}
        },
        _initEvent:function(){
             vc.on('resetStaffPwd','openResetStaffPwd',function(_staffInfo){
                    vc.component.resetStaffPwdInfo = _staffInfo;
                    $('#resetStaffPwdModel').modal('show');
                });
        },
        methods:{
            closeDeleteStaffModel:function(){
                $('#resetStaffPwdModel').modal('hide');
            },
            resetStaffPwd:function(){
                var _dataObj = {
                    communityId:vc.getCurrentCommunity().communityId,
                    userId:vc.component.resetStaffPwdInfo.userId
                };
                vc.http.post(
                    'resetStaffPwd',
                    'reset',
                    JSON.stringify(_dataObj),
                    {
                        emulateJSON:true
                     },
                     function(json,res){
                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                        if(res.status == 200){
                            //关闭model
                            var _pwd = JSON.parse(json);
                            $('#resetStaffPwdModel').modal('hide');
                            vc.toast("修改密码成功,密码为"+_pwd.pwd+"请及时修改密码",10*1000);
                            return ;
                        }
                        vc.component.resetStaffPwdInfo.errorInfo = json;
                     },
                     function(errInfo,error){
                        console.log('请求失败处理');
                        vc.component.resetStaffPwdInfo.errorInfo = errInfo;
                     });
            }
        }
    });
})(window.vc);
WebService/src/main/resources/components/staffPackage/staff-manage/staff.html
@@ -26,7 +26,8 @@
                            <div class="form-group">
                                <select class="custom-select" v-model="staffInfo.conditions.departmentOrgId">
                                    <option selected value="">必填,请选择部门</option>
                                    <option v-for="departmentOrg in staffInfo.departmentOrgs" :value="departmentOrg.orgId">
                                    <option v-for="departmentOrg in staffInfo.departmentOrgs"
                                            :value="departmentOrg.orgId">
                                        {{departmentOrg.orgName}}
                                    </option>
                                </select>
@@ -78,45 +79,53 @@
                    </div>
                </div>
                <div class="ibox-content">
                    <div class="table-responsive">
                        <table class="table table-striped table-bordered table-hover dataTables-example">
                            <thead>
                            <tr>
                                <th>员工ID</th>
                                <th>名称</th>
                                <th>部门</th>
                                <th>邮箱</th>
                                <th>地址</th>
                                <th>性别</th>
                                <th>手机号</th>
                                <th>操作</th>
                            </tr>
                            </thead>
                            <tbody>
                            <tr class="gradeX" v-for="staff in staffData">
                                <td>{{staff.userId}}</td>
                                <td>{{staff.name}}</td>
                                <td>{{staff.orgName}}</td>
                                <td>{{staff.email}}</td>
                                <td>{{staff.address}}</td>
                                <td>{{staff.sex == 0 ? '男' : '女'}}</td>
                                <td>{{staff.tel}}</td>
                    <table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15">
                        <thead>
                        <tr>
                            <th>员工ID</th>
                            <th>名称</th>
                            <th>部门</th>
                            <th>邮箱</th>
                            <th>地址</th>
                            <th>性别</th>
                            <th>手机号</th>
                            <th  class="text-right">操作</th>
                        </tr>
                        </thead>
                        <tbody>
                        <tr class="gradeX" v-for="staff in staffData">
                            <td>{{staff.userId}}</td>
                            <td>{{staff.name}}</td>
                            <td>{{staff.orgName}}</td>
                            <td>{{staff.email}}</td>
                            <td>{{staff.address}}</td>
                            <td>{{staff.sex == 0 ? '男' : '女'}}</td>
                            <td>{{staff.tel}}</td>
                                <td>
                                    <i class="glyphicon glyphicon-edit" style="color: #17a2b8;"
                                       v-on:click="openEditStaff(staff)"></i>
                                    <i v-if="staff.relCd != 600311000001" class="glyphicon glyphicon-remove-sign"
                                       style="color: #dc3545;margin-left:5px"
                                       v-on:click="openDeleteStaff(staff)"></i>
                                </td>
                            </tr>
                            </tbody>
                        </table>
                        <!-- 分页 -->
                        <vc:create name="pagination"></vc:create>
                    </div>
                            <td  class="text-right">
                                <div class="btn-group">
                                    <button class="btn-white btn btn-xs" v-on:click="openEditStaff(staff)">修改
                                    </button>
                                </div>
                                <div class="btn-group">
                                    <button class="btn-white btn btn-xs" v-on:click="_resetStaffPwd(staff)">重置密码
                                    </button>
                                </div>
                                <div v-if="staff.relCd != 600311000001" class="btn-group">
                                    <button class="btn-white btn btn-xs" v-on:click="openDeleteStaff(staff)">删除
                                    </button>
                                </div>
                            </td>
                        </tr>
                        </tbody>
                    </table>
                    <!-- 分页 -->
                    <vc:create name="pagination"></vc:create>
                </div>
            </div>
        </div>
    </div>
    <vc:create name="resetStaffPwd"></vc:create>
</div>
WebService/src/main/resources/components/staffPackage/staff-manage/staff.js
@@ -142,6 +142,9 @@
                },
                _queryStaffMethod:function(){
                    vc.component.loadData(DEFAULT_PAGE,DEFAULT_ROWS)
                },
                _resetStaffPwd:function(_staff){
                    vc.emit('resetStaffPwd','openResetStaffPwd',_staff);
                }
            },
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -825,4 +825,18 @@
        }
        return result;
    }
    /**
     * 获取随机数
     *
     * @return
     */
    public static String getRandomCode(int bit) {
        Random random = new Random();
        String result = "";
        for (int i = 0; i < bit; i++) {
            result += random.nextInt(10);
        }
        return result;
    }
}
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java
@@ -306,6 +306,11 @@
    public static final String SERVICE_CODE_CHANGE_STAFF_PWD = "user.changeStaffPwd";
    /**
     * 修改重置密码
     */
    public static final String SERVICE_CODE_RESET_STAFF_PWD = "user.resetStaffPwd";
    /**
     * 保存商户信息
     */
    public static final String SERVICE_CODE_SAVE_COMMUNITY_INFO = "save.community.info";