diff --git a/app/Models/Project.php b/app/Models/Project.php index 3525f34cc..7eb5c1b9a 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -390,6 +390,7 @@ class Project extends AbstractModel $userids = Base::arrayRetainInt($item['userids'] ?: [], true); $usertype = trim($item['usertype']); $userlimit = intval($item['userlimit']); + $columnid = intval($item['columnid']); if ($usertype == 'replace' && empty($userids)) { throw new ApiException("状态[{$item['name']}]设置错误,设置流转模式时必须填写状态负责人"); } @@ -411,6 +412,7 @@ class Project extends AbstractModel 'userids' => $userids, 'usertype' => trim($item['usertype']), 'userlimit' => $userlimit, + 'columnid' => $columnid, ], [], $isInsert); if ($flow) { $ids[] = $flow->id; @@ -545,7 +547,7 @@ class Project extends AbstractModel $project->save(); // if ($flow == 'open') { - $project->addFlow(Base::json2array('[{"id":-10,"name":"待处理","status":"start","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0},{"id":-11,"name":"进行中","status":"progress","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0},{"id":-12,"name":"待测试","status":"test","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0},{"id":-13,"name":"已完成","status":"end","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0},{"id":-14,"name":"已取消","status":"end","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0}]')); + $project->addFlow(Base::json2array('[{"id":-10,"name":"待处理","status":"start","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0,"columnid":0},{"id":-11,"name":"进行中","status":"progress","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0,"columnid":0},{"id":-12,"name":"待测试","status":"test","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0,"columnid":0},{"id":-13,"name":"已完成","status":"end","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0,"columnid":0},{"id":-14,"name":"已取消","status":"end","turns":[-10,-11,-12,-13,-14],"userids":[],"usertype":"add","userlimit":0,"columnid":0}]')); } }); // diff --git a/app/Models/ProjectFlowItem.php b/app/Models/ProjectFlowItem.php index e03c78ff7..b1992d53b 100644 --- a/app/Models/ProjectFlowItem.php +++ b/app/Models/ProjectFlowItem.php @@ -16,6 +16,7 @@ use App\Module\Base; * @property array $userids 状态负责人ID * @property string|null $usertype 流转模式 * @property int|null $userlimit 限制负责人 + * @property int|null $columnid 对应的项目列表 * @property int|null $sort 排序 * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at @@ -23,6 +24,7 @@ use App\Module\Base; * @method static \Illuminate\Database\Eloquent\Builder|ProjectFlowItem newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|ProjectFlowItem newQuery() * @method static \Illuminate\Database\Eloquent\Builder|ProjectFlowItem query() + * @method static \Illuminate\Database\Eloquent\Builder|ProjectFlowItem whereColumnid($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectFlowItem whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectFlowItem whereFlowId($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectFlowItem whereId($value) diff --git a/app/Models/ProjectTask.php b/app/Models/ProjectTask.php index 6454b1b0b..6dbc456ae 100644 --- a/app/Models/ProjectTask.php +++ b/app/Models/ProjectTask.php @@ -618,6 +618,9 @@ class ProjectTask extends AbstractModel $data['assist'] = array_values(array_unique(array_diff($data['assist'], $data['owner']))); } } + if ($newFlowItem->columnid && ProjectColumn::whereProjectId($this->project_id)->whereId($newFlowItem->columnid)->exists()) { + $data['column_id'] = $newFlowItem->columnid; + } $this->flow_item_id = $newFlowItem->id; $this->flow_item_name = $newFlowItem->status . "|" . $newFlowItem->name; $this->addLog("修改{任务}状态", [ diff --git a/database/migrations/2023_08_05_161411_project_flow_items_add_columnid.php b/database/migrations/2023_08_05_161411_project_flow_items_add_columnid.php new file mode 100644 index 000000000..88ec21784 --- /dev/null +++ b/database/migrations/2023_08_05_161411_project_flow_items_add_columnid.php @@ -0,0 +1,34 @@ +bigInteger('columnid')->nullable()->default(0)->after('userlimit')->comment('对应的项目列表'); + } + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('project_flow_items', function (Blueprint $table) { + $table->dropColumn("columnid"); + }); + } +} diff --git a/resources/assets/js/pages/manage/components/ProjectWorkflow.vue b/resources/assets/js/pages/manage/components/ProjectWorkflow.vue index f92cdf74e..7caf0ae3a 100644 --- a/resources/assets/js/pages/manage/components/ProjectWorkflow.vue +++ b/resources/assets/js/pages/manage/components/ProjectWorkflow.vue @@ -80,12 +80,12 @@
- {{item.userids.length}} - - + + +
@@ -95,8 +95,10 @@
- - {{$L('状态负责人')}} + + + {{$L('状态设置')}} +
@@ -144,30 +146,53 @@ - + -
- - - - - - {{$L('添加模式')}} - {{$L('流转模式')}} - {{$L('剔除模式')}} - -
{{$L(`流转到【${userData.name}】时改变任务负责人为状态负责人,原本的任务负责人移至协助人员。`)}}
-
{{$L(`流转到【${userData.name}】时改变任务负责人为状态负责人(并保留操作状态的人员),原本的任务负责人移至协助人员。`)}}
-
{{$L(`流转到【${userData.name}】时添加状态负责人至任务负责人。`)}}
-
- - -
{{$L(`流转到【${userData.name}】时,[任务负责人] 和 [项目管理员] 可以修改状态。`)}}
-
{{$L(`流转到【${userData.name}】时,[任务负责人] 和 [项目管理员] 可以修改状态。`)}}
-
+ +
+

{{ $L('状态负责人') }}

+
+ + + + + + {{$L('添加模式')}} + {{$L('流转模式')}} + {{$L('剔除模式')}} + +
{{$L(`流转到【${settingData.name}】时改变任务负责人为状态负责人,原本的任务负责人移至协助人员。`)}}
+
{{$L(`流转到【${settingData.name}】时改变任务负责人为状态负责人(并保留操作状态的人员),原本的任务负责人移至协助人员。`)}}
+
{{$L(`流转到【${settingData.name}】时添加状态负责人至任务负责人。`)}}
+
+ + +
{{$L(`流转到【${settingData.name}】时,[任务负责人] 和 [项目管理员] 可以修改状态。`)}}
+
{{$L(`流转到【${settingData.name}】时,[任务负责人] 和 [项目管理员] 可以修改状态。`)}}
+
+
+
+
+

{{ $L('关联列表') }}

+
+ + +
+ {{$L(`流转到【${settingData.name}】时自动将任务移动至关联列表。`)}} + {{$L('取消关联')}} +
+
+
+
@@ -180,6 +205,7 @@