| 
					
				 | 
			
			
				@@ -0,0 +1,234 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="agent_page">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="top">个人信息</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="content adffc">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="title">我的账户</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="box adfac">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="left">{{ firstWord }}</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="right">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p>{{ $store.state.user.realName }}</p>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p>{{ $store.state.user.mobile }}</p>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="item">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="i_title">用户名</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="i_text">{{ $store.state.user.realName }}</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="item">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="i_title">手机号码</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="i_text">{{ $store.state.user.mobile }}</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="pwd adfacjb">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="p_l">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p>密码</p>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p>当前为初始密码,安全性较低,您可以重置密码</p>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="p_r">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-button type="primary" @click="resetPwd">重置密码</el-button>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-dialog width="484px" :visible.sync="show" title="重置密码" @close="cancel">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-form :model="form" :rules="rules" ref="pwdRef" label-width="100px" style="margin: 0 25px;">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-form-item label="原密码" prop="password">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-input v-model="form.password" clearable placeholder="请输入原密码" show-password></el-input>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-form-item>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-form-item label="新密码" prop="newPassword">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-input v-model="form.newPassword" clearable placeholder="请输入新密码" show-password></el-input>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-form-item>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-form-item label="确认密码" prop="surePassword">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-input v-model="form.surePassword" clearable placeholder="请输入确认密码" show-password></el-input>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-form-item>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-form>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="demo-drawer__footer" style="display: flex;justify-content: end;">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-button :loading="buttonLoading" type="primary" @click="submitForm">保 存</el-button>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-button @click="cancel" style="margin-right: 5%;">取 消</el-button>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-dialog>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script setup name="">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import { ref, getCurrentInstance, onMounted } from 'vue'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import { updateUserPwd } from '@/api/agent/index.js'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import { clearLoginInfo } from "@/utils";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const { proxy } = getCurrentInstance();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const firstWord = ref('')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const show = ref(false)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const form = ref({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        password: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        newPassword: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        surePassword: ''
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const buttonLoading = ref(false)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const pwdRef = ref(null)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const rules = {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        password: [
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { required: true, message: '请输入原密码', trigger: 'blur' }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        newPassword: [
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { required: true, message: '请输入新密码', trigger: 'blur' }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        surePassword: [
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { required: true, message: '请再次确认密码', trigger: 'blur' }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const resetPwd = () => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        show.value = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const submitForm = () => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        proxy.$refs.pwdRef.validate(async (valid) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (valid) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(form.value.newPassword !== form.value.surePassword) return proxy.$message.error('两次密码不一致')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                await updateUserPwd(form.value).then(res => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(res.code!==0) return proxy.$message.error(res.msg);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    proxy.$message.success('修改成功,即将退出登录...');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    cancel();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    setTimeout(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        logout();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    },1500)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const cancel = () => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        show.value = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.value = {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            password: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newPassword: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            surePassword: ''
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        proxy.$refs.pwdRef.resetFields();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const logout = () => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        proxy.$http.post("/logout").then(({ data: res }) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (res.code !== 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                localStorage.removeItem();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return proxy.$message.error(res.msg);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              clearLoginInfo();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              proxy.$router.push({ name: "login" });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        firstWord.value = proxy.$store.state.user.realName.substr(0, 1);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped lang="scss">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .agent_page{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .top{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            font-size: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            color: #393939;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            line-height: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            padding: 25px 27px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            border-bottom: 1px solid #E5E7EB;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .content{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            width: 800px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            margin: 0 auto;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .title{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-size: 24px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                color: #393939;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                line-height: 33px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                margin-top: 80px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .box{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                margin-top: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                padding: 31px 20px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                background: #F4F4F4;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                border-radius: 12px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .left{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    width: 86px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    height: 86px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    background: #833478;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    border-radius: 50%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-size: 24px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: #FFFFFF;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    line-height: 86px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    text-align: center;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .right{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    margin-left: 20px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    p{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-size: 20px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        color: #252525;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        line-height: 28px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        &:last-child{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-size: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: #7A7A7A;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            line-height: 22px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            margin-top: 10px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .item{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                margin-top: 42px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .i_title{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-size: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: #252525;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    line-height: 22px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .i_text{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    height: 42px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    background: #FFFFFF;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    border-radius: 6px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    border: 1px solid #E5E7EB;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    padding: 0 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-family: PingFangSC, PingFang SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-weight: 400;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-size: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: #393939;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    line-height: 42px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    margin-top: 13px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .pwd{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                margin-top: 41px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .p_l{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    p{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-size: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        color: #252525;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        line-height: 22px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        &:last-child{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-size: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: #9D9D9D;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            line-height: 20px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            margin-top: 25px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ::v-deep .el-dialog__title{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-weight: bold !important;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ::v-deep .el-dialog{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-top: 25vh !important;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |