From 28e168f05d3eb48223e69064188c6fce786442d4 Mon Sep 17 00:00:00 2001
From: zmk <496160012@qq.com>
Date: 星期三, 22 五月 2024 12:02:38 +0800
Subject: [PATCH] Merge branch 'master' of ssh://117.78.1.188:29418/dkyChenJiang

---
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/IndexVo.java                             |   85 ++++++++
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectMapper.xml                           |    5 
 javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java |  146 ++++++++++----
 javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/bg0521.png                     |    0 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html                        |    8 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java           |   19 +
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleMedia.java                       |   13 +
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html                         |    8 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/enums/RecordType.java                       |   14 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleMediaService.java              |    7 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectMapper.java                   |    6 
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleMediaMapper.xml                         |    5 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleMediaMapper.java                 |    6 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectService.java                |    5 
 javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/pass0521.png                   |    0 
 javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/user0521.png                   |    0 
 javaweb-plus/javaweb-cms/src/main/resources/templates/loginPage/process/login.html                 |  140 +++++++++----
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleMediaServiceImpl.java      |   46 ++--
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java        |   10 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/ProjectProcessVO.java                    |    9 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/Project.java                         |   15 +
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleService.java                   |   12 +
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html                     |   26 +-
 23 files changed, 452 insertions(+), 133 deletions(-)

diff --git a/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java b/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
index e8b3d7a..65725e7 100644
--- a/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
+++ b/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
@@ -10,14 +10,20 @@
 import com.javaweb.common.utils.Arith;
 import com.javaweb.common.utils.StringUtils;
 import com.javaweb.geo.domain.Hole;
+import com.javaweb.geo.domain.HoleMedia;
 import com.javaweb.geo.domain.Project;
+import com.javaweb.geo.enums.RecordType;
 import com.javaweb.geo.mapper.HoleMapper;
+import com.javaweb.geo.service.IHoleMediaService;
+import com.javaweb.geo.service.IHoleService;
 import com.javaweb.geo.service.IProjectService;
+import com.javaweb.geo.vo.IndexVo;
 import com.javaweb.geo.vo.ProjectProcessVO;
 import com.javaweb.system.service.ISysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import com.javaweb.common.config.Global;
 import com.javaweb.common.core.controller.BaseController;
@@ -35,12 +41,11 @@
 
 /**
  * 棣栭〉 涓氬姟澶勭悊
- * 
+ *
  * @author ruoyi
  */
 @Controller
