Browse Source

Merge remote-tracking branch 'origin/master'

user7 5 years atrás
parent
commit
f5aad5d516

+ 8 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataDao.java

@@ -6,6 +6,7 @@ package com.jeeplus.modules.projectcontentinfo.dao;
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportTreeData;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectReportData;
 import com.jeeplus.modules.sys.entity.Workattachment;
 import org.apache.ibatis.annotations.Param;
@@ -78,4 +79,11 @@ public interface ProjectReportDataDao extends CrudDao<ProjectReportData> {
     ProjectReportData findByNum(String number);
 
     List<RuralProjectReportData> findListOnRural(RuralProjectReportData projectReportData);
+
+    /**
+     * 查询报告文件父级节点数据信息
+     * @param projectReportData
+     * @return
+     */
+    List<ProjectReportTreeData> getParentReportData(ProjectReportData projectReportData);
 }

+ 19 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectContentTreeData.java

@@ -16,6 +16,9 @@ public class ProjectContentTreeData {
     private Date createDate;//创建时间
     private String pid;       //父级id
 
+    private String index;  //序号
+    private String num;  //报告号
+
     private String loginId;//登陆者id
     private String createId;//创建者id
 
@@ -91,4 +94,20 @@ public class ProjectContentTreeData {
     public void setCreateId(String createId) {
         this.createId = createId;
     }
+
+    public String getIndex() {
+        return index;
+    }
+
+    public void setIndex(String index) {
+        this.index = index;
+    }
+
+    public String getNum() {
+        return num;
+    }
+
+    public void setNum(String num) {
+        this.num = num;
+    }
 }

+ 1 - 1
src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportData.java

@@ -39,7 +39,7 @@ public class ProjectReportData extends ActEntity<ProjectReportData> {
 	private String name;		// 报告名称
 	private String number;		// 报告编号
 	private String type;		// 工作内容类型
-	private String achievementType;		// 成类型
+	private String achievementType;		// 成类型
 	private String reviewStandard;		// 复核标准
 	private User signCostOne;		// 签字造价师一
 	private User signCostTwo;		// 签字造价师二

+ 112 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportTreeData.java

@@ -0,0 +1,112 @@
+package com.jeeplus.modules.projectcontentinfo.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+/**
+ * 工作内容树形图类型表
+ */
+public class ProjectReportTreeData {
+    private String id;        //id
+    private String name;		// 报告名称
+    private String number;		// 报告编号
+    private String type;		// 工作内容类型
+    private String achievementType;		// 成果类型
+    private String reviewStandard;		// 复核标准
+    private String reportType;		// 签章类型 电子章/实体章
+    private String fileStatus;		// 归档状态
+    private Date createDate;//创建时间
+    private String pid;       //父级id
+
+    private String index;  //序号
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getNumber() {
+        return number;
+    }
+
+    public void setNumber(String number) {
+        this.number = number;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public String getIndex() {
+        return index;
+    }
+
+    public void setIndex(String index) {
+        this.index = index;
+    }
+
+    public String getAchievementType() {
+        return achievementType;
+    }
+
+    public void setAchievementType(String achievementType) {
+        this.achievementType = achievementType;
+    }
+
+    public String getReviewStandard() {
+        return reviewStandard;
+    }
+
+    public void setReviewStandard(String reviewStandard) {
+        this.reviewStandard = reviewStandard;
+    }
+
+    public String getReportType() {
+        return reportType;
+    }
+
+    public void setReportType(String reportType) {
+        this.reportType = reportType;
+    }
+
+    public String getFileStatus() {
+        return fileStatus;
+    }
+
+    public void setFileStatus(String fileStatus) {
+        this.fileStatus = fileStatus;
+    }
+}

+ 15 - 0
src/main/java/com/jeeplus/modules/projectreportnum/dao/ProjectReportNumDao.java

@@ -5,14 +5,29 @@ package com.jeeplus.modules.projectreportnum.dao;
 
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectContentTreeData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectreportnum.entity.ReportNum;
+import com.jeeplus.modules.workcontent.entity.WorkContentType;
 import com.jeeplus.modules.worklog.entity.WorkLog;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 @MyBatisDao
 public interface ProjectReportNumDao extends CrudDao<ReportNum> {
     int countNum(String userId);
+    int getCountNum(@Param("userId")String userId, @Param("num")String num);
     void updateNum(String num);
     ReportNum getLastReportNum(ReportNum reportNum);
+
+    List<ProjectContentTreeData>  getReportNumList(ReportNum reportNum);
+
+    /**
+     * 根据工作内容类型查询名称
+     * @param reportNum
+     * @return
+     */
+    WorkContentType getWorkContentTypeByReportNum(String reportNum);
 }

+ 27 - 2
src/main/java/com/jeeplus/modules/projectreportnum/service/ProjectReportNumService.java

@@ -6,15 +6,20 @@ package com.jeeplus.modules.projectreportnum.service;
 import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.service.CrudService;
 import com.jeeplus.modules.officeintroduce.entity.Officeintroduce;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectContentTreeData;
 import com.jeeplus.modules.projectreportnum.dao.ProjectReportNumDao;
 import com.jeeplus.modules.projectreportnum.entity.ReportNum;
 import com.jeeplus.modules.serialnum.service.SerialNumTplService;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.workcontent.entity.WorkContentType;
+import org.aspectj.apache.bcel.generic.RET;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 
 @Service
@@ -96,7 +101,7 @@ public class ProjectReportNumService extends CrudService<ProjectReportNumDao, Re
 
 	@Transactional(readOnly = false)
 	public String  saveReportNumOnStage(ReportNum reportNum) {
-		int count = projectReportNumDao.countNum(UserUtils.getUser().getId());
+		int count = projectReportNumDao.getCountNum(UserUtils.getUser().getId(),reportNum.getNum());
 		if(count>=10){
 			return "最多领取10个报告号";
 		}
@@ -124,6 +129,26 @@ public class ProjectReportNumService extends CrudService<ProjectReportNumDao, Re
 		super.save(reportNum);
 		return "领取成功";
 	}
-	
+
+
+	public List<ProjectContentTreeData> getReportNumList(ReportNum reportNum) {
+		return projectReportNumDao.getReportNumList(reportNum);
+	}
+
+	/**
+	 * 根据工作内容类型查询名称
+	 * @param reportNumStr
+	 * @return
+	 */
+	public WorkContentType getWorkContentTypeByReportNum(String reportNumStr){
+		String regex="-(.*?)-";
+		Pattern p= Pattern.compile(regex);
+		Matcher m=p.matcher(reportNumStr);
+		while(m.find()){
+			WorkContentType contentType = projectReportNumDao.getWorkContentTypeByReportNum(m.group(1));
+			return contentType;
+		}
+		return null;
+	}
 	
 }

+ 44 - 6
src/main/java/com/jeeplus/modules/projectreportnum/web/ProjectReportNumController.java

@@ -12,6 +12,7 @@ import com.jeeplus.common.utils.excel.ExportExcel;
 import com.jeeplus.common.utils.excel.ImportExcel;
 import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportDataDao;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectContentTreeData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
@@ -23,6 +24,7 @@ import com.jeeplus.modules.sys.entity.MainDict;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.tools.utils.TwoDimensionCode;
+import com.jeeplus.modules.workcontent.entity.WorkContentType;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
 import net.sf.json.JSONObject;
@@ -39,10 +41,7 @@ import javax.validation.ConstraintViolationException;
 import java.io.File;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
 
 
 @Controller
@@ -55,8 +54,12 @@ public class ProjectReportNumController extends BaseController {
 	private ProjectReportDataDao projectReportDataDao;
 	@Autowired
     private ProjectRecordsService projectRecordsService;
-	
 
+
+	@RequestMapping(value = "skipMethod")
+	public String skipMethod(ReportNum reportNum, HttpServletRequest request, HttpServletResponse response, Model model) {
+		return "modules/projectreportnum/projectReportNumList";
+	}
 	
 	/**
 	 * 列表页面
@@ -71,6 +74,21 @@ public class ProjectReportNumController extends BaseController {
 		return "modules/projectreportnum/projectReportNumList";
 	}
 
+	/**
+	 * 列表页面
+	 */
+
+	@RequestMapping(value = "getReportNumList")
+	@ResponseBody
+	public Map<String,List> getReportNumList(ReportNum reportNum) {
+		String userId = UserUtils.getUser().getId();
+		reportNum.setUserId(userId);
+		Map<String,List> map = new HashMap<>();
+		List<ProjectContentTreeData> projectContentTreeDataList = projectReportNumService.getReportNumList(reportNum);
+		map.put("data",projectContentTreeDataList);
+		return map;
+	}
+
 
 	@RequestMapping(value = "select")
 	public String select(ReportNum reportNum, HttpServletRequest request, HttpServletResponse response, Model model) {
@@ -213,7 +231,27 @@ public class ProjectReportNumController extends BaseController {
 		return map;
 	}
 
-	
+	/**
+	 * 根据报告号查询工作内容类型
+	 */
+	@ResponseBody
+	@RequestMapping(value = "getWorkContentTypeByReportNum")
+	public Map getWorkContentTypeByReportNum(String reportNumStr){
+		Map map = new HashMap();
+		try {
+			WorkContentType contentType =projectReportNumService.getWorkContentTypeByReportNum(reportNumStr);
+			map.put("contentType",contentType);
+			if(null == contentType){
+				map.put("code","0");
+			}else {
+				map.put("code","1");
+			}
+		}catch (Exception e){
+			map.put("msg","领取失败");
+			map.put("code","0");
+		}
+		return map;
+	}
 
 
 

+ 7 - 0
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml

@@ -698,4 +698,11 @@
 		</where>
 	</select>
 
+	<select id="getParentReportData" resultType="com.jeeplus.modules.projectcontentinfo.entity.ProjectReportTreeData">
+		select * from work_content_type a where type_id in(
+			select distinct prd.type
+			from project_report_data prd
+			where prd.del_flag = #{DEL_FLAG_NORMAL} and prd.project_id = #{project.id})
+	</select>
+
 </mapper>

+ 35 - 1
src/main/resources/mappings/modules/projectreportnum/ProjectReportNumDao.xml

@@ -49,6 +49,14 @@
 			create_by = #{userId} and state = '0'
 		</where>
 	</select>
+
+	<select id="getCountNum" parameterType="String" resultType="Integer">
+		select count(id)
+		 from report_num
+		<where>
+			create_by = #{userId} and state = '0' and num like concat(#{num},'%') and num != #{num}
+		</where>
+	</select>
 	
 	
 	
@@ -103,8 +111,34 @@
 		</where>
 		ORDER BY a.num desc limit 0,1
 	</select>
-	
 
+	<select id="getReportNumList" resultType="com.jeeplus.modules.projectcontentinfo.entity.ProjectContentTreeData" >
+		select (@row_number:=@row_number + 1) as `index`,
+		a.id as "id",
+		a.del_flag as "delFlag",
+		a.num as "num",
+		a.parent_id as "pid"
+		from report_num a,(select @row_number:=0) as t
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL} and a.state = '0' and a.create_by = #{userId}
+		</where>
+		ORDER BY a.parent_id
+	</select>
+
+	<select id="getWorkContentTypeByReportNum" resultType="com.jeeplus.modules.workcontent.entity.WorkContentType">
+		select 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.type_id AS "typeId",
+		a.type_name AS "typeName",
+		a.parent_id AS "parentId",
+		a.parent_ids AS "parentIds"
+		from work_content_type a where a.type_id = #{reportNum}
+	</select>
 
 
 

+ 2 - 2
src/main/webapp/webpage/modules/projectcontentinfo/projectcontentinfoForm.jsp

@@ -434,7 +434,7 @@
 					<div class="form-group-label"><h2>成果列表</h2></div>
 					<div class="layui-item nav-btns">
 						<c:if test="${empty change}">
-							<a href="javascript:void(0)" onclick="openDialogWork1('领取成果文件编号', '${ctx}/projectreportnum/projectReportNum/list','60%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 领取成果文件编号</a>
+							<a href="javascript:void(0)" onclick="openDialogWork1('领取成果文件编号', '${ctx}/projectreportnum/projectReportNum/skipMethod','60%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 领取成果文件编号</a>
 						</c:if>
 						<c:if test="${empty change}">
 							<a href="javascript:void(0)" onclick="openDialogres('新增成果文件', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=report&dictType=${dictType}&id=${id}&parentIds=${parentIds}','95%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 新增成果文件</a>
@@ -448,7 +448,7 @@
 								<th width="110">成果文件名称</th>
 								<th width="110">工作内容类型</th>
 								<th width="110">成果类型</th>
-								<th width="110">符合标准</th>
+								<th width="110">复核标准</th>
 								<th width="80">签章类型</th>
 								<th width="90">创建日期</th>
 								<th width="80">状态</th>

+ 54 - 1
src/main/webapp/webpage/modules/projectcontentinfo/reportForm.jsp

@@ -186,8 +186,24 @@
 					var item = iframeWin.getSelectedItem();
 					if(item === 'false'){
 						iframeWin.layer.msg('请选择一条数据', {icon: 5});
+					}else if(item.length<=12){
+						iframeWin.layer.msg('请选择子级节点报告号', {icon: 5});
 					}else {
 						$("#number").val(item)
+						$.ajax({
+							url:"${ctx}/projectreportnum/projectReportNum/getWorkContentTypeByReportNum",
+							data:{reportNumStr:item},
+							success:function (result) {
+								if(result.code == '1') {
+									$("#projectReportDataType").val(result.contentType.typeName)
+									$("#achievementParentIdHidden").val(result.contentType.typeId);
+									$("#projectReportDataTypeHidden").val(result.contentType.typeId);
+									achievementTypeFun();
+								}else {
+									layer.msg("获取失败", {icon: 5});
+								}
+							}
+						})
 						top.layer.close(index);//关闭对话框。
 					}
 				},
@@ -385,6 +401,7 @@
 			<input type="hidden" id="achievementParentIdHidden" value="${achievementParentId}">
 			<input type="hidden" id="achievementIdHidden" value="${achievementId}">
 			<input type="hidden" id="reviewStandardHidden" value="${reviewStandard}">
+			<input type="hidden" id="projectReportDataTypeHidden" name="projectReportData.type" value="">
 		<sys:message content="${message}"/>
 		<div class="form-group layui-row first lw12">
 			<div class="form-group-label"><h2>基本信息</h2></div>
@@ -412,6 +429,12 @@
 			</div>
 			<div class="layui-item layui-col-sm6">
 				<label class="layui-form-label"><span class="require-item">*</span>工作内容类型:</label>
+				<div class="layui-input-block with-icon">
+					<input id="projectReportDataType" name="projectReportDataType" htmlEscape="false"  readonly="readonly" class="form-control layui-input required" value="">
+				</div>
+			</div>
+			<%--<div class="layui-item layui-col-sm6">
+				<label class="layui-form-label"><span class="require-item">*</span>工作内容类型:</label>
 				<div class="layui-input-block">
 					<form:select path="projectReportData.type"  htmlEscape="false" lay-verify="type" lay-filter="achievementFilter" class="required">
 						<form:option value="" label=""/>
@@ -429,7 +452,7 @@
 						<form:options items="${fns:getProjectContentTypeList('6',projectcontentinfo.project.id)}" itemLabel="typeName" itemValue="typeId"></form:options>
 					</form:select>
 				</div>
-			</div>
+			</div>--%>
 			<div class="layui-item layui-col-sm6">
 				<label class="layui-form-label"><span class="require-item">*</span>成果类型:</label>
 				<div class="layui-input-block">
@@ -996,6 +1019,32 @@
             ,layer = layui.layer
             ,layedit = layui.layedit
             ,laydate = layui.laydate;
+
+		window.achievementTypeFun = function(){
+			var achievementParentId = $("#achievementParentIdHidden").val();
+			$.ajax({
+				type:"post",
+				url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList',
+				data:{"achievementParentId":achievementParentId,type:1},
+				dataType:"json",
+				success:function(data){
+					if(data.success) {
+						$('#achievementType').html('<option value="">请选择成果类型</option>')
+						var list = eval(data.body.list);
+						dataList=list;
+						for(var i in list){
+							$('#achievementType').append(new Option(dataList[i].label, dataList[i].value));
+						}
+
+						layui.form.render("select");
+					}else {
+						top.layer.msg("获取数据失败!", {icon: 0});
+					}
+				}
+			})
+		};
+
+
         layui.form.on('select(achievementFilter)',function(data) {
             var achievementParentId = data.value;
             if (0==achievementParentId || ''==achievementParentId){
@@ -1097,6 +1146,10 @@
         });
 
     })
+
+
+
+
 </script>
 </body>
 </html>

+ 81 - 35
src/main/webapp/webpage/modules/projectreportnum/projectReportNumList.jsp

@@ -5,7 +5,7 @@
 <head>
 	<title>报告号</title>
 	<meta name="decorator" content="default"/>
-
+	<link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet" />
 
 	<style>
 		.widthClass{
@@ -38,15 +38,16 @@
 <%--					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="getMore()" title="领取"><i class="fa fa-plus"></i>&nbsp;领多个</button>--%>
 					<div style="clear: both;"></div>
 				</div>
-				<table class="oa-table layui-table" id="contentTable">
-				</table>
+				<%--<table class="oa-table layui-table" id="contentTable">
+				</table>--%>
+				<table id="permissionTable" class="layui-table" lay-filter="permissionTable"></table>
 
 				<div style="clear: both;"></div>
 			</div>
 		</div>
 	</div>
 </div>
-<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<%--<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
 <script>
     layui.use('table', function(){
         layui.table.render({
@@ -80,7 +81,64 @@
         });
 
     })
+</script>--%>
+
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script src="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.js" charset="utf-8"></script>
+<script>
+	/*使用模块加载的方式 加载文件*/
+	layui.config({
+		base: '${ctx}/resoueces/css/layui/module/'
+	}).extend({
+		treetable: 'treetable-lay/treetable'
+	}).use(['layer', 'table', 'treetable'], function () {
+		var $ = layui.jquery;
+		var table = layui.table;
+		var layer = layui.layer;
+		var treetable = layui.treetable;
+
+		// 渲染表格
+		var renderTable = function () {
+			layer.load(2);
+			treetable.render({
+				treeColIndex: 1,//树形图标显示在第几列
+				treeSpid: 0,//最上级的父级id
+				treeIdName: 'permissionId',//id字段的名称
+				treePidName: 'pid',//pid字段的名称
+				treeDefaultClose: true,//是否默认折叠
+				treeLinkage: true,//父级展开时是否自动展开所有子级
+				elem: '#permissionTable',
+				url: '${ctx}/projectreportnum/projectReportNum/getReportNumList',
+				page: false,
+				cols: [[
+					{field:'index',align:'center',width:120, title: '序号'},
+					{field:'num',align:'center',  title: '报告号'},
+					{templet: complain, title: '操作',width:130}
+				]],
+				done: function () {
+					layer.closeAll('loading');
+				}
+			});
+		};
+		renderTable();
+
+		function complain(d){//操作中显示的内容
+			if(0 == d.pid){
+				return [
+					"<a href=\"javascript:void(0)\" onclick=\"reportNumOnStage('阶段报告号新增','${ctx}/projectreportnum/projectReportNum/getProjectReportNumStageForm?num="+d.num+"&parentId="+d.id+"','70%', '50%');\" class=\"op-btn op-btn-edit\"><i class=\"fa fa-edit\"></i> 添加阶段报告号</a>"
+				].join('');
+			}else{
+				return[
+					"<a href=\"${ctx}/projectreportnum/projectReportNum/download?number=" +encodeURIComponent(encodeURIComponent( d.num ))+ "\"    class=\"op-btn op-btn-edit layui-bg-orange\"><i class=\"fa fa-edit\"></i> 生成报告模板</a>"
+				].join('');
+			}
+		}
+	});
+
 </script>
+
+
+
 <script>
 	function reportNumOnStage(title,url,width,height,target){
 		var company=$("#company").val();
@@ -112,49 +170,37 @@
 				}
 				inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
 				var $document = iframeWin.contentWindow.document;
-				if(iframeWin.contentWindow.doSubmit() ){
+				/*if(iframeWin.contentWindow.doSubmit() ){
 
 				}else{
 					return false;
-				}
-				var index1 = parent.layer.load(0, {shade: [0.1, 'tranparent']});
-				formSubmit($document,"inputForm",index,index1);
+				}*/
+				//var index1 = parent.layer.load(0, {shade: [0.1, 'tranparent']});
+				formSubmit($document,"inputForm",index);
 			},
 			cancel: function(index){
 			}
 		});
 
 	}
