Commit 0f5d1304 authored by 晓彤's avatar 晓彤

提交测试流程修改

parent 865ad754
<template>
<div class="description_text">
<div v-if="title" class="title">{{title}}</div>
<el-row :gutter="gutter">
<el-col :key="key" :span="+col" v-for="(item, key) in dataSource">
<div class="term">{ { item.term}}</div>
<div class="detail">{ { item.detail}}</div>Î
</el-col>
</el-row>
</div>
</template>
<script>
const handleArrayObj = (data) => {
return data
.filter((item) => item.tag === 'Description')
.map((item) => ({
tag: item.tag,
term: (item.data && item.data.attrs.term) || '暂无',
detail: (item.children && item.children[0].text) || '暂无'
}))
}
export default {
name: 'Description',
props: {
title: String,
content: [Object, Array],
gutter: {
type: [Number, String],
default: 20
},
col: {
type: [Number, String],
default: 8
}
},
data() {
return {
dataSource: handleArrayObj(this.$slots.default || [])
}
},
watch: {
content() {
this.dataSource = handleArrayObj(this.$slots.default || [])
} // 监听重渲染
}
}
</script>
<style lang="less" scoped>
.description_text {
.title {
font-weight: 700;
font-size: 16px;
line-height: 1.5;
margin-bottom: 20px;
color: rgba(0, 0, 0, 0.85);
}
.term {
color: rgba(0, 0, 0, 0.85);
font-weight: 400;
font-size: 14px;
line-height: 22px;
padding-bottom: 16px;
margin-right: 8px;
white-space: nowrap;
display: table-cell;
&:after {
content: ':';
margin: 0 8px 0 2px;
position: relative;
top: -0.5px;
}
}
.detail {
font-size: 14px;
line-height: 1.5;
width: 100%;
padding-bottom: 16px;
color: rgba(0, 0, 0, 0.65);
display: table-cell;
}
}
</style>
......@@ -28,7 +28,8 @@
<span>{{(queryInfo.pageNum -1 ) * queryInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="dingRobot.projectName" label="项目名" width="150px"></el-table-column>
<el-table-column prop="dingRobot.jiraProjectName" label="JIRA项目名" width="120px"></el-table-column>
<el-table-column prop="dingRobot.projectName" label="项目名" width="120px"></el-table-column>
<el-table-column label="服务->分支" width="250px">
<template slot-scope="scope">
<div v-for="item in scope.row.pipelineList" :key="item.id"><b>{{ item.serviceName }}</b> ->
......@@ -67,16 +68,20 @@
:current-page.sync="queryInfo.pageNum" :page-size="queryInfo.pageSize" layout="total, prev, pager, next"
:total="totalNum"></el-pagination>
<!-- 新增对话框 -->
<el-dialog title="新增robot" :visible.sync="addDialogVisible" width="60%" @close="closeAddDialog">
<el-dialog title="新增测试流程" :visible.sync="addDialogVisible" width="60%" @close="closeAddDialog">
<el-form ref="addRobotFormRef" :rules="formRules" :model="pipelineFrom" label-width="150px">
<el-form-item label="jira项目" prop="dingRobot.jiraProjectKey">
<el-select v-model="pipelineFrom.dingRobot.jiraProjectKey" placeholder="请选择Jira项目">
<el-select v-model="pipelineFrom.dingRobot.jiraProjectKey" placeholder="请选择Jira项目" @change="getProjectName">
<el-option v-for="item in jiraProjectList" :key="item.key" :label="item.name" :value="item.key">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="项目名称" prop="dingRobot.projectName">
<el-input v-model="pipelineFrom.dingRobot.projectName" placeholder="请输入项目名称"></el-input>
<el-select v-model="pipelineFrom.dingRobot.projectName" placeholder="请选择项目" @change="getDetail">
<el-option v-for="item in projectNameList" :key="item.id" :label="item.projectName"
:value="item.projectName">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="钉钉通知地址" prop="dingRobot.dingUrl">
<el-input v-model="pipelineFrom.dingRobot.dingUrl" placeholder="请输入钉钉通知地址" type="textarea" :rows="3">
......@@ -156,16 +161,21 @@
</el-dialog>
<!-- 编辑对话框 -->
<el-dialog title="编辑" :visible.sync="editDialogVisible" width="60%" @close="closeEditDialog">
<el-dialog title="编辑测试流程" :visible.sync="editDialogVisible" width="60%" @close="closeEditDialog">
<el-form ref="editRobotFormRef" :rules="formRules" :model="editPipelineForm" label-width="150px">
<el-form-item label="jira项目" prop="dingRobot.jiraProjectKey">
<el-select v-model="editPipelineForm.dingRobot.jiraProjectKey" placeholder="请选择Jira项目">
<el-select v-model="editPipelineForm.dingRobot.jiraProjectKey" placeholder="请选择Jira项目"
@change="getEditProjectName">
<el-option v-for="item in jiraProjectList" :key="item.key" :label="item.name" :value="item.key">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="项目名称" prop="dingRobot.projectName">
<el-input v-model="editPipelineForm.dingRobot.projectName" placeholder="请输入项目名称"></el-input>
<el-select v-model="editPipelineForm.dingRobot.projectName" placeholder="请选择项目" @change="getEditDetail">
<el-option v-for="item in editProjectNameList" :key="item.id" :label="item.projectName"
:value="item.projectName">
</el-option>
</el-select>
</el-form-item>
<el-tooltip content="钉钉机器人关键字设置为'测试'" placement="left-start" effect="light">
<el-form-item label="钉钉通知地址" prop="dingRobot.dingUrl">
......@@ -326,9 +336,18 @@ import {
// import { getNamespaceList } from '@/api/getXyqbData'
import { getNamespaceList } from '@/api/k8s'
// import { getGitlabProject } from '@/api/qaApi'
import {
detailTestDescription,
getTestProjectNameList
} from '@/api/TestDesciption'
export default {
data() {
return {
projectNameList: [],
detailForm: {
projectName: '',
jiraProjectKey: ''
},
statusList: [
{
label: '进行中',
......@@ -363,15 +382,7 @@ export default {
namespace: '',
status: 1
},
pipelineList: [
{
serviceName: '',
serviceBranch: '',
serviceType: '',
namespace: '',
enable: 1
}
]
pipelineList: []
},
// 编辑数据对象
editPipelineForm: {
......@@ -480,10 +491,69 @@ export default {
newBranchName: '',
newIndex: 0,
newList: [],
env: window.sessionStorage.getItem('env')
env: window.sessionStorage.getItem('env'),
editProjectNameList: [],
detailEditForm: {
projectName: '',
jiraProjectKey: ''
}
}
},
methods: {
// 根据jirakey获取项目名称
getProjectName() {
getTestProjectNameList({
jiraProjectKey: this.pipelineFrom.dingRobot.jiraProjectKey
}).then((resp) => {
this.projectNameList = resp.data.data
})
},
// 根据项目名称获取项目下的详细信息
getDetail() {
this.detailForm.jiraProjectKey =
this.pipelineFrom.dingRobot.jiraProjectKey
this.detailForm.projectName = this.pipelineFrom.dingRobot.projectName
this.pipelineFrom.pipelineList = []
detailTestDescription(this.detailForm).then((resp) => {
var data = resp.data.data
var serviceForm = JSON.parse(data.serviceAndBranch)
serviceForm.forEach((item) => {
this.pipelineFrom.pipelineList.push({
serviceName: item.serviceName,
serviceBranch: item.branch,
enable: 1
})
})
})
},
// 编辑页面
getEditProjectName() {
getTestProjectNameList({
jiraProjectKey: this.editPipelineForm.dingRobot.jiraProjectKey
}).then((resp) => {
this.editProjectNameList = resp.data.data
})
},
// 编辑页面项目名称下拉框改变事件
getEditDetail() {
this.detailEditForm.jiraProjectKey =
this.editPipelineForm.dingRobot.jiraProjectKey
this.detailEditForm.projectName =
this.editPipelineForm.dingRobot.projectName
this.editPipelineForm.pipelineList = []
detailTestDescription(this.detailEditForm).then((resp) => {
var data = resp.data.data
var serviceForm = JSON.parse(data.serviceAndBranch)
serviceForm.forEach((item) => {
this.editPipelineForm.pipelineList.push({
serviceName: item.serviceName,
serviceBranch: item.branch,
enable: 1
})
})
})
},
focusevent(name) {
getGitBranchList({ projectName: name }).then((resp) => {
this.serviceBranchList = resp.data.data.data
......@@ -499,6 +569,7 @@ export default {
getProjectRobotList() {
getPipelineList(this.queryInfo).then((resp) => {
this.dingRobotList = resp.data.data.list
console.log('mmm', this.dingRobotList)
this.totalNum = resp.data.data.total
})
},
......@@ -527,7 +598,6 @@ export default {
}
})
addPipeline(this.pipelineFrom).then((resp) => {
// console.log('参数信息', this.pipelineFrom)
if (resp.data.data === true) {
this.addDialogVisible = false
this.pipelineFrom.pipelineList = []
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment