Commit 156ee816 authored by 晓彤's avatar 晓彤

测试流程页面添加状态列和状态搜索已经完成按钮

parent 03936697
...@@ -110,3 +110,11 @@ export function delPipeline(queryInfo) { ...@@ -110,3 +110,11 @@ export function delPipeline(queryInfo) {
params: queryInfo params: queryInfo
}) })
} }
// 改变项目状态
export function changePipelineStatus(data) {
return request({
url: '/pipeline/finish',
method: 'post',
data
})
}
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
v-permission="('docker:envTemplate:create')">新增</el-button> v-permission="('docker:envTemplate:create')">新增</el-button>
</div> </div>
<el-table :data="envTemplateList" border style="width: 100%;margin-top:20px"> <el-table :data="envTemplateList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px"> <el-table-column type='index' width="80px" label="序号">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{(queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span> <span>{{(queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="envTemplate.name" label="名称" width="100px"></el-table-column> <el-table-column prop="envTemplate.name" label="名称" width="300px"></el-table-column>
<el-table-column prop="envTemplate.updateTime" label="更新时间" width="200px"></el-table-column> <el-table-column prop="envTemplate.updateTime" label="更新时间" width="200px"></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<slot slot-scope="scope"> <slot slot-scope="scope">
......
...@@ -10,6 +10,11 @@ ...@@ -10,6 +10,11 @@
<el-select v-model="queryInfo.namespace" placeholder="请选择环境" clearable> <el-select v-model="queryInfo.namespace" placeholder="请选择环境" clearable>
<el-option v-for="item in namespaceList" :key="item.name" :label="item.name" :value="item.name"></el-option> <el-option v-for="item in namespaceList" :key="item.name" :label="item.name" :value="item.name"></el-option>
</el-select> </el-select>
<!-- 新增状态查询 -->
状 态:
<el-select v-model="queryInfo.status" placeholder="请选择状态" clearable>
<el-option v-for="item in statusList" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input v-model="queryInfo.projectName" clearable placeholder="请输入项目名称" style="width: 300px;"> <el-input v-model="queryInfo.projectName" clearable placeholder="请输入项目名称" style="width: 300px;">
</el-input> </el-input>
<el-button type="primary" style="margin-left:10px" icon="el-icon-search" @click="queryData">查询</el-button> <el-button type="primary" style="margin-left:10px" icon="el-icon-search" @click="queryData">查询</el-button>
...@@ -18,10 +23,12 @@ ...@@ -18,10 +23,12 @@
</div> </div>
<el-table :data="dingRobotList" border style="width: 100%"> <el-table :data="dingRobotList" border style="width: 100%">
<!-- <el-table-column prop="id" label="编号" width="80px"></el-table-column> --> <el-table-column type="index" label="序号" width="50px">
<el-table-column type="index" label="序号" width="50px"></el-table-column> <template slot-scope="scope">
<span>{{(queryInfo.pageNum -1 ) * queryInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="dingRobot.projectName" label="项目名" width="220px"></el-table-column> <el-table-column prop="dingRobot.projectName" label="项目名" width="220px"></el-table-column>
<!-- <el-table-column prop="dingUrl" label="钉钉url"></el-table-column> -->
<el-table-column label="服务->分支" width="300px"> <el-table-column label="服务->分支" width="300px">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-for="item in scope.row.pipelineList" :key="item.id"><b>{{ item.serviceName }}</b> -> <div v-for="item in scope.row.pipelineList" :key="item.id"><b>{{ item.serviceName }}</b> ->
...@@ -29,9 +36,13 @@ ...@@ -29,9 +36,13 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dingRobot.namespace" label="测试环境" width="100px"></el-table-column> <el-table-column prop="dingRobot.namespace" label="测试环境" width="100px"></el-table-column>
<el-table-column prop="dingRobot.namespace" label="状 态" width="100px"></el-table-column> <el-table-column prop="dingRobot.status" label="状 态" width="100px">
<el-table-column prop="dingRobot.creator" label="创建人" width="100px"> <template slot-scope="scope">
<p v-if="scope.row.dingRobot.status===1">进行中</p>
<p v-if="scope.row.dingRobot.status===2">已完成</p>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="dingRobot.creator" label="创建人" width="100px"></el-table-column>
<el-table-column prop="dingRobot.createTime" label="创建时间" width="180px"></el-table-column> <el-table-column prop="dingRobot.createTime" label="创建时间" width="180px"></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<slot slot-scope="scope"> <slot slot-scope="scope">
...@@ -41,6 +52,10 @@ ...@@ -41,6 +52,10 @@
v-permission="('qa:process:smoke')">冒烟测试</el-button> v-permission="('qa:process:smoke')">冒烟测试</el-button>
<el-button type="success" size="small" @click="openSendDialog(scope.row)" <el-button type="success" size="small" @click="openSendDialog(scope.row)"
v-permission="('qa:process:schedule')">发送进度</el-button> v-permission="('qa:process:schedule')">发送进度</el-button>
<el-button :disabled="scope.row.dingRobot.status===1?false:true" type="success" size="small"
@click="finishDialog(scope.row)" v-permission="('qa:process:schedule')">完成</el-button>
<el-button type="danger" size="small" @click="delProjectRobot(scope.row.dingRobot.id)" <el-button type="danger" size="small" @click="delProjectRobot(scope.row.dingRobot.id)"
v-permission="('qa:process:del')">删除</el-button> v-permission="('qa:process:del')">删除</el-button>
</slot> </slot>
...@@ -71,9 +86,9 @@ ...@@ -71,9 +86,9 @@
<el-input v-model="pipelineFrom.dingRobot.dingUrl" placeholder="请输入钉钉通知地址" type="textarea" :rows="3"> <el-input v-model="pipelineFrom.dingRobot.dingUrl" placeholder="请输入钉钉通知地址" type="textarea" :rows="3">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="创建人" prop="dingRobot.creator"> <!-- <el-form-item label="创建人" prop="dingRobot.creator">
<el-input v-model="pipelineFrom.dingRobot.creator" placeholder="请输入创建人"></el-input> <el-input v-model="pipelineFrom.dingRobot.creator" placeholder="请输入创建人"></el-input>
</el-form-item> </el-form-item> -->
<el-form-item label="环 境" prop="dingRobot.namespace"> <el-form-item label="环 境" prop="dingRobot.namespace">
<el-select v-model="pipelineFrom.dingRobot.namespace" placeholder="请选择环境"> <el-select v-model="pipelineFrom.dingRobot.namespace" placeholder="请选择环境">
<el-option v-for="item in namespaceList" :key="item.name" :label="item.name" :value="item.name"> <el-option v-for="item in namespaceList" :key="item.name" :label="item.name" :value="item.name">
...@@ -165,10 +180,9 @@ ...@@ -165,10 +180,9 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-tooltip> </el-tooltip>
<el-form-item label="创建人" prop="dingRobot.creator"> <!-- <el-form-item label="创建人" prop="dingRobot.creator">
<el-input v-model="editPipelineForm.dingRobot.creator"></el-input> <el-input v-model="editPipelineForm.dingRobot.creator"></el-input>
</el-form-item> </el-form-item> -->
<el-form-item label="环 境" prop="dingRobot.namespace"> <el-form-item label="环 境" prop="dingRobot.namespace">
<el-select v-model="editPipelineForm.dingRobot.namespace" placeholder="请选择环境"> <el-select v-model="editPipelineForm.dingRobot.namespace" placeholder="请选择环境">
<el-option v-for="item in namespaceList" :key="item.name" :label="item.name" :value="item.name"> <el-option v-for="item in namespaceList" :key="item.name" :label="item.name" :value="item.name">
...@@ -316,7 +330,8 @@ import { ...@@ -316,7 +330,8 @@ import {
getGitProjectList, getGitProjectList,
getGitBranchList, getGitBranchList,
getJiraIssueList, getJiraIssueList,
delPipeline delPipeline,
changePipelineStatus
} from '@/api/jira' } from '@/api/jira'
// import { getNamespaceList } from '@/api/getXyqbData' // import { getNamespaceList } from '@/api/getXyqbData'
import { getNamespaceList } from '@/api/k8s' import { getNamespaceList } from '@/api/k8s'
...@@ -324,6 +339,16 @@ import { getNamespaceList } from '@/api/k8s' ...@@ -324,6 +339,16 @@ import { getNamespaceList } from '@/api/k8s'
export default { export default {
data() { data() {
return { return {
statusList: [
{
label: '进行中',
value: 1
},
{
label: '已完成',
value: 2
}
],
dingRobotList: [], dingRobotList: [],
jiraProjectList: [], jiraProjectList: [],
queryInfo: { queryInfo: {
...@@ -331,7 +356,8 @@ export default { ...@@ -331,7 +356,8 @@ export default {
pageSize: 10, pageSize: 10,
jiraProjectKey: '', jiraProjectKey: '',
projectName: '', projectName: '',
namespace: '' namespace: '',
status: ''
}, },
totalNum: 0, totalNum: 0,
addDialogVisible: false, addDialogVisible: false,
...@@ -342,9 +368,10 @@ export default { ...@@ -342,9 +368,10 @@ export default {
dingRobot: { dingRobot: {
projectName: '', projectName: '',
dingUrl: '', dingUrl: '',
creator: '', // creator: '',
jiraProjectKey: '', jiraProjectKey: '',
namespace: '' namespace: '',
status: 1
}, },
pipelineList: [ pipelineList: [
{ {
...@@ -362,9 +389,10 @@ export default { ...@@ -362,9 +389,10 @@ export default {
id: '', id: '',
projectName: '', projectName: '',
dingUrl: '', dingUrl: '',
creator: '', // creator: '',
jiraProjectKey: '', jiraProjectKey: '',
namespace: '' namespace: '',
status: ''
}, },
pipelineList: [ pipelineList: [
{ {
...@@ -425,9 +453,6 @@ export default { ...@@ -425,9 +453,6 @@ export default {
trigger: 'blur' trigger: 'blur'
} }
], ],
creator: [
{ required: true, message: '请输入创建人', trigger: 'blur' }
],
namespace: [ namespace: [
{ required: true, message: '请输入创建人', trigger: 'blur' } { required: true, message: '请输入创建人', trigger: 'blur' }
] ]
...@@ -452,17 +477,14 @@ export default { ...@@ -452,17 +477,14 @@ export default {
} }
] ]
}, },
serviceName: '', serviceName: '',
serviceType: '', serviceType: '',
serviceList: [], serviceList: [],
serviceBranchList: [], serviceBranchList: [],
serviceMode: { serviceMode: {
is_active: true, is_active: true,
deploy_to_testenv: true deploy_to_testenv: true
}, },
namespaceList: [], namespaceList: [],
projectName: '', projectName: '',
newBranchName: '', newBranchName: '',
...@@ -486,7 +508,6 @@ export default { ...@@ -486,7 +508,6 @@ export default {
// 获取ding_robot列表 // 获取ding_robot列表
getProjectRobotList() { getProjectRobotList() {
getPipelineList(this.queryInfo).then((resp) => { getPipelineList(this.queryInfo).then((resp) => {
// console.log('列表信息', resp.data.data.list)
this.dingRobotList = resp.data.data.list this.dingRobotList = resp.data.data.list
this.totalNum = resp.data.data.total this.totalNum = resp.data.data.total
}) })
...@@ -516,6 +537,7 @@ export default { ...@@ -516,6 +537,7 @@ export default {
} }
}) })
addPipeline(this.pipelineFrom).then((resp) => { addPipeline(this.pipelineFrom).then((resp) => {
// console.log('参数信息', this.pipelineFrom)
if (resp.data.data === true) { if (resp.data.data === true) {
this.addDialogVisible = false this.addDialogVisible = false
this.pipelineFrom.pipelineList = [] this.pipelineFrom.pipelineList = []
...@@ -644,7 +666,6 @@ export default { ...@@ -644,7 +666,6 @@ export default {
}, },
// 点击编辑按钮 // 点击编辑按钮
openEditDialog(projectRobot) { openEditDialog(projectRobot) {
// console.log('333', projectRobot)
this.editDialogVisible = true this.editDialogVisible = true
this.getServiceList() this.getServiceList()
this.getNamespaceList() this.getNamespaceList()
...@@ -663,6 +684,39 @@ export default { ...@@ -663,6 +684,39 @@ export default {
this.scheduleUnsolvedIssueList = resp.data.data this.scheduleUnsolvedIssueList = resp.data.data
}) })
}, },
// 对话框方法
openMessage(message, confirmText, doit) {
this.$messageBox
.confirm(message, '确定', {
cancelButtonText: '取消',
confirmButtonText: confirmText,
type: 'warning'
})
.then(() => {
doit()
})
.catch(() => {})
},
// 完成按钮
finishDialog(row) {
var formdata = new FormData()
formdata.set('dingRobotId', row.dingRobot.id)
formdata.set('status', 2)
this.openMessage('是否已经完成?', '确定', () => {
changePipelineStatus(formdata)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('标记完成成功!')
return this.getProjectRobotList()
} else {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
})
},
// 打开发送冒烟测试结果对话框 // 打开发送冒烟测试结果对话框
openSendSmokingDialog(projectRobot) { openSendSmokingDialog(projectRobot) {
this.smokingDialogVisible = true this.smokingDialogVisible = true
......
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