From a637cdb04ab7e0954196ad0d8e7cc24ae22ee93a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 10 三月 2026 13:22:22 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/password.html |  203 ++++++++++++++++++++------------------------------
 1 files changed, 80 insertions(+), 123 deletions(-)

diff --git a/src/main/webapp/views/password.html b/src/main/webapp/views/password.html
index fc866c0..4963a89 100644
--- a/src/main/webapp/views/password.html
+++ b/src/main/webapp/views/password.html
@@ -1,146 +1,103 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 <head>
     <meta charset="UTF-8">
-    <title></title>
+    <title>淇敼瀵嗙爜</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <link rel="stylesheet" href="../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../static/vue/element/element.css">
     <style>
-        #password-div {
-            padding: 20px 20px 20px 13px;
+        [v-cloak] {
+            display: none;
         }
-        .layui-form-item {
-            margin-bottom: 8px;
+
+        html,
+        body {
+            margin: 0;
+            min-height: 100%;
+            background: #f6f8fb;
+            font-family: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
         }
-        .layui-form-item .layui-input-inline {
-            margin: 0 0 10px 100px
+
+        .password-shell {
+            padding: 18px 16px 12px;
+            box-sizing: border-box;
         }
-        .layui-form-label {
-            color: #999!important;;
-            padding: 9px 0;
+
+        .password-card {
+            border-radius: 18px;
+            background: rgba(255, 255, 255, 0.98);
         }
-        #password-btn {
-            padding-top: 5px;
-            margin-left: 40px;
+
+        .password-form .el-form-item {
+            margin-bottom: 16px;
+        }
+
+        .password-form .el-input__inner,
+        .password-form .el-button {
+            height: 34px;
+            line-height: 34px;
+        }
+
+        .password-form .el-form-item__label {
+            font-weight: 600;
+            color: #5c6f82;
+            white-space: nowrap;
+        }
+
+        .password-form .el-button {
+            display: inline-flex;
+            align-items: center;
+            justify-content: center;
+            padding: 0 18px;
+            vertical-align: middle;
+        }
+
+        .footer-bar {
             display: flex;
             justify-content: center;
-            align-items: center;
+            gap: 12px;
+            padding-top: 4px;
         }
-        #password-btn.layui-btn-container .layui-btn{
-            margin-right: 30px;
+
+        .footer-bar .el-button {
+            min-width: 120px;
         }
     </style>
 </head>
-<body id="body">
-<div id="password-div">
-    <div class="layui-form" lay-filter="">
-        <div class="layui-form-item">
-            <label class="layui-form-label">褰撳墠瀵嗙爜</label>
-            <div class="layui-input-inline">
-                <input id="oldPassword" type="password" class="layui-input" lay-verify="checkPwd" lay-vertype="tips" autocomplete="off">
+<body>
+<div id="passwordApp" class="password-shell" v-cloak>
+    <div class="password-card">
+        <el-form
+            ref="passwordForm"
+            class="password-form"
+            :model="form"
+            :rules="rules"
+            label-width="112px"
+            size="small"
+            @submit.native.prevent>
+            <el-form-item label="褰撳墠瀵嗙爜" prop="oldPassword">
+                <el-input v-model="form.oldPassword" type="password" show-password autocomplete="off"></el-input>
+            </el-form-item>
+            <el-form-item label="鏂板瘑鐮�" prop="password">
+                <el-input v-model="form.password" type="password" show-password autocomplete="off"></el-input>
+            </el-form-item>
+            <el-form-item label="纭鏂板瘑鐮�" prop="rePassword">
+                <el-input v-model="form.rePassword" type="password" show-password autocomplete="off"></el-input>
+            </el-form-item>
+            <div class="footer-bar">
+                <el-button @click="closeDialog">鍏抽棴</el-button>
+                <el-button type="primary" :loading="saving" @click="handleSave">淇濆瓨</el-button>
             </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label">鏂板瘑鐮�</label>
-            <div class="layui-input-inline">
-                <input type="password"  class="layui-input" id="password" lay-verify="newPwd" lay-vertype="tips" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label">纭鏂板瘑鐮�</label>
-            <div class="layui-input-inline">
-                <input type="password" class="layui-input" id="rePassword" lay-verify="rePwd" lay-vertype="tips" autocomplete="off">
-            </div>
-        </div>
-        <hr class="layui-bg-gray">
-        <div id="password-btn" class="layui-form-item layui-btn-container">
-            <div id="password-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="savePwd">淇濆瓨</div>
-            <div id="password-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
-        </div>
+        </el-form>
     </div>
 </div>
 </body>
 <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
 <script type="text/javascript" src="../static/js/tools/md5.js"></script>
-<script type="text/javascript" src="../static/js/common.js?v=20260309_i18n_fix1" charset="utf-8"></script>
-<script src="../static/layui/layui.js"></script>
-<script>
-    layui.use(['form'], function() {
-        var form = layui.form,
-            layer = layui.layer,
-            $ = layui.jquery;
-
-        form.verify({
-            checkPwd: function(val) {
-                if (val === ""){
-                    // return "褰撳墠瀵嗙爜涓嶈兘涓虹┖";
-                }
-                if (parent.$('#password').val() !== hex_md5(val)) {
-                    return "瀵嗙爜涓嶅尮閰�";
-                }
-            },
-            newPwd: function (val) {
-                if (val === ""){
-                    return "鏂板瘑鐮佷笉鑳戒负绌�";
-                }
-                if (val.length < 4) {
-                    return "涓嶈兘灏戜簬4涓瓧绗�";
-                }
-                if (parent.$('#password').val() === hex_md5(val)) {
-                    return "涓庢棫瀵嗙爜涓嶈兘鐩稿悓";
-                }
-            },
-            rePwd: function (val) {
-                if ($('#password').val() !== val){
-                    return "瀵嗙爜涓嶄竴鑷�";
-                }
-            }
-        });
-
-        form.on('submit(savePwd)', function (data) {
-            var user = {
-                id: parent.$('#id').val(),
-                password: hex_md5($('#password').val()),
-            };
-            $.ajax({
-                url: baseUrl+"/user/update/auth",
-                headers: {'token': localStorage.getItem('token')},
-                data: user,
-                method: 'POST',
-                success: function (res) {
-                    if (res.code === 200){
-                        parent.layer.close();
-                        layer.confirm('瀵嗙爜淇敼鎴愬姛锛岃閲嶆柊鐧诲綍',{
-                            btn: ['纭畾'],
-                            btn1: function(){
-                                localStorage.removeItem("token");
-                                top.location.href = baseUrl+"/";
-                            },
-                            cancel: function(){
-                                localStorage.removeItem("token");
-                                top.location.href = baseUrl+"/";
-                            },
-                            closeBtn: 0,
-                            shadeClose: false,
-                        })
-                    } else if (res.code === 403){
-                        top.location.href = baseUrl+"/";
-                    } else {
-                        layer.msg(res.msg);
-                    }
-                }
-            });
-            return false;
-        });
-
-
-    });
-
-    // 鍏抽棴鍔ㄤ綔
-    $(document).on('click','#password-close', function () {
-        parent.layer.closeAll();
-    });
-</script>
-</html>
\ No newline at end of file
+<script type="text/javascript" src="../static/js/common.js?v=20260309_i18n_fix1"></script>
+<script type="text/javascript" src="../static/vue/js/vue.min.js"></script>
+<script type="text/javascript" src="../static/vue/element/element.js"></script>
+<script type="text/javascript" src="../static/js/password/password.js?v=20260310_password_vue"></script>
+</html>

--
Gitblit v1.9.1