From d600bbc25fb2e306d92cffafe2d7aa601daa536b Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 12 十二月 2025 11:02:30 +0800
Subject: [PATCH] #AI
---
src/main/webapp/views/index.html | 138 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 134 insertions(+), 4 deletions(-)
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index fee90ed..86a8ab5 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <title>娴欐睙涓壃 - 鑷姩鍖栫珛浣撲粨搴� - AS / RS</title>
+ <title>娴欐睙涓壃 - 鑷姩鍖栫珛浣撲粨搴� - WCS</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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
@@ -17,6 +17,50 @@
font-size: 18px;
font-weight: 400;
/*margin-left: 5px;*/
+ }
+
+ /* 寮圭獥鏍峰紡 */
+ .popup {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0,0,0,0.5);
+ display: none;
+ justify-content: center;
+ align-items: center;
+ z-index: 9999;
+ }
+
+ .popup-content {
+ background-color: #fff;
+ padding: 20px;
+ border-radius: 5px;
+ box-shadow: 0px 0px 20px rgba(0,0,0,0.3);
+ text-align: center;
+ }
+
+ /* AI鍔╂墜鎶藉眽鍔ㄧ敾 */
+ @keyframes slideInRight {
+ from { transform: translate3d(100%, 0, 0); opacity: 0; }
+ to { transform: translate3d(0, 0, 0); opacity: 1; }
+ }
+
+ @keyframes slideOutRight {
+ from { transform: translate3d(0, 0, 0); opacity: 1; }
+ to { transform: translate3d(100%, 0, 0); opacity: 0; }
+ }
+
+ .ai-drawer-layer {
+ box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15) !important;
+ border-radius: 8px 0 0 8px !important;
+ overflow: hidden;
+ animation: slideInRight 0.5s cubic-bezier(0.16, 1, 0.3, 1);
+ }
+
+ .ai-drawer-layer-close {
+ animation: slideOutRight 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
</style>
</head>
@@ -43,11 +87,11 @@
<!-- <li class="layui-nav-item" lay-unselect>-->
<!-- <a ew-event="note" title="渚跨"><i class="layui-icon layui-icon-note"></i></a>-->
<!-- </li>-->
- <li class="layui-nav-item" lay-unselect id="fakeShow" style="display: none;user-select: none;">
+ <li class="layui-nav-item" lay-unselect id="fakeShow" style="display: none;user-select: none;margin-right: 10px;">
<div style="color: red;" id="fakeShowText">浠跨湡妯℃嫙杩愯涓�</div>
</li>
<li class="layui-nav-item" lay-unselect id="licenseShow" style="display: none;user-select: none;">
- <div style="color: red;">璁稿彲璇佹湁鏁堟湡锛�<span id="licenseDays">29</span>澶�</div>
+ <div style="color: red;">涓存椂璁稿彲璇佹湁鏁堟湡锛�<span id="licenseDays">29</span>澶�</div>
</li>
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a ew-event="fullScreen" title="鍏ㄥ睆"><i class="layui-icon layui-icon-screen-full"></i></a>
@@ -80,7 +124,7 @@
<div class="layui-body"></div>
<!-- 搴曢儴 -->
<div class="layui-footer layui-text">
- copyright 漏 2023 娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙� all rights reserved.
+ copyright 漏 2026 娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙� all rights reserved.
<span class="pull-right">Version 1.0.0</span>
</div>
@@ -91,6 +135,19 @@
<div class="layuimini-loader-inner"></div>
</div>
+<!-- 寮圭獥鍐呭 -->
+<div class="popup" id="popup">
+ <div class="popup-content">
+ <h2 style="font-size: 28px;margin-bottom: 10px;">璁稿彲璇佸嵆灏嗚繃鏈�</h2>
+ <div id="popup-text" style="font-size: 28px;color: red"></div>
+ <button style="background-color: #007bff;color: #fff;border: none;padding: 10px 20px;border-radius: 5px;cursor: pointer;font-size: 16px;" onclick="hidePopup()">鍏抽棴</button>
+ </div>
+</div>
+
+<!-- 鍙充笅瑙扴VG鍔ㄧ敾 -->
+<div id="ai-assistant-btn" style="position: fixed; bottom: 40px; right: 20px; z-index: 9999; cursor: pointer;">
+</div>
+
<script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../static/layui/layui.js"></script>
<script type="text/javascript" src="../static/js/handlebars/handlebars-v4.5.3.js"></script>
@@ -98,10 +155,37 @@
<script>
console.log('%c 涓壃绔嬪簱骞冲彴 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;');
$(function () {
+ // 娉ㄥ叆AI鍔╂墜鍥炬爣
+ $('#ai-assistant-btn').html(getAiIconHtml(60, 60));
+
if ("" === localStorage.getItem('token')) {
top.location.href = baseUrl + "/login";
}
});
+
+ // 鏄剧ず寮圭獥
+ function showPopup(res) {
+ document.getElementById('popup').style.display = 'block';
+ // 鑾峰彇寮瑰嚭绐楀彛鍐呭鐨勫鍣ㄥ厓绱�
+ var popupText = document.getElementById('popup-text');
+ // 鍋囪鍚庡彴杩斿洖鐨勫瓧绗︿覆涓� responseString
+ if (res!==""){
+ // 鑾峰彇褰撳墠鏃ユ湡
+ const currentDate = new Date();
+ // 鍒涘缓鏂版棩鏈熷璞″苟娣诲姞澶╂暟
+ const newDate = new Date();
+ newDate.setDate(currentDate.getDate() + res + 1);
+ // 灏嗗瓧绗︿覆璁剧疆涓哄脊绐楀唴瀹圭殑鏂囨湰
+ popupText.textContent = "璁稿彲璇佸皢浜�" + new Intl.DateTimeFormat('zh-CN').format(newDate) + "杩囨湡锛屽墿浣欐湁鏁堟湡:" + res + "澶╋紒";
+ }else {
+ document.getElementById('popup').style.display = 'none';
+ }
+ }
+
+ // 闅愯棌寮圭獥
+ function hidePopup() {
+ document.getElementById('popup').style.display = 'none';
+ }
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
@@ -221,6 +305,10 @@
$("#licenseShow").show()
$("#licenseDays").html(days)
}
+
+ if (days <= 15) {
+ showPopup(days)
+ }
}else {
top.location.href = baseUrl + "/login";
}
@@ -247,6 +335,48 @@
var url = logout.getAttribute('href');
logout.setAttribute('href', baseUrl + "/login");
+ // AI鍔╂墜鍥炬爣鎮诞鎻愮ず
+ $('#ai-assistant-btn').on('mouseenter', function(){
+ this.index = layer.tips('AI鍔╂墜', this, {
+ tips: [1, '#333'], // 涓婃柟鏄剧ず锛屾繁鑹茶儗鏅�
+ time: -1 // 涓嶈嚜鍔ㄥ叧闂�
+ });
+ }).on('mouseleave', function(){
+ layer.close(this.index);
+ }).on('click', function () {
+ layer.open({
+ type: 2,
+ title: false, // 闅愯棌榛樿鏍囬鏍忥紝鏇寸畝娲�
+ closeBtn: 0, // 闅愯棌鍏抽棴鎸夐挳锛岀偣鍑婚伄缃╁叧闂�
+ shadeClose: false, // 鏀逛负鎵嬪姩鎺у埗鍏抽棴锛屼互渚挎挱鏀惧姩鐢�
+ shade: 0.1,
+ area: ['600px', '100%'],
+ offset: 'r', // 鍙充晶鎮诞
+ anim: -1, // 绂佺敤榛樿鍔ㄧ敾锛屼娇鐢–SS鍔ㄧ敾
+ isOutAnim: false,
+ skin: 'ai-drawer-layer', // 鑷畾涔夌毊鑲�
+ content: 'ai/diagnosis.html',
+ success: function(layero, index){
+ // 鑳屾櫙妯$硦鏁堟灉
+ var shadeId = layero.attr('id').replace('layui-layer', 'layui-layer-shade');
+ var $shade = $('#' + shadeId);
+ $shade.css({
+ 'backdrop-filter': 'blur(3px)',
+ 'transition': 'opacity 0.8s'
+ });
+
+ // 鐐瑰嚮閬僵鍏抽棴锛堝甫鍔ㄧ敾锛�
+ $shade.on('click', function() {
+ layero.addClass('ai-drawer-layer-close');
+ $shade.css('opacity', 0);
+ setTimeout(function(){
+ layer.close(index);
+ }, 400);
+ });
+ }
+ });
+ });
+
});
</script>
<script type="text/html" id="menuTpl">
--
Gitblit v1.9.1