|
@@ -34,6 +34,21 @@
|
|
|
var detailFlag =0;
|
|
|
function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
|
|
|
if(validateForm.form()){
|
|
|
+
|
|
|
+ var length = document.getElementById("workBaseDataList");
|
|
|
+ var rows = length.rows.length;
|
|
|
+ var idList = [];
|
|
|
+ for (var i=0;i<rows;i++){
|
|
|
+ var chooseCondition = $("#workBaseDataList"+i+"_chooseCondition").val();
|
|
|
+ if(chooseCondition==1){
|
|
|
+ var fileUrl = $("#workBaseDataList"+i+"_fileUrl").val();
|
|
|
+ if(fileUrl == null || fileUrl == ''){
|
|
|
+ layer.msg('请上传依据性资料必填文件', {icon: 5});
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
beforeSubmit();
|
|
|
$("#inputForm").submit();
|
|
|
return true;
|
|
@@ -43,11 +58,14 @@
|
|
|
}
|
|
|
function beforeSubmit() {
|
|
|
var contentDetaStr = '';
|
|
|
- if(null !=encodeURIComponent(genDetailStr()) && '' != encodeURIComponent(genDetailStr())){
|
|
|
- contentDetaStr += encodeURIComponent(genDetailStr());
|
|
|
- }
|
|
|
- if(null !=encodeURIComponent(genSecondDetailStr()) && '' != encodeURIComponent(genSecondDetailStr())){
|
|
|
- contentDetaStr += encodeURIComponent(genSecondDetailStr());
|
|
|
+ var contentTypeId = $("#projectContentDataSign").val();
|
|
|
+ if(contentTypeId !=24){
|
|
|
+ if(null !=encodeURIComponent(genDetailStr()) && '' != encodeURIComponent(genDetailStr())){
|
|
|
+ contentDetaStr += encodeURIComponent(genDetailStr());
|
|
|
+ }
|
|
|
+ if(null !=encodeURIComponent(genSecondDetailStr()) && '' != encodeURIComponent(genSecondDetailStr())){
|
|
|
+ contentDetaStr += encodeURIComponent(genSecondDetailStr());
|
|
|
+ }
|
|
|
}
|
|
|
if(detailFlag==1){
|
|
|
$("#contentDeta").val(contentDetaStr);
|
|
@@ -161,10 +179,62 @@
|
|
|
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate;
|
|
|
return currentdate;
|
|
|
}
|
|
|
+
|
|
|
+ function accordingBtn(obj, prefix,userId){
|
|
|
+ //var id = $(prefix+"_id").val();
|
|
|
+ $(prefix+"_file").click();
|
|
|
+ }
|
|
|
+
|
|
|
+ function insertAccording(tValue,idx,prefix) {
|
|
|
+ var files = $(prefix+"_file")[0].files;
|
|
|
+ for(var i=0;i<files.length;i++) {
|
|
|
+ var file = files[i];
|
|
|
+ var attachmentId = "";
|
|
|
+ var attachmentFlag = "132";
|
|
|
+ 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";
|
|
|
+ multipartUploadWithSts(storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, "0",1,idx,prefix);
|
|
|
+ }
|
|
|
+ $(prefix+"_file").val(123)
|
|
|
+ //var idx1 = $("#workBaseDataList tr").length +1;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
function changeContentDetail(obj) {
|
|
|
- $("#contentDetail").empty();
|
|
|
var val = $(obj).val();
|
|
|
+ var modify = $("#modify").val();
|
|
|
+ if("modify" != modify){
|
|
|
+ $("#workBaseDataList").empty();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/project/projectImplementEarly/projectBasedDataList',
|
|
|
+ data:{
|
|
|
+ "typeId":val
|
|
|
+ },
|
|
|
+ success:function(data){
|
|
|
+ console.log(data);
|
|
|
+ if(data.projectBasedDataList.length > 0){
|
|
|
+ var data = data.projectBasedDataList;
|
|
|
+ for(var i=0;i<data.length;i++){
|
|
|
+ var idArr = $("#workBaseDataList tr:visible .clientId");
|
|
|
+ if(data[i].id!=''&&!hasInArr(data[i].id,idArr)){
|
|
|
+ addRowBaseData("#workBaseDataList",workBaseDataRowIdx,workBaseDataTplFirst,data[i]);
|
|
|
+ workBaseDataRowIdx=workBaseDataRowIdx+1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $("#contentDetail").empty();
|
|
|
contentDetailTypeShow(val);
|
|
|
$("#contentDetailTypeDiv").show();
|
|
|
$("#projectContentDataSign").val(val);
|
|
@@ -475,6 +545,7 @@
|
|
|
<input type="hidden" id="contentDeta" name="projectContentData.contentDetail">
|
|
|
<input type="hidden" id="dataBodyList" name="dataBodyList" value="">
|
|
|
<input type="hidden" id="projectContentDataSign" name="projectContentDataSign" value="">
|
|
|
+ <input type="hidden" id="modify" value="${modify}">
|
|
|
<sys:message content="${message}"/>
|
|
|
<div class="form-group layui-row first lw12">
|
|
|
<div class="form-group-label"><h2>基本信息</h2></div>
|
|
@@ -489,12 +560,27 @@
|
|
|
<form:options items="${fns:getContentTypeByProjectType(projectcontentinfo.type)}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
</c:when>
|
|
|
<c:otherwise>
|
|
|
- <optgroup label="项目实施前期"/>
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${projectcontentinfo.projectContentData.type != null and projectcontentinfo.projectContentData.type !=''}">
|
|
|
+ <optgroup label=${fns:getProjectTypeName(projectcontentinfo.projectContentData.type,'' )}>
|
|
|
+ <form:options items="${fns:getContentTypeByProjectType(projectcontentinfo.type)}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+
|
|
|
+ <optgroup label="项目实施前期"/>
|
|
|
+ <form:options items="${fns:getContentTypeByProjectType('2')}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
+ <optgroup label="项目实施阶段"/>
|
|
|
+ <form:options items="${fns:getContentTypeByProjectType('3')}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
+ <optgroup label="项目竣工阶段"/>
|
|
|
+ <form:options items="${fns:getContentTypeByProjectType('4')}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ <%--<optgroup label="项目实施前期"/>
|
|
|
<form:options items="${fns:getContentTypeByProjectType('2')}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
<optgroup label="项目实施阶段"/>
|
|
|
<form:options items="${fns:getContentTypeByProjectType('3')}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
<optgroup label="项目竣工阶段"/>
|
|
|
- <form:options items="${fns:getContentTypeByProjectType('4')}" itemLabel="typeName" itemValue="typeId"></form:options>
|
|
|
+ <form:options items="${fns:getContentTypeByProjectType('4')}" itemLabel="typeName" itemValue="typeId"></form:options>--%>
|
|
|
</c:otherwise>
|
|
|
</c:choose>
|
|
|
</form:select>
|
|
@@ -559,9 +645,10 @@
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<th class="hide"></th>
|
|
|
- <th >资料编号</th>
|
|
|
+ <%--<th >资料编号</th>--%>
|
|
|
<th >资料名称</th>
|
|
|
<th >资料类别</th>
|
|
|
+ <th >资料内容</th>
|
|
|
<th >上传人</th>
|
|
|
<th >上传日期</th>
|
|
|
<th>操作</th>
|
|
@@ -571,16 +658,53 @@
|
|
|
<c:forEach items="${projectcontentinfo.projectContentData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
|
|
|
<tr>
|
|
|
<td class="hide">
|
|
|
- <input type="hidden" id="workBaseDataList${idx.index}_id" value="${projectBasedData.id}" class="clientId">
|
|
|
+ <input id="workBaseDataList${idx.index}_id" name="projectReportData.projectBasedDataList[${idx.index}].id" type="hidden" value="${projectBasedData.id}" class="clientId">
|
|
|
+ <input id="workBaseDataList${idx.index}_file" type="file" name="projectReportData.projectBasedDataList[${idx.index}].file" multiple="multiple" style="display: none;" onChange="if(this.value)insertAccording(this.value,${idx.index},'#workBaseDataList${idx.index}');"/>
|
|
|
+ <input id="workBaseDataList${idx.index}_number" name="projectReportData.projectBasedDataList[${idx.index}].number" type="hidden" value="${projectBasedData.number}"/>
|
|
|
+ <input id="workBaseDataList${idx.index}_name" name="projectReportData.projectBasedDataList[${idx.index}].name" type="hidden" value="${projectBasedData.name}"/>
|
|
|
+ <input id="workBaseDataList${idx.index}_type" name="projectReportData.projectBasedDataList[${idx.index}].type" type="hidden" value="${projectBasedData.type}"/>
|
|
|
+ <input id="workBaseDataList${idx.index}_flag" name="projectReportData.projectBasedDataList[${idx.index}].flag" type="hidden" value="132"/>
|
|
|
+ <input id="workBaseDataList${idx.index}_chooseCondition" name="projectReportData.projectBasedDataList[${idx.index}].chooseCondition" type="hidden" value="${projectBasedData.chooseCondition}"/>
|
|
|
+
|
|
|
+ <input id="workBaseDataList${idx.index}_fileType" name="projectReportData.projectBasedDataList[${idx.index}].fileType" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList${idx.index}_fileName" name="projectReportData.projectBasedDataList[${idx.index}].fileName" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList${idx.index}_fileUrl" name="projectReportData.projectBasedDataList[${idx.index}].fileUrl" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList${idx.index}_fileAttachmentFlag" name="projectReportData.projectBasedDataList[${idx.index}].fileAttachmentFlag" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList${idx.index}_fileAttachmentId" name="projectReportData.projectBasedDataList[${idx.index}].fileAttachmentId" type="hidden" value=""/>
|
|
|
</td>
|
|
|
- <td style="text-align:center;">
|
|
|
+ <%--<td style="text-align:center;">
|
|
|
${projectBasedData.number}
|
|
|
- </td>
|
|
|
+ </td>--%>
|
|
|
<td style="text-align:center;">
|
|
|
${projectBasedData.name}
|
|
|
</td>
|
|
|
<td style="text-align:center;">
|
|
|
- ${fns:getDictLabel(projectBasedData.type, 'project_document_type', '')}
|
|
|
+
|
|
|
+ ${projectBasedData.type}
|
|
|
+ <%-- ${fns:getDictLabel(projectBasedData.type, 'project_document_type', '')}--%>
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ <div id="workBaseDataList${idx.index}_fileTypeDiv">
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
|
|
|
+ or fn:containsIgnoreCase(projectBasedData.fileName,'png')
|
|
|
+ or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
|
|
|
+ or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
|
|
|
+ or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
|
|
|
+ <img src="${projectBasedData.fileUrl}" width="50" height="50" title ="${projectBasedData.fileName}" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.fileUrl}','90%','90%')" alt="${projectBasedData.fileName}">
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
|
|
|
+ <a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%')">${projectBasedData.fileName}</a>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ </div>
|
|
|
</td>
|
|
|
<td style="text-align:center;">
|
|
|
${projectBasedData.uploadUser.name}
|
|
@@ -590,7 +714,24 @@
|
|
|
</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>
|
|
|
+ <div id="workBaseDataList${idx.index}_operation">
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${ projectBasedData.flag =='according'}">
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${not empty projectBasedData.fileUrl}">
|
|
|
+ <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent(encodeURIComponent('${projectBasedData.fileUrl}'));" class="op-btn op-btn-download"><i class="fa fa-download"></i> 下载</a>
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <a href=javascript:void(0); onclick="accordingBtn(this, '#workBaseDataList${idx.index}','${projectBasedData.uploadUser.id}')" class="op-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <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>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ </div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
</c:forEach>
|
|
@@ -598,24 +739,72 @@
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <script type="text/template" id="workBaseDataTpl">//<!--
|
|
|
+ <script type="text/template" id="workBaseDataTplFirst">//<!--
|
|
|
<tr id="budgetList{{idx}}">
|
|
|
<td class="hide">
|
|
|
+ <input id="workBaseDataList{{idx}}_file" type="file" name="projectContentData.projectBasedDataList[{{idx}}].file" multiple="multiple" style="display: none;" onChange="if(this.value)insertAccording(this.value,{{idx}},'#workBaseDataList{{idx}}');"/>
|
|
|
+ <input id="workBaseDataList{{idx}}_flag" name="projectContentData.projectBasedDataList[{{idx}}].flag" type="hidden" value="132"/>
|
|
|
+ <input id="workBaseDataList{{idx}}_chooseCondition" name="projectContentData.projectBasedDataList[{{idx}}].chooseCondition" type="hidden" value="{{row.chooseCondition}}"/>
|
|
|
+
|
|
|
<input id="workBaseDataList{{idx}}_id" name="projectContentData.projectBasedDataList[{{idx}}].id" type="hidden" value="{{row.id}}" class="clientId"/>
|
|
|
<input id="workBaseDataList{{idx}}_number" name="projectContentData.projectBasedDataList[{{idx}}].number" type="hidden" value="{{row.number}}"/>
|
|
|
<input id="workBaseDataList{{idx}}_name" name="projectContentData.projectBasedDataList[{{idx}}].name" type="hidden" value="{{row.name}}"/>
|
|
|
<input id="workBaseDataList{{idx}}_type" name="projectContentData.projectBasedDataList[{{idx}}].type" type="hidden" value="{{row.type}}"/>
|
|
|
+
|
|
|
+ <input id="workBaseDataList{{idx}}_fileType" name="projectContentData.projectBasedDataList[{{idx}}].fileType" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList{{idx}}_fileName" name="projectContentData.projectBasedDataList[{{idx}}].fileName" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList{{idx}}_fileUrl" name="projectContentData.projectBasedDataList[{{idx}}].fileUrl" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList{{idx}}_fileAttachmentFlag" name="projectContentData.projectBasedDataList[{{idx}}].fileAttachmentFlag" type="hidden" value=""/>
|
|
|
+ <input id="workBaseDataList{{idx}}}_fileAttachmentId" name="projectContentData.projectBasedDataList[{{idx}}].fileAttachmentId" type="hidden" value=""/>
|
|
|
</td>
|
|
|
- <td style="text-align:center;">
|
|
|
+ <%--<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;">
|
|
|
+ <div id="workBaseDataList{{idx}}_fileTypeDiv">
|
|
|
+ </div>
|
|
|
</td>
|
|
|
<td style="text-align:center;">
|
|
|
+ {{row.uploadUser.name}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
+ {{row.uploadDate}}
|
|
|
+ </td>
|
|
|
+ <td class="text-center op-td">
|
|
|
+ <div id="workBaseDataList{{idx}}_operation">
|
|
|
+ <a href=javascript:void(0); onclick="accordingBtn(this, '#workBaseDataList{{idx}}','{{row.uploadUser.id}}')" class="op-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>//-->
|
|
|
+ </script>
|
|
|
+ <script type="text/template" id="workBaseDataTpl">//<!--
|
|
|
+ <tr id="budgetList{{idx}}">
|
|
|
+ <td class="hide">
|
|
|
+ <input id="workBaseDataList{{idx}}_id" name="projectContentData.projectBasedDataList[{{idx}}].id" type="hidden" value="{{row.id}}" class="clientId"/>
|
|
|
+ <input id="workBaseDataList{{idx}}_number" name="projectContentData.projectBasedDataList[{{idx}}].number" type="hidden" value="{{row.number}}"/>
|
|
|
+ <input id="workBaseDataList{{idx}}_name" name="projectContentData.projectBasedDataList[{{idx}}].name" type="hidden" value="{{row.name}}"/>
|
|
|
+ <input id="workBaseDataList{{idx}}_type" name="projectContentData.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;">
|
|
|
+ <div id="workBaseDataList{{idx}}_fileTypeDiv">
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td style="text-align:center;">
|
|
|
{{row.uploadUser.name}}
|
|
|
</td>
|
|
|
<td style="text-align:center;">
|
|
@@ -628,6 +817,7 @@
|
|
|
</script>
|
|
|
<script type="text/javascript">
|
|
|
var workBaseDataTpl = $("#workBaseDataTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
|
|
|
+ var workBaseDataTplFirst = $("#workBaseDataTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
|
|
|
var workBaseDataRowIdx = ${fn:length(projectcontentinfo.projectReportData.projectBasedDataList)};
|
|
|
function setValuee(obj){
|
|
|
for(var i=0;i<obj.length;i++){
|