This commit is contained in:
guochunsi
2025-12-31 17:40:01 +08:00
parent 6d94e91b70
commit 74c06bb8a0
713 changed files with 115034 additions and 46 deletions

View File

@@ -0,0 +1,139 @@
<!-- 敏感信息授权按钮组件 -->
<template>
<div>
<el-button class="grant-btn" type="text" @click="grantPrivilege">敏感信息授权</el-button>
<el-dialog append-to-body title="敏感信息短信授权"
v-model:visible="dialogVisible">
<el-form>
<el-form-item label="手机号">
<el-row>{{mobile}}</el-row>
</el-form-item>
<el-form-item label="验证码">
<el-col :span="11">
<el-input type="number" style="display: inline-block" maxlength="6" placeholder="请输入验证码" v-model="form.code"></el-input>
</el-col>
<el-col :span="5">
<el-button style="display: inline;margin-left: 5px;" plain type="text" @click.prevent="getCode()">{{title}}</el-button>
</el-col>
</el-form-item>
<el-alert :closable="false">验证通过后将去除脱敏有效期为30分钟请尽快操作</el-alert>
<el-alert type="warning" :closable="false">手机号码登记后统一维护如有修改请联系相关部门教职工(组织人事处) 学生(班主任) 驻校人员(后勤处)</el-alert>
</el-form>
<template v-slot:footer>
<span class="dialog-footer" style="text-aligin:center">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="checkCode"> </el-button>
</span>
</template>
</el-dialog>
</div>
</template>
<script>
import request from '@/router/axios'
export default {
name: "sensitive",
data(){
return{
dialogVisible: false,
second: '', //倒计时
disabled: false, //是否禁用按钮
timer: null, //计时器
form:{
code:''
},
mobile:'**'
}
},
computed: {
title() {
return this.disabled ? `重新获取 ( ${this.second} ) s` : '获取验证码';
},
},
methods:{
grantPrivilege(){
this.dialogVisible = true
this.form.code = ''
this.getMobile()
},
getCode() {
// console.log('点击')
let that = this
let s = 60 //倒计时间
if (!that.timer) {
that.second = s
that.disabled = true
that.timer = setInterval(() => {
if (that.second > 0 && this.second <= s) {
that.second--
} else {
that.disabled = false
clearInterval(that.timer)
this.timer = null
}
}, 1000)
that.sendCode()
}
},
getMobile(){
request({
url: '/admin/mobile/getMobile',
method: 'get'
}).then(response => {
console.log(response.data)
if (response.data.data) {
this.mobile = response.data.data
} else {
this.$message.error(response.data.msg)
}
})
},
sendCode(){
request({
url: '/admin/mobile/codeSensitive',
method: 'get'
}).then(response => {
console.log(response.data)
if (response.data.data) {
this.$message.success("短信发送成功")
} else {
this.$message.error(response.data.msg)
}
})
},
checkCode(){
request({
url: '/admin/mobile/checkSensitiveCode',
method: 'post',
data:{'code':this.form.code}
}).then(response => {
console.log(response.data)
if (response.data.data) {
this.dialogVisible = false
this.$message.success("校验通过")
} else {
this.$message.error("校验失败")
}
})
}
}
}
</script>
<style scoped lang="scss">
.wrapper {
display: inline-block;
}
.grant-btn{
marigin: 0px 5px !important;
color: #f39217;
}
</style>