Browse Source

Merge branch 'master' into development

visuddhinanda 1 year ago
parent
commit
548d23d145

+ 17 - 3
api-v8/app/Http/Api/TaskApi.php

@@ -74,7 +74,7 @@ class TaskApi{
     }
     public static function getRelationTasks($taskId,$relation='pre'){
         $key = TaskApi::taskRelationRedisKey($taskId,$relation);
-        return RedisClusters::remember($key,3*24*3600,function() use($taskId,$relation){
+        $data =RedisClusters::remember($key,3*24*3600,function() use($taskId,$relation){
             if($relation==='pre'){
                 $where = 'next_task_id';
                 $select = 'task_id';
@@ -90,6 +90,7 @@ class TaskApi{
             }
             return TaskApi::getListByIds($tasksId);
 		});
+        return $data;
     }
 
     public static function getNextTasks($taskId){
@@ -99,8 +100,21 @@ class TaskApi{
         return TaskApi::getRelationTasks($taskId,'pre');
     }
     public static function removeTaskRelationRedisKey($taskId,$relation='pre'){
-        $key = TaskApi::taskRelationRedisKey($taskId,$relation);
-        RedisClusters::forget($key);
+                //查询相关task
+        $relations = TaskRelation::where('task_id',$taskId)
+                ->orWhere('next_task_id',$taskId)
+                ->select('task_id','next_task_id')->get();
+        $relationsId = [];
+        foreach ($relations as $key => $value) {
+            $relationsId[$value->task_id] = 1;
+            $relationsId[$value->next_task_id] = 1;
+        }
+        foreach ($relationsId as $taskId => $value) {
+            $key = TaskApi::taskRelationRedisKey($taskId,'pre');
+            RedisClusters::forget($key);
+            $key = TaskApi::taskRelationRedisKey($taskId,'next');
+            RedisClusters::forget($key);
+        }
     }
     public static function taskRelationRedisKey($taskId,$relation='pre'){
         return "task/relation/{$relation}/{$taskId}";

+ 0 - 1
api-v8/app/Http/Controllers/TaskController.php

@@ -233,7 +233,6 @@ class TaskController extends Controller
                 'pre');
         }
         if($request->has('next_task_id')){
-            $task->next_task_id = $request->get('next_task_id');
             TaskApi::setRelationTasks($task->id,
                 explode(',',$request->get('next_task_id')),
                 $user['user_uid'],

+ 4 - 3
dashboard-v4/dashboard/src/components/task/PreTask.tsx

@@ -68,21 +68,22 @@ interface IWidget {
   open?: boolean;
   type: TRelation;
   onClick?: (data?: ITaskData | null) => void;
+  onTagClick?:()=>void;
   onClose?: () => void;
 }
-const PreTask = ({ task, type, open = false, onClick, onClose }: IWidget) => {
+const PreTask = ({ task, type, open = false, onClick, onClose,onTagClick }: IWidget) => {
   const preTaskShow = open || task?.pre_task;
   const nextTaskShow = open || task?.next_task;
   let tag = <></>;
   if (preTaskShow && type === "pre") {
     tag = (
-      <Tag color="warning" icon={<ArrowLeftOutlined />}>
+      <Tag color="warning" icon={<ArrowLeftOutlined  />} onClick={onTagClick}>
         {task?.pre_task? `${task?.pre_task?.length} 个前置任务`:''}
       </Tag>
     );
   } else if (nextTaskShow && type === "next") {
     tag = (
-      <Tag color="warning" icon={<ArrowRightOutlined />}>
+      <Tag color="warning" icon={<ArrowRightOutlined />} onClick={onTagClick}>
         {task?.next_task?`阻塞 ${task?.next_task?.length} 个任务`:''}
       </Tag>
     );

+ 1 - 0
dashboard-v4/dashboard/src/components/task/TaskEditDrawer.tsx

@@ -42,6 +42,7 @@ const TaskEditDrawer = ({
         onClose={onCloseDrawer}
         open={open}
         destroyOnClose={true}
+        footer={<div>关注</div>}
         extra={
           <Button
             type="link"

+ 2 - 0
dashboard-v4/dashboard/src/components/task/TaskReader.tsx

@@ -107,6 +107,7 @@ const TaskReader = ({ taskId, task, onLoad, onChange, onEdit }: IWidget) => {
               updatePreTask("pre", data);
               setOpenPreTask(false);
             }}
+            onTagClick={()=>setOpenPreTask(true)}
             onClose={() => setOpenPreTask(false)}
           />
           <PreTask
@@ -118,6 +119,7 @@ const TaskReader = ({ taskId, task, onLoad, onChange, onEdit }: IWidget) => {
               setOpenNextTask(false);
             }}
             onClose={() => setOpenNextTask(false)}
+            onTagClick={()=>setOpenNextTask(true)}
           />
         </Space>
         <div>