浏览代码

修改采集模块界面展示问题

user5 5 年之前
父节点
当前提交
20b1dc80ba

+ 2 - 0
src/main/java/com/jeeplus/modules/workmaterialcollect/dao/WorkMaterialCollectTypeDao.java

@@ -24,4 +24,6 @@ public interface WorkMaterialCollectTypeDao extends CrudDao<WorkMaterialCollectT
 
     //根据id修改状态
     public void updateStatusId(String id);
+
+    public void deleteWorkInformationCollectType(String id);
 }

+ 4 - 2
src/main/java/com/jeeplus/modules/workmaterialcollect/service/WorkMaterialCollectEngineerService.java

@@ -4,8 +4,6 @@ import com.jeeplus.common.service.CrudService;
 import com.jeeplus.modules.sys.dao.WorkattachmentDao;
 import com.jeeplus.modules.sys.entity.Workattachment;
 import com.jeeplus.modules.sys.utils.UserUtils;
-import com.jeeplus.modules.workclientinfo.dao.WorkClientAttachmentDao;
-import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workmaterialcollect.dao.WorkMaterialCollectEngineerDao;
 import com.jeeplus.modules.workmaterialcollect.dao.WorkMaterialCollectTotalDao;
 import com.jeeplus.modules.workmaterialcollect.dao.WorkMaterialCollectTypeDao;
@@ -219,4 +217,8 @@ public class WorkMaterialCollectEngineerService extends CrudService<WorkMaterial
         workMaterialCollectTypeDao.deleteEngId(workEngineer.getId());
 
     }
+
+    public void deleteWorkInformationCollectType(String id){
+        workMaterialCollectTypeDao.deleteWorkInformationCollectType(id);
+    }
 }

+ 23 - 1
src/main/java/com/jeeplus/modules/workmaterialcollect/web/WorkMaterialCollectEngineerController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.modules.workmaterialcollect.web;
 
+import com.google.common.collect.Maps;
 import com.jeeplus.common.config.Global;
 import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.utils.StringUtils;
@@ -9,7 +10,6 @@ import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.entity.Workattachment;
 import com.jeeplus.modules.sys.service.WorkattachmentService;
 import com.jeeplus.modules.sys.utils.UserUtils;
-import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workmaterialcollect.entity.WorkMaterialCollectEngineer;
 import com.jeeplus.modules.workmaterialcollect.entity.WorkMaterialCollectType;
 import com.jeeplus.modules.workmaterialcollect.service.WorkMaterialCollectEngineerService;
@@ -22,10 +22,12 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -158,4 +160,24 @@ public class WorkMaterialCollectEngineerController extends BaseController {
         }
         return "redirect:"+ Global.getAdminPath()+"/workMaterialCollect/engineer/?repage";
     }
+
+    /**
+     *  单个删除阿里云上的文件,同时更新相关对象的附件信息
+     *  阿里云文件地址http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/attachment-file/workBidingDocument/3fcf03e37b3ba0fd5c7821998e392395.doc
+     *  其中阿里云删除接口所需的参数 key 指的是 attachment-file/workBidingDocument/3fcf03e37b3ba0fd5c7821998e392395.doc
+     * @return
+     */
+    @RequestMapping("/deleteFileFromAliyun")
+    @ResponseBody
+    public HashMap<Object, Object> deleteFileFromAliyun(String id, String type, String url, Model model){
+        if(StringUtils.isNotBlank(id)) {
+            workMaterialCollectEngineerService.deleteWorkInformationCollectType(id);
+            Workattachment workattachment = workattachmentService.get(id);
+            workattachmentService.deleteFileFromAliyun(workattachment, workattachment == null ? url : workattachment.getUrl());
+
+        }
+        HashMap<Object, Object> map = Maps.newHashMap();
+        map.put("str","success");
+        return map;
+    }
 }

+ 5 - 0
src/main/resources/mappings/modules/workmaterialcollect/WorkMaterialCollectTypeDao.xml

@@ -168,6 +168,11 @@
 		DELETE FROM work_material_collect_type
 		WHERE engineerId = #{id}
 	</delete>
+
+	<delete id="deleteWorkInformationCollectType">
+		DELETE FROM work_material_collect_type
+		WHERE id = #{id}
+	</delete>
 	
 	<!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
 	<select id="findUniqueByProperty" resultType="com.jeeplus.modules.workmaterialcollect.entity.WorkMaterialCollectType" statementType="STATEMENT">

