默认密码登录修改密码,首页
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 747 B |
|
After Width: | Height: | Size: 949 B |
|
After Width: | Height: | Size: 822 B |
@@ -1,5 +1,59 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="min-width: 1100px">
|
||||
<div class="page-top">
|
||||
<!-- 工作区-->
|
||||
<a-card :bordered="false" class="workspace">
|
||||
<!-- 标题-->
|
||||
<div class="home-part-title"><img src="@/assets/imgs/icon/icon_workspace.png"/>工作区</div>
|
||||
<div class="divider"></div>
|
||||
|
||||
<div class="workspace-container">
|
||||
<div class="workspace-item">
|
||||
<img src="@/assets/imgs/homePage/user-management.png"/>
|
||||
<span>个人设置</span>
|
||||
</div>
|
||||
<div class="workspace-item">
|
||||
<img src="@/assets/imgs/homePage/company-management.png"/>
|
||||
<span>企业管理</span>
|
||||
</div>
|
||||
<div class="workspace-item">
|
||||
<img src="@/assets/imgs/homePage/general-project.png"/>
|
||||
<span>普通项目</span>
|
||||
</div>
|
||||
<div class="workspace-item">
|
||||
<img src="@/assets/imgs/homePage/working-group-project.png"/>
|
||||
<span>工作组项目</span>
|
||||
</div>
|
||||
<div class="workspace-item">
|
||||
<img src="@/assets/imgs/homePage/member-project.png"/>
|
||||
<span>会员项目</span>
|
||||
</div>
|
||||
<div class="workspace-item">
|
||||
<img src="@/assets/imgs/homePage/data-statistics.png"/>
|
||||
<span>数据统计</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</a-card>
|
||||
|
||||
<!-- 数据统计-->
|
||||
<a-card :bordered="false" class="data-statistics">
|
||||
<!-- 标题-->
|
||||
<div class="home-part-title"><img src="@/assets/imgs/icon/icon_data_statistics.png"/>数据统计</div>
|
||||
<div class="divider"></div>
|
||||
|
||||
|
||||
</a-card>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<!-- 统计报表-->
|
||||
<a-card :bordered="false" class="statistical-reports">
|
||||
<!-- 标题-->
|
||||
<div class="home-part-title"><img src="@/assets/imgs/icon/icon_home_report.png"/>统计报表</div>
|
||||
<div class="divider"></div>
|
||||
</a-card>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -20,3 +74,68 @@ export default {
|
||||
methods: {}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.page-top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.home-part-title {
|
||||
font-size: 16px;
|
||||
font-family: PingFang SC, PingFang SC-Medium;
|
||||
font-weight: 500;
|
||||
color: #666666;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
& > img {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.divider {
|
||||
height: 2px;
|
||||
background-color: #F0F2F5;
|
||||
margin: 20px -24px;
|
||||
}
|
||||
|
||||
.workspace {
|
||||
margin-right: 10px;
|
||||
width: calc(50% - 10px);
|
||||
|
||||
&-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
&-item {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
& > img {
|
||||
height: 74px;
|
||||
}
|
||||
|
||||
& > span {
|
||||
margin-top: 15px;
|
||||
font-size: 16px;
|
||||
font-family: PingFang SC, PingFang SC-Regular;
|
||||
font-weight: 400;
|
||||
color: #666666;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.data-statistics {
|
||||
margin-left: 10px;
|
||||
width: calc(50% - 10px);
|
||||
}
|
||||
|
||||
.statistical-reports {
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
:labelCol="{span: 5}"
|
||||
:wrapperCol="{span: 19}">
|
||||
<a-input
|
||||
v-decorator="['captcha', { rules: validatorRules.captcha.rules}]"
|
||||
v-decorator="['verifyCode', { rules: validatorRules.verifyCode.rules}]"
|
||||
type="text"
|
||||
placeholder="请输入验证码">
|
||||
</a-input>
|
||||
@@ -113,6 +113,8 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { getRSAPublicKey } from '@api/login'
|
||||
import { JSEncrypt } from 'jsencrypt'
|
||||
|
||||
export default {
|
||||
name: 'Alteration',
|
||||
@@ -132,7 +134,7 @@ export default {
|
||||
{ required: true, message: '请输入手机号码!' }, { validator: this.validatePhone }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
captcha: {
|
||||
verifyCode: {
|
||||
rules: [{ required: true, message: '请输入短信验证码!' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
@@ -158,7 +160,8 @@ export default {
|
||||
time: 60,
|
||||
smsSendBtn: false
|
||||
},
|
||||
userList: {}
|
||||
userList: {},
|
||||
rsaPublicKey: null // 公钥
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -169,11 +172,16 @@ export default {
|
||||
if (!err) {
|
||||
let params = {}
|
||||
console.log(values, '======values')
|
||||
params.rsaPublicKey = this.rsaPublicKey
|
||||
let encrypt = new JSEncrypt()
|
||||
encrypt.setPublicKey(params.rsaPublicKey)
|
||||
params.username = values.username
|
||||
params.phone = values.phone
|
||||
params.password = values.password
|
||||
params.captcha = values.captcha
|
||||
params.confirmPassword = values.confirmPassword
|
||||
getAction('/sys/user/passwordChange', params).then((res) => {
|
||||
params.password = encrypt.encrypt(values.password)
|
||||
// params.password = values.password
|
||||
params.verifyCode = values.verifyCode
|
||||
params.verifyPassword = encrypt.encrypt(values.confirmPassword)
|
||||
postAction('/sys/verificationChangePassword', params).then((res) => {
|
||||
if (res.success) {
|
||||
that.loading = false
|
||||
that.$router.go(-1)
|
||||
@@ -235,16 +243,16 @@ export default {
|
||||
|
||||
const hide = this.$message.loading('验证码发送中..', 0)
|
||||
let smsParams = {
|
||||
mobile: phone,
|
||||
smsmode: '2'
|
||||
phone: phone,
|
||||
}
|
||||
postAction('/sys/sms', smsParams).then(res => {
|
||||
getAction('/sys/sendVerificationCode', smsParams).then(res => {
|
||||
if (!res.success) {
|
||||
setTimeout(hide, 1)
|
||||
this.cmsFailed(res.message)
|
||||
}
|
||||
setTimeout(hide, 500)
|
||||
})
|
||||
this.getPublicKey()
|
||||
},
|
||||
cmsFailed(err) {
|
||||
this.$notification['error']({
|
||||
@@ -252,6 +260,11 @@ export default {
|
||||
description: err,
|
||||
duration: 4
|
||||
})
|
||||
},
|
||||
getPublicKey() {
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||