Browse Source

优化

master
陈裕财 3 years ago
parent
commit
1157809687
  1. 2
      src/api/xm/core/xmTestCase.js
  2. 2
      src/api/xm/core/xmTestPlan.js
  3. 2
      src/api/xm/core/xmTestPlanCase.js
  4. 3
      src/components/MdpSelectDict/index.vue
  5. 10
      src/views/xm/core/xmFunc/XmFuncSelect.vue
  6. 5
      src/views/xm/core/xmQuestion/XmQuestionEdit.vue
  7. 13
      src/views/xm/core/xmTestCase/XmTestCaseMng.vue
  8. 19
      src/views/xm/core/xmTestCase/XmTestCaseSelect.vue
  9. 2
      src/views/xm/core/xmTestPlan/XmTestPlanEdit.vue
  10. 15
      src/views/xm/core/xmTestPlan/XmTestPlanMng.vue
  11. 12
      src/views/xm/core/xmTestPlanCase/XmTestPlanCaseMng.vue
  12. 24
      src/views/xm/core/xmTestPlanCase/XmTestPlanCaseSelect.vue

2
src/api/xm/core/xmTestCase.js

@ -35,7 +35,7 @@ export const editSomeFieldsXmTestCase = params => { return axios.post(`${base}/x
/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ /**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */
//初始化页面上的字典 //初始化页面上的字典
export const initDicts = (that) => { export const initDicts = (that) => {
var itemCodes=['testPlanStatus','testPlanTcode','testStepTcode','priority','testCaseStatus','caseType'];//在此添加要加载的字典 如['sex','grade','lvl']
var itemCodes=['testPlanStatus','testPlanTcode','testStepTcode','priority','testCaseStatus','caseType','testType'];//在此添加要加载的字典 如['sex','grade','lvl']
if(itemCodes.length>0){ if(itemCodes.length>0){
initSimpleDicts('all',itemCodes).then(res=>{ initSimpleDicts('all',itemCodes).then(res=>{
Object.assign(that.dicts,res.data.data) Object.assign(that.dicts,res.data.data)

2
src/api/xm/core/xmTestPlan.js

@ -36,7 +36,7 @@ export const calcXmTestPlan = params => { return axios.post(`${base}/xm/core/xmT
/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ /**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */
//初始化页面上的字典 //初始化页面上的字典
export const initDicts = (that) => { export const initDicts = (that) => {
var itemCodes=['testPlanStatus','testPlanTcode','testStepTcode','priority','bizFlowState'];//在此添加要加载的字典 如['sex','grade','lvl']
var itemCodes=['testPlanStatus','testPlanTcode','testStepTcode','priority','bizFlowState','testType'];//在此添加要加载的字典 如['sex','grade','lvl']
if(itemCodes.length>0){ if(itemCodes.length>0){
initSimpleDicts('all',itemCodes).then(res=>{ initSimpleDicts('all',itemCodes).then(res=>{
Object.assign(that.dicts,res.data.data) Object.assign(that.dicts,res.data.data)

2
src/api/xm/core/xmTestPlanCase.js

@ -51,7 +51,7 @@ export const importFromTestCase = params => { return axios.post(`${base}/xm/core
/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ /**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */
//初始化页面上的字典 //初始化页面上的字典
export const initDicts = (that) => { export const initDicts = (that) => {
var itemCodes=['testPlanStatus','testPlanTcode','testStepTcode','priority','testCaseStatus','caseType'];//在此添加要加载的字典 如['sex','grade','lvl']
var itemCodes=['testPlanStatus','testPlanTcode','testStepTcode','priority','testCaseStatus','caseType','testType'];//在此添加要加载的字典 如['sex','grade','lvl']
if(itemCodes.length>0){ if(itemCodes.length>0){
initSimpleDicts('all',itemCodes).then(res=>{ initSimpleDicts('all',itemCodes).then(res=>{
Object.assign(that.dicts,res.data.data) Object.assign(that.dicts,res.data.data)

3
src/components/MdpSelectDict/index.vue

@ -1,5 +1,5 @@
<template> <template>
<el-select class="my-select" ref="selectRef" v-model="myVal" @change="onChange" :clearable="clearable" @visible-change="$emit('visible-change',$event)" @focus="$emit('focus',$event)" @blur="$emit('blur',$event)" @clear="$emit('blur',$event)" @click="$emit('click',$event)">
<el-select :placeholder="placeholder" class="my-select" ref="selectRef" v-model="myVal" @change="onChange" :clearable="clearable" @visible-change="$emit('visible-change',$event)" @focus="$emit('focus',$event)" @blur="$emit('blur',$event)" @clear="$emit('blur',$event)" @click="$emit('click',$event)">
<slot> <slot>
<el-option :style="styleObj" v-for="(item,index) in dict" :key="index" :value="item.id" :label="item.name"> <el-option :style="styleObj" v-for="(item,index) in dict" :key="index" :value="item.id" :label="item.name">
<slot :item="item" :dict="dict"> <slot :item="item" :dict="dict">
@ -40,6 +40,7 @@
} }
}, },
props: { props: {
placeholder:'请选择',
clearable:{ clearable:{
type:Boolean, type:Boolean,
default:false, default:false,

10
src/views/xm/core/xmFunc/XmFuncSelect.vue

@ -1,7 +1,7 @@
<template> <template>
<section> <section>
<el-row> <el-row>
<el-input v-model="filters.key" style="width: 60%;" placeholder="模块名称 按回车" @keyup.enter.native="searchXmFuncs" clearable></el-input>
<el-input v-model="filters.key" style="width: 60%;" placeholder="模块名称" clearable></el-input>
<span style="float:right;"> <span style="float:right;">
<el-popover <el-popover
placement="top-start" placement="top-start"
@ -34,7 +34,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination layout="total,sizes,prev,next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
<el-pagination layout="total,prev,next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
</el-row> </el-row>
<el-row> <el-row>
<!--编辑 XmFunc 功能模块表界面--> <!--编辑 XmFunc 功能模块表界面-->
@ -71,6 +71,9 @@ export default {
xmFuncsTreeData() { xmFuncsTreeData() {
let xmFuncs = JSON.parse(JSON.stringify(this.xmFuncs || [])); let xmFuncs = JSON.parse(JSON.stringify(this.xmFuncs || []));
if(this.filters.key){
xmFuncs=xmFuncs.filter(k=>k.name.indexOf(this.filters.key)>=0)
}
let xmFuncsTreeData = treeTool.translateDataToTree(xmFuncs,"pid","id"); let xmFuncsTreeData = treeTool.translateDataToTree(xmFuncs,"pid","id");
return xmFuncsTreeData; return xmFuncsTreeData;
}, },
@ -164,9 +167,6 @@ export default {
} }
params.orderBy= orderBys.join(",") params.orderBy= orderBys.join(",")
} }
if(this.filters.key){
params.key=this.filters.key
}
if(this.xmProduct && this.xmProduct.id){ if(this.xmProduct && this.xmProduct.id){
params.productId=this.xmProduct.id params.productId=this.xmProduct.id
} }

5
src/views/xm/core/xmQuestion/XmQuestionEdit.vue

@ -671,8 +671,13 @@
params.funcName=xmTestPlanCase.funcName params.funcName=xmTestPlanCase.funcName
params.menuId=xmTestPlanCase.menuId params.menuId=xmTestPlanCase.menuId
params.menuName=xmTestPlanCase.menuName params.menuName=xmTestPlanCase.menuName
if(!this.editForm.opStep){
params.opStep=xmTestPlanCase.testStep params.opStep=xmTestPlanCase.testStep
}
if(!this.editForm.name){
params.name=xmTestPlanCase.caseName params.name=xmTestPlanCase.caseName
}
params.projectId=xmTestPlanCase.projectId params.projectId=xmTestPlanCase.projectId
Object.assign(this.editForm,params) Object.assign(this.editForm,params)
this.editXmQuestionSomeFields(this.editForm,"caseId",params) this.editXmQuestionSomeFields(this.editForm,"caseId",params)

13
src/views/xm/core/xmTestCase/XmTestCaseMng.vue

@ -9,9 +9,9 @@
<el-row> <el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="名称 按回车" @keyup.enter.native="searchXmTestCases" clearable></el-input> <el-input v-model="filters.key" style="width: 20%;" placeholder="名称 按回车" @keyup.enter.native="searchXmTestCases" clearable></el-input>
<el-select v-model="filters.caseStatus" style="width:120px;" placeholder="审核状态" clearable>
<el-option v-for="(item,index) in dicts['testCaseStatus']" :key="index" :value="item.id" :label="item.name"></el-option>
</el-select>
<mdp-select-dict placeholder="用例状态" style="width:15%;" clearable :dict="dicts['testCaseStatus']" v-model="filters.caseStatus" effect="dark"></mdp-select-dict>
<mdp-select-dict placeholder="测试方式" style="width:15%;" clearable :dict="dicts['testType']" v-model="filters.testType" effect="dark"></mdp-select-dict>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestCases" icon="el-icon-search">查询</el-button> <el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestCases" icon="el-icon-search">查询</el-button>
<span style="float:right;"> <span style="float:right;">
<el-button type="primary" @click="showAdd" icon="el-icon-plus">用例</el-button> <el-button type="primary" @click="showAdd" icon="el-icon-plus">用例</el-button>
@ -41,6 +41,12 @@
<mdp-select-dict-tag @visible-change="selectVisible(scope.row,$event)" :dict="dicts['testCaseStatus']" v-model="scope.row.caseStatus" effect="dark" @change="editSomeFields(scope.row,'caseStatus',$event)"></mdp-select-dict-tag> <mdp-select-dict-tag @visible-change="selectVisible(scope.row,$event)" :dict="dicts['testCaseStatus']" v-model="scope.row.caseStatus" effect="dark" @change="editSomeFields(scope.row,'caseStatus',$event)"></mdp-select-dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="testType" label="测试方式" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<mdp-select-dict-tag @visible-change="selectVisible(scope.row,$event)" :dict="dicts['testType']" v-model="scope.row.testType" effect="dark" @change="editSomeFields(scope.row,'testType',$event)"></mdp-select-dict-tag>
</template>
</el-table-column>
<el-table-column prop="funcName" label="模块" min-width="150" show-overflow-tooltip> <el-table-column prop="funcName" label="模块" min-width="150" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span> {{scope.row.funcName}} </span> <span> {{scope.row.funcName}} </span>
@ -124,6 +130,7 @@ export default {
key: '', key: '',
xmFunc:null, xmFunc:null,
caseStatus:'', caseStatus:'',
testType:'',
}, },
xmTestCases: [],// xmTestCases: [],//
pageInfo:{// pageInfo:{//

19
src/views/xm/core/xmTestCase/XmTestCaseSelect.vue

@ -10,8 +10,11 @@
<el-row> <el-row>
<el-checkbox v-if="xmTestPlan && xmTestPlan.id" true-label="1" false-label="" v-model="filters.notJoinPlan">未加入{{xmTestPlan.name}}</el-checkbox>
<el-checkbox v-if="xmTestPlan && xmTestPlan.id" true-label="1" false-label="" v-model="filters.notJoinPlan" :title="'查询未曾加入计划【'+xmTestPlan.name+'】的测试用例'"> 未加入 </el-checkbox>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input> <el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<mdp-select-dict label="状态" style="width:15%;" clearable placeholder="用例状态" :dict="dicts['testCaseStatus']" v-model="filters.caseStatus"></mdp-select-dict>
<mdp-select-dict placeholder="测试方式" style="width:15%;" clearable :dict="dicts['testType']" v-model="filters.testType" effect="dark"></mdp-select-dict>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestCases" icon="el-icon-search">查询</el-button> <el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestCases" icon="el-icon-search">查询</el-button>
<span style="float:right;"> <span style="float:right;">
@ -39,6 +42,12 @@
<mdp-select-dict-tag :dict="dicts['testCaseStatus']" v-model="scope.row.caseStatus" effect="dark" :disabled="true"></mdp-select-dict-tag> <mdp-select-dict-tag :dict="dicts['testCaseStatus']" v-model="scope.row.caseStatus" effect="dark" :disabled="true"></mdp-select-dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="testType" label="测试方式" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<mdp-select-dict-tag :dict="dicts['testType']" v-model="scope.row.testType" effect="dark" :disabled="true"></mdp-select-dict-tag>
</template>
</el-table-column>
<el-table-column prop="caseRemark" label="备注" min-width="120" show-overflow-tooltip> <el-table-column prop="caseRemark" label="备注" min-width="120" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span> {{scope.row.caseRemark}} </span> <span> {{scope.row.caseRemark}} </span>
@ -106,6 +115,8 @@ export default {
key: '', key: '',
notJoinPlan:'', notJoinPlan:'',
xmFunc:null, xmFunc:null,
caseStatus:'',
testType:'',
}, },
xmTestCases: [],// xmTestCases: [],//
pageInfo:{// pageInfo:{//
@ -186,6 +197,12 @@ export default {
if(this.filters.key){ if(this.filters.key){
params.key=this.filters.key params.key=this.filters.key
} }
if(this.filters.caseStatus){
params.caseStatus=this.filters.caseStatus
}
if(this.filters.testType){
params.testType=this.filters.testType
}
if(this.filters.notJoinPlan && this.xmTestPlan && this.xmTestPlan.id){ if(this.filters.notJoinPlan && this.xmTestPlan && this.xmTestPlan.id){
params.notJoinPlanId=this.xmTestPlan.id params.notJoinPlanId=this.xmTestPlan.id
} }

2
src/views/xm/core/xmTestPlan/XmTestPlanEdit.vue

@ -17,7 +17,7 @@
<el-row class="padding-bottom"> <el-row class="padding-bottom">
<my-input v-model="editForm.name" placeholder="计划名称" :maxlength="255" @change="editSomeFields(editForm,'name',$event)"></my-input> <my-input v-model="editForm.name" placeholder="计划名称" :maxlength="255" @change="editSomeFields(editForm,'name',$event)"></my-input>
</el-row> </el-row>
<el-row >
<el-row v-if="opType!='add'">
<span class="label-font-color padding-left">测试计划编号:{{ editForm.id }}</span> <span class="label-font-color padding-left">测试计划编号:{{ editForm.id }}</span>
</el-row> </el-row>
</el-form-item> </el-form-item>

15
src/views/xm/core/xmTestPlan/XmTestPlanMng.vue

@ -2,6 +2,10 @@
<section class="page-container border padding"> <section class="page-container border padding">
<el-row> <el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询" clearable></el-input> <el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询" clearable></el-input>
<mdp-select-dict style="width:15%;" clearable placeholder="状态" :dict="dicts['testPlanStatus']" v-model="filters.status" effect="dark"></mdp-select-dict>
<mdp-select-dict style="width:15%;" clearable placeholder="结果" :dict="dicts['testPlanTcode']" v-model="filters.tcode" effect="dark" ></mdp-select-dict>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestPlans" icon="el-icon-search">查询</el-button> <el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestPlans" icon="el-icon-search">查询</el-button>
<span style="float:right;"> <span style="float:right;">
<el-button type="primary" @click="showAdd" icon="el-icon-plus">测试计划</el-button> <el-button type="primary" @click="showAdd" icon="el-icon-plus">测试计划</el-button>
@ -122,7 +126,9 @@ export default {
data() { data() {
return { return {
filters: { filters: {
key: ''
key: '',
status:'',
tcode:'',
}, },
xmTestPlans: [],// xmTestPlans: [],//
pageInfo:{// pageInfo:{//
@ -203,7 +209,12 @@ export default {
if(this.filters.key){ if(this.filters.key){
params.key=this.filters.key params.key=this.filters.key
} }
if(this.filters.tcode){
params.tcode=this.filters.tcode
}
if(this.filters.status){
params.status=this.filters.status
}
if(this.xmTestCasedb && this.xmTestCasedb.id){ if(this.xmTestCasedb && this.xmTestCasedb.id){
params.casedbId=this.xmTestCasedb.id params.casedbId=this.xmTestCasedb.id
} }

12
src/views/xm/core/xmTestPlanCase/XmTestPlanCaseMng.vue

@ -8,6 +8,9 @@
<el-col :span="!xmTestCase||!xmTestCase.id?18:24"> <el-col :span="!xmTestCase||!xmTestCase.id?18:24">
<el-row> <el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询" clearable></el-input> <el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询" clearable></el-input>
<mdp-select-dict style="width:20%;" placeholder="用例状态" clearable :dict="dicts['testCaseStatus']" v-model="filters.caseStatus" effect="dark"></mdp-select-dict>
<mdp-select-dict style="width:20%;" placeholder="执行结果" clearable :dict="dicts['testStepTcode']" v-model="filters.execStatus" effect="dark"></mdp-select-dict>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestPlanCases" icon="el-icon-search">查询</el-button> <el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestPlanCases" icon="el-icon-search">查询</el-button>
<span style="float:right;" v-if="!xmTestCase||!xmTestCase.id"> <span style="float:right;" v-if="!xmTestCase||!xmTestCase.id">
<el-button type="primary" @click="showAdd" icon="el-icon-plus">将用例纳入计划</el-button> <el-button type="primary" @click="showAdd" icon="el-icon-plus">将用例纳入计划</el-button>
@ -135,6 +138,9 @@ export default {
filters: { filters: {
key: '', key: '',
xmFunc:null, xmFunc:null,
caseStatus:'',
execStatus:''
}, },
xmTestPlanCases: [],// xmTestPlanCases: [],//
pageInfo:{// pageInfo:{//
@ -215,6 +221,12 @@ export default {
if(this.filters.key){ if(this.filters.key){
params.key=this.filters.key params.key=this.filters.key
} }
if(this.filters.caseStatus){
params.caseStatus=this.filters.caseStatus
}
if(this.filters.execStatus){
params.execStatus=this.filters.execStatus
}
if(this.xmTestCasedb && this.xmTestCasedb.id){ if(this.xmTestCasedb && this.xmTestCasedb.id){
params.casedbId=this.xmTestCasedb.id params.casedbId=this.xmTestCasedb.id
} }

24
src/views/xm/core/xmTestPlanCase/XmTestPlanCaseSelect.vue

@ -7,8 +7,10 @@
</el-col> </el-col>
<el-col :span="(xmTestCase&&xmTestCase.id)?24:18"> <el-col :span="(xmTestCase&&xmTestCase.id)?24:18">
<el-row> <el-row>
<el-input v-model="filters.key" style="width:30%;" placeholder="模糊查询" clearable></el-input>
<el-input v-model="filters.caseId" style="width:20%;" placeholder="用例编号" clearable></el-input>
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询" clearable></el-input>
<mdp-select-dict style="width:20%;" placeholder="用例状态" clearable :dict="dicts['testCaseStatus']" v-model="filters.caseStatus" effect="dark"></mdp-select-dict>
<mdp-select-dict style="width:20%;" placeholder="执行结果" clearable :dict="dicts['testStepTcode']" v-model="filters.execStatus" effect="dark"></mdp-select-dict>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestPlanCases" icon="el-icon-search">查询</el-button> <el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTestPlanCases" icon="el-icon-search">查询</el-button>
</el-row> </el-row>
<el-row> <el-row>
@ -21,9 +23,13 @@
</el-table-column> </el-table-column>
--> -->
<el-table-column prop="planId" label="测试计划" width="150" sortable>
</el-table-column>
<el-table-column prop="caseName" label="用例名称" min-width="250"> <el-table-column prop="caseName" label="用例名称" min-width="250">
<template slot-scope="scope">
<span :title="'归属测试计划'+scope.row.planId">{{ scope.row.caseName }}</span>
</template>
</el-table-column>
<el-table-column prop="planId" label="测试计划" width="150" sortable>
</el-table-column> </el-table-column>
<el-table-column prop="caseStatus" label="用例状态" width="100" show-overflow-tooltip> <el-table-column prop="caseStatus" label="用例状态" width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
@ -107,6 +113,10 @@ export default {
filters: { filters: {
key: '', key: '',
xmFunc:null, xmFunc:null,
caseStatus:'',
execStatus:''
}, },
xmTestPlanCases: [],// xmTestPlanCases: [],//
pageInfo:{// pageInfo:{//
@ -187,6 +197,12 @@ export default {
if(this.filters.key){ if(this.filters.key){
params.key=this.filters.key params.key=this.filters.key
} }
if(this.filters.caseStatus){
params.caseStatus=this.filters.caseStatus
}
if(this.filters.execStatus){
params.execStatus=this.filters.execStatus
}
if(this.xmTestCasedb && this.xmTestCasedb.id){ if(this.xmTestCasedb && this.xmTestCasedb.id){
params.casedbId=this.xmTestCasedb.id params.casedbId=this.xmTestCasedb.id
} }

Loading…
Cancel
Save