-	function formSubmit($document,inputForm,index,index1){
-		var validateForm = $($document.getElementById(inputForm)).validate({
-			submitHandler: function(form){
-				loading('正在提交,请稍等...');
-				form.submit();
-			},
-			errorContainer: "#messageBox",
-			errorPlacement: function(error, element) {
-				$($document.getElementById("#messageBox")).text("输入有误,请先更正。");
-				if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
-					error.appendTo(element.parent().parent());
-				} else {
-					error.insertAfter(element);
+	function formSubmit($document,inputForm,index){
+		$($document.getElementById(inputForm)).ajaxSubmit({
+			success:function(data) {
+				top.layer.close(index);
+				if(data.code == 0){
+					layer.msg(data.msg, {icon: 1,time: 1000}, function(){
+						return false;
+					});
+				}else{
+					layer.msg(data.msg, {icon: 1,time: 1000}, function(){
+						window.location.reload();
+					});
 				}
+			},error:function(){
+				layer.msg("操作失败",{icon:2});
+				window.location.reload();
 			}
 		});
-		if(validateForm.form()){
-			$($document.getElementById(inputForm)).ajaxSubmit({
-				success:function(data) {
-					top.layer.close(index);
-					layer.msg(data.msg, {icon: 1});
-					window.location.reload();
-				},error:function(){
-					layer.msg("操作失败",{icon:2});
-					window.location.reload();
-				}
-			});
-		}else {
-			parent.layer.msg("信息未填写完整!", {icon: 5});
-		}
 	}
 </script>
 <script>

+ 123 - 2
src/main/webapp/webpage/modules/projectreportnum/projectReportNumSel.jsp

@@ -5,7 +5,7 @@
 <head>
 	<title>选择报告号</title>
 	<meta name="decorator" content="default"/>
-
+	<link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet" />
 
 	<style>
 		.widthClass{
@@ -47,7 +47,7 @@
 	</div>
 </div>
 <script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
-<script>
+<%--<script>
     layui.use('table', function(){
         layui.table.render({
             limit:${ page.pageSize }
@@ -74,8 +74,129 @@
 
 
     })
+</script>--%>
+
+
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script src="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.js" charset="utf-8"></script>
+<script>
+	/*使用模块加载的方式 加载文件*/
+	layui.config({
+		base: '${ctx}/resoueces/css/layui/module/'
+	}).extend({
+		treetable: 'treetable-lay/treetable'
+	}).use(['layer', 'table', 'treetable'], function () {
+		var $ = layui.jquery;
+		var table = layui.table;
+		var layer = layui.layer;
+		var treetable = layui.treetable;
+
+		// 渲染表格
+		var renderTable = function () {
+			layer.load(2);
+			treetable.render({
+				treeColIndex: 1,//树形图标显示在第几列
+				treeSpid: 0,//最上级的父级id
+				treeIdName: 'permissionId',//id字段的名称
+				treePidName: 'pid',//pid字段的名称
+				treeDefaultClose: false,//是否默认折叠
+				treeLinkage: true,//父级展开时是否自动展开所有子级
+				elem: '#contentTable',
+				url: '${ctx}/projectreportnum/projectReportNum/getReportNumList',
+				page: false,
+				cols: [[
+					{checkbox: true,width:80},
+					{field:'index',align:'center',width:120, title: '序号'},
+					{field:'num',align:'center',  title: '报告号'},
+					{templet: complain, title: '操作',width:130}
+				]],
+				done: function () {
+					layer.closeAll('loading');
+				}
+			});
+		};
+		renderTable();
+
+		function complain(d){//操作中显示的内容
+			if(0 == d.pid){
+				return [
+					"<a href=\"javascript:void(0)\" onclick=\"reportNumOnStage('阶段报告号新增','${ctx}/projectreportnum/projectReportNum/getProjectReportNumStageForm?num="+d.num+"&parentId="+d.id+"','70%', '50%');\" class=\"op-btn op-btn-edit\"><i class=\"fa fa-edit\"></i> 添加阶段报告号</a>"
+				].join('');
+			}else{
+				return[
+					""
+				].join('');
+			}
+		}
+	});
+
 </script>
 <script>
+	function reportNumOnStage(title,url,width,height,target){
+		var company=$("#company").val();
+		url=url+"&company="+company;
+		if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+			width='auto';
+			height='auto';
+		}else{//如果是PC端,根据用户设置的width和height显示。
+
+		}
+
+		top.layer.open({
+			type: 2,
+			area: [width, height],
+			title: title,
+			maxmin: true, //开启最大化最小化按钮
+			content: url ,
+			skin:"two-btns",
+			btn: ['提交', '关闭'],
+			yes: function(index, layero){
+				var body = top.layer.getChildFrame('body', index);
+				var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+				var inputForm = body.find('#inputForm');
+				var top_iframe;
+				if(target){
+					top_iframe = target;//如果指定了iframe,则在改frame中跳转
+				}else{
+					top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+				}
+				inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+				var $document = iframeWin.contentWindow.document;
+				/*if(iframeWin.contentWindow.doSubmit() ){
+
+				}else{
+					return false;
+				}*/
+				//var index1 = parent.layer.load(0, {shade: [0.1, 'tranparent']});
+				formSubmit($document,"inputForm",index);
+			},
+			cancel: function(index){
+			}
+		});
+
+	}
+	function formSubmit($document,inputForm,index){
+		$($document.getElementById(inputForm)).ajaxSubmit({
+			success:function(data) {
+				top.layer.close(index);
+				if(data.code == 0){
+					layer.msg(data.msg, {icon: 1,time: 1000}, function(){
+						return false;
+					});
+				}else{
+					layer.msg(data.msg, {icon: 1,time: 1000}, function(){
+						window.location.reload();
+					});
+				}
+			},error:function(){
+				layer.msg("操作失败",{icon:2});
+				window.location.reload();
+			}
+		});
+	}
+</script>
+
+<script>
     resizeListWindow1();
     $(window).resize(function(){
         resizeListWindow1();

+ 21 - 1
src/main/webapp/webpage/modules/projectreportnum/projectReportNumStageForm.jsp

@@ -12,7 +12,7 @@
                top.layer.msg('阶段信息不能为空!', {icon: 0});
                return false;
 		   }
-			$("#inputForm").submit();
+			//$("#inputForm").submit();
 		  return true;
 		}
         var validateForm;
@@ -90,6 +90,26 @@
 						</form:select>
 					</div>
 				</div>
+				<%--<div class="layui-item layui-col-sm6" style="width:50%">
+					<label class="layui-form-label double-line"><span class="require-item">*</span>选择阶段信息:</label>
+					<div class="layui-input-block">
+						<form:select id="stageId" path="stageId"  htmlEscape="false" class="form-control simple-select required">
+							<form:option value=""></form:option>
+							<optgroup label="决策阶段"/>
+							<form:options items="${fns:getProjectContentTypeList('1',projectcontentinfo.project.id)}" itemLabel="typeName" itemValue="typeId"></form:options>
+							<optgroup label="设计阶段"/>
+							<form:options items="${fns:getProjectContentTypeList('2',projectcontentinfo.project.id)}" itemLabel="typeName" itemValue="typeId"></form:options>
+							<optgroup label="发承包阶段"/>
+							<form:options items="${fns:getProjectContentTypeList('3',projectcontentinfo.project.id)}" itemLabel="typeName" itemValue="typeId"></form:options>
+							<optgroup label="实施阶段"/>
+							<form:options items="${fns:getProjectContentTypeList('4',projectcontentinfo.project.id)}" itemLabel="typeName" itemValue="typeId"></form:options>
+							<optgroup label="竣工阶段"/>
+							<form:options items="${fns:getProjectContentTypeList('5',projectcontentinfo.project.id)}" itemLabel="typeName" itemValue="typeId"></form:options>
+							<optgroup label="运营阶段"/>
+							<form:options items="${fns:getProjectContentTypeList('6',projectcontentinfo.project.id)}" itemLabel="typeName" itemValue="typeId"></form:options>
+						</form:select>
+					</div>
+				</div>--%>
 			</div>
 		</form:form>
 	</div>