| 
					
				 | 
			
			
				@@ -7,6 +7,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         class="demo-form-inline" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-col :span="4"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-form-item label="工单号"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input v-model="queryparameters.taskCode" placeholder="请输入工单号"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-col :span="6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-form-item label="任务时间"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-date-picker 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,6 +31,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 class="m-1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 placeholder="请选择" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-option label="全部" value="0" ></el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   v-for="item in task_status" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   :label="item.label" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -65,9 +71,20 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-col :span="4"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-form-item label="班组区域"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-tree-select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="queryparameters.taskDeptRange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :data="treedept" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                check-strictly="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-col :span="4"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-form-item label="关键字"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-input v-model="queryparameters.searchkey" placeholder="道路名或任务内容"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input v-model="queryparameters.searchkey" placeholder="道路名/任务内容/地址"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,6 +99,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-button type="primary" @click="reset()">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <el-button type="success" @click="addtask" v-if="route.params.status==1">新增工单</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -124,7 +144,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-table-column prop="taskAddrRoad" label="道路名" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          <el-table-column prop="taskContent" label="任务内容" />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-table-column prop="taskContent" label="任务内容" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-table-column prop="createTime" label="来件时间" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            <el-table-column prop="taskTime" label="剩余时间" v-if="currentstatus!=6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <template #default="scope"><div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -225,6 +245,7 @@ import { cloneDeep } from "lodash"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { isArray } from "@vue/shared"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useRoute } from "vue-router"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import moment from "moment"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { treeselect as deptTreeselect } from "@/api/system/dept"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formlocation = ref({ addr: "", locations: "" }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -242,9 +263,11 @@ const { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "sys_area" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const queryparameters = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  status: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  status: "0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  taskCode:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   taskArea: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   taskType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  taskDeptRange:[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   searchkey:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   pageSize: 10, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -285,6 +308,17 @@ const taskaddref = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const route = useRoute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const currentstatus = computed(() => route.params.status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const reset=()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queryparameters.value = {status: "0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    taskCode:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    taskArea: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    taskType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    taskDeptRange:[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    searchkey:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageSize: 10,}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const addtask = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   showadd.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   taskinfo.value = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -343,21 +377,27 @@ const ontaskadd = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getList = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (currentstatus.value != '1' && queryparameters.value.status==="") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (currentstatus.value != '1' && currentstatus.value != 1 && queryparameters.value.status==="") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (currentstatus.value == '2') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       queryparameters.value.status = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       queryparameters.value.status = currentstatus.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    delete queryparameters.value.status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      // queryparameters.value.status = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- var query =  proxy.addDateRange(queryparameters.value, qdate.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var cq = cloneDeep(queryparameters.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ var query =  proxy.addDateRange(cq, qdate.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if(query.status=="0"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    delete query.status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (query.searchkey!=undefined && query.searchkey !== '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     query.params['searchkey'] = query.searchkey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if(query.taskDeptRange !=undefined){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    query.taskDeptRange = query.taskDeptRange.join(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   listTask(query).then( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (response) => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -410,11 +450,37 @@ const tableRowClassName = ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function setdatakey(dept) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (dept.children) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dept.children = dept.children.map((i) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return setdatakey(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  dept["value"] = dept.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return dept; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const treedept = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    value: "1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    label: "ss", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    value: "2", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    label: "ss1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+deptTreeselect().then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  treedept.value = [setdatakey(res.data[0])]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (currentstatus.value == '2') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       queryparameters.value.status = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      queryparameters.value.status = currentstatus.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queryparameters.value.status = currentstatus.value=="1"?'0':currentstatus.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |