<%@ 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">
        var validateForm;
        function doSubmit(){//回调函数，在编辑和保存动作时，供openDialog调用提交表单。
            if(validateForm.form()){
                $("#inputForm").submit();
                return true;
            }

            return false;
        }
        function hasInArr(id,idArr) {
            for(var i=0;i<idArr.length;i++){
                if(id==$(idArr[i]).val()){
                    return true;
                }
            }
            return false;
        }
        $(document).ready(function() {
            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);
                    }
                }
            });
            laydate.render({
                elem: '#reportDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
                event: 'focus', //响应事件。如果没有传入event，则按照默认的click
                type : 'date'
            });
            $("#attachment_btn").click(function () {
                $("#attachment_file").click();
            });
        });
        function openDialogre(title,url,width,height,formId){

            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,
                skin: 'three-btns',
                maxmin: true, //开启最大化最小化按钮
                content: url ,
                btn: ['提交','关闭'],
                btn1: 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;
                    inputForm.attr("action","${ctx}/projectcontentinfo/projectcontentinfo/ajaxsaveBaseData");//表单提交成功后，从服务器返回的url在当前tab中展示
                    var $document = iframeWin.contentWindow.document;
                    formSubmitAjax($document,formId,index);
                },
                btn2: function(index){
                }
            });
        }
        function formSubmitAjax($document,inputForm,index){
            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);
                    }
                }
            });
            if(validateForm.form()){
                $($document.getElementById(inputForm)).ajaxSubmit({
                    success:function(data) {
                        if(!data.success){
                            top.layer.msg("保存依据资料信息异常!",{icon:2});
                            return false;
                        }
                        var idx = $("#workBaseDataList tr").length;
                        addRowBaseData("#workBaseDataList",idx,workBaseDataTpl,data.body.workBasedData);
                        parent.layer.msg(data.msg,{icon:1});
                        top.layer.close(index)
                    }
                });
            }
        }
        function delRowBaseData(obj, prefix,userId){
            var id = $(prefix+"_id").val();
            /* var createBy = $(prefix+"_userId").val();*/
            var currentUser = '${fns:getUser().id}';
            var contentId = '${projectcontentinfo.projectContentData.id}';
            console.log(contentId);

            $.ajax({
                type:"post",
                url:'${ctx}/projectcontentinfo/projectContentData/ajaxdelete',
                data:{"contentId":contentId,"basedId":id},
                dataType:"json",
                success:function(data){
                    if(data.success) {
                        $(obj).parent().parent().remove();
                        /*parent.parent.refreshTrees();*/
                        if(data.body.inuse){
                            return;
                        }
                        if (currentUser == userId) {
                            confirmDelete('是否同步删除资料库的文件？','${ctx}/projectcontentinfo/projectcontentinfo/delete?infoId='+id+'&id=${projectcontentinfo.id}&type=1');
                        }
                    }else {
                        top.layer.msg("删除依据资料失败！", {icon: 0});
                    }
                }
            })
            return;
        }
	</script>
