Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
5e8ece46
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 大约 3 年
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5e8ece46
编写于
5月 26, 2021
作者:
C
chenjianxing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 测试跟踪部分权限问题
上级
c262beb5
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
59 addition
and
22 deletion
+59
-22
frontend/package.json
frontend/package.json
+1
-1
frontend/src/business/components/api/automation/scenario/ApiScenarioModule.vue
.../components/api/automation/scenario/ApiScenarioModule.vue
+3
-0
frontend/src/business/components/api/definition/components/module/ApiModule.vue
...components/api/definition/components/module/ApiModule.vue
+3
-0
frontend/src/business/components/common/components/MsModuleMinder.vue
.../business/components/common/components/MsModuleMinder.vue
+3
-1
frontend/src/business/components/common/components/MsTableButton.vue
...c/business/components/common/components/MsTableButton.vue
+2
-6
frontend/src/business/components/track/case/TestCase.vue
frontend/src/business/components/track/case/TestCase.vue
+2
-2
frontend/src/business/components/track/case/components/ShowMoreBtn.vue
...business/components/track/case/components/ShowMoreBtn.vue
+9
-1
frontend/src/business/components/track/case/components/TestCaseEdit.vue
...usiness/components/track/case/components/TestCaseEdit.vue
+5
-2
frontend/src/business/components/track/case/components/TestCaseList.vue
...usiness/components/track/case/components/TestCaseList.vue
+2
-1
frontend/src/business/components/track/common/NodeTree.vue
frontend/src/business/components/track/common/NodeTree.vue
+9
-1
frontend/src/business/components/track/common/TestCaseNodeTree.vue
...src/business/components/track/common/TestCaseNodeTree.vue
+3
-0
frontend/src/business/components/track/common/minder/TestCaseMinder.vue
...usiness/components/track/common/minder/TestCaseMinder.vue
+5
-1
frontend/src/business/components/track/plan/common/TestPlanTestCaseStatusButton.vue
...onents/track/plan/common/TestPlanTestCaseStatusButton.vue
+3
-0
frontend/src/business/components/track/plan/components/TestPlanList.vue
...usiness/components/track/plan/components/TestPlanList.vue
+4
-0
frontend/src/business/components/track/plan/view/comonents/functional/FunctionalTestCaseEdit.vue
...plan/view/comonents/functional/FunctionalTestCaseEdit.vue
+5
-6
未找到文件。
frontend/package.json
浏览文件 @
5e8ece46
...
...
@@ -52,7 +52,7 @@
"vue-float-action-button"
:
"^0.6.6"
,
"vue-i18n"
:
"^8.15.3"
,
"vue-jsonpath-picker"
:
"^1.1.5"
,
"vue-minder-editor-plus"
:
"^1.0.2
5
"
,
"vue-minder-editor-plus"
:
"^1.0.2
6
"
,
"vue-papa-parse"
:
"^2.0.0"
,
"vue-pdf"
:
"^4.2.0"
,
"vue-router"
:
"^3.1.3"
,
...
...
frontend/src/business/components/api/automation/scenario/ApiScenarioModule.vue
浏览文件 @
5e8ece46
...
...
@@ -8,6 +8,9 @@
:tree-nodes=
"data"
:allLabel=
"$t('commons.all_module_title')"
:type=
"isReadOnly ? 'view' : 'edit'"
:delete-permission=
"['PROJECT_API_SCENARIO:READ+DELETE']"
:add-permission=
"['PROJECT_API_SCENARIO:READ+CREATE']"
:update-permission=
"['PROJECT_API_SCENARIO:READ+EDIT']"
@
add=
"add"
@
edit=
"edit"
@
drag=
"drag"
...
...
frontend/src/business/components/api/definition/components/module/ApiModule.vue
浏览文件 @
5e8ece46
...
...
@@ -13,6 +13,9 @@
@
drag=
"drag"
@
remove=
"remove"
@
refresh=
"list"
:delete-permission=
"['PROJECT_API_DEFINITION:READ+DELETE_API']"
:add-permission=
"['PROJECT_API_DEFINITION:READ+CREATE_API']"
:update-permission=
"['PROJECT_API_DEFINITION:READ+EDIT_API']"
@
nodeSelectEvent=
"nodeChange"
ref=
"nodeTree"
>
...
...
frontend/src/business/components/common/components/MsModuleMinder.vue
浏览文件 @
5e8ece46
...
...
@@ -14,6 +14,7 @@
:default-mold=
"defaultMode"
@
afterMount=
"$emit('afterMount')"
@
moldChange=
"handleMoldChange"
:disabled=
"disabled"
@
save=
"save"
/>
</div>
...
...
@@ -63,7 +64,8 @@ export default {
},
tagDisableCheck
:
Function
,
tagEditCheck
:
Function
,
priorityDisableCheck
:
Function
priorityDisableCheck
:
Function
,
disabled
:
Boolean
},
data
()
{
return
{
...
...
frontend/src/business/components/common/components/MsTableButton.vue
浏览文件 @
5e8ece46
...
...
@@ -7,11 +7,6 @@
<
script
>
export
default
{
name
:
"
MsTableButton
"
,
data
()
{
return
{
disabled
:
false
}
},
props
:
{
content
:
String
,
icon
:
{
...
...
@@ -33,7 +28,8 @@
isTesterPermission
:
{
type
:
Boolean
,
default
:
false
}
},
disabled
:
Boolean
},
methods
:
{
exec
()
{
...
...
frontend/src/business/components/track/case/TestCase.vue
浏览文件 @
5e8ece46
...
...
@@ -74,8 +74,8 @@
</el-tab-pane>
<el-tab-pane
name=
"add"
>
<template
v-slot:label
>
<el-dropdown
@
command=
"handleCommand"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
/>
<el-dropdown
@
command=
"handleCommand"
v-permission=
"['PROJECT_TRACK_CASE:READ+CREATE']"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
/>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"ADD"
v-permission=
"['PROJECT_TRACK_CASE:READ+CREATE']"
>
{{
$t
(
'
test_track.case.create
'
)
}}
...
...
frontend/src/business/components/track/case/components/ShowMoreBtn.vue
浏览文件 @
5e8ece46
...
...
@@ -6,7 +6,7 @@
</div>
<el-dropdown-menu
slot=
"dropdown"
class=
"dropdown-menu-class"
>
<div
class=
"show-more-btn-title"
>
{{
$t
(
'
test_track.case.batch_handle
'
,
[
size
])
}}
</div>
<el-dropdown-item
v-for=
"(btn,index) in buttons"
v-permission=
"btn.permission ? btn.permission: []
"
:key=
"index"
@
click.native.stop=
"click(btn)"
>
<el-dropdown-item
v-for=
"(btn,index) in buttons"
:disabled=
"isDisable(btn)
"
:key=
"index"
@
click.native.stop=
"click(btn)"
>
{{
btn
.
name
}}
</el-dropdown-item>
</el-dropdown-menu>
...
...
@@ -15,6 +15,8 @@
</
template
>
<
script
>
import
{
hasPermissions
}
from
"
@/common/js/utils
"
;
export
default
{
name
:
"
ShowMoreBtn
"
,
props
:
{
...
...
@@ -36,6 +38,12 @@
if
(
btn
.
handleClick
instanceof
Function
)
{
btn
.
handleClick
();
}
},
isDisable
(
item
)
{
if
(
item
.
permission
&&
item
.
permission
.
length
>
0
)
{
return
!
hasPermissions
(
item
.
permission
);
}
return
true
;
}
}
}
...
...
frontend/src/business/components/track/case/components/TestCaseEdit.vue
浏览文件 @
5e8ece46
...
...
@@ -12,6 +12,7 @@
:content=
"$t('commons.save')"
size=
"small"
@
click=
"saveCase"
icon=
""
:disabled=
"readOnly"
title=
"ctrl + s"
/>
<el-dropdown
v-else
split-button
type=
"primary"
class=
"ms-api-buttion"
@
click=
"handleCommand"
@
command=
"handleCommand"
size=
"small"
style=
"float: right;margin-right: 20px"
>
...
...
@@ -123,7 +124,7 @@
import
{
getCurrentUser
,
getNodePath
,
handleCtrlSEvent
,
handleCtrlSEvent
,
hasPermission
,
listenGoBack
,
removeGoBackListener
}
from
"
@/common/js/utils
"
;
...
...
@@ -208,7 +209,6 @@
stepModel
:
'
STEP
'
,
customNum
:
''
},
readOnly
:
false
,
maintainerOptions
:
[],
testOptions
:
[],
workspaceId
:
''
,
...
...
@@ -277,6 +277,9 @@
},
systemNameMap
()
{
return
SYSTEM_FIELD_NAME_MAP
;
},
readOnly
()
{
return
!
hasPermission
(
'
PROJECT_TRACK_CASE:READ+EDIT
'
);
}
},
mounted
()
{
...
...
frontend/src/business/components/track/case/components/TestCaseList.vue
浏览文件 @
5e8ece46
...
...
@@ -275,7 +275,8 @@ export default {
handleClick
:
this
.
handleBatchEdit
,
permissions
:
[
'
PROJECT_TRACK_CASE:READ+EDIT
'
]
},
{
name
:
this
.
$t
(
'
test_track.case.batch_move_case
'
),
handleClick
:
this
.
handleBatchMove
name
:
this
.
$t
(
'
test_track.case.batch_move_case
'
),
handleClick
:
this
.
handleBatchMove
},
{
name
:
this
.
$t
(
'
test_track.case.batch_delete_case
'
),
handleClick
:
this
.
handleDeleteBatch
,
...
...
frontend/src/business/components/track/common/NodeTree.vue
浏览文件 @
5e8ece46
...
...
@@ -38,6 +38,7 @@
v-if=
"data.id !== 'root' && data.name !=='默认模块'"
class=
"item"
effect=
"dark"
v-permission=
"updatePermission"
:open-delay=
"200"
:content=
"$t('test_track.module.rename')"
placement=
"top"
>
...
...
@@ -45,6 +46,7 @@
</el-tooltip>
<el-tooltip
v-if=
"data.name ==='默认模块' && data.level !==1"
v-permission=
"updatePermission"
class=
"item"
effect=
"dark"
:open-delay=
"200"
...
...
@@ -56,6 +58,7 @@
class=
"item"
effect=
"dark"
:open-delay=
"200"
v-permission=
"addPermission"
:content=
"$t('test_track.module.add_submodule')"
placement=
"top"
>
<i
@
click.stop=
"append(node, data)"
class=
"el-icon-circle-plus-outline"
></i>
...
...
@@ -65,6 +68,7 @@
v-if=
"data.name ==='默认模块' && data.level !==1"
class=
"item"
effect=
"dark"
:open-delay=
"200"
v-permission=
"deletePermission"
:content=
"$t('commons.delete')"
placement=
"top"
>
<i
@
click.stop=
"remove(node, data)"
class=
"el-icon-delete"
></i>
...
...
@@ -75,6 +79,7 @@
class=
"item"
effect=
"dark"
:open-delay=
"200"
:content=
"$t('commons.delete')"
v-permission=
"deletePermission"
placement=
"top"
>
<i
@
click.stop=
"remove(node, data)"
class=
"el-icon-delete"
></i>
</el-tooltip>
...
...
@@ -99,7 +104,7 @@ export default {
children
:
"
children
"
,
label
:
"
label
"
},
extendTreeNodes
:
[]
extendTreeNodes
:
[]
,
};
},
props
:
{
...
...
@@ -122,6 +127,9 @@ export default {
return
50
;
}
},
updatePermission
:
Array
,
addPermission
:
Array
,
deletePermission
:
Array
},
watch
:
{
treeNodes
()
{
...
...
frontend/src/business/components/track/common/TestCaseNodeTree.vue
浏览文件 @
5e8ece46
...
...
@@ -6,6 +6,9 @@
:tree-nodes=
"treeNodes"
:type=
"'edit'"
:name-limit=
"100"
:delete-permission=
"['PROJECT_TRACK_CASE:READ+DELETE']"
:add-permission=
"['PROJECT_TRACK_CASE:READ+CREATE']"
:update-permission=
"['PROJECT_TRACK_CASE:READ+EDIT']"
@
add=
"add"
@
edit=
"edit"
@
drag=
"drag"
...
...
frontend/src/business/components/track/common/minder/TestCaseMinder.vue
浏览文件 @
5e8ece46
...
...
@@ -9,6 +9,7 @@
:distinct-tags=
"tags"
:tag-edit-check=
"tagEditCheck()"
:priority-disable-check=
"priorityDisableCheck()"
:disabled=
"disabled"
@
save=
"save"
ref=
"minder"
/>
...
...
@@ -21,7 +22,7 @@ import {
getTestCaseDataMap
,
parseCase
,
priorityDisableCheck
,
tagEditCheck
,
updateNode
}
from
"
@/business/components/track/common/minder/minderUtils
"
;
import
{
getNodePath
}
from
"
@/common/js/utils
"
;
import
{
getNodePath
,
hasPermission
}
from
"
@/common/js/utils
"
;
export
default
{
name
:
"
TestCaseMinder
"
,
components
:
{
MsModuleMinder
},
...
...
@@ -52,6 +53,9 @@ name: "TestCaseMinder",
},
moduleOptions
()
{
return
this
.
$store
.
state
.
testCaseModuleOptions
;
},
disabled
()
{
return
!
hasPermission
(
'
PROJECT_TRACK_CASE:READ+EDIT
'
);
}
},
watch
:
{
...
...
frontend/src/business/components/track/plan/common/TestPlanTestCaseStatusButton.vue
浏览文件 @
5e8ece46
...
...
@@ -41,6 +41,9 @@
},
methods
:
{
setStatus
(
status
)
{
if
(
this
.
isReadOnly
)
{
return
;
}
this
.
$emit
(
'
statusChange
'
,
status
);
}
}
...
...
frontend/src/business/components/track/plan/components/TestPlanList.vue
浏览文件 @
5e8ece46
...
...
@@ -249,6 +249,7 @@ import HeaderCustom from "@/business/components/common/head/HeaderCustom";
import
HeaderLabelOperate
from
"
@/business/components/common/head/HeaderLabelOperate
"
;
import
MsTag
from
"
@/business/components/common/components/MsTag
"
;
import
MsTestPlanScheduleMaintain
from
"
@/business/components/track/plan/components/ScheduleMaintain
"
;
import
{
hasPermission
}
from
"
@/common/js/utils
"
;
export
default
{
name
:
"
TestPlanList
"
,
...
...
@@ -366,6 +367,9 @@ export default {
this
.
$emit
(
'
testPlanEdit
'
,
testPlan
);
},
statusChange
(
data
)
{
if
(
!
hasPermission
(
'
PROJECT_TRACK_PLAN:READ+EDIT
'
))
{
return
;
}
let
oldStatus
=
data
.
item
.
status
;
let
newStatus
=
data
.
status
;
let
param
=
{};
...
...
frontend/src/business/components/track/plan/view/comonents/functional/FunctionalTestCaseEdit.vue
浏览文件 @
5e8ece46
...
...
@@ -122,7 +122,7 @@ import ApiTestDetail from "../test/ApiTestDetail";
import
ApiTestResult
from
"
../test/ApiTestResult
"
;
import
PerformanceTestDetail
from
"
../test/PerformanceTestDetail
"
;
import
PerformanceTestResult
from
"
../test/PerformanceTestResult
"
;
import
{
getUUID
,
listenGoBack
,
removeGoBackListener
}
from
"
@/common/js/utils
"
;
import
{
getUUID
,
hasPermission
,
listenGoBack
,
removeGoBackListener
}
from
"
@/common/js/utils
"
;
import
TestCaseAttachment
from
"
@/business/components/track/case/components/TestCaseAttachment
"
;
import
CaseComment
from
"
@/business/components/track/case/components/CaseComment
"
;
import
MsPreviousNextButton
from
"
../../../../../common/components/MsPreviousNextButton
"
;
...
...
@@ -185,7 +185,8 @@ export default {
testCaseTemplate
:
{},
formLabelWidth
:
"
100px
"
,
isCustomFiledActive
:
false
,
otherInfoActive
:
true
otherInfoActive
:
true
,
isReadOnly
:
false
};
},
props
:
{
...
...
@@ -194,10 +195,6 @@ export default {
},
searchParam
:
{
type
:
Object
},
isReadOnly
:
{
type
:
Boolean
,
default
:
false
}
},
computed
:
{
...
...
@@ -383,6 +380,8 @@ export default {
this
.
activeTab
=
'
detail
'
;
this
.
hasTapdId
=
false
;
this
.
hasZentaoId
=
false
;
this
.
isReadOnly
=
!
hasPermission
(
'
PROJECT_TRACK_PLAN:READ+RELEVANCE_OR_CANCEL
'
);
listenGoBack
(
this
.
handleClose
);
let
initFuc
=
this
.
initData
;
getTemplate
(
'
field/template/case/get/relate/
'
,
this
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录