| | |
| | | package com.wgcloud.mapper; |
| | | |
| | | import com.wgcloud.entity.Equipment; |
| | | import com.wgcloud.entity.FailureLogging; |
| | | import com.wgcloud.entity.WorkLogging; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author kdq |
| | |
| | | public interface FailureLoggingMapper { |
| | | |
| | | public void save(FailureLogging failureLogging) throws Exception; |
| | | |
| | | public List<FailureLogging> selectAllByParams(Map<String, Object> map) throws Exception; |
| | | |
| | | public List<FailureLogging> selectByParams(Map<String, Object> params) throws Exception; |
| | | |
| | | public Equipment selectById(String id) throws Exception; |
| | | |
| | | public int deleteById(String[] id) throws Exception; |
| | | |
| | | public int countByParams(Map<String, Object> params) throws Exception; |
| | | |
| | | } |
| | |
| | | |
| | | import com.wgcloud.entity.InspectionTask; |
| | | import com.wgcloud.entity.TaskInfo; |
| | | import com.wgcloud.mapper.InspectionTaskMapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | public class InspectionTaskService { |
| | | |
| | | @Autowired |
| | | private InspectionTaskService inspectionTaskService; |
| | | private InspectionTaskMapper inspectionTaskMapper; |
| | | |
| | | public void save(InspectionTask inspectionTask) throws Exception { |
| | | inspectionTaskService.save(inspectionTask); |
| | | inspectionTaskMapper.save(inspectionTask); |
| | | } |
| | | } |
| | |
| | | try { |
| | | servletContext.setAttribute("icoUrl", "/tssw/static/logincss/favicon.png"); |
| | | servletContext.setAttribute("logoUrl", "/tssw/static/logincss/logo.png"); |
| | | servletContext.setAttribute("wgName", "WGCLOUD"); |
| | | servletContext.setAttribute("wgShortName", "WGCLOUD"); |
| | | servletContext.setAttribute("wgName", "TSSW"); |
| | | servletContext.setAttribute("wgShortName", "TSSW"); |
| | | //先设置需要显示页面底部版权、网址信息 |
| | | servletContext.setAttribute("copyRight", "true"); |
| | | if (!StringUtils.isEmpty(commonConfig.getIcoUrl())) { |
| | |
| | | ID,OLD_DEVICE_NAME, OLD_DEVICE_IP,OLD_DEVICE_MODEL,NEW_DEVICE_NAME,NEW_DEVICE_IP,NEW_DEVICE_MODEL,PERSON_NAME,PERSON_DATE |
| | | </sql> |
| | | |
| | | <sql id="queryByParams"> |
| | | <if test="oldDeviceName != null"> |
| | | <![CDATA[ AND OLD_DEVICE_NAME = #{oldDeviceName} ]]> |
| | | </if> |
| | | <if test="oldDeviceIp != null"> |
| | | <![CDATA[ AND OLD_DEVICE_IP = #{oldDeviceIp} ]]> |
| | | </if> |
| | | <if test="oldDeviceModel != null"> |
| | | <![CDATA[ AND OLD_DEVICE_MODEL = #{oldDeviceModel} ]]> |
| | | </if> |
| | | <if test="newDeviceName != null"> |
| | | <![CDATA[ AND NEW_DEVICE_NAME = #{newDeviceName} ]]> |
| | | </if> |
| | | <if test="newDeviceIp != null"> |
| | | <![CDATA[ AND NEW_DEVICE_IP = #{newDeviceIp} ]]> |
| | | </if> |
| | | <if test="newDeviceModel != null"> |
| | | <![CDATA[ AND NEW_DEVICE_MODEL = #{newDeviceModel} ]]> |
| | | </if> |
| | | <if test="personName != null"> |
| | | <![CDATA[ AND PERSON_NAME = #{personName} ]]> |
| | | </if> |
| | | <if test="personDate != null"> |
| | | <![CDATA[ AND PERSON_DATE LIKE #{personDate}+'%' ]]> |
| | | </if> |
| | | |
| | | </sql> |
| | | |
| | | <select id="selectById" resultMap="resultMap" parameterType="java.lang.String"> |
| | | SELECT |
| | | <include refid="tableColumnList" /> |
| | |
| | | box-sizing: border-box} |
| | | *,body{padding:0px; margin:0px;color: #222;} |
| | | @font-face{font-family:electronicFont;src:url(../font/DS-DIGIT.TTF)} |
| | | body{ background:#000d4a url(../images/bg.jpg) center top; background-size:cover;color:#666;font-size: .1rem;} |
| | | body{ background:#000d4a url(../images/bg.jpg) center top; background-size:cover;color:#666;font-size: .1rem;;overflow: hidden} |
| | | li{ list-style-type:none;} |
| | | table{} |
| | | i{ margin:0px; padding:0px; text-indent:0px;} |
| | |
| | | ::-webkit-scrollbar-track {background-color:#ddd} |
| | | |
| | | /***/ |
| | | .canvas{position: absolute; width:100%; left: 0; top: 0; height: 99%; z-index: 1;} |
| | | .canvas{position: absolute; width:100%; left: 0; top: 0; height: 99%; z-index: 1} |
| | | |
| | | .allnav{height: calc(100% - 30px);} |
| | | .loading{position:fixed; left:0; top:0; font-size:18px; z-index:100000000;width:100%; height:100%; background:#1a1a1c; text-align:center;} |
| | |
| | | |
| | | .copyright{ background:rgba(19,31,64,.32); border: 1px solid rgba(255,255,255,.05); line-height:.5rem; text-align: center; padding-right: 15px; bottom: 0; color:rgba(255,255,255,.7); font-size: .16rem; } |
| | | |
| | | .head{ height:1.05rem; background: url(../images/head_bg.png) no-repeat center center; background-size: 100% 100%; position: relative; z-index: 100;} |
| | | .head{ height:0.6rem; background: url(../images/head_bg.png) no-repeat center center; background-size: 100% 100%; position: relative; z-index: 100;} |
| | | .head h1{ color:#fff; text-align: center; font-size: .4rem; line-height:.8rem;} |
| | | .head h1 img{ width:1.5rem; display: inline-block; vertical-align: middle; margin-right: .2rem} |
| | | .weather{ position:absolute; right:.3rem; top:0; line-height: .75rem;} |
| | |
| | | background-color: rgba(255,255,255,.1); |
| | | content: ''; |
| | | margin-left:0; right:-1px; margin-top: 7px; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | .tabs li a.active {border: 1px solid rgba(25,186,139,.17); background: rgba(255,255,255,.05); color:#fff;} |
| | | |
| | |
| | | position:relative; |
| | | -moz-user-select: none; |
| | | -khtml-user-select: none; |
| | | user-select: none; |
| | | user-select: none; |
| | | white-space:nowrap; |
| | | } |
| | | |
| | | |
| | | .str_move { |
| | | .str_move { |
| | | white-space:nowrap; |
| | | position:absolute; |
| | | top:0; |
| | | position:absolute; |
| | | top:0; |
| | | left:0; |
| | | cursor:move; |
| | | } |
| | | .str_move_clone { |
| | | display:inline-block; |
| | | vertical-align:top; |
| | | position:absolute; |
| | | position:absolute; |
| | | left:100%; |
| | | top:0; |
| | | } |
| | |
| | | cursor:inherit; |
| | | } |
| | | .str_wrap img { |
| | | max-width:none !important; |
| | | max-width:none !important; |
| | | } |
| | | .t_table{ |
| | | font-size: 0.16rem; |
| | |
| | | .t_table td{ |
| | | border-bottom: 1px solid #053A98; |
| | | border-right: 1px solid #053A98; |
| | | } |
| | | } |
| | |
| | | <base href="./" th:href="'/'"/> |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <title th:text="${application.wgName}">WGClOUD监控系统</title> |
| | | <title th:text="${application.wgName}">TSSW监控系统</title> |
| | | <!-- Tell the browser to be responsive to screen width --> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| | | <!-- Font Awesome --> |
| | |
| | | <!-- Toastr --> |
| | | <link rel="stylesheet" th:href="@{'/static/AdminLTE/plugins/toastr/toastr.min.css'}"> |
| | | <link rel="stylesheet" th:href="@{'/static/logincss/highlighter.css'}"> |
| | | <link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/> |
| | | <link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <title th:text="${application.wgName}+'大屏展示'">WGClOUD监控系统</title> |
| | | <title th:text="${application.wgName}+'大屏展示'">TSSW监控系统</title> |
| | | <base href="./" th:href="'/'"/> |
| | | <meta charset="utf-8"> |
| | | <link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <title th:text="${application.wgName}">WGClOUD监控系统</title> |
| | | <title th:text="${application.wgName}">TSSW监控系统</title> |
| | | <base href="./" th:href="'/'"/> |
| | | <meta charset="utf-8"> |
| | | <link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/> |
| | |
| | | document.getElementById("showTime").innerHTML = y+"年"+mt+"月"+day+"日-"+h+"时"+m+"分"+s+"秒"; |
| | | t = setTimeout(time,1000); //设定定时器,循环运行 |
| | | } |
| | | |
| | | |
| | | function reload() { |
| | | window.location.reload(); |
| | | } |
| | |
| | | <div class="mainbox"> |
| | | <ul class="clearfix"> |
| | | <li> |
| | | <div class="boxall" style="height: 3.2rem"> |
| | | <div class="boxall" style="height: 2.8rem"> |
| | | <div class="alltitle">机型数量</div> |
| | | <div class="allnav" id="echart1"></div> |
| | | <div class="boxfoot"></div> |
| | | </div> |
| | | <div class="boxall" style="height: 3.2rem"> |
| | | <div class="boxall" style="height: 2.8rem"> |
| | | <div class="alltitle">上下行速率最新TOP10(KB/s)</div> |
| | | <div class="allnav" id="echart2"></div> |
| | | <div class="boxfoot"></div> |
| | | </div> |
| | | <div class="boxall" style="height: 3.2rem"> |
| | | <div class="boxall" style="height: 2.8rem"> |
| | | <div class="alltitle">资源告警次数统计</div> |
| | | <div class="allnav" id="echart7"></div> |
| | | <div class="boxfoot"></div> |
| | |
| | | <div class="map1"><img th:src="@{'/static/daping/picture/lbx.png'}"></div> |
| | | <div class="map2"><img th:src="@{'/static/daping/picture/jt.png'}"></div> |
| | | <div class="map3"><img th:src="@{'/static/daping/picture/map.png'}"></div> |
| | | <div id="chart_4" class="map4" style="height: 7.9rem;"></div> |
| | | <div id="chart_4" class="map4" style="height: 6rem;"></div> |
| | | </div> |
| | | </li> |
| | | <li> |
| | | <div class="boxall" style="height:3.4rem"> |
| | | <div class="boxall" style="height:2.8rem"> |
| | | <div class="alltitle">主机状态</div> |
| | | <div class="allnav" id="echart4"></div> |
| | | <div class="boxfoot"></div> |
| | | </div> |
| | | <div class="boxall" style="height: 3.2rem"> |
| | | <div class="boxall" style="height: 2.8rem"> |
| | | <div class="alltitle">CPU使用率最新TOP10</div> |
| | | <div class="allnav" id="echart5"></div> |
| | | <div class="boxfoot"></div> |
| | | </div> |
| | | <div class="boxall" style="height: 3rem"> |
| | | <div class="boxall" style="height: 2.8rem"> |
| | | <div class="alltitle">内存使用率最新TOP10</div> |
| | | <div class="allnav" id="echart6"></div> |
| | | <div class="boxfoot"></div> |
| | |
| | | }, |
| | | grid: { |
| | | left: '0%', |
| | | top:'10px', |
| | | top:'20px', |
| | | right: '0%', |
| | | bottom: '4%', |
| | | containLabel: true |
| | |
| | | { |
| | | type: 'bar', |
| | | data: systemInfoTypeValList, |
| | | barWidth:'35%', //柱子宽度 |
| | | barWidth:'15%', //柱子宽度 |
| | | // barGap: 1, //柱子之间间距 |
| | | itemStyle: { |
| | | normal: { |
| | |
| | | <div class="main_top_middle"> |
| | | <div class="main_top_middle_top_title"> |
| | | <img class="title_bg" th:src="@{'/static/dapingNew/images/title_bg.png'}"> |
| | | <span th:text="${application.wgName}">WGCLOUD</span> |
| | | <span th:text="${application.wgName}">TSSW</span> |
| | | </div> |
| | | <div class="main_top_middle_num_title">平台监测资源</div> |
| | | <div class="main_top_middle_num"> |
| | |
| | | inside: false, |
| | | textStyle: { |
| | | color: '#38E1E1', |
| | | fontSize: '8', |
| | | fontSize: '12', |
| | | }, |
| | | formatter: function (val,index) { |
| | | return `${charts[index].num}` |
| | |
| | | show: true, |
| | | position: [-65, -2], |
| | | textStyle: { |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | }, |
| | | formatter: function (a, b) { |
| | | return a.name |
| | |
| | | data: datas, |
| | | textStyle: { //图例文字的样式 |
| | | color: '#fff', |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | }, |
| | | }, |
| | | series: [ |
| | |
| | | x: '45%', |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: 8, |
| | | fontSize: 12, |
| | | |
| | | }, |
| | | data: data, |
| | |
| | | x: '50%', |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: 8, |
| | | fontSize: 12, |
| | | |
| | | }, |
| | | data: data |
| | |
| | | x: '5%', |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: 8, |
| | | fontSize: 12, |
| | | |
| | | }, |
| | | data: data, |
| | |
| | | borderRadius: 4, |
| | | padding: [0,0], |
| | | height: 20, |
| | | fontSize: 8, |
| | | fontSize: 12, |
| | | align: 'center', |
| | | color: '#0EFCFF', |
| | | } |
| | |
| | | name: { |
| | | textStyle: { |
| | | color: '#39DCF4', |
| | | fontSize: '10', |
| | | fontSize: '12', |
| | | // borderRadius: 3, |
| | | padding: [10, 10] |
| | | } |
| | |
| | | formatter: fomatter_fn, |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | } |
| | | } |
| | | }; |
| | |
| | | yAxis: [{ |
| | | data: y_data, |
| | | axisLabel: { |
| | | fontSize: 8, |
| | | fontSize: 12, |
| | | color: 'rgba(255,255,255,.7)' |
| | | |
| | | }, |
| | |
| | | data: ["最高","平均","最低"], |
| | | textStyle: { |
| | | color: "#fff", |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | }, |
| | | itemWidth: 10, |
| | | itemHeight: 10, |
| | |
| | | axisLabel: { |
| | | interval: 0, |
| | | textStyle: { |
| | | fontSize: 8, |
| | | fontSize: 12, |
| | | color: 'rgba(255,255,255,.7)', |
| | | } |
| | | }, |
| | |
| | | name: '单位:%', |
| | | nameTextStyle: { |
| | | color: 'rgba(255,255,255,.7)', |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | }, |
| | | //max: 100, |
| | | min: 0, |
| | |
| | | axisLabel: { |
| | | textStyle: { |
| | | color: 'rgba(255,255,255,.8)', |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | // opacity: 0.1, |
| | | } |
| | | }, |
| | |
| | | data: ['进程数量', '连接数量'], |
| | | textStyle: { |
| | | color: "#fff", |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | }, |
| | | itemWidth: 10, |
| | | itemHeight: 10, |
| | |
| | | axisLabel: { |
| | | interval: 0, |
| | | textStyle: { |
| | | fontSize: 8, |
| | | fontSize: 12, |
| | | color: 'rgba(255,255,255,.7)', |
| | | } |
| | | }, |
| | |
| | | name: '单位:个', |
| | | nameTextStyle: { |
| | | color: 'rgba(255,255,255,.7)', |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | }, |
| | | // max: 1000, |
| | | min: 0, |
| | |
| | | axisLabel: { |
| | | textStyle: { |
| | | color: 'rgba(255,255,255,.8)', |
| | | fontSize: 8 |
| | | fontSize: 12 |
| | | // opacity: 0.1, |
| | | } |
| | | }, |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <title th:text="${application.wgName}">WGClOUD监控系统</title> |
| | | <title th:text="${application.wgName}">TSSW监控系统</title> |
| | | <div th:replace="common/header.html"></div> |
| | | |
| | | |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <title th:text="${application.wgName}">WGClOUD监控系统</title> |
| | | <title th:text="${application.wgName}">TSSW监控系统</title> |
| | | <div th:replace="common/header.html"></div> |
| | | |
| | | |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <title th:text="${application.wgName}">WGClOUD监控系统</title> |
| | | <title th:text="${application.wgName}">TSSW监控系统</title> |
| | | <div th:replace="common/header.html"></div> |
| | | |
| | | |
| | |
| | | <div class="col-lg-3 col-6"> |
| | | <!-- small box --> |
| | | <th:block th:if="${downAppSize > 0}"> |
| | | <div class="small-box bg-maroon"> |
| | | <div class="small-box bg-maroon"/> |
| | | </th:block> |
| | | <th:block th:if="${downAppSize <= 0}"> |
| | | <div class="small-box bg-info"> |
| | | <div class="small-box bg-info"/> |
| | | </th:block> |
| | | <div class="inner" title="已下线/总数量"> |
| | | <h3><font color="#DCDCDC" th:text="${downAppSize}">0</font>/<span th:text="${totalSizeApp}">1</span></h3> |
| | |
| | | <div class="col-lg-3 col-6"> |
| | | <!-- small box --> |
| | | <th:block th:if="${downDockerSize > 0}"> |
| | | <div class="small-box bg-maroon"> |
| | | <div class="small-box bg-maroon"/> |
| | | </th:block> |
| | | <th:block th:if="${downDockerSize <= 0}"> |
| | | <div class="small-box bg-olive"> |
| | | <div class="small-box bg-olive"/> |
| | | </th:block> |
| | | <div class="inner" title="已下线/总数量"> |
| | | <h3><font color="#DCDCDC" th:text="${downDockerSize}">0</font>/<span th:text="${dockerSize}">1</span></h3> |
| | |
| | | <div class="col-lg-3 col-6"> |
| | | <!-- small box --> |
| | | <th:block th:if="${dbInfoDownSize > 0}"> |
| | | <div class="small-box bg-maroon"> |
| | | <div class="small-box bg-maroon"/> |
| | | </th:block> |
| | | <th:block th:if="${dbInfoDownSize <= 0}"> |
| | | <div class="small-box bg-info"> |
| | | <div class="small-box bg-info"/> |
| | | </th:block> |
| | | <div class="inner" title="已下线/总数量"> |
| | | <h3><font color="#DCDCDC" th:text="${dbInfoDownSize}">0</font>/<span th:text="${dbInfoSize}">1</span></h3> |
| | | |
| | | <p>数据源</p> |
| | | </div> |
| | | <div class="icon"> |
| | |
| | | <div class="col-lg-3 col-6"> |
| | | <!-- small box --> |
| | | <th:block th:if="${dceDownSize > 0}"> |
| | | <div class="small-box bg-maroon"> |
| | | <div class="small-box bg-maroon"/> |
| | | </th:block> |
| | | <th:block th:if="${dceDownSize <= 0}"> |
| | | <div class="small-box bg-info"> |
| | | <div class="small-box bg-info"/> |
| | | </th:block> |
| | | <div class="inner" title="已下线/总数量"> |
| | | <h3><font color="#DCDCDC" th:text="${dceDownSize}">0</font>/<span th:text="${dceSize}">1</span></h3> |
| | |
| | | <div class="col-lg-3 col-6"> |
| | | <!-- small box --> |
| | | <th:block th:if="${heatherrSize > 0}"> |
| | | <div class="small-box bg-maroon"> |
| | | <div class="small-box bg-maroon"/> |
| | | </th:block> |
| | | <th:block th:if="${heatherrSize <= 0}"> |
| | | <div class="small-box bg-info"> |
| | | <div class="small-box bg-info"/> |
| | | </th:block> |
| | | <div class="inner" title="已下线/总数量"> |
| | | <h3><font color="#DCDCDC" th:text="${heatherrSize}">0</font>/<span th:text="${heathSize}">1</span></h3> |
| | |
| | | <div class="col-lg-3 col-6"> |
| | | <!-- small box --> |
| | | <th:block th:if="${hostDownSize > 0}"> |
| | | <div class="small-box bg-maroon"> |
| | | <div class="small-box bg-maroon"/> |
| | | </th:block> |
| | | <th:block th:if="${hostDownSize <= 0}"> |
| | | <div class="small-box bg-purple"> |
| | | <div class="small-box bg-purple"/> |
| | | </th:block> |
| | | <div class="inner" title="已下线/总数量"> |
| | | <h3><font color="#DCDCDC" th:text="${hostDownSize}">0</font>/<span th:text="${totalSystemInfoSize}">1</span></h3> |
| | |
| | | <div class="col-lg-3 col-6"> |
| | | <!-- small box --> |
| | | <th:block th:if="${portDownSize > 0}"> |
| | | <div class="small-box bg-maroon"> |
| | | <div class="small-box bg-maroon"/> |
| | | </th:block> |
| | | <th:block th:if="${portDownSize <= 0}"> |
| | | <div class="small-box bg-success"> |
| | | <div class="small-box bg-success"/> |
| | | </th:block> |
| | | <div class="inner" title="已下线/总数量"> |
| | | <h3><font color="#DCDCDC" th:text="${portDownSize}">0</font>/<span th:text="${portSize}">1</span></h3> |
| | |
| | | <head> |
| | | <base href="./" th:href="'/'"/> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| | | <title th:text="${application.wgName}">WGClOUD监控系统</title> |
| | | <title th:text="${application.wgName}">TSSW监控系统</title> |
| | | |
| | | <meta name="viewport" content="width=device-width,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> |
| | | <link type="text/css" rel="stylesheet" th:href="@{'/static/logincss/components.css'}" /> |
| | |
| | | <link type="text/css" rel="stylesheet" th:href="@{'/static/logincss/atmosfero.css'}" /> |
| | | |
| | | <link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/> |
| | | |
| | | |
| | | </head> |
| | | <body class="login-page"> |
| | | |
| | | <div class="login-box"> |
| | | <div class="login-box-content"> |
| | | <div class="login-logo"> |
| | | <a href="javascript:location.reload();" style="color: #fff;font-size: 16px;font-weight:bold"><img width="60" height="60" th:src="${application.logoUrl}"><span style="margin-left:5px;" th:text="${application.wgName}">WGCLOUD</span></a> |
| | | <a href="javascript:location.reload();" style="color: #fff;font-size: 16px;font-weight:bold"><img width="60" height="60" th:src="${application.logoUrl}"><span style="margin-left:5px;" th:text="${application.wgName}">TSSW</span></a> |
| | | </div> |
| | | <div class="login-box-body"> |
| | | <p class="login-box-msg">账号登录</p> |
| | | |
| | | <form id="form1" th:action="@{'/login/login'}" method="post" onsubmit="setMd5Pwd()" class="form-horizontal"> |
| | | |
| | | |
| | | <div class="form-group"> |
| | | <div class="col-sm-12"> |
| | | <input id="userName" name="userName" placeholder="输入账号" maxlength="50" autocomplete="off" class="validate[required] form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="form-group"> |
| | | <div class="col-sm-12"> |
| | | <input placeholder='输入密码' id="passwd" name="passwd" maxlength="30" class="validate[required] form-control" autocomplete="off" type="password"> |
| | |
| | | </div> |
| | | |
| | | <div class="form-group" style="color:red;font-weight:bold;text-align: center;" th:text="${error}"></div> |
| | | |
| | | |
| | | <div class="form-group"> |
| | | <div class="col-sm-12"> |
| | | <input value="登录" class="btn btn-primary btn-block" type="submit"> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="form-group"> |
| | | </div> |
| | | </form> |