Преглед изворни кода

办件中心新建流程功能优化

songxy пре 1 година
родитељ
комит
75e6c8fa56

+ 2 - 2
client/src/views/OaSystem/projectCenter/projectBook/deptProject.vue

@@ -47,7 +47,7 @@
       </div>
       <div class="form" style="width: unset">
         <span class="formSpan">合同:</span>
-        <el-radio-group v-model="queryParams.isSign">
+        <el-radio-group v-model="queryParams.isSign" @change="searchHandle">
           <el-radio>全部</el-radio>
           <el-radio label="1">已签订</el-radio>
           <el-radio label="0">未签订</el-radio>
@@ -55,7 +55,7 @@
       </div>
       <div class="form" style="width: unset">
         <span class="formSpan">项目状态:</span>
-        <el-radio-group v-model="queryParams.xmzt">
+        <el-radio-group v-model="queryParams.xmzt" @change="searchHandle">
           <el-radio :label="1">进行中({{ process }})</el-radio>
           <el-radio :label="4">已验收({{ accepted }})</el-radio>
           <el-radio :label="2">已结项({{ finished }})</el-radio>

+ 1 - 0
zjugis-workflow/src/main/resources/templates/HandlerCaseCenter/index.ftl

@@ -43,6 +43,7 @@ javascripts=['/HandlerCaseCenter/js/config.js','/HandlerCaseCenter/js/index.js']
         }
         .handlercasecenter .dialog-pane li {
             margin-left: 60px;
+            vertical-align: top;
         }
         .handlercasecenter .dialog-pane li .title {
             font-weight: bold;

+ 62 - 6
zjugis-workflow/src/main/resources/templates/HandlerCaseCenter/js/index.js

@@ -42,23 +42,79 @@ var windowid;
 			}
 		}
 	}
-	//初始化流程弹框
-	function initProcessDialog(){
 
+    function createProcessByModalId(templateId, modalName) {
+        z.ui.loading(true, true);
         z.ui.ajax({
-            url: window.data.workflowUrl + "/HandlerCaseCenter/getCalBackActivity",
+            url: "/TProcessEngine/add",
             data: {
-                "activityInstanceId": data.activityInsId,
-                "flowInsId": data.flowInsId
+                "templateId": templateId
+            },
+            complete: function () {
+                z.ui.loading(false);
             },
             success: function (res) {
+                //给办件中心发消息
+                z.webcontainer.sendMessageCrossWindow(window.top, "handlerCaseCenter", {
+                    "type": "reload",
+                    "status": "1" // 代办tab
+                });
+                //给首页办件中心发消息
+                z.webcontainer.sendMessageCrossWindow(window.top, "indexModuleList", {
+                    "type": "reload",
+                    "status": "1" // 代办tab
+                });
+                openWebContainerTab("新建办件", modalName, res);
+            }
+        });
+    }
+
+    function openWebContainerTab(title, tip, url) {
+        z.webcontainer.openTab({
+            id: 'workflowMain_' + tip,
+            title: title,
+            tip: tip,
+            url: url,
+            iconclass: 'fa fa-file'
+        });
+    }
+	//初始化流程弹框
+	function initProcessDialog(){
 
+        z.ui.ajax({
+            url: window.data.workflowUrl + "/TFlowTemplateApi/selectFlowTemplateTree",
+            success: function (res) {
+				if(res.data && res.data.length > 0){
+					processItemHtml(res.data[0]['children'])
+				}
 			}
         });
         function processItemHtml(arr){
-
+        	if(arr && arr.length === 0) throw new Error("流程表单Tree不存在!");
+        	var htmlStr = "<ul>";
+        	for(var i = 0; i < arr.length; i++){
+        		var item = arr[i]
+        		htmlStr += `<li><p class="title">${item["name"]}</p>`;
+        		if(item['children'] && item['children'].length > 0){
+        			htmlStr += `<div class="process_list">`;
+        			for(var j = 0; j < item['children'].length; j++){
+        				var cItem = item['children'][j]
+						htmlStr += `<div class="process_item" data-id="${cItem['id']}" data-name="${cItem['name']}">${cItem['name']}</div>`
+					}
+					htmlStr += '</div>';
+				}
+				htmlStr += '</li>'
+			}
+			htmlStr += "</ul>"
+			$("#process-dialog").html(htmlStr);
+        	$(".process_item").click(function(){
+        		var id = $(this).attr("data-id");
+        		var name = $(this).attr("data-name");
+                createProcessByModalId(id, name)
+			})
 		}
 	}
+    initProcessDialog()
 	//绑定事件
 	function bindEvents() {
 		$("[name=flowCatalogBtn]").on({