Ver código fonte

工程类型管理模块

[user3] 4 anos atrás
pai
commit
21b3427fe9

+ 30 - 0
src/main/java/com/jeeplus/modules/projectEngineering/dao/ProjectEngineeringInfoDao.java

@@ -0,0 +1,30 @@
+package com.jeeplus.modules.projectEngineering.dao;
+
+import com.jeeplus.common.persistence.CrudDao;
+import com.jeeplus.common.persistence.TreeDao;
+import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryInfo;
+import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
+import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * 工程类型
+ */
+@MyBatisDao
+public interface ProjectEngineeringInfoDao extends CrudDao<ProjectEngineeringInfo>, TreeDao<ProjectEngineeringInfo> {
+
+    /**
+     * 获取所有的父级信息
+     * @return
+     */
+    public List<ProjectEngineeringInfo> getParentAll();
+
+    String selectOrderNum(String parentId);
+
+    List<ProjectEngineeringInfo> fingIds(@Param("parentIdSet") Set<String> parentIdSet, @Param("companyId") String companyId);
+
+}

+ 83 - 0
src/main/java/com/jeeplus/modules/projectEngineering/entity/ProjectEngineeringInfo.java

@@ -0,0 +1,83 @@
+package com.jeeplus.modules.projectEngineering.entity;
+
+import com.jeeplus.common.persistence.TreeEntity;
+import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
+
+/**
+ * 工程类型实体类
+ */
+public class ProjectEngineeringInfo extends TreeEntity<ProjectEngineeringInfo> {
+
+    private String engineeringName; //名称
+    private String indexNum;        //序号
+    private String parentIds;		// 所有父ID
+    private String parentId;		// 父ID
+    private String companyId;   //公司id
+    private String parentName;
+
+
+    public String getParentName() {
+        return parentName;
+    }
+
+    public void setParentName(String parentName) {
+        this.parentName = parentName;
+    }
+
+    public String getEngineeringName() {
+        return engineeringName;
+    }
+
+    public void setEngineeringName(String engineeringName) {
+        this.engineeringName = engineeringName;
+    }
+
+    public String getIndexNum() {
+        return indexNum;
+    }
+
+    public void setIndexNum(String indexNum) {
+        this.indexNum = indexNum;
+    }
+
+    @Override
+    public ProjectEngineeringInfo getParent() {
+        return parent;
+    }
+
+    @Override
+    public void setParent(ProjectEngineeringInfo parent) {
+        this.parent = parent;
+    }
+    public int getGrade(){
+        String[] split = this.getParentIds().split(",");
+        if ("0".equals(this.parent.id)){
+            return Integer.parseInt(this.parent.id);
+        }
+        return split.length-1;
+    }
+
+    public String getParentIds() {
+        return parentIds;
+    }
+
+    public void setParentIds(String parentIds) {
+        this.parentIds = parentIds;
+    }
+
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(String companyId) {
+        this.companyId = companyId;
+    }
+}

+ 136 - 0
src/main/java/com/jeeplus/modules/projectEngineering/service/ProjectEngineeringService.java

