Browse Source

优化

master
陈裕财 3 years ago
parent
commit
592f96e626
  1. 4
      config/index.js
  2. 2
      src/router/routes_xm.js
  3. 2
      src/views/xm/core/xmTestCase/XmTestCaseEdit.vue
  4. 41
      src/views/xm/core/xmTestCasedb/EnvIndex.vue
  5. 123
      src/views/xm/core/xmTestCasedb/XmTestCasedbEnv.vue
  6. 7
      src/views/xm/core/xmTestCasedb/top-nav.vue

4
config/index.js

@ -10,7 +10,7 @@ module.exports = {
assetsSubDirectory: '',
assetsPublicPath: '/',
proxyTable: {
/**
'/api/m1/xm': {
target: 'http://localhost:7067',
changeOrigin: true,
@ -18,7 +18,7 @@ module.exports = {
'^/api/m1/xm': '/xm'
}
},
/**
'/api/m1/arc': {
target: 'http://localhost:7012',
changeOrigin: true,

2
src/router/routes_xm.js

@ -641,6 +641,8 @@ export default {
{ path: 'case', component: _import('xm/core/xmTestCase/XmTestCaseList'), name: 'testCase', meta: { title: '用例管理',roles:["user"] },hidden:true},
{ path: 'flow', component: _import('xm/core/xmTestCase/XmTestCaseFlow'), name: 'testFlow', meta: { title: '用例评审',roles:["user"] },hidden:true},
{ path: 'plan', component: _import('xm/core/xmTestPlan/Overview'), name: 'testPlan', meta: { title: '测试计划',roles:["user"] },hidden:true},
{ path: 'env', component: _import('xm/core/xmTestCasedb/EnvIndex'), name: 'testEnv', meta: { title: '环境',roles:["user"] },hidden:true},
{ path: 'plan/detail', component: _import('xm/core/xmTestPlan/Detail'), name: 'testPlanDetail', meta: { title: '测试计划明细',roles:["user"] },hidden:true},
{ path: 'group', component: _import('xm/core/xmGroup/XmGroupForTest'), name: 'testGroup', meta: { title: '团队',roles:["user"] },hidden:true},

2
src/views/xm/core/xmTestCase/XmTestCaseEdit.vue

@ -93,7 +93,7 @@
</div>
</el-form-item>
<el-form-item label="请求方法">
<mdp-select-dict-tag label="请求方法" v-model="autoStep.method" :dict="dicts.autoTestMethod" effect="dark"></mdp-select-dict-tag>
<mdp-select-dict-tag label="请求方法" v-model="autoStep.method" :dict="dicts.autoTestMethod"></mdp-select-dict-tag>
</el-form-item>
<el-form-item label="查询参数" class="field">
<div class="field-text">

41
src/views/xm/core/xmTestCasedb/EnvIndex.vue

@ -0,0 +1,41 @@
<template>
<section class="padding">
<xm-test-casedb-env v-if="testCasedb&&testCasedb.id" :xmTestCasedb="testCasedb" @edit-fields="onEditFields"></xm-test-casedb-env>
</section>
</template>
<script>
import util from '@/common/js/util';//
import { mapGetters } from 'vuex';
import XmTestCasedbEnv from './XmTestCasedbEnv'
import store from '@/store'
export default {
computed: {
...mapGetters([
'userInfo','roles','testCasedb'
]),
},
watch:{
},
data() {
return {
}
},//end data
methods: {
onEditFields(row){
store.dispatch('setTestCasedb',row)
}
},//end methods
components: {
XmTestCasedbEnv,
},
mounted() {
}
}
</script>
<style scoped>
</style>

123
src/views/xm/core/xmTestCasedb/XmTestCasedbEnv.vue

@ -0,0 +1,123 @@
<template>
<section>
<el-table
:data="envList"
style="width: 100%">
<el-table-column
prop="id"
label="参数名"
min-width="200">
<template scope="scope">
<el-input v-model="scope.row.id"></el-input>
</template>
</el-table-column>
<el-table-column
prop="value"
label="参数值"
min-width="250">
<template scope="scope">
<el-input v-model="scope.row.value"></el-input>
</template>
</el-table-column>
<el-table-column
prop="name"
label="备注"
min-width="250">
<template scope="scope">
<el-input v-model="scope.row.name"></el-input>
</template>
</el-table-column>
<el-table-column label="操作" width="180">
<template slot="header" slot-scope="scope">
操作
<el-button v-if="!envList||envList.length==0" @click="addEnvRow({},0)" icon="el-icon-plus" circle plain></el-button>
</template>
<template scope="scope">
<el-button type="danger" @click="deleteEnvRow(scope.row,scope.$index)" icon="el-icon-delete" circle plain></el-button>
<el-button @click="addEnvRow(scope.row,scope.$index)" icon="el-icon-plus" circle plain></el-button>
</template>
</el-table-column>
</el-table>
<slot name="submit" :value="envList">
<el-row class="padding" style="float:right;"><el-button @click="saveData" type="primary">保存</el-button></el-row>
</slot>
</section>
</template>
<script>
import util from '@/common/js/util';//
import { editSomeFieldsXmTestCasedb } from '@/api/xm/core/xmTestCasedb';
import { mapGetters } from 'vuex';
export default {
props:['xmTestCasedb'],
computed: {
...mapGetters([
'userInfo','roles'
]),
},
watch:{
xmTestCasedb:{
deep:true,
handler:function(){
this.initData();
}
}
},
data() {
return {
envList:[{id:'',value:'',name:''}],
}
},//end data
methods: {
addEnvRow(row,index){
this.envList.splice(index+1,0,{id:'',value:''})
},
deleteEnvRow(row,index){
this.envList.splice(index,1)
},
saveData(){
this.editSomeFields(this.xmTestCasedb,"envJson",JSON.stringify(this.envList));
},
initData(){
if(this.xmTestCasedb.envJson){
this.envList=JSON.parse(this.xmTestCasedb.envJson)
}else{
this.envList=[]
}
},
editSomeFields(row,fieldName,$event){
let params={};
params['ids']=[row].map(i=>i.id)
params[fieldName]=$event
var func = editSomeFieldsXmTestCasedb
func(params).then(res=>{
let tips = res.data.tips;
if(tips.isOk){
row.envJson=$event
this.$emit('edit-fields',row)
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}else{
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
}).catch((e)=> {})
},
},//end methods
components: {
},
mounted() {
this.initData()
}
}
</script>
<style scoped>
</style>

7
src/views/xm/core/xmTestCasedb/top-nav.vue

@ -32,7 +32,9 @@
<el-menu-item :index="'/xm/core/test/plan?casedbId='+testCasedb.id">
<span slot="title"><i class="el-icon-connection"></i>测试计划</span>
</el-menu-item>
<el-menu-item :index="'/xm/core/test/env?casedbId='+testCasedb.id">
<span slot="title"><i class="el-icon-setting"></i>环境</span>
</el-menu-item>
<el-menu-item :index="'/xm/core/test/rpt?casedbId='+testCasedb.id">
<span slot="title"><i class="el-icon-time"></i>统计分析</span>
</el-menu-item>
@ -42,9 +44,6 @@
</el-menu-item>
<el-submenu index="更多">
<template slot="title">更多 </template>
<el-menu-item :index="'/xm/core/test/env?casedbId='+testCasedb.id">
<span slot="title"><i class="el-icon-setting"></i>环境清单</span>
</el-menu-item>
<el-menu-item index="/forum">
<span slot="title"><i class="el-icon-date"></i>论坛</span>
</el-menu-item>

Loading…
Cancel
Save