|
@@ -5,57 +5,57 @@
|
|
|
<div class="operate-flex">
|
|
|
<div style="width:100%">
|
|
|
<span>状态</span>
|
|
|
- <el-select v-model="form.statusString" size="medium" style="width:27%;margin-right: 15px;" clearable placeholder="状态">
|
|
|
- <el-option v-for="item in statusOptions" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
+ <el-select v-model="form.status" size="medium" style="width:30%;margin-right: 15px;" clearable placeholder="状态">
|
|
|
+ <el-option v-for="item in processStatusEnumList" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
</el-select>
|
|
|
<span>优先级</span>
|
|
|
- <el-select v-model="form.statusString" size="medium" style="width:27%;margin-right: 15px;" clearable placeholder="优先级">
|
|
|
- <el-option v-for="item in statusOptions" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
+ <el-select v-model="form.priority" size="medium" style="width:30%;margin-right: 15px;" clearable placeholder="优先级">
|
|
|
+ <el-option v-for="item in bugLevelStr" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div style="display:flex">
|
|
|
+ <el-button type="primary" plain size="medium">新建提测报告</el-button>
|
|
|
<el-button type="primary" plain size="medium">新建日报报告</el-button>
|
|
|
<el-button type="primary" plain size="medium">新建准出报告</el-button>
|
|
|
- <el-button type="primary" plain size="medium">新建日报</el-button>
|
|
|
<el-button type="primary" plain size="medium">新建bug</el-button>
|
|
|
<el-button type="primary" plain size="medium">编辑</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- 任务名称 : 222
|
|
|
+ 任务名称 : {{ form.name }}
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-fourparts">业务线 : 222</div>
|
|
|
- <div class="divide-fourparts">任务类型 : 222</div>
|
|
|
- <div class="divide-fourparts">产品 : 222</div>
|
|
|
- <div class="divide-fourparts">分组 : 222</div>
|
|
|
+ <div class="divide-fourparts">业务线 : {{ form.bizIdString }}</div>
|
|
|
+ <div class="divide-fourparts">任务类型 : {{ form.taskType }}</div>
|
|
|
+ <div class="divide-fourparts">产品 : {{ form.pm }}</div>
|
|
|
+ <div class="divide-fourparts">分组 : {{ form.group }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-fourparts">平台类型 : 222</div>
|
|
|
- <div class="divide-fourparts">是否免测 : 222</div>
|
|
|
- <div class="divide-fourparts">测试 : 222</div>
|
|
|
- <div class="divide-fourparts">标签 : 222</div>
|
|
|
+ <div class="divide-fourparts">平台类型 : {{ form.type }}</div>
|
|
|
+ <div class="divide-fourparts">是否免测 : {{ form.noTestString }}</div>
|
|
|
+ <div class="divide-fourparts">测试 : {{ form.qa }}</div>
|
|
|
+ <div class="divide-fourparts">标签 : {{ form.tag }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-fourparts">业务模块 : 222</div>
|
|
|
- <div class="divide-fourparts">打回次数 : 222</div>
|
|
|
- <div class="divide-fourparts">开发 : 222</div>
|
|
|
+ <div class="divide-fourparts">业务模块 : {{ form.clientTypeString }}</div>
|
|
|
+ <div class="divide-fourparts">打回次数 : {{ form.reopen }}</div>
|
|
|
+ <div class="divide-fourparts">开发 : {{ form.rd }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege-end-one">
|
|
|
- 描述 : 222
|
|
|
+ 描述 : {{ form.description }}
|
|
|
</div>
|
|
|
<div class="display-messege-end">
|
|
|
- 技术文档 : 222
|
|
|
+ 技术文档 : {{ form.devUrl }}
|
|
|
</div>
|
|
|
<div class="display-messege-end">
|
|
|
- 需求文档 : 222
|
|
|
+ 需求文档 : {{ form.mrdUrl }}
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="block">
|
|
|
<el-tabs v-model="activeName">
|
|
|
<el-tab-pane label="提测报告" name="first">
|
|
|
<el-table
|
|
|
- :data="tableData"
|
|
|
+ :data="listTaskDatas"
|
|
|
height="215"
|
|
|
border
|
|
|
style="width: 100%"
|
|
@@ -68,18 +68,24 @@
|
|
|
width="80"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="vehicleId"
|
|
|
+ prop="name"
|
|
|
label="标题名称"
|
|
|
align="center"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="vehicleVersion"
|
|
|
label="状态"
|
|
|
align="center"
|
|
|
width="130"
|
|
|
- />
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag
|
|
|
+ :type="scope.row.statusString === '打回' ? 'danger' : 'success'"
|
|
|
+ disable-transitions
|
|
|
+ >{{ scope.row.statusString }}</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="ecuId"
|
|
|
+ prop="gmtCreate"
|
|
|
label="创建时间"
|
|
|
align="center"
|
|
|
/>
|
|
@@ -88,18 +94,29 @@
|
|
|
align="center"
|
|
|
width="300"
|
|
|
>
|
|
|
- <template>
|
|
|
+ <template slot-scope="scope">
|
|
|
<div>
|
|
|
- <el-button size="mini" type="primary" plain>编辑</el-button>
|
|
|
- <el-button size="mini" type="danger" plain>打回</el-button>
|
|
|
+ <el-button size="mini" type="primary" plain @click="pass(1,scope.row.id)">通过</el-button>
|
|
|
+ <el-button size="mini" type="danger" plain @click="back(2,scope.row.id)">打回</el-button>
|
|
|
+ <el-dialog
|
|
|
+ title="打回原因"
|
|
|
+ :visible.sync="centerDialogVisible"
|
|
|
+ width="30%"
|
|
|
+ >
|
|
|
+ <el-input v-model="CallBackTheReason" type="textarea" :rows="3" />
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" size="mini" @click="passOrBackSend()">确 定</el-button>
|
|
|
+ <el-button type="danger" size="mini" @click="centerDialogVisible = false">取 消</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="每日报告" name="second">
|
|
|
+ <el-tab-pane label="日报报告" name="second">
|
|
|
<el-table
|
|
|
- :data="tableData"
|
|
|
+ :data="dailyTestReports"
|
|
|
height="215"
|
|
|
border
|
|
|
style="width: 100%"
|
|
@@ -112,12 +129,12 @@
|
|
|
width="80"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="vehicleId"
|
|
|
+ prop="reportName"
|
|
|
label="标题名称"
|
|
|
align="center"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="name"
|
|
|
+ prop="gmtCreate"
|
|
|
label="创建时间"
|
|
|
align="center"
|
|
|
/>
|
|
@@ -125,7 +142,7 @@
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="准出报告" name="third">
|
|
|
<el-table
|
|
|
- :data="tableData"
|
|
|
+ :data="projectTestReports"
|
|
|
height="215"
|
|
|
border
|
|
|
style="width: 100%"
|
|
@@ -138,26 +155,32 @@
|
|
|
width="80"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="vehicleId"
|
|
|
+ prop="reportName"
|
|
|
label="标题名称"
|
|
|
align="center"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="vehicleVersion"
|
|
|
label="状态"
|
|
|
align="center"
|
|
|
width="130"
|
|
|
- />
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag
|
|
|
+ :type="scope.row.statusString === '打回' ? 'danger' : 'success'"
|
|
|
+ disable-transitions
|
|
|
+ >{{ scope.row.statusString }}</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="name"
|
|
|
+ prop="gmtCreate"
|
|
|
label="创建时间"
|
|
|
align="center"
|
|
|
/>
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="Bug" name="forth">
|
|
|
+ <el-tab-pane label="Bug报告" name="forth">
|
|
|
<el-table
|
|
|
- :data="tableData"
|
|
|
+ :data="projectBug"
|
|
|
height="215"
|
|
|
border
|
|
|
style="width: 100%"
|
|
@@ -170,23 +193,29 @@
|
|
|
width="80"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="vehicleId"
|
|
|
+ prop="bugName"
|
|
|
label="标题名称"
|
|
|
align="center"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="vehicleVersion"
|
|
|
label="状态"
|
|
|
align="center"
|
|
|
width="130"
|
|
|
- />
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag
|
|
|
+ :type="scope.row.bugStatusName === '打回' ? 'danger' : 'success'"
|
|
|
+ disable-transitions
|
|
|
+ >{{ scope.row.bugStatusName }}</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="ecuId"
|
|
|
+ prop="gmtCreate"
|
|
|
label="创建时间"
|
|
|
align="center"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- prop="name"
|
|
|
+ prop="currentHandler"
|
|
|
label="当前处理人"
|
|
|
align="center"
|
|
|
/>
|
|
@@ -196,27 +225,27 @@
|
|
|
</div>
|
|
|
<div class="block-end">
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-twoparts">需求评审时间 : 222</div>
|
|
|
- <div class="divide-twoparts">计划提测时间 : 222</div>
|
|
|
+ <div class="divide-twoparts">需求评审时间 : {{ form.mrdTime }}</div>
|
|
|
+ <div class="divide-twoparts">计划提测时间 : {{ form.launchTestPlanTime }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-twoparts">冒烟测试完成时间 : 222</div>
|
|
|
- <div class="divide-twoparts">实际提测时间 : 222</div>
|
|
|
+ <div class="divide-twoparts">冒烟测试完成时间 : {{ form.smokeTestFinishTime }}</div>
|
|
|
+ <div class="divide-twoparts">实际提测时间 : {{ form.launchTestRealTime }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-twoparts">实际开始开发时间 : 222</div>
|
|
|
- <div class="divide-twoparts">实际开始测试时间 : 222</div>
|
|
|
+ <div class="divide-twoparts">实际开始开发时间 : {{ form.startDevRealTime }}</div>
|
|
|
+ <div class="divide-twoparts">计划测试完成时间 : {{ form.testFinishPlanTime }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-twoparts">计划开始开发时间 : 222</div>
|
|
|
- <div class="divide-twoparts">计划开始测试时间 : 222</div>
|
|
|
+ <div class="divide-twoparts">计划开始开发时间 : {{ form.startDevPlanTime }}</div>
|
|
|
+ <div class="divide-twoparts">实际测试完成时间 : {{ form.testFinishRealTime }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- <div class="divide-twoparts">计划上线时间 : 222</div>
|
|
|
- <div class="divide-twoparts">实际上线时间 : 222</div>
|
|
|
+ <div class="divide-twoparts">计划上线时间 : {{ form.onlinePlanTime }}</div>
|
|
|
+ <div class="divide-twoparts">实际上线时间 : {{ form.onlineRealTime }}</div>
|
|
|
</div>
|
|
|
<div class="display-messege">
|
|
|
- 备注 : 222
|
|
|
+ 备注 : {{ form.remark }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -224,37 +253,80 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import { getTaskData, launchTestUpdate } from '@/api/projectPage.js'
|
|
|
+import { bugGetEnum } from '@/api/defectManage' // 下拉菜单data
|
|
|
+
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
form: {},
|
|
|
- statusOptions: [],
|
|
|
- activeName: 'first',
|
|
|
- tableData: [{
|
|
|
- date: '2016-05-03',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-02',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-04',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-01',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-08',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-06',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }]
|
|
|
+ CallBackTheReason: '',
|
|
|
+ userInformation: localStorage.getItem('username'),
|
|
|
+ userNames: localStorage.getItem('realname'),
|
|
|
+ bizJson: localStorage.getItem('key'),
|
|
|
+ listTaskDatas: [], // 提测报告table
|
|
|
+ dailyTestReports: [], // 日报报告table
|
|
|
+ projectTestReports: [], // 准出报告table
|
|
|
+ projectBug: [], // bug报告table
|
|
|
+ CallBackStatus: '',
|
|
|
+ CallBackId: '',
|
|
|
+ centerDialogVisible: false,
|
|
|
+ processStatusEnumList: [],
|
|
|
+ bugLevelStr: [],
|
|
|
+ activeName: 'first'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.bugListSelect()
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // id get
|
|
|
+ getList() {
|
|
|
+ getTaskData(this.$route.query.id).then(res => {
|
|
|
+ this.form = res.data
|
|
|
+ this.listTaskDatas = res.data.launchTestInfoList
|
|
|
+ // this.listTaskDatas.statusString = this.form.statusString
|
|
|
+ this.projectTestReports = res.data.projectTestReports
|
|
|
+ // this.projectTestReports.statusString = this.form.statusString
|
|
|
+ this.dailyTestReports = res.data.dailyTestReports
|
|
|
+ this.projectBug = res.data.bugBaseInfoDOS
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 打回
|
|
|
+ back(e, ele) {
|
|
|
+ this.centerDialogVisible = true
|
|
|
+ this.CallBackStatus = e
|
|
|
+ this.CallBackId = ele
|
|
|
+ },
|
|
|
+ // 通过
|
|
|
+ pass(e, ele) {
|
|
|
+ this.CallBackStatus = e
|
|
|
+ this.CallBackId = ele
|
|
|
+ this.passOrBackSend()
|
|
|
+ },
|
|
|
+ passOrBackSend() {
|
|
|
+ this.centerDialogVisible = false
|
|
|
+ const tt = { status: this.CallBackStatus, id: this.CallBackId }
|
|
|
+ this.userData = { id: '', ename: this.userInformation, name: this.userNames }
|
|
|
+ this.objData = { launchTestInfo: tt, user: this.userData }
|
|
|
+ launchTestUpdate(this.objData).then(res => {
|
|
|
+ res.code === 200 ? this.successFun('operate') : this.errorFun('operate')
|
|
|
+ this.getList()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 所有下拉菜单数据
|
|
|
+ bugListSelect() {
|
|
|
+ bugGetEnum().then(res => {
|
|
|
+ this.bugLevelStr = res.data.priorityEnumList
|
|
|
+ this.processStatusEnumList = res.data.processStatusEnumList
|
|
|
+ })
|
|
|
+ },
|
|
|
+ successFun(successText) {
|
|
|
+ this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
|
|
|
+ },
|
|
|
+ errorFun(errorText) {
|
|
|
+ this.$notify({ title: 'Failed', message: `${errorText} Failed`, type: 'error', duration: 2000 })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -277,6 +349,9 @@ export default {
|
|
|
background-color white
|
|
|
.block >>> th
|
|
|
background-color #F0F2F4 !important
|
|
|
+ .block >>> .el-dialog__header
|
|
|
+ padding 20px 20px 0px 20px
|
|
|
+ display flex
|
|
|
.block-end
|
|
|
background-color rgba(255,255,255,1)
|
|
|
box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
|