123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774 |
- <%@ 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(obj){//回调函数,在编辑和保存动作时,供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 insertTitle(tValue){
- var files = $("#attachment_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
- var attachmentId = "";
- var attachmentFlag = "84";
- console.log(file);
- var timestamp=new Date().getTime();
- var storeAs = "attachment-file/basedData/"+timestamp+"/"+file['name'];
- var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
- var divId = "_attachment";
- $("#addFile"+divId).show();
- multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,"0");
- }
- }
- 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;
- }
- // 确认对话框
- function reviewAudits(mess, href,obj,remarks){
- top.layer.confirm(mess, {icon: 3, title:'系统提示'}, function(index){
- console.log(remarks);
- var remark = $(remarks);
- remark.val("确认");
- $("#check1"+obj).attr("style","display:none");
- $("#check2"+obj).attr("style","display");
- top.layer.msg("已确认!", {icon: 1});
- top.layer.close(index);
- });
- return false;
- }
- function addReview(obj) {
- var infoId = $("#id").val();
- var name = $("#name").val();
- $.ajax({
- type:"post",
- url:'${ctx}/projectcontentinfo/projectContentData/addReview',
- data:{"reviewId":obj,"name":name,"infoId":infoId},
- dataType:"json",
- success:function(data){
- if(data.success) {
- $("#projectContentDataList2").html("");
- var list = eval(data.body.list);
- for(var i in list){
- var tr = "<tr>" +
- "<td>" +
- "<input id=\"projectReviewList"+i+"_id\" name=\"projectReportData.projectReviewList["+i+"].id\" type=\"hidden\" value=\""+list[i].id+"\"/>" +
- "<input id=\"projectReviewList"+i+"_delFalg\" name=\"projectReportData.projectReviewList["+i+"].delFalg\" type=\"hidden\" value=\"1\"/>" +
- "<input id=\"projectReviewList"+i+"_remarks\" name=\"projectReportData.projectReviewList["+i+"].remarks\" type=\"hidden\" value=\"\"/>" +
- ""+i+1+"" +
- "</td>" +
- "<td>" +
- ""+list[i].standardDetail+"" +
- "</td>" +
- "<td>" +
- "<div id = \"check1"+list[i].id+"\">\n" +
- "<input type=\"hidden\" id=\"audit"+list[i].id+"\" value=\"0\"/>\n" +
- "<a href=\"projectReviewList"+list[i]+"\" onclick=\"return reviewAudits('确认要审核该质量复核内容吗?', this.href,'"+list[i].id+"','#projectReviewList"+i+"_remarks')\" style=\"color:#fff;\" class=\"op-btn op-btn-edit\">确认</a>" +
- "</div>\n" +
- "<div id = \"check2"+list[i].id+"\" class=\"check-ok\" style=\"display: none\">" +
- "<i class=\"fa fa-check\"></i>" +
- "</div>"
- "</td>" +
- "</tr>";
- $("#projectContentDataList2").append(tr);
- }
- }else {
- top.layer.msg("获取数据失败!", {icon: 0});
- }
- }
- })
- }
- </script>
- </head>
- <body>
- <div class="single-form">
- <div class="container${container}">
- <form:form id="inputForm" modelAttribute="projectcontentinfo" action="${ctx}/projectcontentinfo/projectcontentinfo/reportChangeAudit?view=reportChangeModify" method="post" class="form-horizontal">
- <form:hidden path="id"/>
- <form:hidden path="name"/>
- <form:hidden path="home"/>
- <form:hidden path="parentIds"/>
- <form:hidden path="edit"/>
- <form:hidden path="project.id"/>
- <form:hidden path="projectReportData.id"/>
- <form:hidden path="projectReportData.reportId"/>
- <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">
- <form:input path="projectReportData.name" htmlEscape="false" 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">
- <div class="input-group">
- <form:input path="projectReportData.number" readonly="true" htmlEscape="false" class="form-control layui-input "/>
- <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">
- <form:select path="projectReportData.type" htmlEscape="false" class="form-control simple-select required">
- <form:option value="" label=""/>
- <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 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.achievementType" class="form-control simple-select required">
- <form:option value="" label=""/>
- <form:options items="${fns:getMainDictList('achievement_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
- </form:select>
- </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.reviewStandard" class="form-control simple-select required" onchange="addReview(this.value)">
- <form:option value="" label=""/>
- <form:options items="${fns:getDictList('reviewStandard')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
- </form:select>
- </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 id="reportDate" name="projectReportData.reportDate" 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 with-icon">
- <sys:treeselect id="signCostOne" name="projectReportData.signCostOne.id" value="${projectcontentinfo.projectReportData.signCostOne.id}" labelName="projectReportData.signCostOne.name" labelValue="${projectcontentinfo.projectReportData.signCostOne.name}"
- title="签字造价师一" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/></div>
- </div>
- <div class="layui-item layui-col-sm6">
- <label class="layui-form-label">签字造价师二:</label>
- <div class="layui-input-block with-icon">
- <sys:treeselect id="signCostTwo" name="projectReportData.signCostTwo.id" value="${projectcontentinfo.projectReportData.signCostTwo.id}" labelName="projectReportData.signCostTwo.name" labelValue="${projectcontentinfo.projectReportData.signCostTwo.name}"
- title="签字造价师二" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
- </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.reportType" class="form-control simple-select required">
- <form:option value="" label=""/>
- <form:option value="电子章" label="电子章"/>
- <form:option value="实体章" label="实体章"/>
- </form:select>
- </div>
- </div>
- <div class="layui-item layui-col-sm6 with-textarea">
- <label class="layui-form-label"><span class="require-item">*</span>变更原因:</label>
- <div class="layui-input-block">
- <form:textarea path="projectReportData.remarks" htmlEscape="false" rows="3" class="form-control "/>
- </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" name="projectReportData.projectBasedDataList[${idx.index}].id" value="${projectBasedData.id}" class="clientId">
- <input type="hidden" id="workBaseDataList${idx.index}_delFalg" name="projectReportData.projectBasedDataList[${idx.index}].delFalg" value="1">
- </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 form-table-container">
- <!-- 表格 -->
- <div style="float: left;">
- <sys:gridselectContentData url="${ctx}/projectcontentinfo/projectContentData/selectcontentData" id="contentData" title="选择工作内容"
- cssClass="form-control" projectId="${projectcontentinfo.project.id}" fieldLabels="" fieldKeys="" searchLabel="${fns:urlEncode('工作内容名称')}" searchKey="name"></sys:gridselectContentData>
- </div>
- <table id="contentTable2" class="table table-bordered table-condensed details">
- <thead>
- <tr>
- <th style="text-align: center;width:15%">工作内容编号</th>
- <th style="text-align: center;width:20%">工作内容名称</th>
- <th style="text-align: center;width:15%">工作内容类型</th>
- <th style="text-align: center;width:15%">负责人</th>
- <th style="text-align: center;width:20%">创建时间</th>
- <th style="text-align: center;width:15%">操作</th>
- </tr>
- </thead>
- <tbody id="projectContentDataList">
- <c:forEach items="${projectcontentinfo.projectReportData.projectContentDataList}" var="projectContentData" varStatus="index">
- <tr>
- <td>
- <input id="projectContentDataList${index.index}_id" name="projectReportData.projectContentDataList[${index.index}].id" type="hidden" value="${projectContentData.id}"/>
- <input id="projectContentDataList${index.index}_delFalg" name="projectReportData.projectContentDataList[${index.index}].delFalg" type="hidden" value="1"/>
- ${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>
- <td>
- <a href="javascript:void(0)" onclick="delRowData(this, '#projectContentDataList${index.index}','${projectContentData.id}')" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
- </td>
- </tr>
- </c:forEach>
- </tbody>
- </table>
- <script type="text/template" id="projectContentDataTpl">//<!--
- <tr id="budgetList{{idx}}">
- <td class="hide">
- <input id="projectContentDataList{{idx}}_id" name="projectReportData.projectContentDataList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
- <input id="projectContentDataList{{idx}}_delFlag" name="projectReportData.projectContentDataList[{{idx}}]._delFlag" type="hidden" value="0"/>
- </td>
- <td style="text-align:center;">
- {{row.number}}
- </td>
- <td style="text-align:center;">
- {{row.name}}
- </td>
- <td style="text-align:center;">
- {{row.typeName}}
- </td>
- <td style="text-align:center;">
- {{row.master.name}}
- </td>
- <td style="text-align:center;">
- {{row.createDate}}
- </td>
- <td class="text-center" width="10">
- <a href="#" onclick="delRow(this, '#projectContentDataList{{idx}}','{{row.id}}')" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
- </td>
- </tr>//-->
- </script>
- <script type="text/javascript">
- var projectContentDataTpl = $("#projectContentDataTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
- function setValueeContent(obj){
- var idx = $("#projectContentDataList tr").length;
- if(existContentData(obj.id,idx)) {
- return;
- }
- addRowContentData("#projectContentDataList",idx,projectContentDataTpl,obj);
- }
- function existContentData(id,length) {
- for (var i=0;i<length;i++) {
- var val = $('#projectContentDataList'+i+'_id').val();
- if(id==val){
- return true;
- }
- }
- return false;
- }
- function addRowContentData(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 delRow(obj, prefix){
- $(prefix+"_delFalg").val("1");
- $(obj).parent().parent().remove();
- }
- function delRowData(obj, prefix){
- var contentId = $(prefix+"_id").val();
- var reportId = '${projectcontentinfo.projectReportData.id}';
- var projectId = '${projectcontentinfo.project.id}';
- if(reportId!=null&&reportId!=''){
- $.ajax({
- type:"post",
- url:'${ctx}/projectcontentinfo/projectcontentinfo/ajaxContentdelete',
- data:{"contentId":contentId,"reportId":reportId,"projectId":projectId},
- dataType:"json",
- success:function(data){
- if(data.success) {
- $(obj).parent().parent().remove();
- }
- }
- })
- return;
- }
- }
- </script>
- </div>
- </div>
- <div class="form-group layui-row">
- <div class="form-group-label"><h2>报告文件</h2></div>
- <div class="layui-item nav-btns">
- <a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>
- </div>
- <div id="addFile_attachment" style="display: none" class="upload-progress">
- <span id="fileName_attachment" ></span>
- <b><span id="baifenbi_attachment" ></span></b>
- <div class="progress">
- <div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
- </div>
- </div>
- </div>
- <input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
- <span id="attachment_title"></span>
- <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(encodeURIComponent('${workClientAttachment.url}'));" class="op-btn op-btn-download"><i class="fa fa-download"></i> 下载</a>
- <c:if test="${workClientAttachment.createBy.id eq fns:getUser().id}">
- <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i> 删除</a>
- </c:if>
- </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="contentTable3" 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}">
- <input type="hidden" id="audit${projectReview.id}" value="0"/>
- <a href="${ctx}/workreview/workReviewStandard/reviewAudit?auditId=${projectReview.id}" onclick="return reviewAudits('确认要审核该质量复核内容吗?', this.href,'${projectReview.id}','#projectReviewList${index.index}_remarks')" style="color:#fff;" class="op-btn op-btn-edit">确认</a>
- </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>
|