| | |
| | | * 更新用户密码 |
| | | * @param pwd |
| | | * @returns {AxiosPromise} |
| | | * 备注:encodeURIComponent执行两次的原因是post过程中会自动恢复一层encodeURIComponent |
| | | */ |
| | | updateUserPwd(pwd) { |
| | | return axios({ |
| | | method: 'post', |
| | | url: 'User_infAction!updatePassword', |
| | | data: "uif.USnId="+ encodeURIComponent(AES.encrypt(pwd)), |
| | | data: "uif.USnId="+ encodeURIComponent(encodeURIComponent(AES.encrypt(pwd))), |
| | | }); |
| | | }, |
| | | /** |
| | | * 重置密码 |
| | | * @param name |
| | | * @param oldPwd |
| | | * @param newPwd |
| | | * @returns {AxiosPromise} |
| | | * 备注:encodeURIComponent执行两次的原因是post过程中会自动恢复一层encodeURIComponent |
| | | */ |
| | | updateUserPwd2(name, oldPwd, newPwd) { |
| | | return axios({ |
| | | method: 'post', |
| | |
| | | UName: name, |
| | | Upassword: md5(oldPwd), |
| | | UNote: md5(newPwd), |
| | | USnId: encodeURIComponent(AES.encrypt(newPwd)), |
| | | USnId: encodeURIComponent(encodeURIComponent(AES.encrypt(newPwd))), |
| | | }), |
| | | }); |
| | | }, |
| | |
| | | url: 'Server_stateAction_action_getTimestamp', |
| | | data: null, |
| | | }); |
| | | } |
| | | }, |
| | | /** |
| | | * 关闭浏览器,清除session |
| | | * @returns {AxiosPromise} |
| | | */ |
| | | closeBrowser() { |
| | | return axios({ |
| | | method: 'post', |
| | | url: 'LoginAction_closeBrowser', |
| | | data: null, |
| | | }); |
| | | }, |
| | | } |
| | |
| | | label: '删除', |
| | | value: 5 |
| | | }, |
| | | { |
| | | label: "越权访问", |
| | | value: 20, |
| | | }, |
| | | { |
| | | label: "调用异常", |
| | | value: 21, |
| | | }, |
| | | { |
| | | label: "登录失败", |
| | | value: 31, |
| | | }, |
| | | { |
| | | label: "配置更改", |
| | | value: 32, |
| | | }, |
| | | { |
| | | label: "密码修改", |
| | | value: 33, |
| | | }, |
| | | { |
| | | label: "超时登录", |
| | | value: 34, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | |
| | | pattern: /^[^`~!@$%&*?<>/\\|=+^{}\[\]\'\"【】‘’¥——、,。;:?《》!]*$/i, |
| | | regVal: false, |
| | | msg: "存在特殊字符" |
| | | }, |
| | | isWhiteIp: { |
| | | pattern:/^((\*,)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?),)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}((2[0-4]\d|25[0-5]|[01]?\d\d?)|(\*)),)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((\*\.)(\*)),)*(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.)(\*\.){2}(\*),)*)*((\*)|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}((2[0-4]\d|25[0-5]|[01]?\d\d?)|(\*)))|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((\*\.)(\*)))|(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.)(\*\.){2}(\*)))$/, |
| | | regVal: false, |
| | | msg: "请输入正确的IP地址例如:*或192.168.10.7,192.168.10.8" |
| | | } |
| | | } |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | closeBrowser() { |
| | | this.$apis.login.closeBrowser().then(res=>{ |
| | | console.log(res); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | alarmAlert() { |
| | | this.alarmAlertStatus = !this.alarmAlertStatus; |
| | | }, |
| | |
| | | .getLicenseResTime() |
| | | .then((res) => { |
| | | let rs = JSON.parse(res.data.result); |
| | | console.log(rs); |
| | | if (rs.code == 1) { |
| | | this.termDateShow = true; |
| | | this.termDate = rs.data; |
| | |
| | | this.changeSkin(); |
| | | }, |
| | | mounted() { |
| | | let _beforeUnload_time = 0; |
| | | let _unload_time = 0; |
| | | // 监控浏览器关闭 |
| | | window.addEventListener('beforeunload', e=>{ |
| | | _beforeUnload_time = new Date().getTime(); |
| | | }); |
| | | window.addEventListener("unload", e=>{ |
| | | _unload_time = new Date().getTime(); |
| | | if(_unload_time-_beforeUnload_time<=1) { |
| | | this.closeBrowser(); |
| | | } |
| | | }); |
| | | |
| | | // 启动请求 |
| | | this.startSearch(); |
| | | this.startLogUseCount(); |
| | |
| | | } |
| | | }; |
| | | return { |
| | | loading: "", |
| | | params: { |
| | | oldPwd: "", |
| | | newPwd: "", |
| | |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | // 校验通过 |
| | | if (valid) { |
| | | // 开启等待框 |
| | | this.loading = this.$layer.loading(); |
| | | |
| | | if(this.firstChange) { |
| | | this.updateUserPwd2(this.name, this.params.oldPwd, this.params.newPwd); |
| | | }else { |
| | |
| | | this.confirmChangeUserPwd(this.params.newPwd); |
| | | }else { |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | this.$layer.close(this.loading); |
| | | this.$layer.msg("新密码和确认密码不一致"); |
| | | } |
| | | }else { |
| | | // 关闭等待框 |
| | | this.$layer.close(this.loading); |
| | | this.$layer.msg("原始密码错误!"); |
| | | } |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | |
| | | // 关闭等待框 |
| | | this.$layer.close(this.loading); |
| | | }); |
| | | }, |
| | | // 确认修改用户密码 |
| | | confirmChangeUserPwd(pwd) { |
| | | // 关闭等待框 |
| | | this.$layer.close(this.loading); |
| | | |
| | | this.$confirm("确认修改用户密码", '系统提示', { |
| | | type: 'warning', |
| | | }).then(()=>{ |
| | | // 开启等待框 |
| | | this.loading = this.$layer.loading(); |
| | | this.updateUserPwd(pwd); |
| | | }).catch(()=>{}); |
| | | }, |
| | |
| | | }else { |
| | | this.$layer.msg("密码更新失败"); |
| | | } |
| | | // 关闭等待框 |
| | | this.$layer.close(this.loading); |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | this.$layer.close(this.loading); |
| | | }); |
| | | }, |
| | | updateUserPwd2(name, oldPwd, newPwd) { |
| | |
| | | }else { |
| | | this.$layer.msg(rs.msg); |
| | | } |
| | | // 关闭等待框 |
| | | this.$layer.close(this.loading); |
| | | }).catch(error=>{ |
| | | this.$layer.msg("网络请求异常,密码更新失败"); |
| | | // 关闭等待框 |
| | | this.$layer.close(this.loading); |
| | | }); |
| | | }, |
| | | close() { |
| | |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | closeBrowser() { |
| | | this.$apis.login.closeBrowser().then(res=>{ |
| | | console.log(res); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | }, |
| | | computed: { |
| | | uKeyState() { |
| | |
| | | this.init(); |
| | | } |
| | | }); |
| | | |
| | | //console.log(AES.encrypt("123456")); |
| | | // console.log(encodeURIComponent("B17jjjYoBkbfZChw/fHzcA==")); |
| | | // console.log(decodeURIComponent("B17jjjYoBkbfZChw%2FfHzcA%3D%3D")) |
| | | //console.log(AES.decrypt("BAaiESc qt58gWNITRtXWw==")); |
| | | console.log(AES.decrypt("BAaiESc qt58gWNITRtXWw==")); |
| | | // console.log(md5("a123456")); |
| | | // console.log(JSON.stringify("5OUaEnC33sVNY+jeXlx3Qg==")); |
| | | }, |
| | |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="访问控制时间:" class="table-cell" prop="visitTime" v-if="isSysAdmin"> |
| | | <el-time-picker |
| | | popper-class="white-bg" |
| | | is-range |
| | | size="mini" |
| | | arrow-control |
| | | v-model="rangeTime" |
| | | range-separator="至" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | placeholder="选择时间范围" |
| | | @change="timeChange"> |
| | | </el-time-picker> |
| | | </el-form-item> |
| | | <el-form-item label="IP白名单:" prop="visitIp" v-if="isSysAdmin"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="6" |
| | | placeholder="请输入内容" |
| | | resize="none" |
| | | v-model="formData.visitIp"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- <div class="clear" v-if="status == 'edit'"></div> --> |
| | | <!-- <el-form-item label="身份证号:" class="table-cell"> |
| | |
| | | import AES from "@/common/AES"; |
| | | import validateRules from "@/assets/js/tools/validateRules"; |
| | | import extend from "@/assets/js/tools/extend"; |
| | | |
| | | import const_rules from "@/assets/js/const/const_rules"; |
| | | import { |
| | | testVal |
| | | } from '../../assets/js/tools' |
| | | export default { |
| | | // name:'addEdit', |
| | | props: ["status", "opt", "index", "seft"], |
| | | data() { |
| | | let userId = sessionStorage.getItem("userId"); |
| | | let constRules = const_rules; |
| | | |
| | | return { |
| | | userId: userId, |
| | | dialog: false, |
| | | UDepartmentList: [], |
| | | UJobGroupList: [], |
| | |
| | | type: 1, |
| | | status: 1, |
| | | expirationTime: null, |
| | | permitGroupId: 0, // 用户所在权限组 |
| | | visitTime: "00:00:01~23:59:59", // 默认值 全天 |
| | | visitIp: "*" // 允许访问的IP * 代表全部 |
| | | }, |
| | | rules: { |
| | | UName: [ |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | visitIp: [ |
| | | { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, constRules.isWhiteIp) |
| | | }, |
| | | trigger: 'change' |
| | | }, |
| | | ] |
| | | }, |
| | | rangeTime: [ |
| | | "2016-10-1 00:00:01", |
| | | "2016-10-1 23:59:59", |
| | | ], |
| | | }; |
| | | }, |
| | | computed: { |
| | | isSysAdmin() { |
| | | return this.userId==1?true:false; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.queryWhq(); //维护区 |
| | |
| | | this.formData.uRole = 2; |
| | | } else { |
| | | this.formData.uRole = this.opt.uRole; |
| | | this.formData.visitTime = this.opt.visitTime; |
| | | this.formData.visitIp = this.opt.visitIp; |
| | | let times = this.opt.visitTime.split("~"); |
| | | this.rangeTime = [ |
| | | new Date("2016-10-1 "+times[0]), |
| | | new Date("2016-10-1 "+times[1]), |
| | | ]; |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | } |
| | | ); |
| | | }, |
| | | timeChange(time) { |
| | | let time1 = time[0].format("hh:mm:ss"); |
| | | let time2 = time[1].format("hh:mm:ss"); |
| | | this.formData.visitTime = time1+"~"+time2; |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | <el-tag type="danger" size="mini" v-else>{{ scope.row.statusText }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="UNote" width="90px" align="center" label="备注"></el-table-column> --> |
| | | <el-table-column prop="visitTime" width="160" align="center" label="访问时间控制"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="visitIp" width="160" align="center" label="IP白名单"></el-table-column> |
| | | <!--<el-table-column prop="UId" align="center" label="权限组"></el-table-column>--> |
| | | <el-table-column prop="cztime" fixed="right" width="180px" align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | |
| | | </div> |
| | | </div> |
| | | <Dialog :title="dialogTitle" :visible.sync="centerDialogVisible" top='0' :close-on-click-modal="false" |
| | | class="dialog-center" width="700px" center> |
| | | class="dialog-center" width="760px" center> |
| | | <!-- addEdit --> |
| | | <add-edit v-if="reFresh" :seft="this" @success="success" @onClose="onClose" :status="status" |
| | | :index="thisIndex" :opt="opt"></add-edit> |
| | |
| | | status: '', |
| | | thisIndex: '', |
| | | opt: {}, |
| | | |
| | | reFresh: true |
| | | } |
| | | }, |
| | |
| | | }).filter(item=>{ |
| | | return item.UId>100 |
| | | }); |
| | | |
| | | console.log(this.userList); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |