m0_70156489 3 weken geleden
bovenliggende
commit
aaaca93d0b

+ 315 - 159
application/admin/view/index/login.html

@@ -3,245 +3,401 @@
 <head>
     {include file="common/meta" /}
     <style type="text/css">
-        body {
+        * {
+            box-sizing: border-box;
+        }
+
+        html, body {
             width: 100%;
-            height: 100vh;
-             background-image: url("http://xh-erp.7in6.com/img/bg1.jpg");
-            /*background-color: #071d31;*/
-            background-size: cover;
-            background-repeat: no-repeat;
-            display: flex;
-            flex-direction: column;
-            justify-content: center;
-            align-items: center;
+            height: 100%;
             margin: 0;
+            padding: 0;
+        }
+
+        body.login-page {
+            min-height: 100vh;
+            overflow-x: hidden;
+            overflow-y: auto;
+            background-color: #020b1e;
+            background-image: url('{:rtrim("__PUBLIC__", "/")}/img/login1.png');
+            background-repeat: no-repeat;
+            background-position: center center;
+            background-size: 100% 100%;
+            color: #fff;
+            font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
+            position: relative;
+        }
+
+        .login-top {
             position: relative;
-            /*background-position: center;*/
+            z-index: 2;
+            padding: 12px 20px 0;
+            text-align: center;
         }
 
-        a {
-            color: #444;
+        .login-top-brand {
+            display: inline-block;
+            margin: 0 auto;
+            width: min(460px, 58vw);
+            height: 64px;
+            background: url('{:rtrim("__PUBLIC__", "/")}/img/login4.png') no-repeat center center;
+            background-size: contain;
+            pointer-events: none;
+            user-select: none;
         }
 
-        .login-wrapper {
+        .login-main {
+            position: relative;
+            z-index: 2;
             display: flex;
-            flex-direction: column;
-            align-items: flex-end;
-            flex: 1 10 1;
+            align-items: flex-start;
+            justify-content: space-between;
+            gap: clamp(8px, 2vw, 28px);
             width: 100%;
-            padding: 20px;
-            box-sizing: border-box;
-            margin-right: 20%;margin-top: 10%;
-            position: relative;
+            /* max-width: 1678px; */
+            margin: 0 auto;
+            /* padding: 6px 7% 90px 3%; */
+            min-height: auto;
+        }
+
+        .login-visual {
+            flex: 1 1 auto;
+            min-width: 0;
+            display: flex;
+            align-items: center;
+            justify-content: flex-start;
+            overflow: visible;
         }
 
+        .login-visual-art {
+            display: block;
+            flex-shrink: 0;
+            height: calc(106vh - 85px);
+            aspect-ratio: 16 / 9;
+            width: auto;
+            max-width: min(calc((106vh - 85px) * 16 / 9), 78vw);
+            margin-left: clamp(32px, 4vw, 72px);
+            background: url('{:rtrim("__PUBLIC__", "/")}/img/login3.png') no-repeat center center;
+            background-size: contain;
+            pointer-events: none;
+            user-select: none;
+        }
 
-        .login-screen {
+        .login-panel {
+            flex: 0 0 auto;
             width: 100%;
-            max-width: 475px;
-            /* display: flex; */
-            flex-direction: column;
-            align-items: end;
-            border-radius: 3px;
-            box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
-            padding: 15px;
-            box-sizing: border-box;
+            max-width: 400px;
+            min-width: 300px;
+            margin-left: auto;
+            margin-right: clamp(56px, 9vw, 150px);
+            padding: 0;
+            align-self: center;
+            transform: translateY(0);
+        }
 
-            background-color: rgba(115, 162, 229, 0.1);
+        .login-panel-head {
+            width: 100%;
+            text-align: center;
         }
 
-        .profile-img-card {
-            width: 100px;
-            height: 100px;
-            border-radius: 50%;
-            margin: -50px auto 30px;
-            border: 5px solid #fff;
+        .login-sys-title {
+            display: block;
+            width: 86%;
+            height: 32px;
+            margin: 0 auto;
+            background: url('{:rtrim("__PUBLIC__", "/")}/img/login5.png') no-repeat center center;
+            background-size: contain;
+            pointer-events: none;
+            user-select: none;
         }
 
-        .profile-name-card {
-            text-align: center;
+        .login-panel-body {
+            margin-top: 28px;
         }
 
-        .login-form {
+        .login-divider-wrap {
             width: 100%;
-            display: flex;
-            flex-direction: column;
-            align-items: center;
-            padding: 20px;
-            box-sizing: border-box;
+            height: 15px;
+            margin: 0;
+            background: url('{:rtrim("__PUBLIC__", "/")}/img/login6.png') no-repeat center 54%;
+            background-size: 100% auto;
+            pointer-events: none;
+            user-select: none;
         }
 
-        #login-form {
-            width: 100%;
+        .login-panel-box {
+            margin-top: -11px;
+            border-top: none;
+            background: rgba(36, 98, 168, 0.34);
+            border: 1px solid rgba(120, 195, 255, 0.42);
+            box-shadow: 0 8px 32px rgba(8, 40, 90, 0.22), inset 0 0 24px rgba(120, 190, 255, 0.08);
+            backdrop-filter: blur(10px);
+            -webkit-backdrop-filter: blur(10px);
+            padding: 29px 24px 40px;
+        }
+
+        .login-form-title {
+            margin: 0 0 18px;
+            text-align: center;
+            font-size: 18px;
+            font-weight: 600;
+            letter-spacing: 3px;
+            color: #f0f7ff;
         }
 
-        #login-form .btn {
-            background-color: rgb(34, 60, 212);
-            height: 50px;
+        #login-form {
             width: 100%;
         }
 
         #login-form .input-group {
-            margin-bottom: 15px;
+            margin-bottom: 14px;
             width: 100%;
+            background: rgba(72, 145, 215, 0.38);
+            border-radius: 0;
+            overflow: hidden;
+            border: 1px solid rgba(150, 210, 255, 0.32);
+            backdrop-filter: blur(6px);
+            -webkit-backdrop-filter: blur(6px);
         }
 
-        #login-form .form-control {
-            font-size: 13px;
-            width: 100%;
+        #login-form .input-group-addon {
+            background: transparent;
+            border: none;
+            color: rgba(215, 235, 255, 0.88);
+            padding: 0 12px;
+            min-width: 42px;
+            text-align: center;
         }
 
-        .head {
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            width: 100%;
-            padding: 10px;
-            box-sizing: border-box;
-            position: absolute;
+        #login-form .input-group-addon .glyphicon {
+            font-size: 16px;
             top: 0;
-            left: 0;
         }
 
-        .head .head-title {
-            font-size: 24px;
-            margin: 0;
-            margin-top: 30px;
-            text-align: center;
-            color: whitesmoke;
-            font-family: 'Songti', '宋体', serif;
+        #login-form .form-control {
+            height: 42px;
+            border: none;
+            box-shadow: none;
+            font-size: 14px;
+            color: #f2f8ff;
+            background: transparent;
         }
 
-        .head-title-logo {
-            text-align: center;
-            color: whitesmoke;
-            font-family: 'Songti', '宋体', serif;
-            font-size: 36px;
-            font-weight: bold;
-            margin: 20px 0;
+        #login-form .form-control:focus {
+            box-shadow: none;
+            background: rgba(255, 255, 255, 0.06);
+        }
+
+        #login-form .form-control::placeholder {
+            color: rgba(200, 225, 250, 0.72);
+        }
+
+        #login-form .input-group .input-group-addon:last-child {
+            padding: 0;
+            border: none;
+        }
+
+        #login-form .btn-login-submit {
+            margin-top: 6px;
+            height: 44px;
+            width: 100%;
+            border: none;
+            border-radius: 0;
+            background: linear-gradient(180deg, #45a8ff 0%, #1a72ea 100%);
+            color: #fff;
+            font-size: 16px;
+            font-weight: 600;
+            letter-spacing: 6px;
+            box-shadow: 0 4px 12px rgba(26, 111, 232, 0.4);
         }
 
-        .title {
-            color: white;
+        #login-form .btn-login-submit:hover,
+        #login-form .btn-login-submit:focus {
+            background: linear-gradient(180deg, #52abff 0%, #2580f0 100%);
+            color: #fff;
         }
 
-        .footer {
+        .login-form-links {
             display: flex;
-            justify-content: center;
+            justify-content: space-between;
             align-items: center;
-            width: 100%;
-            padding: 10px;
-            color: white;
-            text-align: center;
-            font-family: 'Songti', '宋体', serif;
+            margin-top: 12px;
+            padding: 0 4px;
+            font-size: 12px;
+        }
+
+        .login-form-links a {
+            color: rgba(195, 218, 245, 0.85);
+            text-decoration: none;
+        }
+
+        .login-form-links a:hover {
+            color: #fff;
+            text-decoration: underline;
+        }
+
+        .login-footer {
             position: absolute;
-            bottom: 0;
             left: 0;
+            right: 0;
+            bottom: 0;
+            z-index: 2;
+            padding: 14px 20px 18px;
+            text-align: center;
+            font-size: 13px;
+            color: rgba(220, 235, 255, 0.82);
+        }
+
+        .login-footer a {
+            color: rgba(220, 235, 255, 0.82);
+        }
+
+        .login-footer a:hover {
+            color: #fff;
         }
 
-        @media (max-width: 768px) {
-            .head .head-title {
-                font-size: 16px;
+        @media (max-width: 1100px) {
+            .login-main {
+                flex-direction: column;
+                justify-content: flex-start;
+                padding: 16px 24px 96px;
+                min-height: auto;
+            }
+
+            .login-visual {
+                flex: 0 0 auto;
+                width: 100%;
+                justify-content: center;
+            }
+
+            .login-visual-art {
+                width: 100%;
+                max-width: 720px;
+                height: auto;
+                aspect-ratio: 16 / 9;
+                min-height: 280px;
+                max-height: none;
+                margin-left: 0;
+                background-position: center center;
+                background-size: contain;
+            }
+
+            .login-panel {
+                max-width: 460px;
+                margin-left: 0;
+                margin-right: 0;
+                transform: none;
             }
         }
 
         @media (max-width: 480px) {
-            .head .head-title {
-                font-size: 12px;
+            .login-top {
+                padding-top: 16px;
+            }
+
+            .login-panel-box {
+                padding: 22px 18px 18px;
             }
-        }
 
-        @media (max-width: 1920px) {
-            .head .head-title {
-                font-size: 30px;
+            .login-form-title {
+                font-size: 18px;
             }
         }
     </style>
-<!--    &lt;!&ndash;@formatter:off&ndash;&gt;-->
-<!--    {if $background}-->
-<!--    <style type="text/css">-->
-<!--        body {-->
-<!--            background-image: url('{$background}');-->
-<!--            background-image: url("./img/bg1.jpg");-->
-<!--            filter: brightness(1.2); /* 调整亮度 */-->
-<!--        }-->
-<!--    </style>-->
-<!--    {/if}-->
-<!--    &lt;!&ndash;@formatter:on&ndash;&gt;-->
     <script>
-        // 禁止页面缩放
-        document.addEventListener('wheel', function(e) {
+        document.addEventListener('wheel', function (e) {
             if (e.ctrlKey) {
                 e.preventDefault();
             }
-        }, { passive: false });
+        }, {passive: false});
 
-        // 禁止触摸缩放
-        document.addEventListener('gesturestart', function(e) {
+        document.addEventListener('gesturestart', function (e) {
             e.preventDefault();
         });
-        document.addEventListener('gesturechange', function(e) {
+        document.addEventListener('gesturechange', function (e) {
             e.preventDefault();
         });
-        document.addEventListener('gestureend', function(e) {
+        document.addEventListener('gestureend', function (e) {
             e.preventDefault();
         });
     </script>
 </head>
-<body>
-<div class="head">
-    <p class="head-title">浙江新华数码印务有限公司</p>
-</div>
-<div class="login-wrapper">
-    <div class="tmbg">
+<body class="login-page">
+<header class="login-top">
+    <div class="login-top-brand" role="img" aria-label="浙江新华数码印务有限公司"></div>
+</header>
+
+<main class="login-main">
+    <div class="login-visual">
+        <div class="login-visual-art" role="img" aria-label=""></div>
     </div>
-    <div class="login-screen">
-        <p class="head-title-logo">大数据协同系统</p>
-        <div>
-            <div class="login-form">
-                <p id="profile-name" class="profile-name-card"></p>
-                <form action="" method="post" id="login-form">
-                    <!--@AdminLoginFormBegin-->
-                    <div id="errtips" class="hide"></div>
-                    {:token()}
-                    <div class="input-group">
-                        <div class="input-group-addon">
-                            <span class="glyphicon glyphicon-user" aria-hidden="true"></span>
-                        </div>
-                        <input type="text" class="form-control" id="pd-form-username" placeholder="{:__('Username')}" name="username" autocomplete="off" value="" data-rule="{:__('Username')}:required;username"/>
-                    </div>
 
-                    <div class="input-group">
-                        <div class="input-group-addon">
-                            <span class="glyphicon glyphicon-lock" aria-hidden="true"></span>
-                        </div>
-                        <input type="password" class="form-control" id="pd-form-password" placeholder="{:__('Password')}" name="password" autocomplete="off" value="" data-rule="{:__('Password')}:required;length(4~30)"/>
+    <div class="login-panel">
+        <div class="login-panel-head">
+            <div class="login-sys-title" role="img" aria-label="大数据协同系统"></div>
+        </div>
+
+        <div class="login-panel-body">
+            <div class="login-divider-wrap" aria-hidden="true"></div>
+
+            <div class="login-panel-box">
+            <h2 class="login-form-title">用户登录</h2>
+            <form action="" method="post" id="login-form">
+                <!--@AdminLoginFormBegin-->
+                <div id="errtips" class="hide"></div>
+                {:token()}
+                <div class="input-group">
+                    <div class="input-group-addon">
+                        <span class="glyphicon glyphicon-user" aria-hidden="true"></span>
                     </div>
+                    <input type="text" class="form-control" id="pd-form-username" placeholder="请输入用户名" name="username" autocomplete="off" value="" data-rule="{:__('Username')}:required;username"/>
+                </div>
 
-                    {if $Think.config.fastadmin.login_captcha}
-                    <div class="input-group">
-                        <div class="input-group-addon">
-                            <span class="glyphicon glyphicon-option-horizontal" aria-hidden="true"></span>
-                        </div>
-                        <input type="text" name="captcha" class="form-control" placeholder="{:__('Captcha')}" data-rule="{:__('Captcha')}:required;length({$Think.config.captcha.length})" autocomplete="off"/>
-                        <span class="input-group-addon" style="padding:0;border:none;cursor:pointer;">
-                            <img src="{:rtrim('__PUBLIC__', '/')}/index.php?s=/captcha" width="100" height="30" onclick="this.src = '{:rtrim('__PUBLIC__', '/')}/index.php?s=/captcha&r=' + Math.random();"/>
-                        </span>
+                <div class="input-group">
+                    <div class="input-group-addon">
+                        <span class="glyphicon glyphicon-lock" aria-hidden="true"></span>
                     </div>
-                    {/if}
+                    <input type="password" class="form-control" id="pd-form-password" placeholder="请输入登录密码" name="password" autocomplete="off" value="" data-rule="{:__('Password')}:required;length(4~30)"/>
+                </div>
 
-                    <div class="form-group">
-                        <button type="submit" class="btn btn-success btn-lg btn-block" style="margin-top: 6px;">登录</button>
+                {if $Think.config.fastadmin.login_captcha}
+                <div class="input-group">
+                    <div class="input-group-addon">
+                        <span class="glyphicon glyphicon-option-horizontal" aria-hidden="true"></span>
                     </div>
-                    <!--@AdminLoginFormEnd-->
-                </form>
-            </div>
+                    <input type="text" name="captcha" class="form-control" placeholder="{:__('Captcha')}" data-rule="{:__('Captcha')}:required;length({$Think.config.captcha.length})" autocomplete="off"/>
+                    <span class="input-group-addon" style="cursor:pointer;">
+                        <img src="{:rtrim('__PUBLIC__', '/')}/index.php?s=/captcha" width="100" height="30" alt="captcha" onclick="this.src = '{:rtrim('__PUBLIC__', '/')}/index.php?s=/captcha&r=' + Math.random();"/>
+                    </span>
+                </div>
+                {/if}
+
+                <div class="form-group" style="margin-bottom:0;">
+                    <button type="submit" class="btn btn-login-submit btn-lg btn-block">登录</button>
+                </div>
+                <!--@AdminLoginFormEnd-->
+            </form>
+        </div>
         </div>
     </div>
-</div>
-<div class="footer">
-    <p>Copyright @ 杭州可集达科技有限公司 2026-{:date('Y',time())} 版权所有 <a href="https://beian.miit.gov.cn" target="_blank">{$site.beian|htmlentities}</a></p>
-</div>
+</main>
+
+<footer class="login-footer">
+    <p style="margin:0;">Copyright @ 杭州可集达科技有限公司 2026-{:date('Y',time())} 版权所有 <a href="https://beian.miit.gov.cn" target="_blank">{$site.beian|htmlentities}</a></p>
+</footer>
+
 {include file="common/script" /}
+<script>
+    (function () {
+        var $form = $('#login-form');
+        $('#btn-login-reset').on('click', function () {
+            $form[0].reset();
+            $('#errtips').addClass('hide').empty();
+        });
+        $('#btn-login-change-pwd').on('click', function () {
+            Layer.msg('请先登录系统,在右上角个人资料中修改密码');
+        });
+    })();
+</script>
 </body>
 </html>

BIN
public/img/bg1.jpg


BIN
public/img/login1.png


BIN
public/img/login2.png


BIN
public/img/login3.png


BIN
public/img/login4.png


BIN
public/img/login5.png


BIN
public/img/login6.png