|
@@ -6,64 +6,70 @@
|
|
|
</el-tabs>
|
|
|
<div class="Layout_space_between Qz_report_query">
|
|
|
<div class="Layout_space_between">
|
|
|
- <span style="width: 100px;">{{ title }}</span>
|
|
|
- <el-input v-if="history" v-model="state" size="small" filterable placeholder="报告名称搜索" style="width:100%;" @change="history ? getList(state) : gethistoryData(state)" />
|
|
|
+ <span style="min-width: 70px;">{{ title }}</span>
|
|
|
+ <el-input v-if="history" v-model="screenForm.reportName" size="small" filterable placeholder="报告名称搜索" style="width:100%;" @change="history ? getList(screenForm.reportName) : gethistoryData(screenForm.reportName)" />
|
|
|
+ </div>
|
|
|
+ <div v-if="history && title !== '测试日报' && title !== '提测报告'" class="Layout_space_between">
|
|
|
+ <span style="min-width: 70px;">通过状态</span>
|
|
|
+ <el-select v-model="screenForm.passStatus" size="medium" clearable filterable placeholder="请选择" style="width:100%;" @change="getList(screenForm.passStatus)">
|
|
|
+ <el-option v-for="item in reportStatusLists" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div v-if="history && title !== '测试日报' && title !== '准出报告'" class="Layout_space_between">
|
|
|
+ <span style="min-width: 70px;">通过状态</span>
|
|
|
+ <el-select v-model="screenForm.status" size="medium" clearable filterable placeholder="请选择" style="width:100%;" @change="getList(screenForm.status)">
|
|
|
+ <el-option v-for="item in reportStatusList" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div v-if="history && title !== '测试日报'" class="Layout_space_between">
|
|
|
+ <span style="min-width: 40px;">延期</span>
|
|
|
+ <el-select v-model="screenForm.isDelay" size="medium" clearable filterable placeholder="请选择" style="width:100%;" @change="getList(screenForm.isDelay)">
|
|
|
+ <el-option v-for="item in isDelayList" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
</div>
|
|
|
<div class="Layout_space_between">
|
|
|
<el-button v-if="!history" type="primary" size="small" @click="returnNewest">返回最新</el-button>
|
|
|
<!-- <el-button v-if="history" type="text" @click="gethistoryData">查看老数据</el-button> -->
|
|
|
<el-button v-if="history" type="primary" size="small" @click="getQueryData">新建{{ title }}</el-button>
|
|
|
+ <el-button type="text" size="medium" @click="moduleManage">模版管理</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-header>
|
|
|
-
|
|
|
<el-main class="Qz_report_main">
|
|
|
<ele-tabel :loading="loading" :data="tableDatas" :isshow-select="true" :table-configuration="tableConfiguration">
|
|
|
<span slot="specialItem" slot-scope="props">
|
|
|
<div v-if="props.type === 'jumpTips'">
|
|
|
<a href="javascript:void(0)" style="color:#20a0ff" @click="history ? toReportView(props.row) : OldDaily(props.row)">{{ filterFields(props.row, props.column) }}</a>
|
|
|
- <div v-if="title === '准出报告' && props.row.passStatus === 1" class="passStatus1">不通过</div>
|
|
|
+ <div v-if="title === '准出报告' && props.row.passStatus === 1" style="color:red;">不通过</div>
|
|
|
<div v-if="title === '提测报告' && props.row.returnReason" style="color: red;" class="breakText1">打回报告:{{ props.row.returnReason }}</div>
|
|
|
</div>
|
|
|
<div v-else>{{ filterFields(props.row, props.column) }}</div>
|
|
|
</span>
|
|
|
<template slot="operateBox" slot-scope="scope">
|
|
|
- <div v-if="title === '测试日报'">
|
|
|
- <span v-if="scope.row.status === 0" class="btnColor" @click="dailyButtom(3,scope.row)">发送</span>
|
|
|
- <span v-if="scope.row.status === 0" style="margin: 0 30px;" class="btnColor" @click="dailyButtom(2,scope.row)">编辑</span>
|
|
|
- <span v-if="scope.row.status === 0" class="btnColor" @click="report_click(4,scope.row )">删除</span>
|
|
|
- <span v-if="scope.row.status === 3" class="btnColor" @click="dailyButtom(4,scope.row)">复制</span>
|
|
|
+ <div v-if="title === '测试日报' && scope.row.status === 0">
|
|
|
+ <el-button type="text" @click="dailyButtom(3,scope.row)">发送</el-button>
|
|
|
+ <el-button type="text" style="margin: 0 20px 0 30px;" @click="dailyButtom(2,scope.row)">编辑</el-button>
|
|
|
+ <el-button type="text" @click="report_click(4,scope.row )">删除</el-button>
|
|
|
</div>
|
|
|
- <div v-if="title === '准出报告'">
|
|
|
- <div v-if="scope.row.status === 3 ? false : true">
|
|
|
- <span v-if="scope.row.status === 0" class="btnColor" @click="clientButtom(3,scope.row)">发送</span>
|
|
|
- <span v-if="scope.row.status === 0" style="margin: 0 30px;" class="btnColor" @click="clientButtom(2, scope.row)">编辑</span>
|
|
|
- <span v-if="scope.row.status === 0" class="btnColor" @click="report_click(4,scope.row )">删除</span>
|
|
|
- </div>
|
|
|
+ <el-button v-if="title === '测试日报' && scope.row.status === 3" type="text" @click="dailyButtom(4,scope.row)">复制</el-button>
|
|
|
+ <div v-if="title === '准出报告' && scope.row.status === 0">
|
|
|
+ <el-button type="text" @click="clientButtom(3,scope.row)">发送</el-button>
|
|
|
+ <el-button type="text" style="margin: 0 20px 0 30px;" @click="clientButtom(2, scope.row)">编辑</el-button>
|
|
|
+ <el-button type="text" @click="report_click(4,scope.row )">删除</el-button>
|
|
|
</div>
|
|
|
- <div v-if="title === '提测报告'">
|
|
|
- <div v-if="scope.row.status === 1 ? false : true">
|
|
|
- <span v-if="scope.row.status === 3" class="btnColor" @click="report_click(1,scope.row)">通过</span>
|
|
|
- <span v-if="scope.row.status === 3" style="margin-left: 30px;" class="btnColor" @click="report_click(2,scope.row)">打回</span>
|
|
|
- <span v-if="scope.row.status === 0" class="btnColor" @click="report_click(5,scope.row)">发送</span>
|
|
|
- <span v-if="scope.row.status === 0" style="margin: 0 30px;" class="btnColor" @click="report_click(6,scope.row)">编辑</span>
|
|
|
- <span v-if="scope.row.status === 0" class="btnColor" @click="report_click(4,scope.row )">删除</span>
|
|
|
- <span v-if="scope.row.status === 2" class="btnColor" @click="report_click(3,scope.row)">重新提测</span>
|
|
|
- </div>
|
|
|
+ <div v-if="title === '提测报告' && scope.row.status === 3">
|
|
|
+ <el-button type="text" @click="report_click(1,scope.row)">通过</el-button>
|
|
|
+ <el-button type="text" style="margin: 0 20px 0 30px;" @click="report_click(2,scope.row)">打回</el-button>
|
|
|
</div>
|
|
|
+ <div v-if="title === '提测报告' && scope.row.status === 0">
|
|
|
+ <el-button type="text" @click="report_click(5,scope.row)">发送</el-button>
|
|
|
+ <el-button type="text" style="margin: 0 20px 0 30px;" @click="report_click(6,scope.row)">编辑</el-button>
|
|
|
+ <el-button type="text" @click="report_click(4,scope.row )">删除</el-button>
|
|
|
+ </div>
|
|
|
+ <el-button v-if="title === '提测报告' && scope.row.status === 2" type="text" @click="report_click(3,scope.row)">重新提测</el-button>
|
|
|
</template>
|
|
|
</ele-tabel>
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- align="right"
|
|
|
- :current-page="curIndex"
|
|
|
- :page-sizes="[15,30,45]"
|
|
|
- :page-size="pageSize"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="total"
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- />
|
|
|
+ <el-pagination background align="right" :current-page="curIndex" :page-sizes="[15,30,45]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
|
|
</el-main>
|
|
|
|
|
|
<!-- 日报/准出/提测选择任务 -->
|
|
@@ -75,8 +81,9 @@
|
|
|
<div class="belong-task">
|
|
|
<div class="task-id">{{ item.taskId }}</div>
|
|
|
<div class="modules-name">
|
|
|
+ <span :class="[item.statusString === '开发中' || item.statusString === '测试中' ? 'status_top' : 'name']">{{ `【${item.statusString}】` }}</span>
|
|
|
<span class="name">{{ item.name }}</span>
|
|
|
- <span v-if="item.moduleInfoName" class="modules">{{ item.moduleInfoName }}</span>
|
|
|
+ <span v-if="item.moduleInfoName" style="color: #999;">{{ item.moduleInfoName }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-option>
|
|
@@ -94,9 +101,7 @@
|
|
|
<el-dialog :title="report_from.titName" :visible.sync="dialog_testData" width="30%" :close-on-click-modal="false">
|
|
|
<div style="position: absolute; top: 23px; left: 12px;width:4px;height:17px;background:#409EFF;border-radius:1px;" />
|
|
|
<div align="center">
|
|
|
- <div v-if="title === '提测报告'">是否{{ report_from.statusString }}以下提测?</div>
|
|
|
- <div v-if="title === '测试日报'">是否{{ report_from.statusString }}以下测试日报?</div>
|
|
|
- <div v-if="title === '准出报告'">是否{{ report_from.statusString }}以下准出报告?</div>
|
|
|
+ <div>{{ `是否${report_from.statusString}以下${title}?` }}</div>
|
|
|
<div style="color: #f79232;">{{ report_from.name }}</div>
|
|
|
</div>
|
|
|
<el-input v-show="report_from.statusString === '打回'" v-model="report_from.reason" type="textarea" placeholder="请输入打回原因..." :rows="3" />
|
|
@@ -112,14 +117,10 @@
|
|
|
|
|
|
<el-dialog :title="title" :visible.sync="reportDaily" class="public_task" width="70%" :close-on-click-modal="false">
|
|
|
<div class="blueStripe" />
|
|
|
- <div v-if="title === '测试日报'" style=" margin-bottom: 2%; height: 600px; overflow:scroll; overflow-x: hidden">
|
|
|
- <testPresenyL v-if="testPresenyL" :message="message" />
|
|
|
- </div>
|
|
|
- <div v-if="title === '准出报告'" style=" margin-bottom: 2%; height: 600px; overflow:scroll; overflow-x: hidden">
|
|
|
- <ResultPageyL v-if="ResultPageyL" :message="message" />
|
|
|
- </div>
|
|
|
- <div v-if="title === '提测报告'" style=" margin-bottom: 2%; height: 600px; overflow:scroll; overflow-x: hidden">
|
|
|
- <acceptTheReport v-if="acceptTheReport" :message="message" />
|
|
|
+ <div style=" margin-bottom: 2%; height: 600px; overflow:scroll; overflow-x: hidden">
|
|
|
+ <testPresenyL v-if="title === '测试日报' && testPresenyL" :message="message" />
|
|
|
+ <ResultPageyL v-if="title === '准出报告' && ResultPageyL" :message="message" />
|
|
|
+ <acceptTheReport v-if="title === '提测报告' && acceptTheReport" :message="message" />
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<checkListStopConfirm
|
|
@@ -168,6 +169,9 @@ export default {
|
|
|
activeName: 'first',
|
|
|
title: '测试日报', // 报告title
|
|
|
history: true, // 新老数据
|
|
|
+ isDelayList: [{ code: 0, name: '未延期' }, { code: 1, name: '延期' }],
|
|
|
+ reportStatusLists: [{ code: 0, name: '通过' }, { code: 1, name: '打回' }],
|
|
|
+ reportStatusList: [{ code: 1, name: '通过' }, { code: 2, name: '打回' }],
|
|
|
userInformation: localStorage.getItem('username'),
|
|
|
userNames: localStorage.getItem('realname'),
|
|
|
message: {}, // 老日报数据
|
|
@@ -183,7 +187,12 @@ export default {
|
|
|
pageSize: 15,
|
|
|
curIndex: 1,
|
|
|
total: 0,
|
|
|
- state: '',
|
|
|
+ screenForm: {
|
|
|
+ reportName: '',
|
|
|
+ passStatus: '',
|
|
|
+ status: '',
|
|
|
+ isDelay: ''
|
|
|
+ },
|
|
|
restaurants: [],
|
|
|
queryData: {}, // 选择的任务code为id
|
|
|
report_from: {
|
|
@@ -241,14 +250,19 @@ export default {
|
|
|
switch (Number(tab.index)) {
|
|
|
case 0:
|
|
|
this.title = '测试日报'
|
|
|
+ this.screenForm = { ...this.screenForm, status: '', passStatus: '', isDelay: '' }
|
|
|
this.history ? this.getList() : this.gethistoryData()
|
|
|
break
|
|
|
case 1:
|
|
|
this.title = '准出报告'
|
|
|
+ this.screenForm = { ...this.screenForm, status: '', passStatus: '', isDelay: '' }
|
|
|
+ this.reportStatusLists = [{ code: 0, name: '通过' }, { code: 1, name: '不通过' }]
|
|
|
this.history ? this.getList() : this.gethistoryData()
|
|
|
break
|
|
|
case 2:
|
|
|
this.title = '提测报告'
|
|
|
+ this.screenForm = { ...this.screenForm, status: '', passStatus: '', isDelay: '' }
|
|
|
+ this.reportStatusList = [{ code: 1, name: '通过' }, { code: 2, name: '打回' }]
|
|
|
this.history ? this.getList() : this.gethistoryData()
|
|
|
break
|
|
|
}
|
|
@@ -258,12 +272,11 @@ export default {
|
|
|
this.loading = true
|
|
|
this.history = true
|
|
|
const params = {
|
|
|
+ ...this.screenForm,
|
|
|
bizId: this.bizId,
|
|
|
curIndex: this.curIndex,
|
|
|
pageSize: this.pageSize
|
|
|
-
|
|
|
}
|
|
|
- e ? params.reportName = this.state : ''
|
|
|
if (this.title === '测试日报') {
|
|
|
const res = await dailyReportListV2(params)
|
|
|
if (res.code === 200) {
|
|
@@ -294,7 +307,7 @@ export default {
|
|
|
returnNewest() { // 返回最新
|
|
|
this.pageSize = 10
|
|
|
this.curIndex = 1
|
|
|
- this.state = ''
|
|
|
+ this.screenForm = {}
|
|
|
this.getList()
|
|
|
},
|
|
|
|
|
@@ -363,17 +376,13 @@ export default {
|
|
|
dailyButtom(e, data) { // 测试报告
|
|
|
this.report_data = data
|
|
|
this.dialogDaily = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.DailyReport.init(e, data)
|
|
|
- })
|
|
|
+ this.$nextTick(() => this.$refs.DailyReport.init(e, data))
|
|
|
},
|
|
|
|
|
|
clientButtom(e, data) { // 准出报告
|
|
|
this.report_data = data
|
|
|
this.dialogClient = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.ClientReport.init(e, data)
|
|
|
- })
|
|
|
+ this.$nextTick(() => this.$refs.ClientReport.init(e, data))
|
|
|
},
|
|
|
|
|
|
async report_click(e, data) { // 提测报告
|
|
@@ -382,13 +391,11 @@ export default {
|
|
|
switch (e) {
|
|
|
case 1:
|
|
|
this.dialog_testData = true
|
|
|
- this.report_from.titName = '提测确认'
|
|
|
- this.report_from.statusString = '通过'
|
|
|
+ this.report_from = { ...this.report_from, titName: '提测确认', statusString: '通过' }
|
|
|
break
|
|
|
case 2:
|
|
|
this.dialog_testData = true
|
|
|
- this.report_from.titName = '提测打回确认'
|
|
|
- this.report_from.statusString = '打回'
|
|
|
+ this.report_from = { ...this.report_from, titName: '提测打回确认', statusString: '打回' }
|
|
|
break
|
|
|
case 3:
|
|
|
reportdelivertestGetReportById(data.id).then(res => {
|
|
@@ -403,9 +410,7 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
this.dialogVisible1 = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.TestReport.init(4, data)
|
|
|
- })
|
|
|
+ this.$nextTick(() => this.$refs.TestReport.init(4, data))
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -413,20 +418,15 @@ export default {
|
|
|
break
|
|
|
case 4:
|
|
|
this.dialog_testData = true
|
|
|
- this.report_from.titName = '删除确认'
|
|
|
- this.report_from.statusString = '删除'
|
|
|
+ this.report_from = { ...this.report_from, titName: '删除确认', statusString: '删除' }
|
|
|
break
|
|
|
case 5:
|
|
|
this.dialogVisible1 = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.TestReport.init(3, data)
|
|
|
- })
|
|
|
+ this.$nextTick(() => this.$refs.TestReport.init(3, data))
|
|
|
break
|
|
|
case 6:
|
|
|
this.dialogVisible1 = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.TestReport.init(2, data)
|
|
|
- })
|
|
|
+ this.$nextTick(() => this.$refs.TestReport.init(2, data))
|
|
|
break
|
|
|
}
|
|
|
},
|
|
@@ -450,6 +450,31 @@ export default {
|
|
|
debounceQuery: _.debounce(function() {
|
|
|
this.getTaskList(...arguments)
|
|
|
}, 500),
|
|
|
+ async moduleManage() {
|
|
|
+ if (this.title === '测试日报') {
|
|
|
+ this.centerDialogVisible = false
|
|
|
+ this.dialogDaily = true
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.DailyReport.init('module')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (this.title === '准出报告') {
|
|
|
+ this.centerDialogVisible = false
|
|
|
+ this.dialogClient = true
|
|
|
+ this.$nextTick(() => this.$refs.ClientReport.init('module'))
|
|
|
+ }
|
|
|
+ if (this.title === '提测报告') {
|
|
|
+ this.centerDialogVisible = false
|
|
|
+ // if (res.data) {
|
|
|
+ // this.checklistStopVisible = true
|
|
|
+ // this.firstChecklistTaskId = res.data
|
|
|
+ // this.goDataReport = vel
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ this.dialogVisible1 = true
|
|
|
+ this.$nextTick(() => this.$refs.TestReport.init('module'))
|
|
|
+ }
|
|
|
+ },
|
|
|
async createPresentation(vel) {
|
|
|
if (vel !== '') {
|
|
|
if (this.title === '测试日报') {
|
|
@@ -469,9 +494,7 @@ export default {
|
|
|
if (res.code === 200) {
|
|
|
this.centerDialogVisible = false
|
|
|
this.dialogClient = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.ClientReport.init(7, [vel])
|
|
|
- })
|
|
|
+ this.$nextTick(() => this.$refs.ClientReport.init(7, [vel]))
|
|
|
} else {
|
|
|
this.centerDialogVisible = true
|
|
|
}
|
|
@@ -487,9 +510,7 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
this.dialogVisible1 = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.TestReport.init(7, [vel])
|
|
|
- })
|
|
|
+ this.$nextTick(() => this.$refs.TestReport.init(7, [vel]))
|
|
|
} else {
|
|
|
this.centerDialogVisible = true
|
|
|
}
|
|
@@ -524,7 +545,7 @@ export default {
|
|
|
this.loading = true
|
|
|
this.history = false
|
|
|
const indexPage = { bizId: this.bizId, pageSize: this.pageSize, curIndex: this.curIndex }
|
|
|
- e ? indexPage.reportName = this.state : ''
|
|
|
+ e ? indexPage.reportName = this.screenForm.reportName : ''
|
|
|
if (this.title === '测试日报') {
|
|
|
const res = await dailyReportList(indexPage)
|
|
|
if (res.code === 200) {
|
|
@@ -541,7 +562,7 @@ export default {
|
|
|
}
|
|
|
if (this.title === '提测报告') {
|
|
|
const data = { bizId: this.bizId, pageSize: this.pageSize, curIndex: this.curIndex }
|
|
|
- e ? data.name = this.state : ''
|
|
|
+ e ? data.name = this.screenForm.reportName : ''
|
|
|
const res = await launchTestList(data)
|
|
|
if (res.code === 200) {
|
|
|
this.tableData = res.data
|
|
@@ -631,8 +652,9 @@ export default {
|
|
|
background: #FFF;
|
|
|
border-radius: 4px;
|
|
|
padding: .3% 1% 1% 1%;
|
|
|
- .btnColor {
|
|
|
- color: #409eff;
|
|
|
+ /deep/.el-button {
|
|
|
+ font-weight: 400;
|
|
|
+ padding: 0 0;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -650,9 +672,6 @@ export default {
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
- .modules {
|
|
|
- color: #999999;
|
|
|
- }
|
|
|
.task-id {
|
|
|
color: #999999;
|
|
|
width: 80px;
|
|
@@ -662,9 +681,10 @@ export default {
|
|
|
color: #333333;
|
|
|
margin-right: 20px;
|
|
|
}
|
|
|
-}
|
|
|
-.passStatus1 {
|
|
|
- color:red;
|
|
|
+ .status_top {
|
|
|
+ color: #FAAD14;
|
|
|
+ margin-right: 20px;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|
|
|
<style lang="stylus">
|