地质所 沉降监测网建设项目
zmk
2024-05-22 28e168f05d3eb48223e69064188c6fce786442d4
Merge branch 'master' of ssh://117.78.1.188:29418/dkyChenJiang
19个文件已修改
4个文件已添加
463 ■■■■ 已修改文件
javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleMedia.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/Project.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/enums/RecordType.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleMediaMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleMediaService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleMediaServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/IndexVo.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/ProjectProcessVO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleMediaMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/bg0521.png 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/pass0521.png 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/user0521.png 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/templates/loginPage/process/login.html 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
@@ -39,8 +45,7 @@
 * @author ruoyi
 */
@Controller
public class SysIndexController extends BaseController
{
public class SysIndexController extends BaseController {
    @Autowired
    private ISysMenuService menuService;
@@ -51,7 +56,10 @@
    private IProjectService projectService;
    @Autowired
    private HoleMapper holeMapper;
    private IHoleService holeService;
    @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取出菜单
@@ -86,26 +93,24 @@
    // 系统首页顶部菜单
    @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";
@@ -114,23 +119,22 @@
    // 系统介绍
    @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);
        return ajaxResult;
    }
    /**
     * 总进度
     * @return
     */
    @ResponseBody
    @GetMapping("/system/totalProcess")
    public AjaxResult totalProcess()
    {
    public AjaxResult totalProcess() {
        AjaxResult ajaxResult = AjaxResult.success();
        Hole hole = holeMapper.selectHoleTotalProcess();
        Hole hole = holeService.selectHoleTotalProcess();
        Double data = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ;
        ajaxResult.put("pointerData",data);
        return ajaxResult;
@@ -142,10 +146,9 @@
     */
    @ResponseBody
    @GetMapping("/system/projectProcess")
    public AjaxResult projectProcess()
    {
    public AjaxResult projectProcess() {
        AjaxResult ajaxResult = AjaxResult.success();
        List<Hole> holes = holeMapper.selectHoleProjectProcess();
        List<Hole> holes = holeService.selectHoleProjectProcess();
        Map<String,Double> holeMap = new HashMap<>();
        for(Hole hole : holes){
            Double val = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ;
@@ -155,22 +158,73 @@
        List<Project> projects = projectService.selectProjectList(new Project());
        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);
            ProjectProcessVO vo = new ProjectProcessVO();
                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);
        }
        }
        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);
    }
}
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)
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,6 +304,15 @@
    {
        return status;
    }
    public Integer getStatusNumber() {
        return statusNumber;
    }
    public void setStatusNumber(Integer statusNumber) {
        this.statusNumber = statusNumber;
    }
    public void setIsDeleted(String isDeleted) 
    {
        this.isDeleted = isDeleted;
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","施工中"),
    /**
     * 记录分类(必填,直接填写汉字,因考虑历史数据原因,
     * “机长”表示司钻员)
     * 回次、岩土、取土、标贯、动探、水位、取水、负责人、工程师、机长、钻机
@@ -25,13 +32,6 @@
    jz("机长","机长"),
    zj("钻机","钻机"),
    /**
     * 项目状态
     */
    projectStatus0("0","项目未完成"),
    projectStatus1("1","项目验收完成"),
    /**
     * 是否删除
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();
}
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();
}
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();
}
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();
}
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();
}
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;
@@ -16,8 +17,7 @@
 * @date 2022-10-20
 */
@Service
public class HoleMediaServiceImpl implements IHoleMediaService
{
public class HoleMediaServiceImpl implements IHoleMediaService {
    @Autowired
    private HoleMediaMapper holeMediaMapper;
@@ -28,8 +28,7 @@
     * @return 钻孔图片、视频
     */
    @Override
    public HoleMedia selectHoleMediaById(String ids)
    {
    public HoleMedia selectHoleMediaById(String ids) {
        return holeMediaMapper.selectHoleMediaById(ids);
    }
@@ -40,8 +39,7 @@
     * @return 钻孔图片、视频
     */
    @Override
    public List<HoleMedia> selectHoleMediaList(HoleMedia holeMedia)
    {
    public List<HoleMedia> selectHoleMediaList(HoleMedia holeMedia) {
        return holeMediaMapper.selectHoleMediaList(holeMedia);
    }
@@ -52,8 +50,7 @@
     * @return 结果
     */
    @Override
    public int insertHoleMedia(HoleMedia holeMedia)
    {
    public int insertHoleMedia(HoleMedia holeMedia) {
        holeMedia.setCreateTime(DateUtils.getNowDate());
        return holeMediaMapper.insertHoleMedia(holeMedia);
    }
@@ -65,8 +62,7 @@
     * @return 结果
     */
    @Override
    public int updateHoleMedia(HoleMedia holeMedia)
    {
    public int updateHoleMedia(HoleMedia holeMedia) {
        return holeMediaMapper.updateHoleMedia(holeMedia);
    }
@@ -77,8 +73,7 @@
     * @return 结果
     */
    @Override
    public int deleteHoleMediaByIds(String ids)
    {
    public int deleteHoleMediaByIds(String ids) {
        return holeMediaMapper.deleteHoleMediaByIds(Convert.toStrArray(ids));
    }
@@ -89,8 +84,17 @@
     * @return 结果
     */
    @Override
    public int deleteHoleMediaById(String ids)
    {
    public int deleteHoleMediaById(String ids) {
        return holeMediaMapper.deleteHoleMediaById(ids);
    }
    /**
     * 统计资料数量
     *
     * @return
     */
    @Override
    public HoleMedia selectHoleMediaNumber() {
        return holeMediaMapper.selectHoleMediaNumber();
    }
}
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);
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();
    }
}
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/IndexVo.java
New file
@@ -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;
    }
}
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;
    }
}
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=",">
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=",">
javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/bg0521.png
javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/pass0521.png
javaweb-plus/javaweb-cms/src/main/resources/static/images/loginPage/user0521.png
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>
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')}">
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() {
@@ -98,13 +106,9 @@
                },
                {
                    field : 'status', 
                    title : '场地状态',
                        title : '项目状态',
                    formatter: function(value, row, index) {
                       if(row.status =='0'){
                           return "未验收";
                       }else{
                           return "验收";
                       }
                            return $.table.selectDictLabel(statusDatas, value);
                    }
                },
                {
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{
        .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,19 +140,20 @@
</head>
<body>
<div class="page-con" style="background-color:transparent">
<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 class="input-container" style="margin-top:25px;position:relative;">
                <img src="images/loginPage/user3.png" style="margin-right:5px;"/>
            <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:30px;position:relative;">
                <img class="password-icon" src="images/loginPage/pass1.png"/>
                <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>
@@ -120,9 +166,11 @@
                </a>
                <div style="display: inline-block;float: left;position: relative;top:10px;right: 150px;" class="error-tip"></div>
            </div>
            </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 style="margin-top:96px;">
                <span id="signin_btn" onclick="login.login();" class="button">登录</span>
        </div>
        <div class="signup">
        <label for="rememberMe" style="float:right;margin-right: 15px;color:#000;" >
@@ -131,6 +179,8 @@
    </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>