mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-10 18:02:55 +00:00
perf: 添加项目任务标签功能
This commit is contained in:
parent
952d060e2f
commit
32530e5dc9
@ -40,6 +40,7 @@ use Illuminate\Support\Facades\DB;
|
||||
use App\Models\ProjectTaskFlowChange;
|
||||
use App\Models\ProjectTaskVisibilityUser;
|
||||
use App\Models\ProjectTaskTemplate;
|
||||
use App\Models\ProjectTag;
|
||||
|
||||
/**
|
||||
* @apiDefine project
|
||||
@ -2858,4 +2859,126 @@ class ProjectController extends AbstractController
|
||||
$template->update(['is_default' => true]);
|
||||
return Base::retSuccess('设置成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {post} api/project/tag/save 51. 保存标签
|
||||
*
|
||||
* @apiDescription 需要token身份(限:项目负责人)
|
||||
* @apiVersion 1.0.0
|
||||
* @apiGroup project
|
||||
* @apiName tag__save
|
||||
*
|
||||
* @apiParam {Number} project_id 项目ID
|
||||
* @apiParam {Number} [id] 标签ID
|
||||
* @apiParam {String} name 标签名称
|
||||
* @apiParam {String} desc 标签描述
|
||||
* @apiParam {String} color 标签颜色
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||
* @apiSuccess {Object} data 返回数据
|
||||
*/
|
||||
public function tag__save()
|
||||
{
|
||||
$user = User::auth();
|
||||
//
|
||||
$projectId = intval(Request::input('project_id'));
|
||||
if (!$projectId) {
|
||||
return Base::retError('参数错误');
|
||||
}
|
||||
Project::userProject($projectId, true, true);
|
||||
//
|
||||
$id = intval(Request::input('id', 0));
|
||||
$name = trim(Request::input('name', ''));
|
||||
$desc = trim(Request::input('desc', ''));
|
||||
$color = trim(Request::input('color', ''));
|
||||
if (empty($name)) {
|
||||
return Base::retError('请输入标签名称');
|
||||
}
|
||||
if (empty($color)) {
|
||||
return Base::retError('请选择标签颜色');
|
||||
}
|
||||
$data = [
|
||||
'project_id' => $projectId,
|
||||
'name' => $name,
|
||||
'desc' => $desc,
|
||||
'color' => $color,
|
||||
'userid' => $user->userid
|
||||
];
|
||||
if ($id > 0) {
|
||||
$tag = ProjectTag::where('id', $id)
|
||||
->where('project_id', $projectId)
|
||||
->first();
|
||||
if (!$tag) {
|
||||
return Base::retError('标签不存在或已被删除');
|
||||
}
|
||||
$tag->update($data);
|
||||
} else {
|
||||
$tagCount = ProjectTag::where('project_id', $projectId)->count();
|
||||
if ($tagCount >= 20) {
|
||||
return Base::retError('每个项目最多添加20个标签');
|
||||
}
|
||||
$tag = ProjectTag::create($data);
|
||||
}
|
||||
return Base::retSuccess('保存成功', $tag);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {get} api/project/tag/delete 52. 删除标签
|
||||
*
|
||||
* @apiDescription 需要token身份(限:项目负责人)
|
||||
* @apiVersion 1.0.0
|
||||
* @apiGroup project
|
||||
* @apiName tag__delete
|
||||
*
|
||||
* @apiParam {Number} id 标签ID
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||
* @apiSuccess {Object} data 返回数据
|
||||
*/
|
||||
public function tag__delete()
|
||||
{
|
||||
User::auth();
|
||||
//
|
||||
$id = intval(Request::input('id'));
|
||||
if (!$id) {
|
||||
return Base::retError('参数错误');
|
||||
}
|
||||
$tag = ProjectTag::find($id);
|
||||
if (!$tag) {
|
||||
return Base::retError('标签不存在或已被删除');
|
||||
}
|
||||
Project::userProject($tag->project_id, true, true);
|
||||
$tag->delete();
|
||||
return Base::retSuccess('删除成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {get} api/project/tag/list 53. 标签列表
|
||||
*
|
||||
* @apiDescription 需要token身份
|
||||
* @apiVersion 1.0.0
|
||||
* @apiGroup project
|
||||
* @apiName tag__list
|
||||
*
|
||||
* @apiParam {Number} project_id 项目ID
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||
* @apiSuccess {Object} data 返回数据
|
||||
*/
|
||||
public function tag__list()
|
||||
{
|
||||
User::auth();
|
||||
//
|
||||
$projectId = intval(Request::input('project_id'));
|
||||
if (!$projectId) {
|
||||
return Base::retError('参数错误');
|
||||
}
|
||||
$tags = ProjectTag::where('project_id', $projectId)
|
||||
->orderByDesc('id')
|
||||
->get();
|
||||
return Base::retSuccess('success', $tags);
|
||||
}
|
||||
}
|
||||
|
||||
65
app/Models/ProjectTag.php
Normal file
65
app/Models/ProjectTag.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\ProjectTag
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $project_id 项目ID
|
||||
* @property string $name 标签名称
|
||||
* @property string|null $desc 标签描述
|
||||
* @property string|null $color 颜色
|
||||
* @property int $userid 创建人
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\Project $project
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelAppend()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelHidden()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel change($array)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel getKeyValue()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel remove()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel saveOrIgnore()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereColor($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereDesc($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTag whereUserid($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class ProjectTag extends AbstractModel
|
||||
{
|
||||
protected $hidden = [
|
||||
'created_at',
|
||||
'updated_at',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'project_id',
|
||||
'name',
|
||||
'desc',
|
||||
'color',
|
||||
'userid'
|
||||
];
|
||||
|
||||
/**
|
||||
* 关联项目
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
*/
|
||||
public function project()
|
||||
{
|
||||
return $this->belongsTo(Project::class);
|
||||
}
|
||||
}
|
||||
@ -12,6 +12,7 @@ namespace App\Models;
|
||||
* @property string|null $color 颜色
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property int|null $tag_id 标签ID
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelAppend()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelHidden()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel change($array)
|
||||
@ -26,6 +27,7 @@ namespace App\Models;
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskTag whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskTag whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskTag whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskTag whereTagId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskTag whereTaskId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskTag whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
|
||||
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateProjectTagsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
if (Schema::hasTable('project_tags')) {
|
||||
return;
|
||||
}
|
||||
Schema::create('project_tags', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->unsignedBigInteger('project_id')->index()->comment('项目ID');
|
||||
$table->string('name', 50)->comment('标签名称');
|
||||
$table->string('desc', 255)->nullable()->comment('标签描述');
|
||||
$table->string('color', 20)->nullable()->default('')->comment('颜色');
|
||||
$table->unsignedBigInteger('userid')->index()->comment('创建人');
|
||||
$table->timestamps();
|
||||
|
||||
// 外键约束
|
||||
$table->foreign('project_id')->references('id')->on('projects')->onDelete('cascade');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('project_tags');
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddTagIdFieldsToPreProjectTaskTagsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('project_task_tags', function (Blueprint $table) {
|
||||
if (!Schema::hasColumn('project_task_tags', 'tag_id')) {
|
||||
$table->bigInteger('tag_id')->nullable()->default(0)->comment('标签ID');
|
||||
$table->index('tag_id');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('project_task_tags', function (Blueprint $table) {
|
||||
$table->dropColumn('tag_id');
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -54,6 +54,7 @@
|
||||
<EDropdownItem command="setting">{{$L('项目设置')}}</EDropdownItem>
|
||||
<EDropdownItem command="permissions">{{$L('权限设置')}}</EDropdownItem>
|
||||
<EDropdownItem command="task_template">{{$L('任务模板')}}</EDropdownItem>
|
||||
<EDropdownItem command="task_tag">{{$L('任务标签')}}</EDropdownItem>
|
||||
<EDropdownItem command="workflow">{{$L('工作流设置')}}</EDropdownItem>
|
||||
<EDropdownItem command="user" divided>{{$L('成员管理')}}</EDropdownItem>
|
||||
<EDropdownItem command="invite">{{$L('邀请链接')}}</EDropdownItem>
|
||||
@ -469,6 +470,14 @@
|
||||
<ProjectTaskTemplate ref="taskTemplate" v-if="taskTemplateShow" :project-id="projectId"/>
|
||||
</DrawerOverlay>
|
||||
|
||||
<!--任务标签-->
|
||||
<DrawerOverlay
|
||||
v-model="taskTagShow"
|
||||
placement="right"
|
||||
:size="720">
|
||||
<ProjectTaskTag ref="taskTag" v-if="taskTagShow" :project-id="projectId"/>
|
||||
</DrawerOverlay>
|
||||
|
||||
<!--工作流程设置-->
|
||||
<DrawerOverlay
|
||||
v-model="workflowShow"
|
||||
@ -514,6 +523,7 @@ import TaskRow from "./TaskRow";
|
||||
import TaskArchived from "./TaskArchived";
|
||||
import ProjectLog from "./ProjectLog";
|
||||
import DrawerOverlay from "../../../components/DrawerOverlay";
|
||||
import ProjectTaskTag from "./ProjectTaskTag";
|
||||
import ProjectTaskTemplate from "./ProjectTaskTemplate";
|
||||
import ProjectWorkflow from "./ProjectWorkflow";
|
||||
import ProjectPermission from "./ProjectPermission";
|
||||
@ -531,6 +541,7 @@ export default {
|
||||
UserAvatarTip,
|
||||
UserSelect,
|
||||
TaskMenu,
|
||||
ProjectTaskTag,
|
||||
ProjectTaskTemplate,
|
||||
ProjectWorkflow,
|
||||
ProjectPermission,
|
||||
@ -579,6 +590,7 @@ export default {
|
||||
transferLoad: 0,
|
||||
|
||||
taskTemplateShow: false,
|
||||
taskTagShow: false,
|
||||
|
||||
workflowShow: false,
|
||||
logShow: false,
|
||||
@ -1344,6 +1356,10 @@ export default {
|
||||
this.taskTemplateShow = true;
|
||||
break;
|
||||
|
||||
case "task_tag":
|
||||
this.taskTagShow = true;
|
||||
break;
|
||||
|
||||
case "workflow":
|
||||
this.workflowShow = true;
|
||||
break;
|
||||
|
||||
@ -0,0 +1,257 @@
|
||||
|
||||
<template>
|
||||
<div class="project-task-template">
|
||||
<div class="header">
|
||||
<div class="title">{{$L('任务标签')}}</div>
|
||||
<div class="actions">
|
||||
<Button type="primary" icon="md-add" @click="handleAdd">
|
||||
{{$L('新建标签')}}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div v-if="!tags.length" class="empty">
|
||||
<div class="empty-text">{{$L('当前项目暂无任务标签')}}</div>
|
||||
<Button type="primary" icon="md-add" @click="handleAdd">{{$L('新建标签')}}</Button>
|
||||
</div>
|
||||
<div v-else class="template-list">
|
||||
<div v-for="item in tags" :key="item.id" class="tag-item">
|
||||
<div class="tag-contents">
|
||||
<div class="tag-title">{{ item.name }}</div>
|
||||
<div v-if="item.desc" class="tag-desc">{{ item.desc }}</div>
|
||||
</div>
|
||||
<div class="tag-actions">
|
||||
<Button @click="handleEdit(item)" type="primary">
|
||||
{{$L('编辑')}}
|
||||
</Button>
|
||||
<Button @click="handleDelete(item)" type="error">
|
||||
{{$L('删除')}}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 编辑标签弹窗 -->
|
||||
<Modal
|
||||
v-model="showEditModal"
|
||||
:title="editingTag.id ? $L('编辑标签') : $L('新建标签')"
|
||||
:mask-closable="false">
|
||||
<Form
|
||||
ref="editForm"
|
||||
:model="editingTag"
|
||||
:rules="formRules"
|
||||
v-bind="formOptions"
|
||||
@submit.native.prevent>
|
||||
<FormItem prop="name" :label="$L('标签名称')">
|
||||
<Input ref="tagName" v-model="editingTag.name" :disabled="systemTagIsMultiple" :placeholder="$L('请输入标签名称')"/>
|
||||
</FormItem>
|
||||
<FormItem prop="desc" :label="$L('标签描述')">
|
||||
<Input v-model="editingTag.desc" :disabled="systemTagIsMultiple" :placeholder="$L('请输入标签描述')"/>
|
||||
</FormItem>
|
||||
<FormItem v-if="!editingTag.id">
|
||||
<div class="project-task-template-system">
|
||||
<div v-if="!systemTagShow" @click="onSystemTag" class="tip-title">{{$L('使用示例标签')}}</div>
|
||||
<ul v-else>
|
||||
<li
|
||||
:class="{selected:systemTagIsMultiple}"
|
||||
@click="systemTagIsMultiple=!systemTagIsMultiple">
|
||||
<i class="taskfont" v-html="systemTagIsMultiple ? '' : ''"></i>
|
||||
{{$L('多选')}}
|
||||
</li>
|
||||
<li
|
||||
v-for="(item, index) in systemTagData"
|
||||
:key="index"
|
||||
:class="{selected:systemTagIsMultiple && systemTagMultipleData.indexOf(item)!==-1}"
|
||||
@click="useSystemTag(item)">{{item.name}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</FormItem>
|
||||
</Form>
|
||||
<div slot="footer" class="adaption">
|
||||
<Button type="default" @click="showEditModal=false">{{$L('取消')}}</Button>
|
||||
<Button type="primary" :loading="loading" @click="handleSave">
|
||||
{{ $L('保存') }}
|
||||
{{ systemTagIsMultiple && systemTagMultipleData.length > 0 ? ` (${systemTagMultipleData.length})` : '' }}
|
||||
</Button>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
import AllTaskTags from "./tags";
|
||||
import {getLanguage} from "../../../../language";
|
||||
|
||||
export default {
|
||||
name: 'ProjectTaskTag',
|
||||
props: {
|
||||
projectId: {
|
||||
type: [Number, String],
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
tags: [],
|
||||
showEditModal: false,
|
||||
editingTag: this.getEmptyTag(),
|
||||
formRules: {
|
||||
name: [
|
||||
{ required: true, message: this.$L('请输入标签名称'), trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
|
||||
systemTagShow: false,
|
||||
systemTagData: [],
|
||||
systemTagIsMultiple: false,
|
||||
systemTagMultipleData: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['formOptions'])
|
||||
},
|
||||
created() {
|
||||
this.loadTags()
|
||||
},
|
||||
watch: {
|
||||
showEditModal(val) {
|
||||
if (!val) {
|
||||
this.$refs.editForm.resetFields()
|
||||
this.systemTagShow = false
|
||||
this.systemTagIsMultiple = false
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 获取空标签对象
|
||||
getEmptyTag() {
|
||||
return {
|
||||
id: null,
|
||||
project_id: this.projectId,
|
||||
name: '',
|
||||
desc: '',
|
||||
color: ''
|
||||
}
|
||||
},
|
||||
|
||||
// 加载标签列表
|
||||
async loadTags() {
|
||||
this.loading = true
|
||||
try {
|
||||
const {data} = await this.$store.dispatch("call", {
|
||||
url: 'project/tag/list',
|
||||
data: {
|
||||
project_id: this.projectId
|
||||
},
|
||||
spinner: 300
|
||||
})
|
||||
this.tags = data || []
|
||||
} catch ({msg}) {
|
||||
$A.messageError(msg || '加载标签失败')
|
||||
}
|
||||
this.loading = false
|
||||
},
|
||||
|
||||
// 新建标签
|
||||
handleAdd() {
|
||||
this.editingTag = this.getEmptyTag()
|
||||
this.showEditModal = true
|
||||
},
|
||||
|
||||
// 编辑标签
|
||||
handleEdit(tag) {
|
||||
this.editingTag = { ...tag }
|
||||
this.showEditModal = true
|
||||
},
|
||||
|
||||
// 保存标签
|
||||
async handleSave() {
|
||||
if (!this.editingTag.name) {
|
||||
$A.messageWarning('请输入标签名称')
|
||||
return
|
||||
}
|
||||
let savePromises = []
|
||||
if (this.systemTagIsMultiple) {
|
||||
if (this.systemTagMultipleData.length === 0) {
|
||||
$A.messageWarning('请选择示例标签')
|
||||
return
|
||||
}
|
||||
savePromises = this.systemTagMultipleData.map(item => {
|
||||
const tag = { ...this.editingTag, id: null, name: item.name, desc: item.desc, color: item.color }
|
||||
return this.handleSaveCall(tag)
|
||||
})
|
||||
} else {
|
||||
savePromises.push(this.handleSaveCall(this.editingTag))
|
||||
}
|
||||
|
||||
try {
|
||||
const results = await Promise.all(savePromises)
|
||||
$A.messageSuccess(results.length === 1 ? results[0].msg : '全部保存成功')
|
||||
this.showEditModal = false
|
||||
this.loadTags()
|
||||
} catch (error) {
|
||||
$A.messageError(error.msg || '保存失败')
|
||||
}
|
||||
},
|
||||
|
||||
// 保存标签请求
|
||||
async handleSaveCall(data) {
|
||||
return this.$store.dispatch("call", {
|
||||
url: 'project/tag/save',
|
||||
data,
|
||||
method: 'post',
|
||||
spinner: 300
|
||||
})
|
||||
},
|
||||
|
||||
// 删除标签
|
||||
async handleDelete(tag) {
|
||||
$A.modalConfirm({
|
||||
title: '确认删除',
|
||||
content: '确定要删除该标签吗?',
|
||||
onOk: async () => {
|
||||
try {
|
||||
const {msg} = await this.$store.dispatch("call", {
|
||||
url: 'project/tag/delete',
|
||||
data: {
|
||||
id: tag.id
|
||||
},
|
||||
spinner: 300
|
||||
})
|
||||
$A.messageSuccess(msg || '删除成功')
|
||||
this.loadTags()
|
||||
} catch ({msg}) {
|
||||
$A.messageError(msg || '删除失败')
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
onSystemTag() {
|
||||
const lang = getLanguage()
|
||||
this.systemTagData = typeof AllTaskTags[lang] === "undefined" ? AllTaskTags['en'] : AllTaskTags[lang]
|
||||
this.systemTagShow = true
|
||||
},
|
||||
|
||||
// 使用系统标签
|
||||
useSystemTag(item) {
|
||||
this.editingTag.name = item.name
|
||||
this.editingTag.desc = item.desc
|
||||
this.editingTag.color = item.color
|
||||
//
|
||||
if (this.systemTagIsMultiple) {
|
||||
const index = this.systemTagMultipleData.indexOf(item)
|
||||
if (index === -1) {
|
||||
this.systemTagMultipleData.push(item)
|
||||
} else {
|
||||
this.systemTagMultipleData.splice(index, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
262
resources/assets/js/pages/manage/components/ProjectTaskTag/tags.js
vendored
Normal file
262
resources/assets/js/pages/manage/components/ProjectTaskTag/tags.js
vendored
Normal file
@ -0,0 +1,262 @@
|
||||
export default {
|
||||
"zh": [
|
||||
{"name": "需求", "desc": "新功能或业务需求", "color": "#007bff"},
|
||||
{"name": "优化", "desc": "现有功能或体验的改进", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "问题或功能异常", "color": "#dc3545"},
|
||||
{"name": "设计", "desc": "与UI/UX设计相关的任务", "color": "#6f42c1"},
|
||||
{"name": "开发", "desc": "涉及前端或后端开发的任务", "color": "#17a2b8"},
|
||||
{"name": "测试", "desc": "测试相关任务", "color": "#fd7e14"},
|
||||
{"name": "文档", "desc": "与文档编写或维护相关的任务", "color": "#20c997"},
|
||||
{"name": "性能", "desc": "性能优化相关任务", "color": "#6610f2"},
|
||||
{"name": "安全", "desc": "与安全问题或漏洞相关的任务", "color": "#e83e8c"},
|
||||
{"name": "技术债务", "desc": "需要偿还的技术债务", "color": "#6c757d"},
|
||||
{"name": "实验性", "desc": "任务属于探索性质", "color": "#6f42c1"},
|
||||
{"name": "学习任务", "desc": "任务用于学习或研究", "color": "#20c997"},
|
||||
{"name": "紧急", "desc": "需要优先处理的任务", "color": "#d63384"},
|
||||
{"name": "高优先级", "desc": "优先级较高的任务", "color": "#ffc107"},
|
||||
{"name": "低优先级", "desc": "优先级较低的任务", "color": "#6c757d"},
|
||||
{"name": "无效", "desc": "任务被标记为无效", "color": "#adb5bd"},
|
||||
{"name": "重复", "desc": "任务与已有任务重复", "color": "#ced4da"},
|
||||
{"name": "不适用", "desc": "任务不再适用当前需求", "color": "#dee2e6"},
|
||||
{"name": "延期", "desc": "任务因某些原因被延期", "color": "#ffc107"},
|
||||
{"name": "阻塞", "desc": "任务被问题或依赖阻塞", "color": "#dc3545"},
|
||||
{"name": "待确认", "desc": "任务需要进一步确认", "color": "#0dcaf0"},
|
||||
{"name": "已搁置", "desc": "任务暂时搁置", "color": "#adb5bd"},
|
||||
{"name": "待复盘", "desc": "任务完成后需复盘", "color": "#17a2b8"},
|
||||
{"name": "外部依赖", "desc": "依赖外部资源的任务", "color": "#fd7e14"},
|
||||
{"name": "跨团队协作", "desc": "需要多个团队协作的任务", "color": "#17a2b8"},
|
||||
{"name": "研发支持", "desc": "为其他团队提供支持", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"zh-CHT": [
|
||||
{"name": "需求", "desc": "新功能或業務需求", "color": "#007bff"},
|
||||
{"name": "優化", "desc": "現有功能或體驗的改進", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "功能異常或錯誤", "color": "#dc3545"},
|
||||
{"name": "設計", "desc": "與UI/UX設計相關的任務", "color": "#6f42c1"},
|
||||
{"name": "開發", "desc": "前後端開發相關任務", "color": "#17a2b8"},
|
||||
{"name": "測試", "desc": "功能測試或用例驗證", "color": "#fd7e14"},
|
||||
{"name": "文檔", "desc": "與文檔編寫或維護相關的任務", "color": "#20c997"},
|
||||
{"name": "性能", "desc": "性能優化相關任務", "color": "#6610f2"},
|
||||
{"name": "安全", "desc": "與安全問題或漏洞相關的任務", "color": "#e83e8c"},
|
||||
{"name": "技術債務", "desc": "需要償還的技術債務", "color": "#6c757d"},
|
||||
{"name": "實驗性", "desc": "任務屬於探索性質", "color": "#6f42c1"},
|
||||
{"name": "學習任務", "desc": "任務用於學習或研究", "color": "#20c997"},
|
||||
{"name": "緊急", "desc": "需要優先處理的任務", "color": "#d63384"},
|
||||
{"name": "高優先級", "desc": "優先級較高的任務", "color": "#ffc107"},
|
||||
{"name": "低優先級", "desc": "優先級較低的任務", "color": "#6c757d"},
|
||||
{"name": "無效", "desc": "任務無效,不再處理", "color": "#adb5bd"},
|
||||
{"name": "重複", "desc": "與其他任務重複", "color": "#ced4da"},
|
||||
{"name": "不適用", "desc": "任務不再適用當前需求", "color": "#dee2e6"},
|
||||
{"name": "延期", "desc": "任務因某些原因被延期", "color": "#ffc107"},
|
||||
{"name": "阻塞", "desc": "任務被問題或依賴阻塞", "color": "#dc3545"},
|
||||
{"name": "待確認", "desc": "任務信息不完整,需確認", "color": "#0dcaf0"},
|
||||
{"name": "已擱置", "desc": "任務暫停處理,未來可能重啟", "color": "#adb5bd"},
|
||||
{"name": "待復盤", "desc": "任務完成後需總結復盤", "color": "#17a2b8"},
|
||||
{"name": "外部依賴", "desc": "依賴外部資源的任務", "color": "#fd7e14"},
|
||||
{"name": "跨團隊協作", "desc": "需要多個團隊協作的任務", "color": "#17a2b8"},
|
||||
{"name": "研發支持", "desc": "為其他團隊提供支持", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"en": [
|
||||
{"name": "Requirement", "desc": "New feature or business requirement", "color": "#007bff"},
|
||||
{"name": "Optimization", "desc": "Improvement of existing features or experience", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Feature malfunction or error", "color": "#dc3545"},
|
||||
{"name": "Design", "desc": "Tasks related to UI/UX design", "color": "#6f42c1"},
|
||||
{"name": "Development", "desc": "Tasks related to frontend or backend development", "color": "#17a2b8"},
|
||||
{"name": "Testing", "desc": "Feature testing or case verification", "color": "#fd7e14"},
|
||||
{"name": "Documentation", "desc": "Tasks related to writing or maintaining documentation", "color": "#20c997"},
|
||||
{"name": "Performance", "desc": "Tasks related to performance optimization", "color": "#6610f2"},
|
||||
{"name": "Security", "desc": "Tasks related to security issues or vulnerabilities", "color": "#e83e8c"},
|
||||
{"name": "Technical Debt", "desc": "Technical debt that needs to be addressed", "color": "#6c757d"},
|
||||
{"name": "Experimental", "desc": "Tasks of an exploratory nature", "color": "#6f42c1"},
|
||||
{"name": "Learning Task", "desc": "Tasks for learning or research purposes", "color": "#20c997"},
|
||||
{"name": "Urgent", "desc": "Tasks that need to be prioritized", "color": "#d63384"},
|
||||
{"name": "High Priority", "desc": "Tasks with high priority", "color": "#ffc107"},
|
||||
{"name": "Low Priority", "desc": "Tasks with low priority", "color": "#6c757d"},
|
||||
{"name": "Invalid", "desc": "Task is invalid and will no longer be processed", "color": "#adb5bd"},
|
||||
{"name": "Duplicate", "desc": "Task is a duplicate of an existing one", "color": "#ced4da"},
|
||||
{"name": "Not Applicable", "desc": "Task is no longer applicable to current requirements", "color": "#dee2e6"},
|
||||
{"name": "Postponed", "desc": "Task is postponed for some reason", "color": "#ffc107"},
|
||||
{"name": "Blocked", "desc": "Task is blocked by issues or dependencies", "color": "#dc3545"},
|
||||
{"name": "To Be Confirmed", "desc": "Task information is incomplete and needs confirmation", "color": "#0dcaf0"},
|
||||
{"name": "On Hold", "desc": "Task is temporarily on hold and may resume in the future", "color": "#adb5bd"},
|
||||
{"name": "To Be Reviewed", "desc": "Task needs to be reviewed or summarized after completion", "color": "#17a2b8"},
|
||||
{"name": "External Dependency", "desc": "Task depends on external resources", "color": "#fd7e14"},
|
||||
{"name": "Cross-Team Collaboration", "desc": "Task requires collaboration across multiple teams", "color": "#17a2b8"},
|
||||
{"name": "R&D Support", "desc": "Providing support to other teams", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"ko": [
|
||||
{"name": "요구사항", "desc": "새로운 기능 또는 비즈니스 요구사항", "color": "#007bff"},
|
||||
{"name": "최적화", "desc": "기존 기능 또는 경험의 개선", "color": "#28a745"},
|
||||
{"name": "버그", "desc": "기능 오작동 또는 오류", "color": "#dc3545"},
|
||||
{"name": "디자인", "desc": "UI/UX 디자인 관련 작업", "color": "#6f42c1"},
|
||||
{"name": "개발", "desc": "프론트엔드 또는 백엔드 개발 관련 작업", "color": "#17a2b8"},
|
||||
{"name": "테스트", "desc": "기능 테스트 또는 사례 검증", "color": "#fd7e14"},
|
||||
{"name": "문서화", "desc": "문서 작성 또는 유지보수 작업", "color": "#20c997"},
|
||||
{"name": "성능", "desc": "성능 최적화 관련 작업", "color": "#6610f2"},
|
||||
{"name": "보안", "desc": "보안 문제 또는 취약점 관련 작업", "color": "#e83e8c"},
|
||||
{"name": "기술 부채", "desc": "해결해야 할 기술 부채", "color": "#6c757d"},
|
||||
{"name": "실험적", "desc": "탐색적인 성격의 작업", "color": "#6f42c1"},
|
||||
{"name": "학습 작업", "desc": "학습 또는 연구를 위한 작업", "color": "#20c997"},
|
||||
{"name": "긴급", "desc": "우선적으로 처리해야 할 작업", "color": "#d63384"},
|
||||
{"name": "높은 우선순위", "desc": "우선순위가 높은 작업", "color": "#ffc107"},
|
||||
{"name": "낮은 우선순위", "desc": "우선순위가 낮은 작업", "color": "#6c757d"},
|
||||
{"name": "무효", "desc": "작업이 무효화되어 더 이상 처리되지 않음", "color": "#adb5bd"},
|
||||
{"name": "중복", "desc": "기존 작업과 중복된 작업", "color": "#ced4da"},
|
||||
{"name": "부적합", "desc": "현재 요구사항에 더 이상 적합하지 않은 작업", "color": "#dee2e6"},
|
||||
{"name": "연기됨", "desc": "특정 이유로 연기된 작업", "color": "#ffc107"},
|
||||
{"name": "차단됨", "desc": "문제 또는 의존성으로 인해 차단된 작업", "color": "#dc3545"},
|
||||
{"name": "확인 필요", "desc": "정보가 불완전하여 확인이 필요한 작업", "color": "#0dcaf0"},
|
||||
{"name": "보류 중", "desc": "작업이 일시적으로 보류되었으며, 추후 재개될 수 있음", "color": "#adb5bd"},
|
||||
{"name": "리뷰 필요", "desc": "작업 완료 후 요약 또는 리뷰가 필요한 작업", "color": "#17a2b8"},
|
||||
{"name": "외부 의존성", "desc": "외부 리소스에 의존하는 작업", "color": "#fd7e14"},
|
||||
{"name": "팀 간 협업", "desc": "다수의 팀이 협업해야 하는 작업", "color": "#17a2b8"},
|
||||
{"name": "개발 지원", "desc": "다른 팀에 지원을 제공하는 작업", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"ja": [
|
||||
{"name": "要件", "desc": "新しい機能またはビジネス要件", "color": "#007bff"},
|
||||
{"name": "最適化", "desc": "既存の機能または体験の改善", "color": "#28a745"},
|
||||
{"name": "バグ", "desc": "機能の不具合またはエラー", "color": "#dc3545"},
|
||||
{"name": "デザイン", "desc": "UI/UXデザインに関連するタスク", "color": "#6f42c1"},
|
||||
{"name": "開発", "desc": "フロントエンドまたはバックエンド開発に関するタスク", "color": "#17a2b8"},
|
||||
{"name": "テスト", "desc": "機能テストまたはケース検証", "color": "#fd7e14"},
|
||||
{"name": "ドキュメント", "desc": "ドキュメントの作成または保守に関連するタスク", "color": "#20c997"},
|
||||
{"name": "パフォーマンス", "desc": "パフォーマンス最適化に関連するタスク", "color": "#6610f2"},
|
||||
{"name": "セキュリティ", "desc": "セキュリティ問題または脆弱性に関連するタスク", "color": "#e83e8c"},
|
||||
{"name": "技術的負債", "desc": "解消が必要な技術的負債", "color": "#6c757d"},
|
||||
{"name": "実験的", "desc": "探索的な性質のタスク", "color": "#6f42c1"},
|
||||
{"name": "学習タスク", "desc": "学習または研究を目的としたタスク", "color": "#20c997"},
|
||||
{"name": "緊急", "desc": "優先的に処理が必要なタスク", "color": "#d63384"},
|
||||
{"name": "高優先度", "desc": "優先度の高いタスク", "color": "#ffc107"},
|
||||
{"name": "低優先度", "desc": "優先度の低いタスク", "color": "#6c757d"},
|
||||
{"name": "無効", "desc": "タスクが無効で、処理されなくなった", "color": "#adb5bd"},
|
||||
{"name": "重複", "desc": "既存のタスクと重複しているタスク", "color": "#ced4da"},
|
||||
{"name": "不適用", "desc": "現在の要件に適用されなくなったタスク", "color": "#dee2e6"},
|
||||
{"name": "延期", "desc": "何らかの理由で延期されたタスク", "color": "#ffc107"},
|
||||
{"name": "ブロック中", "desc": "問題または依存関係によってブロックされたタスク", "color": "#dc3545"},
|
||||
{"name": "要確認", "desc": "情報が不完全で確認が必要なタスク", "color": "#0dcaf0"},
|
||||
{"name": "保留中", "desc": "タスクが一時的に保留され、将来的に再開される可能性がある", "color": "#adb5bd"},
|
||||
{"name": "レビュー待ち", "desc": "タスク完了後に要約またはレビューが必要なタスク", "color": "#17a2b8"},
|
||||
{"name": "外部依存", "desc": "外部リソースに依存するタスク", "color": "#fd7e14"},
|
||||
{"name": "チーム間協力", "desc": "複数のチームが協力する必要があるタスク", "color": "#17a2b8"},
|
||||
{"name": "開発サポート", "desc": "他のチームにサポートを提供するタスク", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"de": [
|
||||
{"name": "Anforderung", "desc": "Neue Funktion oder geschäftliche Anforderung", "color": "#007bff"},
|
||||
{"name": "Optimierung", "desc": "Verbesserung bestehender Funktionen oder Erfahrungen", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Funktionsfehler oder Problem", "color": "#dc3545"},
|
||||
{"name": "Design", "desc": "Aufgaben im Zusammenhang mit UI/UX-Design", "color": "#6f42c1"},
|
||||
{"name": "Entwicklung", "desc": "Aufgaben im Bereich Frontend- oder Backend-Entwicklung", "color": "#17a2b8"},
|
||||
{"name": "Testen", "desc": "Funktionstests oder Fallüberprüfungen", "color": "#fd7e14"},
|
||||
{"name": "Dokumentation", "desc": "Aufgaben zur Erstellung oder Pflege von Dokumentationen", "color": "#20c997"},
|
||||
{"name": "Leistung", "desc": "Aufgaben zur Leistungsoptimierung", "color": "#6610f2"},
|
||||
{"name": "Sicherheit", "desc": "Aufgaben im Zusammenhang mit Sicherheitsproblemen oder Schwachstellen", "color": "#e83e8c"},
|
||||
{"name": "Technische Schulden", "desc": "Technische Schulden, die abgebaut werden müssen", "color": "#6c757d"},
|
||||
{"name": "Experimentell", "desc": "Aufgaben explorativer Natur", "color": "#6f42c1"},
|
||||
{"name": "Lernaufgabe", "desc": "Aufgaben zum Lernen oder für Forschungszwecke", "color": "#20c997"},
|
||||
{"name": "Dringend", "desc": "Aufgaben, die vorrangig bearbeitet werden müssen", "color": "#d63384"},
|
||||
{"name": "Hohe Priorität", "desc": "Aufgaben mit hoher Priorität", "color": "#ffc107"},
|
||||
{"name": "Niedrige Priorität", "desc": "Aufgaben mit niedriger Priorität", "color": "#6c757d"},
|
||||
{"name": "Ungültig", "desc": "Aufgabe ist ungültig und wird nicht weiter bearbeitet", "color": "#adb5bd"},
|
||||
{"name": "Duplikat", "desc": "Aufgabe ist ein Duplikat einer bestehenden Aufgabe", "color": "#ced4da"},
|
||||
{"name": "Nicht anwendbar", "desc": "Aufgabe ist für die aktuellen Anforderungen nicht mehr relevant", "color": "#dee2e6"},
|
||||
{"name": "Verschoben", "desc": "Aufgabe wurde aus bestimmten Gründen verschoben", "color": "#ffc107"},
|
||||
{"name": "Blockiert", "desc": "Aufgabe ist durch Probleme oder Abhängigkeiten blockiert", "color": "#dc3545"},
|
||||
{"name": "Zu bestätigen", "desc": "Aufgabe ist unvollständig und muss bestätigt werden", "color": "#0dcaf0"},
|
||||
{"name": "In Wartestellung", "desc": "Aufgabe ist vorübergehend pausiert und könnte später wieder aufgenommen werden", "color": "#adb5bd"},
|
||||
{"name": "Zu überprüfen", "desc": "Aufgabe muss nach Abschluss überprüft oder zusammengefasst werden", "color": "#17a2b8"},
|
||||
{"name": "Externe Abhängigkeit", "desc": "Aufgabe ist von externen Ressourcen abhängig", "color": "#fd7e14"},
|
||||
{"name": "Teamübergreifende Zusammenarbeit", "desc": "Aufgabe erfordert Zusammenarbeit mehrerer Teams", "color": "#17a2b8"},
|
||||
{"name": "Entwicklungsunterstützung", "desc": "Aufgabe zur Unterstützung anderer Teams", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"fr": [
|
||||
{"name": "Exigence", "desc": "Nouvelle fonctionnalité ou exigence métier", "color": "#007bff"},
|
||||
{"name": "Optimisation", "desc": "Amélioration des fonctionnalités ou de l'expérience existante", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Dysfonctionnement ou erreur", "color": "#dc3545"},
|
||||
{"name": "Conception", "desc": "Tâches liées à la conception UI/UX", "color": "#6f42c1"},
|
||||
{"name": "Développement", "desc": "Tâches liées au développement frontend ou backend", "color": "#17a2b8"},
|
||||
{"name": "Test", "desc": "Tests fonctionnels ou vérifications de cas", "color": "#fd7e14"},
|
||||
{"name": "Documentation", "desc": "Tâches de rédaction ou de maintenance de la documentation", "color": "#20c997"},
|
||||
{"name": "Performance", "desc": "Tâches liées à l'optimisation des performances", "color": "#6610f2"},
|
||||
{"name": "Sécurité", "desc": "Tâches liées aux problèmes ou vulnérabilités de sécurité", "color": "#e83e8c"},
|
||||
{"name": "Dette technique", "desc": "Dette technique à résoudre", "color": "#6c757d"},
|
||||
{"name": "Expérimental", "desc": "Tâches de nature exploratoire", "color": "#6f42c1"},
|
||||
{"name": "Tâche d'apprentissage", "desc": "Tâches pour apprentissage ou recherche", "color": "#20c997"},
|
||||
{"name": "Urgent", "desc": "Tâches nécessitant un traitement prioritaire", "color": "#d63384"},
|
||||
{"name": "Haute priorité", "desc": "Tâches avec une priorité élevée", "color": "#ffc107"},
|
||||
{"name": "Basse priorité", "desc": "Tâches avec une priorité basse", "color": "#6c757d"},
|
||||
{"name": "Invalide", "desc": "Tâche invalide qui ne sera plus traitée", "color": "#adb5bd"},
|
||||
{"name": "Dupliqué", "desc": "Tâche en double avec une autre existante", "color": "#ced4da"},
|
||||
{"name": "Non applicable", "desc": "Tâche non applicable aux exigences actuelles", "color": "#dee2e6"},
|
||||
{"name": "Reporté", "desc": "Tâche reportée pour une raison quelconque", "color": "#ffc107"},
|
||||
{"name": "Bloqué", "desc": "Tâche bloquée par des problèmes ou des dépendances", "color": "#dc3545"},
|
||||
{"name": "À confirmer", "desc": "Tâche incomplète nécessitant une confirmation", "color": "#0dcaf0"},
|
||||
{"name": "En attente", "desc": "Tâche temporairement suspendue, pouvant être reprise plus tard", "color": "#adb5bd"},
|
||||
{"name": "À revoir", "desc": "Tâche nécessitant un résumé ou une révision après achèvement", "color": "#17a2b8"},
|
||||
{"name": "Dépendance externe", "desc": "Tâche dépendant de ressources externes", "color": "#fd7e14"},
|
||||
{"name": "Collaboration inter-équipes", "desc": "Tâche nécessitant la collaboration de plusieurs équipes", "color": "#17a2b8"},
|
||||
{"name": "Support développement", "desc": "Tâche de support pour d'autres équipes", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"id": [
|
||||
{"name": "Kebutuhan", "desc": "Fitur baru atau kebutuhan bisnis", "color": "#007bff"},
|
||||
{"name": "Optimalisasi", "desc": "Peningkatan fitur atau pengalaman yang ada", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Malfungsi fitur atau kesalahan", "color": "#dc3545"},
|
||||
{"name": "Desain", "desc": "Tugas terkait desain UI/UX", "color": "#6f42c1"},
|
||||
{"name": "Pengembangan", "desc": "Tugas terkait pengembangan frontend atau backend", "color": "#17a2b8"},
|
||||
{"name": "Pengujian", "desc": "Pengujian fitur atau verifikasi kasus", "color": "#fd7e14"},
|
||||
{"name": "Dokumentasi", "desc": "Tugas terkait penulisan atau pemeliharaan dokumentasi", "color": "#20c997"},
|
||||
{"name": "Performa", "desc": "Tugas terkait optimalisasi performa", "color": "#6610f2"},
|
||||
{"name": "Keamanan", "desc": "Tugas terkait masalah atau kerentanan keamanan", "color": "#e83e8c"},
|
||||
{"name": "Hutang Teknis", "desc": "Hutang teknis yang perlu diselesaikan", "color": "#6c757d"},
|
||||
{"name": "Eksperimental", "desc": "Tugas yang bersifat eksplorasi", "color": "#6f42c1"},
|
||||
{"name": "Tugas Pembelajaran", "desc": "Tugas untuk pembelajaran atau penelitian", "color": "#20c997"},
|
||||
{"name": "Mendesak", "desc": "Tugas yang perlu diprioritaskan", "color": "#d63384"},
|
||||
{"name": "Prioritas Tinggi", "desc": "Tugas dengan prioritas tinggi", "color": "#ffc107"},
|
||||
{"name": "Prioritas Rendah", "desc": "Tugas dengan prioritas rendah", "color": "#6c757d"},
|
||||
{"name": "Tidak Valid", "desc": "Tugas tidak valid dan tidak akan diproses lagi", "color": "#adb5bd"},
|
||||
{"name": "Duplikat", "desc": "Tugas yang merupakan duplikat dari tugas lain", "color": "#ced4da"},
|
||||
{"name": "Tidak Berlaku", "desc": "Tugas tidak lagi relevan dengan kebutuhan saat ini", "color": "#dee2e6"},
|
||||
{"name": "Ditunda", "desc": "Tugas yang ditunda karena alasan tertentu", "color": "#ffc107"},
|
||||
{"name": "Terblokir", "desc": "Tugas yang terhalang oleh masalah atau ketergantungan", "color": "#dc3545"},
|
||||
{"name": "Perlu Konfirmasi", "desc": "Tugas yang informasinya tidak lengkap dan perlu konfirmasi", "color": "#0dcaf0"},
|
||||
{"name": "Ditangguhkan", "desc": "Tugas yang ditangguhkan sementara dan mungkin dilanjutkan di masa depan", "color": "#adb5bd"},
|
||||
{"name": "Perlu Ditinjau", "desc": "Tugas yang perlu ditinjau atau dirangkum setelah selesai", "color": "#17a2b8"},
|
||||
{"name": "Ketergantungan Eksternal", "desc": "Tugas yang bergantung pada sumber daya eksternal", "color": "#fd7e14"},
|
||||
{"name": "Kolaborasi Antar Tim", "desc": "Tugas yang membutuhkan kolaborasi beberapa tim", "color": "#17a2b8"},
|
||||
{"name": "Dukungan Pengembangan", "desc": "Tugas untuk mendukung tim lain", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"ru": [
|
||||
{"name": "Требование", "desc": "Новая функция или бизнес-требование", "color": "#007bff"},
|
||||
{"name": "Оптимизация", "desc": "Улучшение существующих функций или опыта", "color": "#28a745"},
|
||||
{"name": "Баг", "desc": "Ошибка или неисправность функции", "color": "#dc3545"},
|
||||
{"name": "Дизайн", "desc": "Задачи, связанные с дизайном UI/UX", "color": "#6f42c1"},
|
||||
{"name": "Разработка", "desc": "Задачи, связанные с разработкой фронтенда или бэкенда", "color": "#17a2b8"},
|
||||
{"name": "Тестирование", "desc": "Тестирование функций или проверка кейсов", "color": "#fd7e14"},
|
||||
{"name": "Документация", "desc": "Задачи, связанные с написанием или поддержкой документации", "color": "#20c997"},
|
||||
{"name": "Производительность", "desc": "Задачи по оптимизации производительности", "color": "#6610f2"},
|
||||
{"name": "Безопасность", "desc": "Задачи, связанные с проблемами безопасности или уязвимостями", "color": "#e83e8c"},
|
||||
{"name": "Технический долг", "desc": "Технический долг, который нужно устранить", "color": "#6c757d"},
|
||||
{"name": "Экспериментальный", "desc": "Задачи исследовательского характера", "color": "#6f42c1"},
|
||||
{"name": "Обучающая задача", "desc": "Задачи для обучения или исследований", "color": "#20c997"},
|
||||
{"name": "Срочно", "desc": "Задачи, требующие приоритетного выполнения", "color": "#d63384"},
|
||||
{"name": "Высокий приоритет", "desc": "Задачи с высоким приоритетом", "color": "#ffc107"},
|
||||
{"name": "Низкий приоритет", "desc": "Задачи с низким приоритетом", "color": "#6c757d"},
|
||||
{"name": "Недействительно", "desc": "Задача недействительна и больше не будет обрабатываться", "color": "#adb5bd"},
|
||||
{"name": "Дубликат", "desc": "Задача дублирует существующую", "color": "#ced4da"},
|
||||
{"name": "Неприменимо", "desc": "Задача больше не актуальна для текущих требований", "color": "#dee2e6"},
|
||||
{"name": "Отложено", "desc": "Задача отложена по какой-либо причине", "color": "#ffc107"},
|
||||
{"name": "Заблокировано", "desc": "Задача заблокирована проблемами или зависимостями", "color": "#dc3545"},
|
||||
{"name": "Требует подтверждения", "desc": "Задача неполная и требует подтверждения", "color": "#0dcaf0"},
|
||||
{"name": "На удержании", "desc": "Задача временно приостановлена и может быть возобновлена позже", "color": "#adb5bd"},
|
||||
{"name": "Требует проверки", "desc": "Задача требует проверки или подведения итогов после завершения", "color": "#17a2b8"},
|
||||
{"name": "Внешняя зависимость", "desc": "Задача зависит от внешних ресурсов", "color": "#fd7e14"},
|
||||
{"name": "Межкомандное сотрудничество", "desc": "Задача требует сотрудничества нескольких команд", "color": "#17a2b8"},
|
||||
{"name": "Поддержка разработки", "desc": "Задача по поддержке других команд", "color": "#20c997"}
|
||||
]
|
||||
}
|
||||
262
resources/assets/js/pages/manage/components/ProjectTaskTag/template.js
vendored
Normal file
262
resources/assets/js/pages/manage/components/ProjectTaskTag/template.js
vendored
Normal file
@ -0,0 +1,262 @@
|
||||
export default {
|
||||
"zh": [
|
||||
{"name": "需求", "desc": "新功能或业务需求", "color": "#007bff"},
|
||||
{"name": "优化", "desc": "现有功能或体验的改进", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "问题或功能异常", "color": "#dc3545"},
|
||||
{"name": "设计", "desc": "与UI/UX设计相关的任务", "color": "#6f42c1"},
|
||||
{"name": "开发", "desc": "涉及前端或后端开发的任务", "color": "#17a2b8"},
|
||||
{"name": "测试", "desc": "测试相关任务", "color": "#fd7e14"},
|
||||
{"name": "文档", "desc": "与文档编写或维护相关的任务", "color": "#20c997"},
|
||||
{"name": "性能", "desc": "性能优化相关任务", "color": "#6610f2"},
|
||||
{"name": "安全", "desc": "与安全问题或漏洞相关的任务", "color": "#e83e8c"},
|
||||
{"name": "技术债务", "desc": "需要偿还的技术债务", "color": "#6c757d"},
|
||||
{"name": "实验性", "desc": "任务属于探索性质", "color": "#6f42c1"},
|
||||
{"name": "学习任务", "desc": "任务用于学习或研究", "color": "#20c997"},
|
||||
{"name": "紧急", "desc": "需要优先处理的任务", "color": "#d63384"},
|
||||
{"name": "高优先级", "desc": "优先级较高的任务", "color": "#ffc107"},
|
||||
{"name": "低优先级", "desc": "优先级较低的任务", "color": "#6c757d"},
|
||||
{"name": "无效", "desc": "任务被标记为无效", "color": "#adb5bd"},
|
||||
{"name": "重复", "desc": "任务与已有任务重复", "color": "#ced4da"},
|
||||
{"name": "不适用", "desc": "任务不再适用当前需求", "color": "#dee2e6"},
|
||||
{"name": "延期", "desc": "任务因某些原因被延期", "color": "#ffc107"},
|
||||
{"name": "阻塞", "desc": "任务被问题或依赖阻塞", "color": "#dc3545"},
|
||||
{"name": "待确认", "desc": "任务需要进一步确认", "color": "#0dcaf0"},
|
||||
{"name": "已搁置", "desc": "任务暂时搁置", "color": "#adb5bd"},
|
||||
{"name": "待复盘", "desc": "任务完成后需复盘", "color": "#17a2b8"},
|
||||
{"name": "外部依赖", "desc": "依赖外部资源的任务", "color": "#fd7e14"},
|
||||
{"name": "跨团队协作", "desc": "需要多个团队协作的任务", "color": "#17a2b8"},
|
||||
{"name": "研发支持", "desc": "为其他团队提供支持", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"zh-CHT": [
|
||||
{"name": "需求", "desc": "新功能或業務需求", "color": "#007bff"},
|
||||
{"name": "優化", "desc": "現有功能或體驗的改進", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "功能異常或錯誤", "color": "#dc3545"},
|
||||
{"name": "設計", "desc": "與UI/UX設計相關的任務", "color": "#6f42c1"},
|
||||
{"name": "開發", "desc": "前後端開發相關任務", "color": "#17a2b8"},
|
||||
{"name": "測試", "desc": "功能測試或用例驗證", "color": "#fd7e14"},
|
||||
{"name": "文檔", "desc": "與文檔編寫或維護相關的任務", "color": "#20c997"},
|
||||
{"name": "性能", "desc": "性能優化相關任務", "color": "#6610f2"},
|
||||
{"name": "安全", "desc": "與安全問題或漏洞相關的任務", "color": "#e83e8c"},
|
||||
{"name": "技術債務", "desc": "需要償還的技術債務", "color": "#6c757d"},
|
||||
{"name": "實驗性", "desc": "任務屬於探索性質", "color": "#6f42c1"},
|
||||
{"name": "學習任務", "desc": "任務用於學習或研究", "color": "#20c997"},
|
||||
{"name": "緊急", "desc": "需要優先處理的任務", "color": "#d63384"},
|
||||
{"name": "高優先級", "desc": "優先級較高的任務", "color": "#ffc107"},
|
||||
{"name": "低優先級", "desc": "優先級較低的任務", "color": "#6c757d"},
|
||||
{"name": "無效", "desc": "任務無效,不再處理", "color": "#adb5bd"},
|
||||
{"name": "重複", "desc": "與其他任務重複", "color": "#ced4da"},
|
||||
{"name": "不適用", "desc": "任務不再適用當前需求", "color": "#dee2e6"},
|
||||
{"name": "延期", "desc": "任務因某些原因被延期", "color": "#ffc107"},
|
||||
{"name": "阻塞", "desc": "任務被問題或依賴阻塞", "color": "#dc3545"},
|
||||
{"name": "待確認", "desc": "任務信息不完整,需確認", "color": "#0dcaf0"},
|
||||
{"name": "已擱置", "desc": "任務暫停處理,未來可能重啟", "color": "#adb5bd"},
|
||||
{"name": "待復盤", "desc": "任務完成後需總結復盤", "color": "#17a2b8"},
|
||||
{"name": "外部依賴", "desc": "依賴外部資源的任務", "color": "#fd7e14"},
|
||||
{"name": "跨團隊協作", "desc": "需要多個團隊協作的任務", "color": "#17a2b8"},
|
||||
{"name": "研發支持", "desc": "為其他團隊提供支持", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"en": [
|
||||
{"name": "Requirement", "desc": "New feature or business requirement", "color": "#007bff"},
|
||||
{"name": "Optimization", "desc": "Improvement of existing features or experience", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Feature malfunction or error", "color": "#dc3545"},
|
||||
{"name": "Design", "desc": "Tasks related to UI/UX design", "color": "#6f42c1"},
|
||||
{"name": "Development", "desc": "Tasks related to frontend or backend development", "color": "#17a2b8"},
|
||||
{"name": "Testing", "desc": "Feature testing or case verification", "color": "#fd7e14"},
|
||||
{"name": "Documentation", "desc": "Tasks related to writing or maintaining documentation", "color": "#20c997"},
|
||||
{"name": "Performance", "desc": "Tasks related to performance optimization", "color": "#6610f2"},
|
||||
{"name": "Security", "desc": "Tasks related to security issues or vulnerabilities", "color": "#e83e8c"},
|
||||
{"name": "Technical Debt", "desc": "Technical debt that needs to be addressed", "color": "#6c757d"},
|
||||
{"name": "Experimental", "desc": "Tasks of an exploratory nature", "color": "#6f42c1"},
|
||||
{"name": "Learning Task", "desc": "Tasks for learning or research purposes", "color": "#20c997"},
|
||||
{"name": "Urgent", "desc": "Tasks that need to be prioritized", "color": "#d63384"},
|
||||
{"name": "High Priority", "desc": "Tasks with high priority", "color": "#ffc107"},
|
||||
{"name": "Low Priority", "desc": "Tasks with low priority", "color": "#6c757d"},
|
||||
{"name": "Invalid", "desc": "Task is invalid and will no longer be processed", "color": "#adb5bd"},
|
||||
{"name": "Duplicate", "desc": "Task is a duplicate of an existing one", "color": "#ced4da"},
|
||||
{"name": "Not Applicable", "desc": "Task is no longer applicable to current requirements", "color": "#dee2e6"},
|
||||
{"name": "Postponed", "desc": "Task is postponed for some reason", "color": "#ffc107"},
|
||||
{"name": "Blocked", "desc": "Task is blocked by issues or dependencies", "color": "#dc3545"},
|
||||
{"name": "To Be Confirmed", "desc": "Task information is incomplete and needs confirmation", "color": "#0dcaf0"},
|
||||
{"name": "On Hold", "desc": "Task is temporarily on hold and may resume in the future", "color": "#adb5bd"},
|
||||
{"name": "To Be Reviewed", "desc": "Task needs to be reviewed or summarized after completion", "color": "#17a2b8"},
|
||||
{"name": "External Dependency", "desc": "Task depends on external resources", "color": "#fd7e14"},
|
||||
{"name": "Cross-Team Collaboration", "desc": "Task requires collaboration across multiple teams", "color": "#17a2b8"},
|
||||
{"name": "R&D Support", "desc": "Providing support to other teams", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"ko": [
|
||||
{"name": "요구사항", "desc": "새로운 기능 또는 비즈니스 요구사항", "color": "#007bff"},
|
||||
{"name": "최적화", "desc": "기존 기능 또는 경험의 개선", "color": "#28a745"},
|
||||
{"name": "버그", "desc": "기능 오작동 또는 오류", "color": "#dc3545"},
|
||||
{"name": "디자인", "desc": "UI/UX 디자인 관련 작업", "color": "#6f42c1"},
|
||||
{"name": "개발", "desc": "프론트엔드 또는 백엔드 개발 관련 작업", "color": "#17a2b8"},
|
||||
{"name": "테스트", "desc": "기능 테스트 또는 사례 검증", "color": "#fd7e14"},
|
||||
{"name": "문서화", "desc": "문서 작성 또는 유지보수 작업", "color": "#20c997"},
|
||||
{"name": "성능", "desc": "성능 최적화 관련 작업", "color": "#6610f2"},
|
||||
{"name": "보안", "desc": "보안 문제 또는 취약점 관련 작업", "color": "#e83e8c"},
|
||||
{"name": "기술 부채", "desc": "해결해야 할 기술 부채", "color": "#6c757d"},
|
||||
{"name": "실험적", "desc": "탐색적인 성격의 작업", "color": "#6f42c1"},
|
||||
{"name": "학습 작업", "desc": "학습 또는 연구를 위한 작업", "color": "#20c997"},
|
||||
{"name": "긴급", "desc": "우선적으로 처리해야 할 작업", "color": "#d63384"},
|
||||
{"name": "높은 우선순위", "desc": "우선순위가 높은 작업", "color": "#ffc107"},
|
||||
{"name": "낮은 우선순위", "desc": "우선순위가 낮은 작업", "color": "#6c757d"},
|
||||
{"name": "무효", "desc": "작업이 무효화되어 더 이상 처리되지 않음", "color": "#adb5bd"},
|
||||
{"name": "중복", "desc": "기존 작업과 중복된 작업", "color": "#ced4da"},
|
||||
{"name": "부적합", "desc": "현재 요구사항에 더 이상 적합하지 않은 작업", "color": "#dee2e6"},
|
||||
{"name": "연기됨", "desc": "특정 이유로 연기된 작업", "color": "#ffc107"},
|
||||
{"name": "차단됨", "desc": "문제 또는 의존성으로 인해 차단된 작업", "color": "#dc3545"},
|
||||
{"name": "확인 필요", "desc": "정보가 불완전하여 확인이 필요한 작업", "color": "#0dcaf0"},
|
||||
{"name": "보류 중", "desc": "작업이 일시적으로 보류되었으며, 추후 재개될 수 있음", "color": "#adb5bd"},
|
||||
{"name": "리뷰 필요", "desc": "작업 완료 후 요약 또는 리뷰가 필요한 작업", "color": "#17a2b8"},
|
||||
{"name": "외부 의존성", "desc": "외부 리소스에 의존하는 작업", "color": "#fd7e14"},
|
||||
{"name": "팀 간 협업", "desc": "다수의 팀이 협업해야 하는 작업", "color": "#17a2b8"},
|
||||
{"name": "개발 지원", "desc": "다른 팀에 지원을 제공하는 작업", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"ja": [
|
||||
{"name": "要件", "desc": "新しい機能またはビジネス要件", "color": "#007bff"},
|
||||
{"name": "最適化", "desc": "既存の機能または体験の改善", "color": "#28a745"},
|
||||
{"name": "バグ", "desc": "機能の不具合またはエラー", "color": "#dc3545"},
|
||||
{"name": "デザイン", "desc": "UI/UXデザインに関連するタスク", "color": "#6f42c1"},
|
||||
{"name": "開発", "desc": "フロントエンドまたはバックエンド開発に関するタスク", "color": "#17a2b8"},
|
||||
{"name": "テスト", "desc": "機能テストまたはケース検証", "color": "#fd7e14"},
|
||||
{"name": "ドキュメント", "desc": "ドキュメントの作成または保守に関連するタスク", "color": "#20c997"},
|
||||
{"name": "パフォーマンス", "desc": "パフォーマンス最適化に関連するタスク", "color": "#6610f2"},
|
||||
{"name": "セキュリティ", "desc": "セキュリティ問題または脆弱性に関連するタスク", "color": "#e83e8c"},
|
||||
{"name": "技術的負債", "desc": "解消が必要な技術的負債", "color": "#6c757d"},
|
||||
{"name": "実験的", "desc": "探索的な性質のタスク", "color": "#6f42c1"},
|
||||
{"name": "学習タスク", "desc": "学習または研究を目的としたタスク", "color": "#20c997"},
|
||||
{"name": "緊急", "desc": "優先的に処理が必要なタスク", "color": "#d63384"},
|
||||
{"name": "高優先度", "desc": "優先度の高いタスク", "color": "#ffc107"},
|
||||
{"name": "低優先度", "desc": "優先度の低いタスク", "color": "#6c757d"},
|
||||
{"name": "無効", "desc": "タスクが無効で、処理されなくなった", "color": "#adb5bd"},
|
||||
{"name": "重複", "desc": "既存のタスクと重複しているタスク", "color": "#ced4da"},
|
||||
{"name": "不適用", "desc": "現在の要件に適用されなくなったタスク", "color": "#dee2e6"},
|
||||
{"name": "延期", "desc": "何らかの理由で延期されたタスク", "color": "#ffc107"},
|
||||
{"name": "ブロック中", "desc": "問題または依存関係によってブロックされたタスク", "color": "#dc3545"},
|
||||
{"name": "要確認", "desc": "情報が不完全で確認が必要なタスク", "color": "#0dcaf0"},
|
||||
{"name": "保留中", "desc": "タスクが一時的に保留され、将来的に再開される可能性がある", "color": "#adb5bd"},
|
||||
{"name": "レビュー待ち", "desc": "タスク完了後に要約またはレビューが必要なタスク", "color": "#17a2b8"},
|
||||
{"name": "外部依存", "desc": "外部リソースに依存するタスク", "color": "#fd7e14"},
|
||||
{"name": "チーム間協力", "desc": "複数のチームが協力する必要があるタスク", "color": "#17a2b8"},
|
||||
{"name": "開発サポート", "desc": "他のチームにサポートを提供するタスク", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"de": [
|
||||
{"name": "Anforderung", "desc": "Neue Funktion oder geschäftliche Anforderung", "color": "#007bff"},
|
||||
{"name": "Optimierung", "desc": "Verbesserung bestehender Funktionen oder Erfahrungen", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Funktionsfehler oder Problem", "color": "#dc3545"},
|
||||
{"name": "Design", "desc": "Aufgaben im Zusammenhang mit UI/UX-Design", "color": "#6f42c1"},
|
||||
{"name": "Entwicklung", "desc": "Aufgaben im Bereich Frontend- oder Backend-Entwicklung", "color": "#17a2b8"},
|
||||
{"name": "Testen", "desc": "Funktionstests oder Fallüberprüfungen", "color": "#fd7e14"},
|
||||
{"name": "Dokumentation", "desc": "Aufgaben zur Erstellung oder Pflege von Dokumentationen", "color": "#20c997"},
|
||||
{"name": "Leistung", "desc": "Aufgaben zur Leistungsoptimierung", "color": "#6610f2"},
|
||||
{"name": "Sicherheit", "desc": "Aufgaben im Zusammenhang mit Sicherheitsproblemen oder Schwachstellen", "color": "#e83e8c"},
|
||||
{"name": "Technische Schulden", "desc": "Technische Schulden, die abgebaut werden müssen", "color": "#6c757d"},
|
||||
{"name": "Experimentell", "desc": "Aufgaben explorativer Natur", "color": "#6f42c1"},
|
||||
{"name": "Lernaufgabe", "desc": "Aufgaben zum Lernen oder für Forschungszwecke", "color": "#20c997"},
|
||||
{"name": "Dringend", "desc": "Aufgaben, die vorrangig bearbeitet werden müssen", "color": "#d63384"},
|
||||
{"name": "Hohe Priorität", "desc": "Aufgaben mit hoher Priorität", "color": "#ffc107"},
|
||||
{"name": "Niedrige Priorität", "desc": "Aufgaben mit niedriger Priorität", "color": "#6c757d"},
|
||||
{"name": "Ungültig", "desc": "Aufgabe ist ungültig und wird nicht weiter bearbeitet", "color": "#adb5bd"},
|
||||
{"name": "Duplikat", "desc": "Aufgabe ist ein Duplikat einer bestehenden Aufgabe", "color": "#ced4da"},
|
||||
{"name": "Nicht anwendbar", "desc": "Aufgabe ist für die aktuellen Anforderungen nicht mehr relevant", "color": "#dee2e6"},
|
||||
{"name": "Verschoben", "desc": "Aufgabe wurde aus bestimmten Gründen verschoben", "color": "#ffc107"},
|
||||
{"name": "Blockiert", "desc": "Aufgabe ist durch Probleme oder Abhängigkeiten blockiert", "color": "#dc3545"},
|
||||
{"name": "Zu bestätigen", "desc": "Aufgabe ist unvollständig und muss bestätigt werden", "color": "#0dcaf0"},
|
||||
{"name": "In Wartestellung", "desc": "Aufgabe ist vorübergehend pausiert und könnte später wieder aufgenommen werden", "color": "#adb5bd"},
|
||||
{"name": "Zu überprüfen", "desc": "Aufgabe muss nach Abschluss überprüft oder zusammengefasst werden", "color": "#17a2b8"},
|
||||
{"name": "Externe Abhängigkeit", "desc": "Aufgabe ist von externen Ressourcen abhängig", "color": "#fd7e14"},
|
||||
{"name": "Teamübergreifende Zusammenarbeit", "desc": "Aufgabe erfordert Zusammenarbeit mehrerer Teams", "color": "#17a2b8"},
|
||||
{"name": "Entwicklungsunterstützung", "desc": "Aufgabe zur Unterstützung anderer Teams", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"fr": [
|
||||
{"name": "Exigence", "desc": "Nouvelle fonctionnalité ou exigence métier", "color": "#007bff"},
|
||||
{"name": "Optimisation", "desc": "Amélioration des fonctionnalités ou de l'expérience existante", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Dysfonctionnement ou erreur", "color": "#dc3545"},
|
||||
{"name": "Conception", "desc": "Tâches liées à la conception UI/UX", "color": "#6f42c1"},
|
||||
{"name": "Développement", "desc": "Tâches liées au développement frontend ou backend", "color": "#17a2b8"},
|
||||
{"name": "Test", "desc": "Tests fonctionnels ou vérifications de cas", "color": "#fd7e14"},
|
||||
{"name": "Documentation", "desc": "Tâches de rédaction ou de maintenance de la documentation", "color": "#20c997"},
|
||||
{"name": "Performance", "desc": "Tâches liées à l'optimisation des performances", "color": "#6610f2"},
|
||||
{"name": "Sécurité", "desc": "Tâches liées aux problèmes ou vulnérabilités de sécurité", "color": "#e83e8c"},
|
||||
{"name": "Dette technique", "desc": "Dette technique à résoudre", "color": "#6c757d"},
|
||||
{"name": "Expérimental", "desc": "Tâches de nature exploratoire", "color": "#6f42c1"},
|
||||
{"name": "Tâche d'apprentissage", "desc": "Tâches pour apprentissage ou recherche", "color": "#20c997"},
|
||||
{"name": "Urgent", "desc": "Tâches nécessitant un traitement prioritaire", "color": "#d63384"},
|
||||
{"name": "Haute priorité", "desc": "Tâches avec une priorité élevée", "color": "#ffc107"},
|
||||
{"name": "Basse priorité", "desc": "Tâches avec une priorité basse", "color": "#6c757d"},
|
||||
{"name": "Invalide", "desc": "Tâche invalide qui ne sera plus traitée", "color": "#adb5bd"},
|
||||
{"name": "Dupliqué", "desc": "Tâche en double avec une autre existante", "color": "#ced4da"},
|
||||
{"name": "Non applicable", "desc": "Tâche non applicable aux exigences actuelles", "color": "#dee2e6"},
|
||||
{"name": "Reporté", "desc": "Tâche reportée pour une raison quelconque", "color": "#ffc107"},
|
||||
{"name": "Bloqué", "desc": "Tâche bloquée par des problèmes ou des dépendances", "color": "#dc3545"},
|
||||
{"name": "À confirmer", "desc": "Tâche incomplète nécessitant une confirmation", "color": "#0dcaf0"},
|
||||
{"name": "En attente", "desc": "Tâche temporairement suspendue, pouvant être reprise plus tard", "color": "#adb5bd"},
|
||||
{"name": "À revoir", "desc": "Tâche nécessitant un résumé ou une révision après achèvement", "color": "#17a2b8"},
|
||||
{"name": "Dépendance externe", "desc": "Tâche dépendant de ressources externes", "color": "#fd7e14"},
|
||||
{"name": "Collaboration inter-équipes", "desc": "Tâche nécessitant la collaboration de plusieurs équipes", "color": "#17a2b8"},
|
||||
{"name": "Support développement", "desc": "Tâche de support pour d'autres équipes", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"id": [
|
||||
{"name": "Kebutuhan", "desc": "Fitur baru atau kebutuhan bisnis", "color": "#007bff"},
|
||||
{"name": "Optimalisasi", "desc": "Peningkatan fitur atau pengalaman yang ada", "color": "#28a745"},
|
||||
{"name": "Bug", "desc": "Malfungsi fitur atau kesalahan", "color": "#dc3545"},
|
||||
{"name": "Desain", "desc": "Tugas terkait desain UI/UX", "color": "#6f42c1"},
|
||||
{"name": "Pengembangan", "desc": "Tugas terkait pengembangan frontend atau backend", "color": "#17a2b8"},
|
||||
{"name": "Pengujian", "desc": "Pengujian fitur atau verifikasi kasus", "color": "#fd7e14"},
|
||||
{"name": "Dokumentasi", "desc": "Tugas terkait penulisan atau pemeliharaan dokumentasi", "color": "#20c997"},
|
||||
{"name": "Performa", "desc": "Tugas terkait optimalisasi performa", "color": "#6610f2"},
|
||||
{"name": "Keamanan", "desc": "Tugas terkait masalah atau kerentanan keamanan", "color": "#e83e8c"},
|
||||
{"name": "Hutang Teknis", "desc": "Hutang teknis yang perlu diselesaikan", "color": "#6c757d"},
|
||||
{"name": "Eksperimental", "desc": "Tugas yang bersifat eksplorasi", "color": "#6f42c1"},
|
||||
{"name": "Tugas Pembelajaran", "desc": "Tugas untuk pembelajaran atau penelitian", "color": "#20c997"},
|
||||
{"name": "Mendesak", "desc": "Tugas yang perlu diprioritaskan", "color": "#d63384"},
|
||||
{"name": "Prioritas Tinggi", "desc": "Tugas dengan prioritas tinggi", "color": "#ffc107"},
|
||||
{"name": "Prioritas Rendah", "desc": "Tugas dengan prioritas rendah", "color": "#6c757d"},
|
||||
{"name": "Tidak Valid", "desc": "Tugas tidak valid dan tidak akan diproses lagi", "color": "#adb5bd"},
|
||||
{"name": "Duplikat", "desc": "Tugas yang merupakan duplikat dari tugas lain", "color": "#ced4da"},
|
||||
{"name": "Tidak Berlaku", "desc": "Tugas tidak lagi relevan dengan kebutuhan saat ini", "color": "#dee2e6"},
|
||||
{"name": "Ditunda", "desc": "Tugas yang ditunda karena alasan tertentu", "color": "#ffc107"},
|
||||
{"name": "Terblokir", "desc": "Tugas yang terhalang oleh masalah atau ketergantungan", "color": "#dc3545"},
|
||||
{"name": "Perlu Konfirmasi", "desc": "Tugas yang informasinya tidak lengkap dan perlu konfirmasi", "color": "#0dcaf0"},
|
||||
{"name": "Ditangguhkan", "desc": "Tugas yang ditangguhkan sementara dan mungkin dilanjutkan di masa depan", "color": "#adb5bd"},
|
||||
{"name": "Perlu Ditinjau", "desc": "Tugas yang perlu ditinjau atau dirangkum setelah selesai", "color": "#17a2b8"},
|
||||
{"name": "Ketergantungan Eksternal", "desc": "Tugas yang bergantung pada sumber daya eksternal", "color": "#fd7e14"},
|
||||
{"name": "Kolaborasi Antar Tim", "desc": "Tugas yang membutuhkan kolaborasi beberapa tim", "color": "#17a2b8"},
|
||||
{"name": "Dukungan Pengembangan", "desc": "Tugas untuk mendukung tim lain", "color": "#20c997"}
|
||||
],
|
||||
|
||||
"ru": [
|
||||
{"name": "Требование", "desc": "Новая функция или бизнес-требование", "color": "#007bff"},
|
||||
{"name": "Оптимизация", "desc": "Улучшение существующих функций или опыта", "color": "#28a745"},
|
||||
{"name": "Баг", "desc": "Ошибка или неисправность функции", "color": "#dc3545"},
|
||||
{"name": "Дизайн", "desc": "Задачи, связанные с дизайном UI/UX", "color": "#6f42c1"},
|
||||
{"name": "Разработка", "desc": "Задачи, связанные с разработкой фронтенда или бэкенда", "color": "#17a2b8"},
|
||||
{"name": "Тестирование", "desc": "Тестирование функций или проверка кейсов", "color": "#fd7e14"},
|
||||
{"name": "Документация", "desc": "Задачи, связанные с написанием или поддержкой документации", "color": "#20c997"},
|
||||
{"name": "Производительность", "desc": "Задачи по оптимизации производительности", "color": "#6610f2"},
|
||||
{"name": "Безопасность", "desc": "Задачи, связанные с проблемами безопасности или уязвимостями", "color": "#e83e8c"},
|
||||
{"name": "Технический долг", "desc": "Технический долг, который нужно устранить", "color": "#6c757d"},
|
||||
{"name": "Экспериментальный", "desc": "Задачи исследовательского характера", "color": "#6f42c1"},
|
||||
{"name": "Обучающая задача", "desc": "Задачи для обучения или исследований", "color": "#20c997"},
|
||||
{"name": "Срочно", "desc": "Задачи, требующие приоритетного выполнения", "color": "#d63384"},
|
||||
{"name": "Высокий приоритет", "desc": "Задачи с высоким приоритетом", "color": "#ffc107"},
|
||||
{"name": "Низкий приоритет", "desc": "Задачи с низким приоритетом", "color": "#6c757d"},
|
||||
{"name": "Недействительно", "desc": "Задача недействительна и больше не будет обрабатываться", "color": "#adb5bd"},
|
||||
{"name": "Дубликат", "desc": "Задача дублирует существующую", "color": "#ced4da"},
|
||||
{"name": "Неприменимо", "desc": "Задача больше не актуальна для текущих требований", "color": "#dee2e6"},
|
||||
{"name": "Отложено", "desc": "Задача отложена по какой-либо причине", "color": "#ffc107"},
|
||||
{"name": "Заблокировано", "desc": "Задача заблокирована проблемами или зависимостями", "color": "#dc3545"},
|
||||
{"name": "Требует подтверждения", "desc": "Задача неполная и требует подтверждения", "color": "#0dcaf0"},
|
||||
{"name": "На удержании", "desc": "Задача временно приостановлена и может быть возобновлена позже", "color": "#adb5bd"},
|
||||
{"name": "Требует проверки", "desc": "Задача требует проверки или подведения итогов после завершения", "color": "#17a2b8"},
|
||||
{"name": "Внешняя зависимость", "desc": "Задача зависит от внешних ресурсов", "color": "#fd7e14"},
|
||||
{"name": "Межкомандное сотрудничество", "desc": "Задача требует сотрудничества нескольких команд", "color": "#17a2b8"},
|
||||
{"name": "Поддержка разработки", "desc": "Задача по поддержке других команд", "color": "#20c997"}
|
||||
]
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user