123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <template>
- <div class="integralPage">
- <div class="configuration">
- <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
- <el-form-item label="旧手机号" prop="oldPhone">
- <el-input
- v-if="Number(privacyTime) === 0" disabled :value="hidden(oldPhone, 3, 4)" style="width: 70%"
- placeholder="请输入旧手机号"
- />
- <el-input v-else v-model="oldPhone" disabled style="width: 70%" placeholder="请输入旧手机号" />
- </el-form-item>
- <el-form-item label="新手机号" prop="newPhone">
- <el-input v-model="ruleForm.newPhone" maxlength="11" style="width: 70%" placeholder="请输入新手机号" />
- </el-form-item>
- <el-form-item label="验证码" prop="code">
- <GraphicVerificationCode
- api-type="update"
- :phone="ruleForm.newPhone"
- @input="(e) => ruleForm.code = e"
- ></GraphicVerificationCode>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="submint"> 确定 </el-button>
- </el-form-item>
- </el-form>
- </div>
- </div>
- </template>
- <script>
- import GraphicVerificationCode from '@/components/GraphicVerificationCode/index.vue'
- import {
- getAdminPhone,
- updatePhone
- } from '@/api/privacy'
- const JM = require('@/utils/rsaEncrypt.js')
- export default {
- name: 'Phone',
- components: {
- GraphicVerificationCode
- },
- data() {
- // 旧手机号
- const oldPhone = (rule, value, callback) => {
- if (!value) {
- return callback(new Error('请输入旧手机号'))
- } else if (/^1[3456789]\d{9}$/.test(value) === false) {
- return callback(new Error('请输入正确的手机号'))
- }
- callback()
- }
- // 新手机号
- const newPhone = (rule, value, callback) => {
- if (!value) {
- return callback(new Error('请输入新手机号'))
- } else if (/^1[3456789]\d{9}$/.test(value) === false) {
- return callback(new Error('请输入正确的手机号'))
- }
- callback()
- }
- // 验证码
- const code = (rule, value, callback) => {
- if (!value) {
- return callback(new Error('请输入验证码'))
- }
- callback()
- }
- return {
- ruleForm: {
- newPhone: '',
- code: ''
- },
- oldPhone: '',
- rules: {
- oldPhone: [ { required: true, validator: oldPhone, trigger: 'blur' } ],
- newPhone: [ { required: true, validator: newPhone, trigger: 'blur' } ],
- code: [ { required: true, validator: code, trigger: 'blur' } ]
- },
- privacyTime: 0
- }
- },
- created() {
- this.getPhone()
- this.privacyTime = localStorage.getItem('privacyTime')
- },
- mounted() { },
- methods: {
- // 获取管理员电话
- getPhone() {
- getAdminPhone().then((res) => {
- this.oldPhone = res.data
- })
- },
- submint() {
- if (this.ruleForm.newPhone === '' || this.ruleForm.newPhone === undefined) {
- this.$message.error('请填写新手机号')
- return
- }
- if (/^1[3456789]\d{9}$/.test(this.ruleForm.newPhone) === false) {
- this.$message.error('请填写正确手机号')
- return false
- }
- if (this.ruleForm.code === '' || this.ruleForm.code === undefined) {
- this.$message.error('请填写验证码')
- return
- }
- var data = {
- code: JM.encrypt(this.ruleForm.code),
- newPhone: JM.encrypt(this.ruleForm.newPhone),
- phone: JM.encrypt(this.oldPhone)
- }
- updatePhone(data).then((res) => {
- if (res.code === '') {
- this.$message({
- message: '手机号修改成功',
- type: 'success'
- })
- this.getPhone()
- this.ruleForm = {
- newPhone: '',
- code: ''
- }
- }
- })
- },
- // 中间部分
- hidden(str, frontLen, endLen) {
- let endLenData = 0
- if (str.length !== 2) {
- endLenData = endLen
- }
- const len = str.length - frontLen - endLenData
- let xing = ''
- for (let i = 0; i < len; i++) {
- xing += '*'
- }
- return (
- str.substring(0, frontLen) + xing + str.substring(str.length - endLenData)
- )
- }
- }
- }
- </script>
- <style lang="scss" scpoed>
- .integralPage {
- padding: 32px 20px;
- .configuration {
- width: 600px;
- }
- }
- </style>
|