@@ -0,0 +1,136 @@
+package com.jeeplus.modules.projectEngineering.service;
+
+import com.google.common.collect.Lists;
+import com.jeeplus.common.service.TreeService;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.modules.projectAccessory.dao.ProjectTemplateDao;
+import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryInfo;
+import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
+import com.jeeplus.modules.projectEngineering.dao.ProjectEngineeringInfoDao;
+import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
+import com.jeeplus.modules.sys.entity.Office;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+@Service
+@Transactional(readOnly = true)
+public class ProjectEngineeringService extends TreeService<ProjectEngineeringInfoDao, ProjectEngineeringInfo> {
+    @Autowired
+    private ProjectEngineeringInfoDao engineeringInfoDao;
+
+    public ProjectEngineeringInfo get(String id) {
+        return super.get(id);
+    }
+    private List<ProjectEngineeringInfo> fingIds(Set<String> parentIdSet, String companyId) {
+        return engineeringInfoDao.fingIds(parentIdSet,companyId);
+    }
+    /**
+     * 查询所有数据
+     * @param projectEngineeringInfo
+     * @return
+     */
+    public List<ProjectEngineeringInfo> findList(ProjectEngineeringInfo projectEngineeringInfo) {
+        List<ProjectEngineeringInfo> projectEngineeringInfoList = new ArrayList<>();
+        List<ProjectEngineeringInfo> listReturn = Lists.newArrayList();
+        //根据条件查询数据集合
+        List<ProjectEngineeringInfo> listAll = super.findList(projectEngineeringInfo);
+        Office company = UserUtils.getSelectCompany();
+        projectEngineeringInfo.setCompanyId(company.getId());
+        //判断,数据不为空则添加到返回集合中
+        if (listAll!=null && listAll.size()!=0){
+            projectEngineeringInfoList.addAll(listAll);
+        }
+
+        if(projectEngineeringInfoList!=null&&projectEngineeringInfoList.size()>0&&projectEngineeringInfo!=null&& (StringUtils.isNotBlank(projectEngineeringInfo.getEngineeringName())||StringUtils.isNotBlank(projectEngineeringInfo.getIndexNum()))){
+            //标准内容模糊查询,查询所有父节点
+            Set<String> parentIdSet = new HashSet<>();
+            for (ProjectEngineeringInfo engineeringInfo : projectEngineeringInfoList) {
+                String parentIds = engineeringInfo.getParentIds();
+                if (StringUtils.isNotBlank(parentIds)){
+                    parentIdSet.addAll(Arrays.asList(parentIds.split(",")));
+                }
+            }
+            for (ProjectEngineeringInfo engineeringInfo : projectEngineeringInfoList) {
+                parentIdSet.remove(engineeringInfo.getId());
+            }
+            projectEngineeringInfoList.addAll(0,this.fingIds(parentIdSet,"0"));
+            projectEngineeringInfoList.addAll(0,this.fingIds(parentIdSet,UserUtils.getSelectCompany().getId()));
+        }
+        sortList(listReturn,projectEngineeringInfoList,"0",true);
+        return listReturn;
+    }
+    public static void sortList(List<ProjectEngineeringInfo> list, List<ProjectEngineeringInfo> sourcelist, String parentId, boolean cascade){
+        for (int i=0; i<sourcelist.size(); i++){
+            ProjectEngineeringInfo e = sourcelist.get(i);
+            if (e.getParent()!=null && StringUtils.isNotBlank(e.getParent().getId()) && e.getParent().getId().equals(parentId)){
+                list.add(e);
+                if (cascade){
+                    // 判断是否还有子节点, 有则继续获取子节点
+                    for (int j=0; j<sourcelist.size(); j++){
+                        ProjectEngineeringInfo child = sourcelist.get(j);
+                        if (child.getParent()!=null && StringUtils.isNotBlank(child.getParent().getId()) && child.getParent().getId().equals(e.getId())){
+                            sortList(list, sourcelist, e.getId(), true);
+                            break;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    /**
+     * 新增
+     * @param projectEngineeringInfo
+     */
+    @Transactional(readOnly = false)
+    public void save(ProjectEngineeringInfo projectEngineeringInfo) {
+        //设置序号
+        if(projectEngineeringInfo.getIsNewRecord()) {
+            projectEngineeringInfo.setParent(this.get(projectEngineeringInfo.getParent().getId()));
+            String orderNum = null;
+            //判断是否选择了父级节点。没有选择则默认为第一级别
+            if(null != projectEngineeringInfo.getParent()){
+                //添加数据
+                String parentids=projectEngineeringInfo.getParent().getParentIds();
+                projectEngineeringInfo.setParentIds(parentids+projectEngineeringInfo.getParent().getId()+",");
+                projectEngineeringInfo.setParentId(projectEngineeringInfo.getParent().getId());
+                orderNum = this.selectOrderNum(projectEngineeringInfo.getParent().getId());
+                projectEngineeringInfo.setCompanyId(UserUtils.getSelectCompany().getId());
+            }else{
+                //添加数据
+                projectEngineeringInfo.setParentIds("0,");
+                projectEngineeringInfo.setParentId("0");
+                orderNum = this.selectOrderNum("0");
+                projectEngineeringInfo.setCompanyId("0");
+            }
+            //判断是否有数据,没有数据则默认给编号01,有则在最大数据上递增1
+            if (StringUtils.isBlank(orderNum)) {
+                projectEngineeringInfo.setIndexNum(projectEngineeringInfo.getParent().getIndexNum() + "01");
+            } else {
+                projectEngineeringInfo.setIndexNum(String.valueOf(Integer.valueOf(orderNum) + 1));
+            }
+        }
+        //根据条件进行新增或修改处理
+        if (StringUtils.isNotBlank(projectEngineeringInfo.getId())){
+            projectEngineeringInfo.preUpdate();
+            dao.update(projectEngineeringInfo);
+        }else{
+            projectEngineeringInfo.preInsert();
+            dao.insert(projectEngineeringInfo);
+        }
+    }
+
+    /**
+     * 获取所有父级信息
+     * @return
+     */
+    public List<ProjectEngineeringInfo> getParentInfo(){
+        return engineeringInfoDao.getParentAll();
+    }
+    public String selectOrderNum(String parentId) {
+        return engineeringInfoDao.selectOrderNum(parentId);
+    }
+}

+ 117 - 0
src/main/java/com/jeeplus/modules/projectEngineering/web/ProjectEngineeringController.java

@@ -0,0 +1,117 @@
+package com.jeeplus.modules.projectEngineering.web;
+
+import com.jeeplus.common.config.Global;
+import com.jeeplus.common.utils.MyBeanUtils;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.web.BaseController;
+import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
+import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
+import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
+import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import java.util.List;
+
+/**
+ * 工程类型
+ *
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/projectEngineering/projectEngineering")
+public class ProjectEngineeringController  extends BaseController {
+    @Autowired
+    private ProjectEngineeringService engineeringService;
+
+    @ModelAttribute
+    public ProjectEngineeringInfo get(@RequestParam(required=false) String id) {
+        ProjectEngineeringInfo entity = null;
+        if (StringUtils.isNotBlank(id)){
+            entity = engineeringService.get(id);
+        }
+        if (entity == null){
+            entity = new ProjectEngineeringInfo();
+        }
+        return entity;
+    }
+
+    /**
+     * 工程类型列表
+     * @param projectEngineeringInfo
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("projectEngineering:projectEngineering:list")
+    @RequestMapping(value = {"list", ""})
+    public String list(ProjectEngineeringInfo projectEngineeringInfo, Model model) {
+        List<ProjectEngineeringInfo> list = engineeringService.findList(projectEngineeringInfo);
+        model.addAttribute("list", list);
+        model.addAttribute("projectengineeringInfo", projectEngineeringInfo);
+        return "modules/projectAccessory/projectEngineering/projectEngineeringList";
+    }
+    /**
+     * 查看,增加,编辑工程类型表单页面
+     * @param projectEngineeringInfo
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"projectEngineering:projectEngineering:add","projectEngineering:projectEngineering:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ProjectEngineeringInfo projectEngineeringInfo, Model model) {
+        //获取所有父级工程类型
+        List<ProjectEngineeringInfo> parentInfos=engineeringService.getParentInfo();
+        model.addAttribute("parentInfos", parentInfos);
+        if(projectEngineeringInfo!=null&&projectEngineeringInfo.getParent()!=null&&StringUtils.isNotBlank(projectEngineeringInfo.getParent().getId())){
+            ProjectEngineeringInfo parent = engineeringService.get(projectEngineeringInfo.getParent().getId());
+            model.addAttribute("parent", parent);
+        }
+        model.addAttribute("projectEngineeringInfo", projectEngineeringInfo);
+        return "modules/projectAccessory/projectEngineering/projectEngineeringForm";
+    }
+    /**
+     * 保存工程类型
+     * @param projectEngineeringInfo
+     * @param model
+     * @param redirectAttributes
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions(value={"projectEngineering:projectEngineering:add","projectEngineering:projectEngineering:edit"},logical= Logical.OR)
+    @RequestMapping(value = "save")
+    public String save(ProjectEngineeringInfo projectEngineeringInfo, Model model, RedirectAttributes redirectAttributes) throws Exception{
+//        if (!beanValidator(model, projectEngineeringInfo)){
+//            return form(projectEngineeringInfo, model);
+//        }
+        if(!projectEngineeringInfo.getIsNewRecord()){//编辑表单保存
+            ProjectEngineeringInfo t = engineeringService.get(projectEngineeringInfo.getId());//从数据库取出记录的值
+            MyBeanUtils.copyBeanNotNull2Bean(projectEngineeringInfo, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
+            engineeringService.save(t);//保存
+        }else{//新增表单保存
+            engineeringService.save(projectEngineeringInfo);//保存
+        }
+        addMessage(redirectAttributes, "保存成功");
+        return "redirect:"+ Global.getAdminPath()+"/projectEngineering/projectEngineering/?repage";
+    }
+    /**
+     * 删除工程类型
+     * @param projectEngineeringInfo
+     * @param redirectAttributes
+     * @return
+     */
+    @RequiresPermissions("projectEngineering:projectEngineering:del")
+    @RequestMapping(value = "delete")
+    public String delete(ProjectEngineeringInfo projectEngineeringInfo, RedirectAttributes redirectAttributes) {
+        engineeringService.delete(projectEngineeringInfo);
+        addMessage(redirectAttributes, "删除成功");
+        return "redirect:"+Global.getAdminPath()+"/projectEngineering/projectEngineering/?repage";
+    }
+}
+
+

+ 124 - 0
src/main/resources/mappings/modules/projectEngineering/PeojectEngineeringDao.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.projectEngineering.dao.ProjectEngineeringInfoDao">
+
+    <sql id="engineeringColumns">
+        a.id AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+		a.parent_id AS "parent.id",
+		a.engineering_name AS "engineeringName",
+		a.parent_ids AS "parentIds",
+		a.company_id AS "companyId",
+		a.index_num AS "indexNum"
+    </sql>
+    <select id="get" resultType="com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo" >
+        SELECT
+        <include refid="engineeringColumns"/>
+        FROM project_engineering_info a
+        WHERE a.id = #{id}
+    </select>
+    <select id="findList" resultType="com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo" >
+        SELECT
+        <include refid="engineeringColumns"/>
+        FROM project_engineering_info a
+        <where>
+            a.del_flag = 0
+            <if test="engineeringName!=null and engineeringName != ''">
+                and a.engineering_name like concat('%',#{engineeringName},'%')
+            </if>
+            <if test="parentIds!=null and parentIds != ''">
+                and a.parent_ids like concat('%',#{parentIds},'%')
+            </if>
+            <if test="indexNum != null and indexNum!=0">
+                and a.index_num = #{indexNum}
+            </if>
+        </where>
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                ORDER BY a.index_num
+            </otherwise>
+        </choose>
+    </select>
+    <select id="getParentAll"
+            resultType="com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo">
+        SELECT
+        <include refid="engineeringColumns"/>
+        FROM project_engineering_info a
+        <where>
+            a.del_flag = 0
+            and a.parent_id ="0"
+        </where>
+        ORDER BY a.index_num
+    </select>
+    <select id="selectOrderNum" resultType="java.lang.String">
+        SELECT MAX(index_num) FROM project_engineering_info WHERE parent_id = #{parentId}
+    </select>
+    <insert id="insert">
+        insert into project_engineering_info(
+            id,
+            create_by,
+            create_date,
+            update_by,
+            update_date,
+            remarks,
+            del_flag,
+            parent_id,
+            engineering_name,
+            index_num,
+            parent_ids,
+            company_id
+        )values (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{remarks},
+            #{delFlag},
+            #{parentId},
+            #{engineeringName},
+            #{indexNum},
+            #{parentIds},
+            #{companyId}
+        )
+    </insert>
+    <update id="update">
+        update project_engineering_info set
+            update_by = #{updateBy.id},
+            update_date = #{updateDate},
+            remarks = #{remarks},
+            parent_id = #{parent.id},
+            engineering_name = #{engineeringName},
+            index_num = #{indexNum},
+            parent_ids = #{parentIds},
+            company_id = #{companyId}
+        WHERE id = #{id}
+    </update>
+    <update id="delete">
+        DELETE FROM project_engineering_info
+        WHERE id = #{id} OR find_in_set(#{id},parent_ids)
+    </update>
+    <select id="fingIds" resultType="com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo">
+        SELECT <include refid="engineeringColumns"/>
+        FROM project_engineering_info a
+        <where>
+            <if test="parentIdSet!=null and parentIdSet.size!=0">
+                a.id in
+                <foreach collection="parentIdSet" item="parentId" separator="," open="(" close=")">
+                    #{parentId}
+                </foreach>
+            </if>
+            AND del_flag ='0'
+            AND company_id = #{companyId}
+        </where>
+        ORDER BY a.index_num
+    </select>
+</mapper>

+ 113 - 0
src/main/webapp/webpage/modules/projectAccessory/projectEngineering/projectEngineeringForm.jsp

@@ -0,0 +1,113 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>复核标准管理</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+	<script src="${ctxStatic}/layer-v2.3/layui/xmSelect.js" charset="utf-8"></script>
+	<style>
+		label.error{
+			top:40px;
+			left:0;
+		}
+		#standardDetail-error{
+			top:82px;
+			left:0;
+		}
+	</style>
+	<script type="text/javascript">
+		var validateForm;
+		function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+			if(validateForm.form()){
+				$("#inputForm").submit();
+				return true;
+			}
+
+			return false;
+		}
+		$(document).ready(function() {
+			layui.use(['form', 'layer'], function () {
+				var form = layui.form;
+			});
+			validateForm = $("#inputForm").validate({
+				submitHandler: function(form){
+					loading('正在提交,请稍等...');
+					form.submit();
+				},
+				errorContainer: "#messageBox",
+				errorPlacement: function(error, element) {
+					$("#messageBox").text("输入有误,请先更正。");
+					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+						error.appendTo(element.parent().parent());
+					} else {
+						error.insertAfter(element);
+					}
+				}
+			});
+			var edit = "${workReviewStandard.id}";
+			if(edit!=null && edit!=''){
+				$("#reviewParentButton").attr("disabled","disabled");
+			}
+		});
+	</script>
+</head>
+<body>
+<div class="single-form">
+	<div class="container">
+		<form:form id="inputForm" modelAttribute="projectEngineeringInfo" action="${ctx}/projectEngineering/projectEngineering/save" method="post" class="form-horizontal layui-form">
+			<form:hidden path="id"/>
+			<form:hidden path="companyId"/>
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>工程类型信息</h2></div>
+					<%--<div class="layui-item layui-col-sm6">
+                        <label class="layui-form-label double-line"><span class="require-item">*</span>附件类型:</label>
+                        <div class="layui-input-block">
+                            <input type="text" value="${projectAccessoryInfo.parent.parentName}" readonly="readonly" class="form-control layui-input">
+                        </div>
+                    </div>--%>
+
+				<div class="layui-item layui-col-sm6 ">
+					<label class="layui-form-label">上级类型:</label>
+					<div class="layui-input-block">
+						<select name="parent.id" class="form-control required simple-select">
+							<option value="0">添加父级</option>
+							<c:forEach items="${parentInfos}" var="info" varStatus="index">
+								<option value="${info.id}">${info.engineeringName}</option>
+							</c:forEach>
+							<c:if test="${null != parent.id}">
+								<option value="${parent.id}" selected>${parent.engineeringName}</option>
+							</c:if>
+						</select>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label double-line"><span class="require-item">*</span>工程类型名称:</label>
+					<div class="layui-input-block">
+						<form:input path="engineeringName" placeholder="请输入工程类型名称" htmlEscape="false" maxlength="100" class="form-control layui-input required"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">序号:</label>
+					<div class="layui-input-block">
+						<form:input path="indexNum" readonly="true" htmlEscape="false" maxlength="10"  class="form-control number layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm12 with-textarea">
+					<label class="layui-form-label ">备注信息:</label>
+					<div class="layui-input-block">
+						<form:textarea path="remarks" placeholder="请输入备注信息" id="remarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
+					</div>
+				</div>
+			</div>
+		</form:form>
+	</div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+
+
+</script>
+</body>
+</html>

+ 124 - 0
src/main/webapp/webpage/modules/projectAccessory/projectEngineering/projectEngineeringList.jsp

@@ -0,0 +1,124 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>工程类型管理管理</title>
+    <meta name="decorator" content="default"/>
+    <%@include file="/webpage/include/treetable.jsp" %>
+    <script type="text/javascript">
+        $(document).ready(function() {
+            $("#treeTable").treeTable({expandLevel : 5},{ expandable: true });
+        });
+    </script>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body >
+	<div class="wrapper wrapper-content">
+		<sys:message content="${message}"/>
+		<div class="layui-row">
+			<div class="full-width fl">
+				<div class="contentShadow layui-row" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="projectengineeringInfo" action="${ctx}/projectEngineering/projectEngineering" method="post" class="form-inline">
+					<div class="commonQuery">
+						<div class="layui-item query athird">
+							<label class="layui-form-label double-line">工程类型名:</label>
+							<div class="layui-input-block with-icon">
+								<form:input path="engineeringName" htmlEscape="false" class=" form-control layui-input"></form:input>
+							</div>
+						</div>
+						<div class="layui-item query athird">
+							<label class="layui-form-label">序号:</label>
+							<div class="layui-input-block">
+								<form:input path="indexNum" htmlEscape="false" class=" form-control layui-input"></form:input>
+							</div>
+						</div>
+						<div class="layui-item athird">
+							<div class="input-group">
+								<div class="layui-btn-group search-spacing">
+									<button id="searchQuery" class="layui-btn layui-btn-sm layui-bg-blue" onclick="search()">查询</button>
+									<button id="searchReset" class="layui-btn layui-btn-sm " onclick="resetSearch()">重置</button>
+								</div>
+<%--								<button id="searchReset" style="margin-right: 10px;" class="fixed-btn searchReset fr" onclick="resetSearch()">重置</button>--%>
+<%--								<button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>--%>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+
+					</form:form>
+				</div>
+			</div>
+			<div class="full-width fl">
+				<div class="contentShadow layui-form contentDetails">
+					<div class="nav-btns">
+							<div class="layui-btn-group">
+								<shiro:hasPermission name="projectEngineering:projectEngineering:add">
+									<a onclick="openDialog('添加工程类型', '${ctx}/projectEngineering/projectEngineering/form','80%','80%')" class="layui-btn layui-btn-sm layui-bg-blue"> 添加工程类型</a>
+								</shiro:hasPermission>
+								<button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
+							</div>
+						<div style="clear: both;"></div>
+					</div>
+
+	
+					<!-- 表格 -->
+					<table id="treeTable" class="table table-bordered table-hover list-table">
+						<thead>
+							<tr>
+								<th  width="30%">工程类型名称</th>
+								<th >序号</th>
+								<th width="240px">操作</th>
+							</tr>
+						</thead>
+						<tbody>
+						<c:forEach items="${list}" var="projectAccessory">
+							<tr id="${projectAccessory.id}" pid="${projectAccessory.parent.id}">
+								<td>
+									${projectAccessory.engineeringName}
+								</td>
+								<td style="text-align: center">
+									${projectAccessory.indexNum}
+								</td>
+								<td class="op-td text-center">
+									<div class="layui-btn-group">
+									<div class="op-btn-box">
+										<shiro:hasPermission name="projectEngineering:projectEngineering:add">
+											<a href="javascript:void(0);" onclick="openDialog('添加附件结构', '${ctx}/projectEngineering/projectEngineering/form?parent.id=${projectAccessory.id}','80%','80%')" class="layui-btn layui-btn-xs layui-bg-blue"> 添加下级结构</a>
+										</shiro:hasPermission>
+										<shiro:hasPermission name="projectEngineering:projectEngineering:edit">
+											<a href="javascript:void(0);" onclick="openDialog('修改附件结构', '${ctx}/projectEngineering/projectEngineering/form?id=${projectAccessory.id}','80%','80%')" class="layui-btn layui-btn-xs layui-bg-green" > 修改</a>
+										</shiro:hasPermission>
+										<shiro:hasPermission name="projectEngineering:projectEngineering:del">
+											<a href="${ctx}/projectEngineering/projectEngineering/delete?id=${projectAccessory.id}" onclick="return confirmx('确认要删除该工程类型结构及其子工程结构吗?', this.href)"   class="layui-btn layui-btn-xs layui-bg-red"> 删除</a>
+										</shiro:hasPermission>
+									</div>
+									</div>
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+	
+		<!-- 分页代码 -->
+	<%--<table:page page="${page}"></table:page>--%>
+
+				</div>
+			</div>
+		</div>
+</div>
+	<script>
+        resizeListWindow1();
+        $(window).resize(function(){
+            resizeListWindow1();
+        });
+	</script>
+</body>
+</html>

+ 6 - 4
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchApply.jsp

@@ -9,6 +9,8 @@
 	<link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
 	<script src="${ctxStatic}/layer-v2.3/laydate/laydate.js"></script>
 	<link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet" />
+	<%@include file="/webpage/include/treetable.jsp" %>
+
 	<script type="text/javascript">
 		var validateForm;
 		function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
@@ -26,10 +28,10 @@
 			// var ss=$(span).val().split(" ")[4];
 			$(span).toggle(function () {
 				$(tiao).hide();
-				$(span).find("span").attr("class","treeTable-icon")
+				$(span).find("span").eq(0).attr("class","default_shut")
 			},function () {
 				$(tiao).show();
-				$(span).find("span").attr("class","treeTable-icon open")
+				$(span).find("span").eq(0).attr("class","default_open")
 			});
 		}
 		function addRowInfoForm(obj,tbody) {
@@ -128,7 +130,7 @@
 							}
 							if(flag) {
 								$("#projectList").append("<tr class='rowSize' onclick='listTr(this)'>" +
-										"<td ><input type=\"hidden\" name=\"proId\" id='" + tid + "' value=" + obj.id + "><input type=\"hidden\" name=\"projectid\" value=" + obj.id + "/><span><i class=\"layui-icon layui-icon-triangle-d\"></i></span>" + obj.projectId + "</td>" +
+										"<td ><input type=\"hidden\" name=\"proId\" id='" + tid + "' value=" + obj.id + "><input type=\"hidden\" name=\"projectid\" value=" + obj.id + "/><span class='default_open ' style=\"padding-right: 15px; \"></span>" + obj.projectId + "</td>" +
 										"<td >" + obj.projectName + "</td>" +
 										"<td >" + obj.projectReportNumber + "</td>" +
 										"<td class=\"text-center op-td\" >" +
@@ -313,7 +315,7 @@
 			<div class="form-group layui-row  first">
 				<div class="form-group-label"><h2>项目基础信息</h2></div>
 				<div class="layui-item layui-col-xs12 form-table-container" style="padding:0px">
-				<table id="contentTable2" class="table table-bordered table-condensed details">
+				<table id="contentTable2" class="table table-bordered table-condensed details tree_table">
 					<thead>
 					<tr>
 <%--						<th class="hide"></th>--%>