ソースを参照

工作内容信息中添加选择内容选项

user5 5 年 前
コミット
ef50aa6e91

+ 7 - 2
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectcontentinfoService.java

@@ -1361,8 +1361,13 @@ public class ProjectcontentinfoService extends CrudService<ProjectcontentinfoDao
 		return filename;
 	}
 
-	public List<MainDictDetail> getAchievementTypeList(String achievementParentId){
-		String type = "achievement_type";
+	public List<MainDictDetail> getAchievementTypeList(String achievementParentId,Integer judgeType){
+		String type = "";
+		if (1 == judgeType){
+			type = "achievement_type";
+		}else if (2 == judgeType){
+			type = "supporting_document_data_type";
+		}
 		List<MainDictDetail> dictList=new ArrayList<>();
 		String comId=UserUtils.getSelectCompany().getId();
 		String branchId=UserUtils.getSelectBranchOffice();

+ 63 - 2
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectcontentinfoController.java

@@ -1451,10 +1451,10 @@ public class ProjectcontentinfoController extends BaseController {
 	 */
 	@RequestMapping("getAchievementTypeList")
 	@ResponseBody
-	public AjaxJson getAchievementTypeList(String achievementParentId){
+	public AjaxJson getAchievementTypeList(String achievementParentId,Integer type){
 		AjaxJson ajaxJson = new AjaxJson();
 		try {
-			List<MainDictDetail> getAchievementTypeList = projectcontentinfoService.getAchievementTypeList(achievementParentId);
+			List<MainDictDetail> getAchievementTypeList = projectcontentinfoService.getAchievementTypeList(achievementParentId,type);
 			ajaxJson.getBody().put("list",getAchievementTypeList);
 			ajaxJson.setMsg("获取数据成功");
 		}catch (Exception e){
@@ -1466,6 +1466,67 @@ public class ProjectcontentinfoController extends BaseController {
 	}
 
 	/**
+	 * 根据工作内容查询成果类型
+	 * @param achievementParentId
+	 * @return
+	 */
+	@RequestMapping("getAchievementTypeList2")
+	@ResponseBody
+	public AjaxJson getAchievementTypeList2(String achievementParentId,Integer type){
+		AjaxJson ajaxJson = new AjaxJson();
+		try {
+			List<MainDictDetail> getAchievementTypeList = projectcontentinfoService.getAchievementTypeList(achievementParentId,type);
+			List<Map<String,Object>> mapList= new ArrayList<>();
+			for (int i =0; i<getAchievementTypeList.size(); i++){
+				Map<String,Object> map = new HashMap<>();
+				map.put("name",getAchievementTypeList.get(i).getLabel());
+				map.put("value",getAchievementTypeList.get(i).getValue());
+				/*Map<String,Object> maps = new HashMap<>();
+				maps.put("level",0);
+				maps.put("loading",null);
+				maps.put("parent",null);
+				map.put("_node",maps);
+				String mapToString = getMapToString(map);*/
+				mapList.add(map);
+			}
+			ajaxJson.getBody().put("list",mapList);
+			ajaxJson.setMsg("获取数据成功");
+		}catch (Exception e){
+			logger.error("获取数据异常!",e);
+			ajaxJson.setSuccess(false);
+			ajaxJson.setMsg("获取数据异常");
+		}
+		return ajaxJson;
+	}
+
+	/**
+	 * Map转String
+	 * @param map
+	 * @return
+	 */
+	public static String getMapToString(Map<String,Object> map){
+		Set<String> keySet = map.keySet();
+		//将set集合转换为数组
+		String[] keyArray = keySet.toArray(new String[keySet.size()]);
+		//给数组排序(升序)
+		Arrays.sort(keyArray);
+		//因为String拼接效率会很低的,所以转用StringBuilder
+		StringBuilder sb = new StringBuilder();
+		for (int i = 0; i < keyArray.length; i++) {
+			// 参数值为空,则不参与签名 这个方法trim()是去空格
+			if ((String.valueOf(map.get(keyArray[i]))).trim().length() > 0) {
+				sb.append(keyArray[i]).append(":").append(String.valueOf(map.get(keyArray[i])).trim());
+			}
+			if(i != keyArray.length-1){
+				sb.append(",");
+			}
+		}
+		return sb.toString();
+	}
+
+
+
+	/**
 	 * 根据成果类型查询复核条件
 	 * @param reviewStandardParentId
 	 * @return

ファイルの差分が大きいため隠しています
+ 2346 - 0
src/main/webapp/static/layer-v2.3/layui/xmSelect.js


+ 2 - 2
src/main/webapp/webpage/modules/projectcontentinfo/reportChange.jsp

@@ -65,7 +65,7 @@
                 $.ajax({
                     type:"post",
                     url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList',
-                    data:{"achievementParentId":achievementParentId},
+                    data:{"achievementParentId":achievementParentId,type:1},
                     dataType:"json",
                     success:function(data){
                         if(data.success) {
@@ -963,7 +963,7 @@
             $.ajax({
                 type:"post",
                 url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList',
-                data:{"achievementParentId":achievementParentId},
+                data:{"achievementParentId":achievementParentId,type:1},
                 dataType:"json",
                 success:function(data){
                     if(data.success) {

+ 2 - 2
src/main/webapp/webpage/modules/projectcontentinfo/reportForm.jsp

@@ -71,7 +71,7 @@
             $.ajax({
                 type:"post",
                 url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList',
-                data:{"achievementParentId":achievementParentId},
+                data:{"achievementParentId":achievementParentId,type:1},
                 dataType:"json",
                 success:function(data){
                     if(data.success) {
@@ -1006,7 +1006,7 @@
             $.ajax({
                 type:"post",
                 url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList',
-                data:{"achievementParentId":achievementParentId},
+                data:{"achievementParentId":achievementParentId,type:1},
                 dataType:"json",
                 success:function(data){
                     if(data.success) {

+ 52 - 0
src/main/webapp/webpage/modules/projectcontentinfo/workContentForm.jsp

@@ -4,6 +4,7 @@
 <head>
 	<title>工作内容详情管理</title>
 	<meta name="decorator" content="default"/>
+    <script src="${ctxStatic}/layer-v2.3/layui/xmSelect.js" charset="utf-8"></script>
     <style>
         #projectContentDataType-error{
             left:0;
@@ -172,6 +173,8 @@
                 case '22':
                 case '25':
                     $("#contentDetail").load("${ctx}/workcontentinvestmentcost/workContentInvestmentCost/list",param2);
+                    $("#contentDetailTypeDiv").show();
+                    contentDetailTypeShow(val);
                     break;
                 case '31':
                     $("#contentDetail").load("${ctx}/workcontent/workContentContprogram/form",param2);
@@ -454,6 +457,7 @@
             <form:hidden path="project.id"/>
             <form:hidden path="projectContentData.id"/>
             <input type="hidden" id="contentDeta" name="projectContentData.contentDetail">
+            <input type="hidden" id="dataBodyList" name="dataBodyList" value="">
             <sys:message content="${message}"/>
             <div class="form-group layui-row first lw12">
                 <div class="form-group-label"><h2>基本信息</h2></div>
@@ -511,6 +515,13 @@
                                value="<fmt:formatDate value="${projectcontentinfo.projectContentData.createDate}" pattern="yyyy-MM-dd"/>"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6" id="contentDetailTypeDiv" style="display: none">
+                    <label class="layui-form-label"><span class="require-item">*</span>选择类型:</label>
+                    <div class="layui-input-block">
+                        <div id="contentDetailType" <%--onchange="this"--%> class="xm-select-demo" tabindex="0" contenteditable="true"></div>
+
+                    </div>
+                </div>
             </div>
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>内容详情</h2></div>
@@ -849,5 +860,46 @@
         </form:form>
     </div>
 </div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+    function contentDetailTypeShow(obj) {
+        $.ajax({
+            type:'post',
+            url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList2',
+            data:{
+                "achievementParentId":obj,
+                "type":2
+            },
+            success:function(data){
+                if(data.success) {
+                    xmSelect.render({
+                        el: '#contentDetailType',
+                        language: 'zn',
+                        data:data.body.list
+                    })
+                    $("#dataBodyList").val(data.body.list);
+                }
+            }
+        })
+    }
+
+    var contentDetailType = xmSelect.render({
+        el: '#contentDetailType',
+        language: 'zn',
+        data: [
+        ]
+    })
+
+
+    document.getElementById('contentDetailType').onblur=function(){
+        var list = [];
+        //获取当前多选选中的值
+        var selectArr = contentDetailType.getValue();
+        for (var i in selectArr){
+            list.push(selectArr[i].value);
+        }
+        console.log(list);
+    }
+</script>
 </body>
 </html>

+ 3 - 3
src/main/webapp/webpage/modules/sys/mainDictDetailForm.jsp

@@ -18,7 +18,7 @@
                 return false;
             }
 
-			if("achievement_type" == $("#typeName").val()){
+			if("achievement_type" == $("#typeName").val() || "supporting_document_data_type" == $("#typeName").val()){
                 var achievementParentId=$("#achievementParentId").val();
                 if(achievementParentId==null||achievementParentId==""){
                     top.layer.msg('工作内容类型不能为空!', {icon: 0});
@@ -68,7 +68,7 @@
         var validateForm;
 		$(document).ready(function() {
             var achievementParentIdDiv = $("#typeName").val();
-            if("achievement_type" == achievementParentIdDiv){
+            if("achievement_type" == achievementParentIdDiv || "supporting_document_data_type" == achievementParentIdDiv){
                 $("#achievementParentIdDiv").show();
             }else{
                 $("#achievementParentIdDiv").hide();
@@ -111,7 +111,7 @@
 
             $("#typeName").blur(function(){
                 var typeName = $(this).val();
-                if("achievement_type" == typeName){
+				if("achievement_type" == typeName || "supporting_document_data_type" == typeName){
                     $("#achievementParentIdDiv").show();
                 }else{
                     $("#achievementParentIdDiv").hide();