+ 75 - 29
src/main/webapp/webpage/modules/workmaterialcollect/workMaterialCollectEngineerForm.jsp

@@ -58,10 +58,10 @@
                 type : 'date'
             });
 
-            checkContentKeyUp('collarFor',255);
+            /*checkContentKeyUp('collarFor',255);
             if($("#collarDate").val()==null || $("#collarDate").val()==''){
                 $("#collarDate").val(getNowFormatDate());
-            }
+            }*/
         });
         function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             // var idArr = $("#workItemCollarCatalogList tr:visible");
@@ -103,10 +103,10 @@
         }
 
         function addRow(list, idx, tpl, row){
-            var idx1 = $("#workItemCollarCatalogList tr").length;
+            //var idx1 = $("#workMaterialCollectEngineer tr").length;
             //tpl = tpl.replace("workMonthlyPlanThisList[0]_workClientInfoId","workMonthlyPlanThisList["+idx1+"].workClientInfoId");
 
-            bornTemplete(list, idx, tpl, row, idx1);
+            bornTemplete(list, idx, tpl, row, idx);
         }
         function bornTemplete(list, idx, tpl, row, idx1){
             $(list).append(Mustache.render(tpl, {
@@ -160,17 +160,40 @@
             }
 
         }
+
+
+
         function setCatalogInfo(data){
+            var successRows = 0;
+            ss = $("#workMaterialCollectEngineer tr").length;
+
             for(var i=0;i<data.length;i++){
-                // var idArr = $("#workMaterialCollectEngineer tr:visible .workCatalogueItemId");
-                addRow('#workMaterialCollectEngineer', workItemCollarCatalogListRowIdx, workItemCollarCatalogListTpl);
-                workItemCollarCatalogListRowIdx = workItemCollarCatalogListRowIdx + 1;
-                var row = workItemCollarCatalogListRowIdx - 1 ;
-                // $("#"+"workMaterialCollectTypes"+row+"_workCatalogueItemid").val(data[i].id);
-                $("#"+"workMaterialCollectTypes"+row+"_1").val(data[i].projectType);
-                $("#"+"workMaterialCollectTypes"+row+"_2").val(data[i].projectPart);
-                $("#"+"workMaterialCollectTypes"+row+"_3").val(data[i].attachmentName);
-                $("#"+"workMaterialCollectTypes"+row+"_4").val(data[i].url);
+                //没有重复的数据名称,就可以插入
+                var canInsert = true;
+                /*for (var j = 0; j < ss; j++) {
+                    var cid = $("#workMaterialCollectTypes" + j + "_3").val();
+                    if(cid == data[i].name){
+                        canInsert = false;
+                        break;
+                    }
+                }*/
+                if(canInsert==true){
+					var xml = "<a class=\"attention-info\" style=\"text-align: center\" href=\"javascript:void(0)\" onclick=\"preview('预览','"+data[i].url+"','90%','90%')\">"+data[i].attachmentName+"</a>"
+					var delXml="<a href=\"javascript:void(0)\" onclick=\"deleteFileFromAliyun(this,'${ctx}/workMaterialCollect/engineer/deleteFileFromAliyun?url="+data[i].url+"&id=null&type=2','addFile')\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i>&nbsp;删除</a>"
+					// var idArr = $("#workMaterialCollectEngineer tr:visible .workCatalogueItemId");
+                    workItemCollarCatalogListRowIdx = ss;
+					addRow('#workMaterialCollectEngineer', workItemCollarCatalogListRowIdx, workItemCollarCatalogListTpl,data[i]);
+
+					workItemCollarCatalogListRowIdx = workItemCollarCatalogListRowIdx + 1;
+					var row = workItemCollarCatalogListRowIdx - 1 ;
+					// $("#"+"workMaterialCollectTypes"+row+"_workCatalogueItemid").val(data[i].id);
+					$("#"+"workMaterialCollectTypes"+row+"_1").val(data[i].projectType);
+					$("#"+"workMaterialCollectTypes"+row+"_2").val(data[i].projectPart);
+					//$("#"+"workMaterialCollectTypes"+row+"_3").val(data[i].attachmentName);
+					$("#"+"workMaterialCollectTypes"+row+"_3").html(xml);
+					$("#"+"workMaterialCollectTypes"+row+"_4").html(delXml);
+					// $("#"+"workMaterialCollectTypes"+row+"_4").val(data[i].url);
+                }
 			}
         }
         function hasInArr(id,idArr) {
@@ -282,8 +305,27 @@
 									<td>
 										<input id="workMaterialCollectTypes${index.index}_2"  readonly="true"   name="workMaterialCollectTypes[${index.index}].projectPart" type="text" value="${workMaterialCollectType.projectPart}"   class="form-control "/>
 									</td>
-									<td>
-										<input id="workMaterialCollectTypes${index.index}_3" readonly="true" name="workMaterialCollectTypes[${index.index}].workattachment.attachmentName" value="${workMaterialCollectType.workattachment.attachmentName}" class="form-control "/>
+									<td id="workMaterialCollectTypes${index.index}_3" >
+										<c:choose>
+											<c:when test="${fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'jpg')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'png')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'gif')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'bmp')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'jpeg')}">
+												<img src="${workMaterialCollectType.workattachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workMaterialCollectType.workattachment.url}','90%','90%')" alt="${workMaterialCollectType.workattachment.attachmentName}">
+											</c:when>
+											<c:otherwise>
+												<c:choose>
+													<c:when test="${fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'pdf')}">
+														<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workMaterialCollectType.workattachment.url}','90%','90%','1')">${workMaterialCollectType.workattachment.attachmentName}</a>
+													</c:when>
+													<c:otherwise>
+														<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workMaterialCollectType.workattachment.url}','90%','90%')">${workMaterialCollectType.workattachment.attachmentName}</a>
+													</c:otherwise>
+												</c:choose>
+											</c:otherwise>
+										</c:choose>
+										<%--<input id="workMaterialCollectTypes${index.index}_3" readonly="true" name="workMaterialCollectTypes[${index.index}].workattachment.attachmentName" value="${workMaterialCollectType.workattachment.attachmentName}" class="form-control "/>--%>
 									</td>
 										<%--<c:choose>--%>
 											<%--<c:when test="${fn:containsIgnoreCase(workMaterialCollectType.workClientAttachment.attachmentName,'jpg')--%>
@@ -304,11 +346,11 @@
 												<%--</c:choose>--%>
 											<%--</c:otherwise>--%>
 										<%--</c:choose>--%>
-										<td class="hide">
-											<input id="workMaterialCollectTypes${index.index}_4" readonly="true" name="workMaterialCollectTypes[${index.index}].workattachment.url" value="${workMaterialCollectType.workattachment.url}" class="form-control "/>
-										</td>
-									<td class="text-center op-td" >
-										<span class="op-btn op-btn-delete" id="workMaterialCollectTypes${index.index}_span" onclick="delRow(this, '#workItemCollarCatalogList${index.index}','${workMaterialCollectType.workattachment.url}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>
+									<td class="text-center op-td" id="workMaterialCollectTypes${index.index}_4">
+										<a href="javascript:void(0)"
+										   onclick="deleteFileFromAliyun(this,'${ctx}/workMaterialCollect/engineer/deleteFileFromAliyun?url=${workMaterialCollectType.workattachment.url}&id=${workMaterialCollectType.workattachment.id}&type=2','addFile')"
+										   class="op-btn op-btn-delete"><i class="fa fa-trash"></i>&nbsp;删除</a>
+
 									</td>
 								</tr>
 							</c:forEach>
@@ -323,23 +365,27 @@
                                         <td>
                                             <input id="workMaterialCollectTypes{{idx}}_2"  name="workMaterialCollectTypes[{{idx}}].projectPart" type="text" value="{{row.workMaterialCollectType.projectPart}}"   readonly="true"  class="form-control "/>
                                         </td>
-                                        <td>
-											<input id="workMaterialCollectTypes{{idx}}_3" name="workMaterialCollectTypes[{{idx}}].workattachment.attachmentName" type="text" value="{{row.workMaterialCollectType.workattachment.attachmentName}}"   readonly="true"  class="form-control "/>
-										</td>
-                                        <td class="hide">
-											<input id="workMaterialCollectTypes{{idx}}_4" name="workMaterialCollectTypes[{{idx}}].workattachment.url" type="text" value="{{row.workMaterialCollectType.workattachment.url}}"   readonly="true"  class="form-control "/>
+                                        <td id="workMaterialCollectTypes{{idx}}_3">
 										</td>
-                                        <td class="text-center op-td" >
-                                            {{#delBtn}}<span class="op-btn op-btn-delete" id="workMaterialCollectTypes{{idx}}_span" onclick="delRow(this, '#workItemCollarCatalogList{{idx}}','{{row.workMaterialCollectType.workattachment.url}}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>{{/delBtn}}
+                                        <td id="workMaterialCollectTypes{{idx}}_4" class="text-center op-td" >
                                         </td>
                                     </tr>//-->
 					</script>
 					<script type="text/javascript">
-                        var workItemCollarCatalogListRowIdx = ${fn:length(workItemCollar.workItemCollarCatalogList)}, workItemCollarCatalogListTpl = $("#workItemCollarCatalogListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                        var workItemCollarCatalogListRowIdx = 0,
+                            workItemCollarCatalogListTpl = $("#workItemCollarCatalogListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+                        //var workItemCollarCatalogListRowIdx = ${fn:length(workItemCollar.workItemCollarCatalogList)}, workItemCollarCatalogListTpl = $("#workItemCollarCatalogListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
                         if($("#id").val()){
                             workItemCollarCatalogListIdx = ${fn:length(workItemCollar.workItemCollarCatalogList)};
                         }
-                        $(document).ready(function() {
+                        $(document).ready(function () {
+                            var data = ${fns:toJson(workItemCollar.workItemCollarCatalogList)};
+                            if(data!=null && data.length() > 0){
+								for (var i = 0; i < data.length; i++) {
+									addRow('#workMaterialCollectEngineer', workClientLinkmanRowIdx, workMaterialCoworkItemCollarCatalogListTplllectEngineer, data[i]);
+									workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+								}
+                            }
                         });
 					</script>
 				</div>

+ 27 - 3
src/main/webapp/webpage/modules/workmaterialcollect/workMaterialCollectEngineerSureForm.jsp

@@ -179,9 +179,33 @@
 									<td>
 										<input id="workMaterialCollectTypes${index.index}_2" readonly="true"   name="workMaterialCollectTypes[${index.index}].projectPart" type="text" value="${workMaterialCollectType.projectPart}"   class="form-control "/>
 									</td>
-										<td>
-											<input id="workMaterialCollectTypes${index.index}_3" readonly="true" name="workMaterialCollectTypes[${index.index}].workattachment.attachmentName" value="${workMaterialCollectType.workattachment.attachmentName}" class="form-control "/>
-										</td>
+									<td>
+
+										<c:choose>
+											<c:when test="${fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'jpg')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'png')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'gif')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'bmp')
+															   or fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'jpeg')}">
+												<img src="${workMaterialCollectType.workattachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workMaterialCollectType.workattachment.url}','90%','90%')" alt="${workMaterialCollectType.workattachment.attachmentName}">
+											</c:when>
+											<c:otherwise>
+											<c:choose>
+											<c:when test="${fn:containsIgnoreCase(workMaterialCollectType.workattachment.attachmentName,'pdf')}">
+											<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workMaterialCollectType.workattachment.url}','90%','90%','1')">${workMaterialCollectType.workattachment.attachmentName}</a>
+											</c:when>
+											<c:otherwise>
+												<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workMaterialCollectType.workattachment.url}','90%','90%')">${workMaterialCollectType.workattachment.attachmentName}</a>
+											</c:otherwise>
+											</c:choose>
+											</c:otherwise>
+										</c:choose>
+
+
+										<%--<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${ctx}/sys/picturepreview/picturePreview?url=${workMaterialCollectType.workattachment.url}','90%','90%','1')">${workMaterialCollectType.workattachment.attachmentName}</a>--%>
+										<%--<a class="attention-info" href="javascript:void(0)" onclick="openDialogView('查看已上传的材料价格确认单', '${ctx}/workMaterialCollect/engineerSure/sureTotalView?projectTypeId=${workMaterialCollectType.id}','80%','80%')"><span title="${workMaterialCollectType.workattachment.attachmentName}">${workMaterialCollectType.workattachment.attachmentName}</span></a>--%>
+										<%--<input id="workMaterialCollectTypes${index.index}_3" readonly="true" name="workMaterialCollectTypes[${index.index}].workattachment.attachmentName" value="${workMaterialCollectType.workattachment.attachmentName}" class="form-control "/>--%>
+									</td>
 										<td>
 											<input id="workMaterialCollectTypes${index.index}_4" readonly="true" name="workMaterialCollectTypes[${index.index}].status" value="${workMaterialCollectType.status}" class="form-control "/>
 										</td>