-public class SysIndexController extends BaseController
-{
+public class SysIndexController extends BaseController {
     @Autowired
     private ISysMenuService menuService;
 
@@ -51,9 +56,12 @@
     private IProjectService projectService;
 
     @Autowired
-    private HoleMapper holeMapper;
+    private IHoleService holeService;
 
-    private String getAdminIndex(){
+    @Autowired
+    private IHoleMediaService holeMediaService;
+
+    private String getAdminIndex() {
         return configService.selectConfigByKey(CmsConstants.KEY_ADMIN_INDEX);
     }
 
@@ -64,8 +72,7 @@
 
     // 绯荤粺棣栭〉
     @GetMapping("/index")
-    public String index(ModelMap mmap)
-    {
+    public String index(ModelMap mmap) {
         // 鍙栬韩浠戒俊鎭�
         SysUser user = ShiroUtils.getSysUser();
         // 鏍规嵁鐢ㄦ埛id鍙栧嚭鑿滃崟
@@ -76,9 +83,9 @@
         mmap.put("demoEnabled", Global.isDemoEnabled());
 
         String indePage = this.getAdminIndex();
-        if(CmsConstants.ADMIN_INDEX_TOP_MENU.equals(indePage)){
+        if (CmsConstants.ADMIN_INDEX_TOP_MENU.equals(indePage)) {
             return CmsConstants.ADMIN_INDEX_TOP_MENU; // index_topMenu
-        }else{
+        } else {
             return "index";
         }
     }
@@ -86,53 +93,50 @@
     // 绯荤粺棣栭〉椤堕儴鑿滃崟
     @PostMapping("/index/getMenu")
     @ResponseBody
-    public AjaxResult getMenu(HttpServletRequest request)
-    {
+    public AjaxResult getMenu(HttpServletRequest request) {
         // 鍙栬韩浠戒俊鎭�
         SysUser user = ShiroUtils.getSysUser();
         // 鏍规嵁鐢ㄦ埛id鍙栧嚭鑿滃崟
         List<SysMenu> menus = menuService.selectMenusByUser(user);
         return AjaxResult.success(menus);
     }
+
     // 鍒囨崲涓婚
     @GetMapping("/system/switchSkin")
-    public String switchSkin(ModelMap mmap)
-    {
+    public String switchSkin(ModelMap mmap) {
         return "skin";
     }
 
 
     // 绯荤粺浠嬬粛
     @GetMapping("/system/main")
-    public String main(ModelMap mmap)
-    {
+    public String main(ModelMap mmap) {
         mmap.put("version", Global.getVersion());
-       
+
         return "main";
     }
 
     // 绯荤粺浠嬬粛
     @ResponseBody
     @GetMapping("/system/project")
-    public AjaxResult project()
-    {
+    public AjaxResult project() {
         AjaxResult ajaxResult = AjaxResult.success();
         List<Project> projects = projectService.selectProjectList(new Project());
-        ajaxResult.put("projects",projects);
+        ajaxResult.put("projects", projects);
         return ajaxResult;
     }
+
     /**
      * 鎬昏繘搴�
      * @return
      */
     @ResponseBody
     @GetMapping("/system/totalProcess")
-    public AjaxResult totalProcess()
-    {
+    public AjaxResult totalProcess() {
         AjaxResult ajaxResult = AjaxResult.success();
-        Hole hole = holeMapper.selectHoleTotalProcess();
-        Double data = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ;
-        ajaxResult.put("pointerData",data);
+        Hole hole = holeService.selectHoleTotalProcess();
+        Double data = Arith.div(hole.getFootageCpl(), hole.getFootage(), 2);
+        ajaxResult.put("pointerData", data);
         return ajaxResult;
     }
 
@@ -142,35 +146,85 @@
      */
     @ResponseBody
     @GetMapping("/system/projectProcess")
-    public AjaxResult projectProcess()
-    {
+    public AjaxResult projectProcess() {
         AjaxResult ajaxResult = AjaxResult.success();
-        List<Hole> holes = holeMapper.selectHoleProjectProcess();
-        Map<String,Double> holeMap = new HashMap<>();
-        for(Hole hole : holes){
-            Double val = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ;
-            val = Arith.round(val * 100,2);
-            holeMap.put(hole.getProjectId(),val) ;
+        List<Hole> holes = holeService.selectHoleProjectProcess();
+        Map<String, Double> holeMap = new HashMap<>();
+        for (Hole hole : holes) {
+            Double val = Arith.div(hole.getFootageCpl(), hole.getFootage(), 2);
+            val = Arith.round(val * 100, 2);
+            holeMap.put(hole.getProjectId(), val);
         }
 
         List<Project> projects = projectService.selectProjectList(new Project());
-        List<ProjectProcessVO> vos =  new ArrayList<>();
-        for(int i = 0 ; i<projects.size();i++ ){
-            String ids= projects.get(i).getIds();
-            Double val = holeMap.get(ids);
-            ProjectProcessVO vo = new ProjectProcessVO();
-            vo.setRanking(i + 1);
-            vo.setStation(projects.get(i).getCode());
-            vo.setValue(val);
-            if(val==null){
-                vo.setValue(0.0d);
+        List<ProjectProcessVO> vos = new ArrayList<>();
+        ProjectProcessVO vo;
+        if (!ObjectUtils.isEmpty(projects)) {
+            for (int i = 0; i < projects.size(); i++) {
+                String ids = projects.get(i).getIds();
+                Double val = holeMap.get(ids);
+                vo = new ProjectProcessVO();
+                vo.setRanking(i + 1);
+                vo.setStation(projects.get(i).getCode());
+                vo.setValue(val);
+                if (val == null) {
+                    vo.setValue(0.0d);
+                }
+                vo.setStatus(projects.get(i).getStatus());
+                vos.add(vo);
             }
-            vos.add(vo);
         }
-
-        ajaxResult.put("projectData",vos);
+        ajaxResult.put("projectData", vos);
         return ajaxResult;
     }
-    
+
+
+    /**
+     * 鏁伴噺缁熻
+     *
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/system/indexVo")
+    public AjaxResult projectProcess2() {
+        IndexVo result = new IndexVo();
+
+        //=============================鏌ヨ鍦哄湴鏁伴噺===============================
+        List<Project> projectList = projectService.selectProjectCountByStatus();
+        if (!ObjectUtils.isEmpty(projectList)) {
+            for (Project item : projectList) {
+                if (RecordType.projectStatus0.getId().equals(item.getStatus())) {
+                    result.setProjectStatus0(item.getStatusNumber());
+                }
+                if (RecordType.projectStatus1.getId().equals(item.getStatus())) {
+                    result.setProjectStatus0(item.getStatusNumber());
+                }
+                if (RecordType.projectStatus2.getId().equals(item.getStatus())) {
+                    result.setProjectStatus0(item.getStatusNumber());
+                }
+            }
+        }
+        if (ObjectUtils.isEmpty(result.getProjectStatus1())) {
+            result.setProjectStatus0(0);
+        }
+        if (ObjectUtils.isEmpty(result.getProjectStatus2())) {
+            result.setProjectStatus0(0);
+        }
+        if (ObjectUtils.isEmpty(result.getProjectStatus2())) {
+            result.setProjectStatus0(0);
+        }
+
+        //=============================鏌ヨ杩涘昂===============================
+        Hole hole = holeService.selectHoleTotalProcess();
+        result.setFootageCplCount(hole.getFootageCpl());
+        result.setFootageCount(hole.getFootage());
+
+        //=============================鏌ヨ璧勬枡===============================
+        HoleMedia holeMedia = holeMediaService.selectHoleMediaNumber();
+        result.setFileCount(holeMedia.getNumber());
+
+        return AjaxResult.success("鏌ヨ鎴愬姛",result);
+    }
+
 
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleMedia.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleMedia.java
index 6f2240d..612f284 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleMedia.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleMedia.java
@@ -61,6 +61,11 @@
     @Excel(name = "涓婁紶浜�")
     private String uploadUser;
 
+    /**
+     * 缁熻璧勬枡鏁伴噺
+     */
+    private Long number;
+
     public void setIds(String ids) {
         this.ids = ids;
     }
@@ -125,6 +130,14 @@
         this.projectId = projectId;
     }
 
+    public Long getNumber() {
+        return number;
+    }
+
+    public void setNumber(Long number) {
+        this.number = number;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/Project.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/Project.java
index 30c8989..23a6750 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/Project.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/Project.java
@@ -120,6 +120,9 @@
     @Excel(name = "椤圭洰鐘舵��")
     private String status;
 
+    /** 缁熻鐘舵�佹暟閲� */
+    private Integer statusNumber;
+
     /** 鏄惁鍒犻櫎 */
     @Excel(name = "鏄惁鍒犻櫎")
     private String isDeleted;
@@ -149,6 +152,7 @@
 
     /** 鏁版嵁鏉ユ簮 */
     private String dataSource;
+
 
     public Integer getHoleNum() {
 		return holeNum;
@@ -300,7 +304,16 @@
     {
         return status;
     }
-    public void setIsDeleted(String isDeleted) 
+
+    public Integer getStatusNumber() {
+        return statusNumber;
+    }
+
+    public void setStatusNumber(Integer statusNumber) {
+        this.statusNumber = statusNumber;
+    }
+
+    public void setIsDeleted(String isDeleted)
     {
         this.isDeleted = isDeleted;
     }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/enums/RecordType.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/enums/RecordType.java
index 47780ca..7523a2e 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/enums/RecordType.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/enums/RecordType.java
@@ -9,6 +9,13 @@
     deviceLog_out("out","鍑哄簱"),
 
     /**
+     * 鍑哄叆搴撶姸鎬�
+     */
+    projectStatus0("0","鏈崗璋�"),
+    projectStatus1("1","宸插崗璋�"),
+    projectStatus2("2","鏂藉伐涓�"),
+
+    /**
      * 璁板綍鍒嗙被锛堝繀濉紝鐩存帴濉啓姹夊瓧锛屽洜鑰冭檻鍘嗗彶鏁版嵁鍘熷洜锛�
      * 鈥滄満闀库�濊〃绀哄徃閽诲憳锛�
      * 鍥炴銆佸博鍦熴�佸彇鍦熴�佹爣璐�佸姩鎺€�佹按浣嶃�佸彇姘淬�佽礋璐d汉銆佸伐绋嬪笀銆佹満闀裤�侀捇鏈�
@@ -25,13 +32,6 @@
     jz("鏈洪暱","鏈洪暱"),
     zj("閽绘満","閽绘満"),
 
-
-
-    /**
-     * 椤圭洰鐘舵��
-     */
-    projectStatus0("0","椤圭洰鏈畬鎴�"),
-    projectStatus1("1","椤圭洰楠屾敹瀹屾垚"),
 
     /**
      * 鏄惁鍒犻櫎
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleMediaMapper.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleMediaMapper.java
index 96d4bce..bb831cc 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleMediaMapper.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleMediaMapper.java
@@ -69,4 +69,10 @@
     public int deleteHoleMediaByIds(String[] idss);
 
     Long countNumberByProjectId(@Param("projectId") String projectId);
+
+    /**
+     * 缁熻璧勬枡鏁伴噺
+     * @return
+     */
+    HoleMedia selectHoleMediaNumber();
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectMapper.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectMapper.java
index b5b4a6c..843ca1a 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectMapper.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectMapper.java
@@ -63,5 +63,9 @@
      */
     public int deleteProjectByIds(String[] idss);
 
-
+    /**
+     * 鏌ヨ鍦哄湴鏁伴噺
+     * @return
+     */
+    List<Project> selectProjectCountByStatus();
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleMediaService.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleMediaService.java
index e3bcbc8..449e4c0 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleMediaService.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleMediaService.java
@@ -58,4 +58,11 @@
      * @return 缁撴灉
      */
     public int deleteHoleMediaById(String ids);
+
+    /**
+     * 缁熻璧勬枡鏁伴噺
+     *
+     * @return
+     */
+    HoleMedia selectHoleMediaNumber();
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleService.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleService.java
index 95f9c43..e21605a 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleService.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleService.java
@@ -65,4 +65,16 @@
      * 瀵煎叆閽诲瓟
      */
     String importHole(String projectId, MultipartFile file, boolean updateSupport);
+
+    /**
+     * 鎬昏繘搴�
+     * @return
+     */
+    Hole selectHoleTotalProcess();
+
+    /**
+     * 鍦哄湴杩涘害
+     * @return
+     */
+    List<Hole> selectHoleProjectProcess();
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectService.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectService.java
index 4ff19bb..2f54fce 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectService.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectService.java
@@ -62,4 +62,9 @@
     public int deleteProjectById(String ids);
 
 
+    /**
+     * 鏌ヨ鍦哄湴鏁伴噺
+     * @return
+     */
+    List<Project> selectProjectCountByStatus();
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleMediaServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleMediaServiceImpl.java
index 8830912..7aa0a2d 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleMediaServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleMediaServiceImpl.java
@@ -1,6 +1,7 @@
 package com.javaweb.geo.service.impl;
 
 import java.util.List;
+
 import com.javaweb.common.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -11,86 +12,89 @@
 
 /**
  * 閽诲瓟鍥剧墖銆佽棰慡ervice涓氬姟灞傚鐞�
- * 
+ *
  * @author zmk
  * @date 2022-10-20
  */
 @Service
-public class HoleMediaServiceImpl implements IHoleMediaService 
-{
+public class HoleMediaServiceImpl implements IHoleMediaService {
     @Autowired
     private HoleMediaMapper holeMediaMapper;
 
     /**
      * 鏌ヨ閽诲瓟鍥剧墖銆佽棰�
-     * 
+     *
      * @param ids 閽诲瓟鍥剧墖銆佽棰慖D
      * @return 閽诲瓟鍥剧墖銆佽棰�
      */
     @Override
-    public HoleMedia selectHoleMediaById(String ids)
-    {
+    public HoleMedia selectHoleMediaById(String ids) {
         return holeMediaMapper.selectHoleMediaById(ids);
     }
 
     /**
      * 鏌ヨ閽诲瓟鍥剧墖銆佽棰戝垪琛�
-     * 
+     *
      * @param holeMedia 閽诲瓟鍥剧墖銆佽棰�
      * @return 閽诲瓟鍥剧墖銆佽棰�
      */
     @Override
-    public List<HoleMedia> selectHoleMediaList(HoleMedia holeMedia)
-    {
+    public List<HoleMedia> selectHoleMediaList(HoleMedia holeMedia) {
         return holeMediaMapper.selectHoleMediaList(holeMedia);
     }
 
     /**
      * 鏂板閽诲瓟鍥剧墖銆佽棰�
-     * 
+     *
      * @param holeMedia 閽诲瓟鍥剧墖銆佽棰�
      * @return 缁撴灉
      */
     @Override
-    public int insertHoleMedia(HoleMedia holeMedia)
-    {
+    public int insertHoleMedia(HoleMedia holeMedia) {
         holeMedia.setCreateTime(DateUtils.getNowDate());
         return holeMediaMapper.insertHoleMedia(holeMedia);
     }
 
     /**
      * 淇敼閽诲瓟鍥剧墖銆佽棰�
-     * 
+     *
      * @param holeMedia 閽诲瓟鍥剧墖銆佽棰�
      * @return 缁撴灉
      */
     @Override
-    public int updateHoleMedia(HoleMedia holeMedia)
-    {
+    public int updateHoleMedia(HoleMedia holeMedia) {
         return holeMediaMapper.updateHoleMedia(holeMedia);
     }
 
     /**
      * 鍒犻櫎閽诲瓟鍥剧墖銆佽棰戝璞�
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
      * @return 缁撴灉
      */
     @Override
-    public int deleteHoleMediaByIds(String ids)
-    {
+    public int deleteHoleMediaByIds(String ids) {
         return holeMediaMapper.deleteHoleMediaByIds(Convert.toStrArray(ids));
     }
 
     /**
      * 鍒犻櫎閽诲瓟鍥剧墖銆佽棰戜俊鎭�
-     * 
+     *
      * @param ids 閽诲瓟鍥剧墖銆佽棰慖D
      * @return 缁撴灉
      */
     @Override
-    public int deleteHoleMediaById(String ids)
-    {
+    public int deleteHoleMediaById(String ids) {
         return holeMediaMapper.deleteHoleMediaById(ids);
     }
+
+    /**
+     * 缁熻璧勬枡鏁伴噺
+     *
+     * @return
+     */
+    @Override
+    public HoleMedia selectHoleMediaNumber() {
+        return holeMediaMapper.selectHoleMediaNumber();
+    }
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
index da794c3..6db62e6 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
@@ -182,6 +182,25 @@
         return "瀵煎叆瀹屾瘯" ;
     }
 
+    /**
+     * 鎬昏繘搴�
+     * @return
+     */
+    @Override
+    public Hole selectHoleTotalProcess() {
+        return holeMapper.selectHoleTotalProcess();
+    }
+
+    /**
+     * 鍦哄湴杩涘害
+     * @return
+     */
+    @Override
+    public List<Hole> selectHoleProjectProcess() {
+        return holeMapper.selectHoleProjectProcess();
+    }
+
+
     private String saveExcel(MultipartFile file) {
         String filename = file.getOriginalFilename();
         File dir = new File(fileSaveDir);
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java
index 4b4bedc..980ada2 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java
@@ -88,9 +88,17 @@
      */
     @Override
     public int deleteProjectById(String ids) {
-
         return projectMapper.deleteProjectById(ids);
     }
 
+    /**
+     * 鏌ヨ鍦哄湴鏁伴噺
+     * @return
+     */
+    @Override
+    public List<Project> selectProjectCountByStatus() {
+        return projectMapper.selectProjectCountByStatus();
+    }
+
 
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/IndexVo.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/IndexVo.java
new file mode 100644
index 0000000..83c111b
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/IndexVo.java
@@ -0,0 +1,85 @@
+package com.javaweb.geo.vo;
+
+/**
+ * @author mzy-cxy
+ */
+public class IndexVo {
+    /**
+     * 鏈崗璋�
+     */
+    private Integer projectStatus0;
+
+    /**
+     * 宸插崗璋�
+     */
+    private Integer projectStatus1;
+
+    /**
+     * 鏂藉伐涓�
+     */
+    private Integer projectStatus2;
+
+    /**
+     * 鎬昏繘灏�
+     */
+    private Double footageCount;
+
+    /**
+     * 宸插畬鎴愯繘灏�
+     */
+    private Double footageCplCount;
+
+    /**
+     * 璧勬枡
+     */
+    private Long fileCount;
+
+
+    public Integer getProjectStatus0() {
+        return projectStatus0;
+    }
+
+    public void setProjectStatus0(Integer projectStatus0) {
+        this.projectStatus0 = projectStatus0;
+    }
+
+    public Integer getProjectStatus1() {
+        return projectStatus1;
+    }
+
+    public void setProjectStatus1(Integer projectStatus1) {
+        this.projectStatus1 = projectStatus1;
+    }
+
+    public Integer getProjectStatus2() {
+        return projectStatus2;
+    }
+
+    public void setProjectStatus2(Integer projectStatus2) {
+        this.projectStatus2 = projectStatus2;
+    }
+
+    public Double getFootageCount() {
+        return footageCount;
+    }
+
+    public void setFootageCount(Double footageCount) {
+        this.footageCount = footageCount;
+    }
+
+    public Double getFootageCplCount() {
+        return footageCplCount;
+    }
+
+    public void setFootageCplCount(Double footageCplCount) {
+        this.footageCplCount = footageCplCount;
+    }
+
+    public Long getFileCount() {
+        return fileCount;
+    }
+
+    public void setFileCount(Long fileCount) {
+        this.fileCount = fileCount;
+    }
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/ProjectProcessVO.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/ProjectProcessVO.java
index 750fc8d..90a8497 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/ProjectProcessVO.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/ProjectProcessVO.java
@@ -9,6 +9,7 @@
     private  Integer ranking;
     private String station;
     private Double value;
+    private String status;
 
     public Integer getRanking() {
         return ranking;
@@ -33,4 +34,12 @@
     public void setValue(Double value) {
         this.value = value;
     }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleMediaMapper.xml b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleMediaMapper.xml
index ac8fb25..300b3ab 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleMediaMapper.xml
+++ b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleMediaMapper.xml
@@ -14,6 +14,7 @@
         <result property="internetPath"    column="internet_path"    />
         <result property="createUser"    column="create_user"    />
         <result property="uploadUser"    column="upload_user"    />
+        <result property="number"    column="number"    />
     </resultMap>
 
     <sql id="selectHoleMediaVo">
@@ -42,6 +43,10 @@
         SELECT count(ids) FROM js_hole_media where project_id = #{projectId}
     </select>
 
+    <select id="selectHoleMediaNumber" resultMap="HoleMediaResult">
+        select count(ids) as number from js_hole_media
+    </select>
+
     <insert id="insertHoleMedia" parameterType="HoleMedia">
         insert into js_hole_media
         <trim prefix="(" suffix=")" suffixOverrides=",">
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectMapper.xml b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectMapper.xml
index 0c001e6..7f15c0d 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectMapper.xml
+++ b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectMapper.xml
@@ -23,6 +23,7 @@
         <result property="serialNumber"    column="serial_number"    />
         <result property="describe"    column="describe"    />
         <result property="status"    column="status"    />
+        <result property="statusNumber"    column="status_number"    />
         <result property="isDeleted"    column="is_deleted"    />
         <result property="statusChangeUser"    column="status_change_user"    />
         <result property="statusChangeReason"    column="status_change_reason"    />
@@ -60,6 +61,10 @@
         WHERE ids = #{ids}
     </select>
 
+    <select id="selectProjectCountByStatus" resultMap="ProjectResult">
+        SELECT `status`, count( * )  as status_number FROM js_project GROUP BY `status`
+    </select>
+
     <insert id="insertProject" parameterType="Project">
         insert into js_project
         <trim prefix="(" suffix=")" suffixOverrides=",">
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/bg0521.png b/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/bg0521.png
new file mode 100644
index 0000000..d5dd8bf
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/bg0521.png
Binary files differ
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/pass0521.png b/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/pass0521.png
new file mode 100644
index 0000000..dc4882d
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/pass0521.png
Binary files differ
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/user0521.png b/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/user0521.png
new file mode 100644
index 0000000..7fe45c7
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/user0521.png
Binary files differ
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html
index df294da..0e494de 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html
@@ -21,6 +21,14 @@
                     <input name="fullName" class="form-control" required type="text">
                 </div>
             </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">鍦哄湴鐘舵�侊細</label>
+                <div class="col-sm-8">
+                    <select name="status" class="form-control m-b" th:with="type=${@dict.getType('project_status')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                    </select>
+                </div>
+            </div>
 
             <div class="form-group">
                 <label class="col-sm-3 control-label">鍖哄幙锛�</label>
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html
index ef256ce..511673c 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html
@@ -22,6 +22,14 @@
                 </div>
             </div>
             <div class="form-group">
+                <label class="col-sm-3 control-label">鍦哄湴鐘舵�侊細</label>
+                <div class="col-sm-8">
+                    <select name="status" class="form-control m-b" th:with="type=${@dict.getType('project_status')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{status}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">
                 <label class="col-sm-3 control-label">鍖哄幙锛�</label>
                 <div class="col-sm-8">
                     <select name="district" class="form-control m-b" th:with="type=${@dict.getType('sys_district')}">
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html
index 3384ce3..1e158f1 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html
@@ -20,6 +20,13 @@
                                 <input type="text" name="code"/>
                             </li>
                             <li>
+                                <p>椤圭洰鐘舵�侊細</p>
+                                <select name="status" th:with="type=${@dict.getType('project_status')}">
+                                    <option value="">鎵�鏈�</option>
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                                </select>
+                            </li>
+                            <li>
                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;鎼滅储</a>
                                 <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;閲嶇疆</a>
                             </li>
@@ -48,6 +55,7 @@
     <script th:inline="javascript">
         var editFlag = [[${@permission.hasPermi('geo:project:edit')}]];
         var removeFlag = [[${@permission.hasPermi('geo:project:remove')}]];
+        var statusDatas = [[${@dict.getType('project_status')}]];
         var prefix = ctx + "geo/project";
 
         $(function() {
@@ -96,17 +104,13 @@
                     field : 'createTime', 
                     title : '鍒涘缓鏃堕棿'
                 },
-                {
-                    field : 'status', 
-                    title : '鍦哄湴鐘舵��',
-                    formatter: function(value, row, index) {
-                       if(row.status =='0'){
-                           return "鏈獙鏀�";
-                       }else{
-                           return "楠屾敹";
-                       }
-                    }
-                },
+                    {
+                        field : 'status',
+                        title : '椤圭洰鐘舵��',
+                        formatter: function(value, row, index) {
+                            return $.table.selectDictLabel(statusDatas, value);
+                        }
+                    },
                 {
                     title: '鎿嶄綔',
                     align: 'center',
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/loginPage/process/login.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/loginPage/process/login.html
index bd86f6b..98b9c13 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/loginPage/process/login.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/loginPage/process/login.html
@@ -16,9 +16,39 @@
         if(window.top!==window.self){window.top.location=window.location};
     </script>
     <style>
-        body,html{color:#000;margin:0;overflow:hidden;font:400 13px arial,Microsoft Yahei!important}a{font-size:inherit;text-decoration:none;color:#666;cursor:pointer}.txt{width:90%;padding:4px 20px;border-radius:22px;border:solid 1px #ccc;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:3.6em;outline:0}.txt:focus{border-color:#4386f5}.button{background:#4386f5;color:#fff;padding:6px 0;height:25px;line-height:25px;border-radius:5px;width:90%;border-radius:22px;display:inline-block;cursor:pointer}.page-con{text-align:center;width:400px;margin:0 auto;height:362px;position:absolute;top:50%;margin-top:-181px;left:50%;margin-left:-200px;background-color:#fff;padding:27px;border-radius:5px;border:1px solid #e8e1e1;}.page-con .sep{border-top:1px solid #ddd;height:20px;text-align:center}.page-con label{color:#666;display:inline-block;padding:0 10px;}.page-con .signup{font-size:12px;margin-top:19px;color:#666;text-align:left;padding-left:26px}.page-con .signup a{color:#333}#bg-canvas{position:absolute;z-index:-1}#logo-text{display:inline-block;margin-left:8px;font-size:35px;vertical-align:7px;font-family:arial;height:60px;text-shadow:1px 1px 2px #bbb inset}#logo-text .logo-dot{width:68px;height:6px;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-34px;margin-top:-3px;display:none}#logo-text .logo-dot:after{width:6px;background:#4386f5;height:6px;display:inline-block;position:absolute;right:-4px;border-radius:50%;content:""}#logo-text label{display:inline-block;background:#4386f5;border-radius:50%;color:#fff;padding:11px 8px;margin-left:6px;position:relative;box-shadow:1px 1px 6px #ccc}.login-input{position:relative}.login-input a{position:absolute;right:33px;top:13px;width:auto;height:20px;line-height:20px;text-align:right;color:#888;z-index:1}.weixin-con{display:none;padding:15px;background:#fff;position:absolute;z-index:9;width:362px;height:410px;left:50%;top:50%;margin-left:-181px;margin-top:-205px;text-align:center;border-raidus:5px;box-shadow:1px 1px 4px #ccc}.error-tip{height:30px;line-height:30px;position:absolute;right:32px;color:red;bottom:6px;font-size:12px;z-index:2;background:#fff}.success-tip{position:absolute;width:194px;top:155px;display:none;right:96px;padding:5px 8px;border:1px solid green;border-radius:3px;box-shadow:1px 1px 5px #d6e9c6;background-color:#dff0d8;color:#468847;text-shadow:0 1px 0 rgba(255,255,255,.5)}.icons{background:url(/resources/images/login_processon.png) no-repeat;display:inline-block;width:42px;height:42px;cursor:pointer;}.icons.weixin{background-position:0 0;background-size:42px}.icons.qq{background-position:0 -85px;background-size:43px}.icons.weibo{background-position:0 -131px;background-size:44px}.icons.google{background-position:0 -45px;background-size:44px}.icons.somemore{border-radius:100%;border:1px solid #ddd;background-position:-1px -165px;background-size:42px;width:38px;height:38px}.icons.somemore:hover{-webkit-box-shadow:inset 0 0 1px rgba(0,0,0,.2);-moz-box-shadow:inset 0 0 1px rgba(0,0,0,.2);box-shadow:inset 0 0 1px rgba(0,0,0,.2);cursor:pointer}.morelogo-con{background-color:#fff;padding:10px;position:absolute;left:249px;opacity:0;top:30px;z-index:3;border-radius:5px;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.morelogo-con.popover{opacity:1;top:45px}.morelogo-con>span{display:block;font-size:13px;color:#3d474d}.morelogo-con .mingdao{display:inline-block;vertical-align:middle;background-position:0 -257px;background-size:44px;margin-right:11px}.rotate{animation:.8s infinite rotate;-webkit-animation:.8s infinite rotate;-o-animation:.8s infinite rotate;-moz-animation:.8s infinite rotate;-ms-animation:.8s infinite rotate}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes rotate{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@-ms-keyframes rotate{from{-ms-transform:rotate(0)}to{-ms-transform:rotate(360deg)}}@-o-keyframes rotate{from{-o-transform:rotate(0)}to{-o-transform:rotate(360deg)}}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.bind{width:600px;margin-left:-300px}.bind .button,.bind .txt{width:55%}.bind #logo-text{vertical-align:-7px}.bind .icons{background:url(/resources/images/login_processon.png) no-repeat;display:inline-block;width:74px;height:74px;vertical-align:top}.bind .icons.weixin{background-position:0 0;background-size:70px;width:70px;height:68px}.bind .icons.qq{background-position:0 -141px;background-size:70px;width:70px;height:68px}.bind .icons.weibo{background-position:0 -211px;background-size:70px;width:70px;height:68px}.bind .icons.google{background-position:0 -73px;background-size:70px;width:70px;height:68px}.bind_item{position:relative}.bind-arrow{margin-left:30px;display:inline-block;position:relative;color:#666;margin-right:30px}.bind-tip{margin-top:40px}.des{margin-top:10px;font-size:14px}@media screen and (max-width:760px){.page-con{width:100%;left:0;margin-left:0}}
+        body,html{color:#000;margin:0;overflow:hidden;font:400 13px arial,Microsoft Yahei!important}a{font-size:inherit;text-decoration:none;color:#666;cursor:pointer}
+        .txt{width:90%;padding:4px 20px;border-radius:22px;border:solid 1px #ccc;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:3.6em;outline:0}
+        .txt:focus{border-color:#4386f5}.button{background:#4386f5;color:#fff;padding:6px 0;height:25px;line-height:25px;border-radius:5px;width:90%;border-radius:22px;display:inline-block;cursor:pointer}
+        .container{text-align:center;
+            /*width:400px;*/
+            margin:0 auto;
+            /*height:362px;*/
+            position:absolute;
+            top:30%;
+            margin-top:-181px;
+            /*left:50%;*/
+            margin-left:-200px;
+            /*background-color:#fff;*/
+            /*padding:27px;*/
+            /*border-radius:5px;*/
+            /*border:1px solid #e8e1e1;*/
+        }
+        .page-con .sep{border-top:1px solid #ddd;height:20px;text-align:center}
+        .page-con label{color:#666;display:inline-block;padding:0 10px;}
+        .page-con .signup{font-size:12px;margin-top:19px;color:#666;text-align:left;padding-left:26px}
+        .page-con .signup a{color:#333}#bg-canvas{position:absolute;z-index:-1}
+        #logo-text{
+            display:inline-block;
+            /*margin-left:8px;*/
+            font-size:35px;
+            vertical-align:7px;
+            font-family:arial;
+            /*height:60px;*/
+            text-shadow:1px 1px 2px #bbb inset
+        }
+        #logo-text .logo-dot{width:68px;height:6px;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-34px;margin-top:-3px;display:none}#logo-text .logo-dot:after{width:6px;background:#4386f5;height:6px;display:inline-block;position:absolute;right:-4px;border-radius:50%;content:""}#logo-text label{display:inline-block;background:#4386f5;border-radius:50%;color:#fff;padding:11px 8px;margin-left:6px;position:relative;box-shadow:1px 1px 6px #ccc}.login-input{position:relative}.login-input a{position:absolute;right:33px;top:13px;width:auto;height:20px;line-height:20px;text-align:right;color:#888;z-index:1}.weixin-con{display:none;padding:15px;background:#fff;position:absolute;z-index:9;width:362px;height:410px;left:50%;top:50%;margin-left:-181px;margin-top:-205px;text-align:center;border-raidus:5px;box-shadow:1px 1px 4px #ccc}.error-tip{height:30px;line-height:30px;position:absolute;right:32px;color:red;bottom:6px;font-size:12px;z-index:2;background:#fff}.success-tip{position:absolute;width:194px;top:155px;display:none;right:96px;padding:5px 8px;border:1px solid green;border-radius:3px;box-shadow:1px 1px 5px #d6e9c6;background-color:#dff0d8;color:#468847;text-shadow:0 1px 0 rgba(255,255,255,.5)}.icons{background:url(/resources/images/login_processon.png) no-repeat;display:inline-block;width:42px;height:42px;cursor:pointer;}.icons.weixin{background-position:0 0;background-size:42px}.icons.qq{background-position:0 -85px;background-size:43px}.icons.weibo{background-position:0 -131px;background-size:44px}.icons.google{background-position:0 -45px;background-size:44px}.icons.somemore{border-radius:100%;border:1px solid #ddd;background-position:-1px -165px;background-size:42px;width:38px;height:38px}.icons.somemore:hover{-webkit-box-shadow:inset 0 0 1px rgba(0,0,0,.2);-moz-box-shadow:inset 0 0 1px rgba(0,0,0,.2);box-shadow:inset 0 0 1px rgba(0,0,0,.2);cursor:pointer}.morelogo-con{background-color:#fff;padding:10px;position:absolute;left:249px;opacity:0;top:30px;z-index:3;border-radius:5px;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.morelogo-con.popover{opacity:1;top:45px}.morelogo-con>span{display:block;font-size:13px;color:#3d474d}.morelogo-con .mingdao{display:inline-block;vertical-align:middle;background-position:0 -257px;background-size:44px;margin-right:11px}.rotate{animation:.8s infinite rotate;-webkit-animation:.8s infinite rotate;-o-animation:.8s infinite rotate;-moz-animation:.8s infinite rotate;-ms-animation:.8s infinite rotate}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes rotate{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@-ms-keyframes rotate{from{-ms-transform:rotate(0)}to{-ms-transform:rotate(360deg)}}@-o-keyframes rotate{from{-o-transform:rotate(0)}to{-o-transform:rotate(360deg)}}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.bind{width:600px;margin-left:-300px}.bind .button,.bind .txt{width:55%}.bind #logo-text{vertical-align:-7px}.bind .icons{background:url(/resources/images/login_processon.png) no-repeat;display:inline-block;width:74px;height:74px;vertical-align:top}.bind .icons.weixin{background-position:0 0;background-size:70px;width:70px;height:68px}.bind .icons.qq{background-position:0 -141px;background-size:70px;width:70px;height:68px}.bind .icons.weibo{background-position:0 -211px;background-size:70px;width:70px;height:68px}.bind .icons.google{background-position:0 -73px;background-size:70px;width:70px;height:68px}.bind_item{position:relative}.bind-arrow{margin-left:30px;display:inline-block;position:relative;color:#666;margin-right:30px}.bind-tip{margin-top:40px}.des{margin-top:10px;font-size:14px}@media screen and (max-width:760px){.page-con{width:100%;left:0;margin-left:0}}
          body{
-          background-image :url(images/loginPage/bg11.png);
+          background-image :url(images/loginPage/bg0521.png);
           background-size:100% 100%;   
         }  
         html,body{
@@ -30,18 +60,26 @@
         }
         #logo-text{
         	/*color: rgba(51, 51, 51, 1);*/
-        	font-size: 40px;
-        	margin-left: 25px;
-            color: white;
-            margin-bottom: 20px;
+        	font-size: 32px;
+        	/*margin-left: 25px;*/
+            color: #065deb;
+            /*margin-bottom: 20px;*/
         }
-        .page-con{
-        	border-width: 0px;
+        .container{
+        	width: 495px;
+            height: 621px;
+            border-radius: 24px;
+            background-color: #ffffff;
+            box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .12), 0 6px 16px 0 rgba(0, 0, 0, .08), 0 9px 28px 8px rgba(0, 0, 0, .05);
+            border-width: 0px;
         	margin-left: 0px;
         	/*text-align: left;*/
-        	left: 38%;
+        	left: 60%;
         	padding: 0px;
             color: white;
+        }
+        .page-con{
+            padding:20px;
         }
         .bar-line{
         	display: block;
@@ -53,21 +91,28 @@
         .txt{
         	border-radius: 0px;
         	border-width: 0px;
-        	font-size: 16px;
+        	font-size: 18px;
         	padding: 0px 0px 0px 10px;
     		height: 45px;
         }
         .input-container{
         	/*border-bottom: 1px solid rgba(187, 187, 187, 1);*/
+            margin: auto;
+            box-sizing: border-box;
+            width:340px;
+            height:60px;
+            border:1px solid #065deb;
+            padding: 18px 28px 18px 28px;
+            border-radius: 10px;
         	display: flex;
         	align-items: center;
         }
         #signin_btn{
-        	width: 230px;
-			height: 50px;
-			line-height: 50px;
-			border-radius: 4px;
-			background-color: rgba(28,29,29, 1);
+        	width: 340px;
+			height: 60px;
+			line-height: 60px;
+			border-radius: 10px;
+			background-color: #065deb;
 			/*background-color: rgba(94, 131, 248, 1);*/
 			color: rgba(255, 255, 255, 1);
 			font-size: 20px;
@@ -95,42 +140,47 @@
 </head>
 
 <body>
-<div class="page-con" style="background-color:transparent">
-	<span class="bar-line"></span>
-    <form name="loginform" id="loginform">
-        <input type="hidden" id="redirectUrl" name="redirectUrl" value="${redirectUrl}" >
-        <div><span id="logo-text">鍖椾含甯傚湴闈㈡矇闄嶇洃娴嬬綉寤鸿宸ョ▼</span></div>
+<div class="container">
+    <div class="page-con" >
+        <span class="bar-line"></span>
+        <form name="loginform" id="loginform">
+            <input type="hidden" id="redirectUrl" name="redirectUrl" value="${redirectUrl}" >
+            <div><span id="logo-text">鍖椾含甯傚湴闈㈡矇闄嶇洃娴嬬綉寤鸿宸ョ▼</span></div>
+            <div style="width:100%">
+                <div class="input-container" style="margin-top:124px;position:relative;">
+                    <img src="images/loginPage/user0521.png" style="margin-right:5px;"/>
+                    <input id="username" name="username" class="txt" value="admin" type="text" autocomplete="off" placeholder="璇疯緭鍏ョ敤鎴峰悕/閭" >
+                    <div class="error-tip"></div>
+                </div>
+                <div class="login-input input-container" style="margin-top:42px;position:relative;">
+                    <img class="password-icon" src="images/loginPage/pass0521.png"style="margin-top:-5px"/>
+                    <input name="password" id="password"  value="admin123" class="txt" type="password" placeholder="璇疯緭鍏ョ櫥褰曞瘑鐮�" autocomplete="off"  >
+                    <div class="error-tip"></div>
+                </div>
 
-            <div class="input-container" style="margin-top:25px;position:relative;">
-            	<img src="images/loginPage/user3.png" style="margin-right:5px;"/>
-                <input id="username" name="username" class="txt" value="admin" type="text" autocomplete="off" placeholder="璇疯緭鍏ョ敤鎴峰悕/閭" >
-                <div class="error-tip"></div>
-            </div>
-            <div class="login-input input-container" style="margin-top:30px;position:relative;">
-            	<img class="password-icon" src="images/loginPage/pass1.png"/>
-                <input name="password" id="password"  value="admin123" class="txt" type="password" placeholder="璇疯緭鍏ョ櫥褰曞瘑鐮�" autocomplete="off"  >
-                <div class="error-tip"></div>
+                <div style="margin-top:25px;position:relative;" th:if="${captchaEnabled==true}">
+                    <img class="verification-icon" src="images/loginPage/validate.svg" />
+                    <input name="validateCode" id="validateCode" style="float: left;margin-left: 30px;width: 230px;" class="txt" type="text" placeholder="楠岃瘉鐮�" />
+                    <a href="javascript:void(0);" title="鐐瑰嚮鏇存崲楠岃瘉鐮�">
+                        <img th:src="@{captcha/captchaImage(type=${captchaType})}" class="radius imgcode" width="100" height="30" style="position:absolute;right:40px;top:7px;"/>
+                    </a>
+                    <div style="display: inline-block;float: left;position: relative;top:10px;right: 150px;" class="error-tip"></div>
+                </div>
             </div>
 
-            <div style="margin-top:25px;position:relative;" th:if="${captchaEnabled==true}">
-            	<img class="verification-icon" src="images/loginPage/validate.svg" />
-                <input name="validateCode" id="validateCode" style="float: left;margin-left: 30px;width: 230px;" class="txt" type="text" placeholder="楠岃瘉鐮�" />
-                <a href="javascript:void(0);" title="鐐瑰嚮鏇存崲楠岃瘉鐮�">
-                    <img th:src="@{captcha/captchaImage(type=${captchaType})}" class="radius imgcode" width="100" height="30" style="position:absolute;right:40px;top:7px;"/>
-                </a>
-                <div style="display: inline-block;float: left;position: relative;top:10px;right: 150px;" class="error-tip"></div>
+            <div class="validate-line" style="clear:both;"></div>
+            <div style="margin-top:96px;">
+                <span id="signin_btn" onclick="login.login();" class="button">鐧诲綍</span>
             </div>
-        <div class="validate-line" style="clear:both;"></div>
-        <div style="margin-top:30px;">
-            <span id="signin_btn" onclick="login.login();" class="button">鐧�&emsp;&emsp;褰�</span>
-        </div>
-        <div class="signup">
-        <label for="rememberMe" style="float:right;margin-right: 15px;color:#000;" >
-        <input type="checkbox" id="rememberMe" name="rememberMe" >璁颁綇瀵嗙爜</label>
-        </div>
-    </form>
+            <div class="signup">
+                <label for="rememberMe" style="float:right;margin-right: 15px;color:#000;" >
+                    <input type="checkbox" id="rememberMe" name="rememberMe" >璁颁綇瀵嗙爜</label>
+            </div>
+        </form>
 
+    </div>
 </div>
+
 <div class="weixin-con" id="weixin_dlg"><div style="margin-top:200px;">鍔犺浇涓�...</div></div>
 
 <script th:inline="javascript"> var ctx = [[@{/}]]; var captchaType = [[${captchaType}]];var captchaEnabled= [[${captchaEnabled}]]; </script>

--
Gitblit v1.9.1