</head>
<div class="single-form">
	<div class="container${container}">
		<form:form id="inputForm" modelAttribute="projectcontentinfo" action="${ctx}/projectcontentinfo/projectcontentinfo/reportInvalidAudit" method="post" class="form-horizontal">
			<form:hidden path="id"/>
			<form:hidden path="home"/>
			<form:hidden path="parentIds"/>
			<form:hidden path="projectReportData.id"/>
			<form:hidden path="projectReportData.createBy.id"/>
			<form:hidden path="projectReportData.act.taskId"/>
			<form:hidden path="projectReportData.act.taskName"/>
			<form:hidden path="projectReportData.act.taskDefKey"/>
			<form:hidden path="projectReportData.act.procInsId"/>
			<form:hidden path="projectReportData.act.procDefId"/>
			<form:hidden id="flag" path="projectReportData.act.flag"/>
			<sys:message content="${message}"/>
			<div class="form-group layui-row first lw12">
				<div class="form-group-label"><h2>基本信息</h2></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 htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectcontentinfo.projectReportData.name}"/>
					</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">
						<div class="input-group">
							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectcontentinfo.projectReportData.number}"/>
							<span class="input-group-btn">
								<label class="form-status">
									<c:choose>
										<c:when test="${not empty projectcontentinfo.projectReportData.status}">${fns:getDictLabel(projectcontentinfo.projectReportData.status, 'audit_state', '')}
										</c:when>
										<c:otherwise>新添</c:otherwise>
									</c:choose></label>
							 </span>
						</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">
						<input  htmlEscape="false" readonly="true" class="form-control  layui-input" value="${fns:getContentTypeName(projectcontentinfo.projectReportData.type,"")}"/>
					</div>
				</div>
				<div class="layui-item layui-col-sm6">
					<label class="layui-form-label">成果类型：</label>
					<div class="layui-input-block">
						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${fns:getMainDictLabel(projectcontentinfo.projectReportData.achievementType, 'achievement_type', '')}"/>
					</div>
				</div>
				<div class="layui-item layui-col-sm6">
					<label class="layui-form-label">复核标准：</label>
					<div class="layui-input-block">
						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${fns:getDictLabel(projectcontentinfo.projectReportData.reviewStandard, 'reviewStandard', '')}"/>
					</div>
				</div>
				<div class="layui-item layui-col-sm6">
					<label class="layui-form-label">报告日期：</label>
					<div class="layui-input-block">
						<input id="provideDate" name="projectReportData.provideDate" type="text" htmlEscape="false" readonly="true" class="laydate-icondate form-control layer-date required layui-input laydate-icon"
							   value="<fmt:formatDate value="${projectcontentinfo.projectReportData.reportDate}" pattern="yyyy-MM-dd"/>"/>
					</div>
				</div>
				<%--<div class="layui-item layui-col-sm6">
					<label class="layui-form-label">签字造价师一：</label>
					<div class="layui-input-block">
						<input  htmlEscape="false" readonly="true" class="form-control  layui-input" value="${projectcontentinfo.projectReportData.signCostOne.name}"/>
					</div>
				</div>
				<div class="layui-item layui-col-sm6">
					<label class="layui-form-label">签字造价师二：</label>
					<div class="layui-input-block">
						<input  htmlEscape="false" readonly="true" class="form-control  layui-input" value="${projectcontentinfo.projectReportData.signCostTwo.name}"/>
					</div>
				</div>--%>
				<div class="layui-item layui-col-sm6">
					<label class="layui-form-label">负责人：</label>
					<div class="layui-input-block">
						<input  htmlEscape="false" readonly="true" class="form-control  layui-input" value="${projectcontentinfo.projectReportData.master.name}"/>
					</div>
				</div>
				<div class="layui-item layui-col-sm6">
					<label class="layui-form-label">归档状态：</label>
					<div class="layui-input-block">
						<input  htmlEscape="false" readonly="true" class="form-control  layui-input" value="${fns:getDictLabel(projectcontentinfo.projectReportData.fileStatus, 'record_state', '')}"/>
					</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">
						<textarea id="remarks" name="projectReportData.remarks" htmlEscape="false"  rows="3" maxlength="20" class="form-control required" ></textarea>
					</div>
				</div>
			</div>
			<div class="form-group layui-row first lw12">
				<div class="form-group-label"><h2>依据性资料明细</h2></div>
				<div class="layui-item nav-btns">
					<a href="javascript:void(0)" onclick="openDialogre('新增依据性资料', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=basedData&dictType=${projectcontentinfo.dictType}&id=${projectcontentinfo.id}&parentIds=${projectcontentinfo.parentIds}','90%','90%','inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 新增</a>

					<sys:gridselectBaseData url="${ctx}/projectcontentinfo/projectBasedData/selectList" id="baseData" title="选择依据资料"
											cssClass="form-control" projectId="${projectcontentinfo.project.id}" fieldLabels="" fieldKeys=""  searchLabel="依据资料名称" searchKey="name"></sys:gridselectBaseData>
				</div>
				<div class="layui-item layui-col-xs12 form-table-container">
					<table id="contentTableBase" class="table table-bordered table-condensed details">
						<thead>
						<tr>
							<th class="hide"></th>
							<th >资料编号</th>
							<th >资料名称</th>
							<th >资料类别</th>
							<th >上传人</th>
							<th >上传日期</th>
							<th>操作</th>
						</tr>
						</thead>
						<tbody id="workBaseDataList">
						<c:forEach items="${projectcontentinfo.projectReportData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
							<tr>
								<td class="hide">
									<input type="hidden" id="workBaseDataList${idx.index}_id" value="${projectBasedData.id}" class="clientId">
								</td>
								<td style="text-align:center;">
										${projectBasedData.number}
								</td>
								<td style="text-align:center;">
										${projectBasedData.name}
								</td>
								<td style="text-align:center;">
										${fns:getDictLabel(projectBasedData.type, 'project_document_type', '')}
								</td>
								<td style="text-align:center;">
										${projectBasedData.uploadUser.name}
								</td>
								<td style="text-align:center;">
									<fmt:formatDate value="${projectBasedData.uploadDate}" pattern="yyyy-MM-dd"/>
								</td>

								<td class="text-center op-td">
									<a href=javascript:void(0); onclick="delRowBaseData(this, '#workBaseDataList${idx.index}','${projectBasedData.uploadUser.id}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>
								</td>
							</tr>
						</c:forEach>
						</tbody>
					</table>
				</div>
				<script type="text/template" id="workBaseDataTpl">//<!--
                <tr id="budgetList{{idx}}">
                    <td class="hide">
                        <input id="workBaseDataList{{idx}}_id" name="projectReportData.projectBasedDataList[{{idx}}].id" type="hidden" value="{{row.id}}" class="clientId"/>
                        <input id="workBaseDataList{{idx}}_number" name="projectReportData.projectBasedDataList[{{idx}}].number" type="hidden" value="{{row.number}}"/>
                        <input id="workBaseDataList{{idx}}_name" name="projectReportData.projectBasedDataList[{{idx}}].name" type="hidden" value="{{row.name}}"/>
                        <input id="workBaseDataList{{idx}}_type" name="projectReportData.projectBasedDataList[{{idx}}].type" type="hidden" value="{{row.type}}"/>
                    </td>
                    <td style="text-align:center;">
                        {{row.number}}
                    </td>
                    <td style="text-align:center;">
                        {{row.name}}
                    </td>
                    <td style="text-align:center;">
                        {{row.typeLabel}}
                    </td>
                    <td style="text-align:center;">
                        {{row.uploadUser.name}}
                    </td>
                    <td style="text-align:center;">
                        {{row.uploadDate}}
                    </td>
                    <td class="text-center op-td">
                        <a href=javascript:void(0); onclick="delRowBaseData(this, '#workBaseDataList{{idx}}','{{row.uploadUser.id}}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>
                    </td>
                </tr>//-->
				</script>
				<script type="text/javascript">
                    var workBaseDataTpl = $("#workBaseDataTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
                    var workBaseDataRowIdx = ${fn:length(projectcontentinfo.projectReportData.projectBasedDataList)};
                    /*   function setValuee(obj){
                           var idx = $("#workBaseDataList tr").length;
                           if(existBaseData(obj.id,idx)) {
                               return;
                           }
                           addRowBaseData("#workBaseDataList",idx,workBaseDataTpl,obj);
                       }*/
                    function setValuee(obj){
                        for(var i=0;i<obj.length;i++){
                            var idArr = $("#workBaseDataList tr:visible .clientId");
                            if(obj[i].id!=''&&!hasInArr(obj[i].id,idArr)){
                                addRowBaseData("#workBaseDataList",workBaseDataRowIdx,workBaseDataTpl,obj[i]);
                                workBaseDataRowIdx=workBaseDataRowIdx+1;
                            }
                        }
                    }
                    function existBaseData(id,length) {
                        for (var i=0;i<length;i++) {
                            var val = $('#workBaseDataList'+i+'_id').val();
                            if(id==val){
                                return true;
                            }
                        }
                        return false;
                    }

                    function addRowBaseData(list, idx, tpl, row){
                        bornTemplete(list, idx, tpl, row, idx);
                    }

                    function bornTemplete(list, idx, tpl, row, idx1){
                        var idx1 = $("#workBaseDataList tr").length +1;
                        $(list).append(Mustache.render(tpl, {
                            idx: idx, delBtn: true, row: row,
                            order:idx1 + 1, idx1:idx1
                        }));
                        $(list+idx).find("select").each(function(){
                            $(this).val($(this).attr("data-value"));
                        });
                        $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
                            var ss = $(this).attr("data-value").split(',');
                            for (var i=0; i<ss.length; i++){
                                if($(this).val() == ss[i]){
                                    $(this).attr("checked","checked");
                                }
                            }
                        });
                    }
                    function delRowBaseData(obj, prefix,userId){
                        var id = $(prefix+"_id").val();
                        /* var createBy = $(prefix+"_userId").val();*/
                        var currentUser = '${fns:getUser().id}';
                        var contentId = '${projectcontentinfo.projectReportData.id}';
                        console.log(contentId);

                        $.ajax({
                            type:"post",
                            url:'${ctx}/projectcontentinfo/projectContentData/ajaxdelete',
                            data:{"contentId":contentId,"basedId":id},
                            dataType:"json",
                            success:function(data){
                                if(data.success) {
                                    $(obj).parent().parent().remove();
                                    /*parent.parent.refreshTrees();*/
                                    if(data.body.inuse){
                                        return;
                                    }
                                    if (currentUser == userId) {
                                        confirmDelete('是否同步删除资料库的文件？','${ctx}/projectcontentinfo/projectcontentinfo/delete?infoId='+id+'&id=${projectcontentinfo.id}&type=1');
                                    }
                                }else {
                                    top.layer.msg("删除依据资料失败！", {icon: 0});
                                }
                            }
                        })
                        return;
                    }

                    function confirmDelete(mess, href){
                        top.layer.confirm(mess, {icon: 3, title:'系统提示'}, function(index){
                            //do something
                            if (typeof href == 'function') {
                                href();
                            }else{
                                $.ajax({
                                    url:href,
                                    type:"post",
                                    success:function(data){
                                        if(data.success){
                                            top.layer.msg("删除依据资料成功！", {icon: 0});
                                        }
                                    }
                                });
                            }
                            top.layer.close(index);
                        });
                        return false;
                    }
				</script>
			</div>
			<div class="form-group layui-row first lw12">
				<div class="form-group-label"><h2>依据工作内容</h2></div>
				<!-- 表格 -->
				<div class="layui-item layui-col-xs12" style="padding:0 16px;">
					<table id="contentTable" class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
						<thead>
						<tr>
							<th style="text-align: center;width:20%">工作内容编号</th>
							<th style="text-align: center;width:20%">工作内容名称</th>
							<th style="text-align: center;width:20%">工作内容类型</th>
							<th style="text-align: center;width:20%">负责人</th>
							<th style="text-align: center;width:20%">创建时间</th>
						</tr>
						</thead>
						<tbody id="projectContentDataList">
						<c:forEach items="${projectcontentinfo.projectReportData.projectContentDataList}" var="projectContentData" varStatus="index">
							<tr>
								<td>
										${projectContentData.number}
								</td>
								<td>
										${projectContentData.name}
								</td>
								<td>
										${fns:getContentTypeName(projectContentData.type,"")}
								</td>
								<td>
										${projectContentData.master.name}
								</td>
								<td>
									<fmt:formatDate value="${projectContentData.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
								</td>
							</tr>
						</c:forEach>
						</tbody>
					</table>
				</div>
			</div>
			<div class="form-group layui-row">
				<div class="form-group-label"><h2>报告文件</h2></div>
				<div class="layui-item layui-col-xs12" style="padding:0 16px;">
					<table id="upTable" class="table table-bordered table-condensed details">
						<thead>
						<tr>
								<%-- <th>序号</th>--%>
							<th>文件预览</th>
							<th>上传人</th>
							<th>上传时间</th>
							<th width="150px">操作</th>
						</tr>
						</thead>
						<tbody id="file_attachment">
						<c:forEach items="${projectcontentinfo.projectReportData.workAttachments}" var = "workClientAttachment" varStatus="status">
							<tr>
									<%-- <td>${status.index + 1}</td>--%>
								<c:choose>
									<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
										<td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}"></td>
									</c:when>
									<c:otherwise>
										<c:choose>
											<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
												<td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
											</c:when>
											<c:otherwise>
												<td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
											</c:otherwise>
										</c:choose>
									</c:otherwise>
								</c:choose>
								<td>${workClientAttachment.createBy.name}</td>
								<td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
								<td class="op-td">
									<div class="op-btn-box" >
										<a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
									</div>
								</td>
							</tr>
						</c:forEach>
						</tbody>
					</table>
				</div>
			</div>
			<div class="form-group layui-row">
				<div class="form-group-label"><h2>自检</h2></div>
				<div class="layui-item layui-col-xs12 form-table-container">
					<table id="contentTable2" class="table details table-bordered table-condensed">
						<thead>
						<tr>
							<th style="text-align: center;width:15%">序号</th>
							<th style="text-align: center;width:70%">复核内容及评分标准</th>
							<th style="text-align: center;width:15%">操作</th>
						</tr>
						</thead>
						<tbody id="projectContentDataList2">
						<c:forEach items="${projectcontentinfo.projectReportData.projectReviewList}" var="projectReview" varStatus="index">
							<tr>
								<td>
									<input id="projectReviewList${index.index}_id" name="projectReportData.projectReviewList[${index.index}].id" type="hidden" value="${projectReview.id}"/>
									<input id="projectReviewList${index.index}_delFalg" name="projectReportData.projectReviewList[${index.index}].delFalg" type="hidden" value="1"/>
									<input id="projectReviewList${index.index}_remarks" name="projectReportData.projectReviewList[${index.index}].remarks" type="hidden" value="${projectReview.remarks}"/>
										${index.index + 1}
								</td>
								<td>
										${projectReview.standardDetail}
								</td>

								<td>
									<c:choose>
										<c:when test="${not empty projectReview.remarks}">
											<div class="check-ok">
												<i class="fa fa-check"></i>
											</div>
										</c:when>
										<c:otherwise>
											<div id = "check1${projectReview.id}">
											</div>
											<div id = "check2${projectReview.id}" class="check-ok" style="display: none">
												<i class="fa fa-check"></i>
											</div>
										</c:otherwise>
									</c:choose>
								</td>
							</tr>
						</c:forEach>
						</tbody>
					</table>
				</div>
			</div>
			<div class="form-group layui-row page-end"></div>
		</form:form>
	</div>
</div>
</body>
</html>