|
@@ -15,14 +15,94 @@
|
|
|
var dataList;
|
|
|
function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
|
|
|
if(validateForm.form()){
|
|
|
- if(obj == 1){
|
|
|
- $("#inputForm").attr("action","${ctx}/ruralProject/ruralCostProjectMessage/saveReport");
|
|
|
- }else{
|
|
|
- //$("#inputForm").attr("action","${ctx}/projectcontentinfo/projectcontentinfo/save?view=report");
|
|
|
- $("#inputForm").attr("action","${ctx}/ruralProject/ruralCostProjectMessage/holdSaveReport");
|
|
|
- }
|
|
|
- $("#inputForm").submit();
|
|
|
- return true;
|
|
|
+ var projectId = '${projectRecords.id}';
|
|
|
+ var leng = $("#file_attachment tr").length;
|
|
|
+ var boolFlag = true;
|
|
|
+ for(var i=0; i<leng; i++) {
|
|
|
+ var numberStr = $("#file_attachment tr").eq(i).find("td:first").html();
|
|
|
+ var second = $("#file_attachment tr").eq(i).find("td:eq(1)").html();
|
|
|
+ if(second == 1){
|
|
|
+ if(numberStr != undefined && numberStr !=null && numberStr !=''){
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ url:'${ctx}/projectAccessoryRelation/projectAccessoryRelation/getAttachmentCount',
|
|
|
+ data: {"attachmentId":numberStr,"projectId":projectId},
|
|
|
+ dataType: "json",
|
|
|
+ async: false
|
|
|
+ }).success(function (result) {
|
|
|
+ if(result == 0){
|
|
|
+ boolFlag = false;
|
|
|
+ top.layer.msg("请上传报告文件!", {icon: 0});
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }).error(function () {
|
|
|
+ top.layer.msg("文件载入失败!");
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(boolFlag){
|
|
|
+ var gistdata = $("#file_gistdata tr").length;
|
|
|
+ for(var i=0; i<gistdata; i++) {
|
|
|
+ var numberStr = $("#file_gistdata tr").eq(i).find("td:first").html();
|
|
|
+ var second = $("#file_gistdata tr").eq(i).find("td:eq(1)").html();
|
|
|
+ if(second == 1){
|
|
|
+ if(numberStr != undefined && numberStr !=null && numberStr !=''){
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ url:'${ctx}/projectAccessoryRelation/projectAccessoryRelation/getAttachmentCount',
|
|
|
+ data: {"attachmentId":numberStr,"projectId":projectId},
|
|
|
+ dataType: "json",
|
|
|
+ async: false
|
|
|
+ }).success(function (result) {
|
|
|
+ if(result == 0){
|
|
|
+ boolFlag = false;
|
|
|
+ top.layer.msg("请上传依据性文件!", {icon: 0});
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }).error(function () {
|
|
|
+ top.layer.msg("文件载入失败!");
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(boolFlag){
|
|
|
+ var other = $("#file_other tr").length;
|
|
|
+ for(var i=0; i<other; i++) {
|
|
|
+ var numberStr = $("#file_other tr").eq(i).find("td:first").html();
|
|
|
+ var second = $("#file_other tr").eq(i).find("td:eq(1)").html();
|
|
|
+ if(second == 1){
|
|
|
+ if(numberStr != undefined && numberStr !=null && numberStr !=''){
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ url:'${ctx}/projectAccessoryRelation/projectAccessoryRelation/getAttachmentCount',
|
|
|
+ data: {"attachmentId":numberStr,"projectId":projectId},
|
|
|
+ dataType: "json",
|
|
|
+ async: false
|
|
|
+ }).success(function (result) {
|
|
|
+ if(result == 0){
|
|
|
+ boolFlag = false;
|
|
|
+ top.layer.msg("请上传其他文件!", {icon: 0});
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }).error(function () {
|
|
|
+ top.layer.msg("文件载入失败!");
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(boolFlag){
|
|
|
+ if(obj == 1){
|
|
|
+ $("#inputForm").attr("action","${ctx}/ruralProject/ruralCostProjectMessage/saveReport");
|
|
|
+ }else{
|
|
|
+ //$("#inputForm").attr("action","${ctx}/projectcontentinfo/projectcontentinfo/save?view=report");
|
|
|
+ $("#inputForm").attr("action","${ctx}/ruralProject/ruralCostProjectMessage/holdSaveReport");
|
|
|
+ }
|
|
|
+ $("#inputForm").submit();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return false;
|
|
@@ -477,7 +557,8 @@
|
|
|
<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>
|
|
|
+ <%--<a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>--%>
|
|
|
+ <a href="javascript:void(0)" onclick="formAttachment('添加类型', '${ctx}/projectAccessoryRelation/projectAccessoryRelation/formAttachment?parentId=11&projectType=2&projectId=${projectRecords.id}','500px','350px',false,'inputForm','file_attachment')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 添加类型</a>
|
|
|
</div>
|
|
|
<div id="addFile_attachment" style="display: none" class="upload-progress">
|
|
|
<span id="fileName_attachment" ></span>
|
|
@@ -495,59 +576,70 @@
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<%-- <th>序号</th>--%>
|
|
|
- <th>文件预览</th>
|
|
|
- <th>上传人</th>
|
|
|
- <th>上传时间</th>
|
|
|
+ <th>电子件名称</th>
|
|
|
+ <th>最大容量(M)</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">
|
|
|
- <c:if test="${workClientAttachment.divIdType eq '_attachment'}">
|
|
|
+ <c:forEach items="${projectcontentinfo.fileAttachmentList}" var = "fileAttachment" 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 style="display:none">${fileAttachment.id}</td>
|
|
|
+ <td style="display:none">${fileAttachment.mustFlag}</td>
|
|
|
+ <td>${fileAttachment.attachName}</td>
|
|
|
+ <td>${fileAttachment.attachLength}</td>
|
|
|
+ <td>${fileAttachment.attachTypes}</td>
|
|
|
+ <td>
|
|
|
+ <c:forEach items="${fileAttachment.workAttachments}" var = "workAttachment" varStatus="status">
|
|
|
+ <a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workAttachment.url}','90%','90%')">${workAttachment.attachmentName} ; </a>
|
|
|
+ </c:forEach>
|
|
|
+ </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>
|
|
|
+ <a href="javascript:void(0)" onclick="openBill2('编辑附件', '${ctx}/projectAccessory/projectAccessory/workAttachmentForm?attachmentId=${fileAttachment.id}&projectId=${projectRecords.id}','70%','80%',false,'inputForm','upTable')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 编辑</a>
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- </c:if>
|
|
|
</c:forEach>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <script type="text/template" id="fileAttachmentTpl">//<!--
|
|
|
+ <tr id="budgetList{{idx}}">
|
|
|
+ <td class="hide">
|
|
|
+ <input id="fileAttachment{{idx}}_id" type="hidden" value="{{row.id}}" class="clientId"/>
|
|
|
+ </td>
|
|
|
+ <td class="hide">
|
|
|
+ 0
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachName}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachLength}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachTypes}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+
|
|
|
+ </td>
|
|
|
+ <td class="op-td">
|
|
|
+ <div class="op-btn-box" >
|
|
|
+ <a href="javascript:void(0)" onclick="openBill2('编辑附件', '${ctx}/projectAccessory/projectAccessory/workAttachmentForm?attachmentId={{row.id}}&projectId=${projectRecords.id}','70%','80%',false,'inputForm','upTable')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 编辑</a>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>//-->
|
|
|
+ </script>
|
|
|
|
|
|
<div class="form-group layui-row">
|
|
|
<div class="form-group-label"><h2>依据性资料</h2></div>
|
|
|
<div class="layui-item nav-btns">
|
|
|
- <a id="gistdata_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>
|
|
|
+ <%--<a id="gistdata_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>--%>
|
|
|
+ <a href="javascript:void(0)" onclick="formAttachment('添加类型', '${ctx}/projectAccessoryRelation/projectAccessoryRelation/formAttachment?parentId=12&projectType=2&projectId=${projectRecords.id}','500px','350px',false,'inputForm','file_gistdata')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 添加类型</a>
|
|
|
</div>
|
|
|
<div id="addFile_gistdata" style="display: none" class="upload-progress">
|
|
|
<span id="fileName_gistdata" ></span>
|
|
@@ -565,59 +657,71 @@
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<%-- <th>序号</th>--%>
|
|
|
- <th>文件预览</th>
|
|
|
- <th>上传人</th>
|
|
|
- <th>上传时间</th>
|
|
|
+ <th>电子件名称</th>
|
|
|
+ <th>最大容量(M)</th>
|
|
|
+ <th>类型限制</th>
|
|
|
+ <th>文件名</th>
|
|
|
<th width="150px">操作</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody id="file_gistdata">
|
|
|
- <c:forEach items="${projectcontentinfo.projectReportData.workAttachments}" var = "workClientAttachment" varStatus="status">
|
|
|
- <c:if test="${workClientAttachment.divIdType eq '_gistdata'}">
|
|
|
+ <c:forEach items="${projectcontentinfo.fileGistdataList}" var = "fileGistdata" 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 style="display:none">${fileGistdata.id}</td>
|
|
|
+ <td style="display:none">${fileGistdata.mustFlag}</td>
|
|
|
+ <td>${fileGistdata.attachName}</td>
|
|
|
+ <td>${fileGistdata.attachLength}</td>
|
|
|
+ <td>${fileGistdata.attachTypes}</td>
|
|
|
+ <td>
|
|
|
+ <c:forEach items="${fileGistdata.workAttachments}" var = "workAttachment" varStatus="status">
|
|
|
+ <a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workAttachment.url}','90%','90%')">${workAttachment.attachmentName} ; </a>
|
|
|
+ </c:forEach>
|
|
|
+ </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','addFileGistdata')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i> 删除</a>
|
|
|
- </c:if>
|
|
|
+ <a href="javascript:void(0)" onclick="openBill2('编辑附件', '${ctx}/projectAccessory/projectAccessory/workAttachmentForm?attachmentId=${fileGistdata.id}&projectId=${projectRecords.id}','70%','80%',false,'inputForm','gistdata_upTable')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 编辑</a>
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- </c:if>
|
|
|
</c:forEach>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <script type="text/template" id="gistdataTpl">//<!--
|
|
|
+ <tr id="budgetList{{idx}}">
|
|
|
+ <td class="hide">
|
|
|
+ <input id="gistdataTpl{{idx}}_id" type="hidden" value="{{row.id}}" class="clientId"/>
|
|
|
+ </td>
|
|
|
+ <td class="hide">
|
|
|
+ 0
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachName}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachLength}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachTypes}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+
|
|
|
+ </td>
|
|
|
+ <td class="op-td">
|
|
|
+ <div class="op-btn-box" >
|
|
|
+ <a href="javascript:void(0)" onclick="openBill2('编辑附件', '${ctx}/projectAccessory/projectAccessory/workAttachmentForm?attachmentId={{row.id}}&projectId=${projectRecords.id}','70%','80%',false,'inputForm','gistdata_upTable')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 编辑</a>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>//-->
|
|
|
+ </script>
|
|
|
|
|
|
<div class="form-group layui-row">
|
|
|
<div class="form-group-label"><h2>其他文件</h2></div>
|
|
|
<div class="layui-item nav-btns">
|
|
|
- <a id="other_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>
|
|
|
+ <%--<a id="other_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>--%>
|
|
|
+ <a href="javascript:void(0)" onclick="formAttachment('添加类型', '${ctx}/projectAccessoryRelation/projectAccessoryRelation/formAttachment?parentId=13&projectType=2&projectId=${projectRecords.id}','500px','350px',false,'inputForm','file_other')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 添加类型</a>
|
|
|
</div>
|
|
|
<div id="addFile_other" style="display: none" class="upload-progress">
|
|
|
<span id="fileName_other" ></span>
|
|
@@ -635,65 +739,355 @@
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<%-- <th>序号</th>--%>
|
|
|
- <th>文件预览</th>
|
|
|
- <th>上传人</th>
|
|
|
- <th>上传时间</th>
|
|
|
+ <th>电子件名称</th>
|
|
|
+ <th>最大容量(M)</th>
|
|
|
+ <th>类型限制</th>
|
|
|
+ <th>文件名</th>
|
|
|
<th width="150px">操作</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody id="file_other">
|
|
|
- <c:forEach items="${projectcontentinfo.projectReportData.workAttachments}" var = "workClientAttachment" varStatus="status">
|
|
|
- <c:if test="${workClientAttachment.divIdType eq '_other'}">
|
|
|
+ <c:forEach items="${projectcontentinfo.fileOtherList}" var = "fileOther" 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 style="display:none">${fileOther.id}</td>
|
|
|
+ <td style="display:none">${fileOther.mustFlag}</td>
|
|
|
+ <td>${fileOther.attachName}</td>
|
|
|
+ <td>${fileOther.attachLength}</td>
|
|
|
+ <td>${fileOther.attachTypes}</td>
|
|
|
+ <td>
|
|
|
+ <c:forEach items="${fileOther.workAttachments}" var = "workAttachment" varStatus="status">
|
|
|
+ <a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workAttachment.url}','90%','90%')">${workAttachment.attachmentName} ; </a>
|
|
|
+ </c:forEach>
|
|
|
+ </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','addFileOther')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i> 删除</a>
|
|
|
- </c:if>
|
|
|
+ <a href="javascript:void(0)" onclick="openBill2('编辑附件', '${ctx}/projectAccessory/projectAccessory/workAttachmentForm?attachmentId=${fileOther.id}&projectId=${projectRecords.id}','70%','80%',false,'inputForm','upTable_other')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 编辑</a>
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- </c:if>
|
|
|
</c:forEach>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <script type="text/template" id="otherTpl">//<!--
|
|
|
+ <tr id="budgetList{{idx}}">
|
|
|
+ <td class="hide">
|
|
|
+ <input id="otherTpl{{idx}}_id" type="hidden" value="{{row.id}}" class="clientId"/>
|
|
|
+ </td>
|
|
|
+ <td class="hide">
|
|
|
+ 0
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachName}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachLength}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.attachTypes}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- <c:if test="${not empty projectcontentinfo.infoId}">
|
|
|
- <div class="pull-right">
|
|
|
- <button id="btnSubmit" class="btn btn-primary btn-rounded btn-outline btn-sm" type="submit" onclick="$('#edit').val('edit')"><i class="fa fa-chevron-up"></i>暂 存</button>
|
|
|
- </div>
|
|
|
- </c:if>
|
|
|
+ </td>
|
|
|
+ <td class="op-td">
|
|
|
+ <div class="op-btn-box" >
|
|
|
+ <a href="javascript:void(0)" onclick="openBill2('编辑附件', '${ctx}/projectAccessory/projectAccessory/workAttachmentForm?attachmentId={{row.id}}&projectId=${projectRecords.id}','70%','80%',false,'inputForm','upTable_other')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 编辑</a>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>//-->
|
|
|
+ </script>
|
|
|
<div class="form-group layui-row page-end"></div>
|
|
|
</form:form>
|
|
|
</div>
|
|
|
</div>
|
|
|
+<script>
|
|
|
+ function openBill2(title,url,width,height,target,formId,tableId){
|
|
|
+ var rows = $(this).parent().prevAll().length + 1;
|
|
|
+ var frameIndex = parent.layer.getFrameIndex(window.name);
|
|
|
+ var urls = url+"&index="+frameIndex;
|
|
|
+ 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:"two-btns",
|
|
|
+ maxmin: false, //开启最大化最小化按钮
|
|
|
+ content: urls ,
|
|
|
+ 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中展示
|
|
|
+ inputForm.attr("action","${ctx}/projectAccessory/projectAccessory/saveWorkAttachment");//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+ var $document = iframeWin.contentWindow.document;
|
|
|
+
|
|
|
+ formSubmit2($document,formId,index,tableId);
|
|
|
+
|
|
|
+ },
|
|
|
+ cancel: function(index){
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ function formSubmit2($document,inputForm,index,tableId){
|
|
|
+
|
|
|
+ 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) {
|
|
|
+ var d = data;
|
|
|
+ //输出提示信息
|
|
|
+ if(d.str.length>0){
|
|
|
+ parent.layer.msg(d.str,{icon:1});
|
|
|
+ }
|
|
|
+ //刷新当前模块
|
|
|
+ $("#"+tableId).load(location.href + " #"+tableId);
|
|
|
+ //关闭当前页
|
|
|
+ top.layer.close(index)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //新增行方法
|
|
|
+ var fileAttachmentTpl = $("#fileAttachmentTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
|
|
|
+ var gistdataTpl = $("#gistdataTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
|
|
|
+ var otherTpl = $("#otherTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
|
|
|
+
|
|
|
+ function formAttachment(title,url,width,height,target,formId,divId){
|
|
|
+ var rows = $(this).parent().prevAll().length + 1;
|
|
|
+ var frameIndex = parent.layer.getFrameIndex(window.name);
|
|
|
+ var urls = url;
|
|
|
+ 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:"two-btns",
|
|
|
+ maxmin: false, //开启最大化最小化按钮
|
|
|
+ content: urls ,
|
|
|
+ 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;
|
|
|
+ inputForm.attr("action","${ctx}/projectTemplate/projectTemplate/getProjectTemplateInfo");//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+ var $document = iframeWin.contentWindow.document;
|
|
|
+ formSubmitAjax($document,formId,index,divId);
|
|
|
+
|
|
|
+ },
|
|
|
+ cancel: function(index){
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ function formSubmitAjax($document,inputForm,index,divId){
|
|
|
+ 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 = ''
|
|
|
+ if(divId == 'file_attachment'){
|
|
|
+ idx = $("#file_attachment tr").length;
|
|
|
+ addRowBaseData("#file_attachment",idx,fileAttachmentTpl,data.body.projectAccessoryInfo);
|
|
|
+ }else if(divId == 'file_gistdata'){
|
|
|
+ idx = $("#file_gistdata tr").length;
|
|
|
+ addRowBaseData("#file_gistdata",idx,gistdataTpl,data.body.projectAccessoryInfo);
|
|
|
+ }else if(divId == 'file_other'){
|
|
|
+ idx = $("#file_other tr").length;
|
|
|
+ addRowBaseData("#file_other",idx,otherTpl,data.body.projectAccessoryInfo);
|
|
|
+ }
|
|
|
+ parent.layer.msg(data.msg,{icon:1});
|
|
|
+ top.layer.close(index)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ function hasInArr(id,idArr) {
|
|
|
+ for(var i=0;i<idArr.length;i++){
|
|
|
+ if(id==$(idArr[i]).val()){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ function existBaseData(id,length) {
|
|
|
+ for (var i=0;i<length;i++) {
|
|
|
+ var val = $('#file_attachment'+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 = '';
|
|
|
+ if(list == 'file_attachment'){
|
|
|
+ idx1 = $("#file_attachment tr").length +1;
|
|
|
+ }else if(list == 'file_gistdata'){
|
|
|
+ idx1 = $("#file_gistdata tr").length +1;
|
|
|
+ }else if(list == 'file_other'){
|
|
|
+ idx1 = $("#file_other 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 currentUser = '${fns:getUser().id}';
|
|
|
+ var contentId = '${projectcontentinfo.projectContentData.id}';
|
|
|
+ console.log(contentId);
|
|
|
+ var condition = "${flag}";
|
|
|
+ $.ajax({
|
|
|
+ type:"post",
|
|
|
+ url:'${ctx}/projectcontentinfo/projectContentData/ajaxdelete',
|
|
|
+ data:{"contentId":contentId,"basedId":id,"condition":condition},
|
|
|
+ dataType:"json",
|
|
|
+ success:function(data){
|
|
|
+ if(data.success) {
|
|
|
+ if("according" == condition || "completion" == condition || "early" == condition || "claim" == condition || "design" == condition || "visa" == condition || "interim" == condition || "distribution" == condition || "material" == condition || "armor" == condition ){
|
|
|
+ $(obj).parent().parent().remove();
|
|
|
+ }else{
|
|
|
+ $(obj).parent().parent().remove();
|
|
|
+ }
|
|
|
+ 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 delBaseData(obj, prefix,userId){
|
|
|
+ var id = $(prefix+"_id").val();
|
|
|
+ var currentUser = '${fns:getUser().id}';
|
|
|
+ var contentId = '${projectcontentinfo.projectContentData.id}';
|
|
|
+ console.log(contentId);
|
|
|
+ var condition = "${flag}";
|
|
|
+ $.ajax({
|
|
|
+ type:"post",
|
|
|
+ url:'${ctx}/projectcontentinfo/projectContentData/ajaxdelete',
|
|
|
+ data:{"contentId":contentId,"basedId":id,"condition":condition},
|
|
|
+ dataType:"json",
|
|
|
+ success:function(data){
|
|
|
+ if(data.success) {
|
|
|
+ if("according" == condition || "completion" == condition || "early" == condition || "claim" == condition || "design" == condition || "visa" == condition || "interim" == condition || "distribution" == condition || "material" == condition || "armor" == condition ){
|
|
|
+ $(obj).parent().parent().parent().remove();
|
|
|
+ }else{
|
|
|
+ $(obj).parent().parent().remove();
|
|
|
+ }
|
|
|
+ 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>
|
|
|
</body>
|
|
|
</html>
|