Browse Source

优化

master
陈裕财 3 years ago
parent
commit
6d210c54ee
  1. 2
      src/api/xm/core/xmTestCasedb.js
  2. 71
      src/views/xm/core/xmTestCasedb/XmTestCasedbEdit.vue
  3. 68
      src/views/xm/core/xmTestPlan/XmTestPlanEdit.vue

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

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

71
src/views/xm/core/xmTestCasedb/XmTestCasedbEdit.vue

@ -1,34 +1,41 @@
<template>
<section class="page-container padding">
<el-row class="page-header">
</el-row>
<el-row class="page-main" :style="{overflowX:'auto',height:maxTableHeight+'px'}" ref="table">
<section class="padding">
<el-row ref="table">
<!--编辑界面 XmTestCasedb 测试用例库-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef" label-position="left">
<el-form-item label="用例库名称" prop="name">
<el-input v-model="editForm.name" placeholder="用例库名称" :maxlength="255" @change="editSomeFields(editForm,'name',$event)"></el-input>
</el-form-item>
<el-form-item label="测试库编号" prop="id">
<el-input v-if="opType=='add'" v-model="editForm.id" placeholder="测试库编号" :maxlength="50" @change="editSomeFields(editForm,'id',$event)"></el-input>
<div v-else>{{editForm.id}}</div>
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<xm-product-select v-if="!xmProduct" style="display:inline;" :auto-select="false" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="clearProduct"></xm-product-select>
<span v-if="opType=='add'">
<xm-product-select v-if="!xmProduct" style="display:inline;" :auto-select="false" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="clearProduct"></xm-product-select>
<div v-else>{{editForm.productName}}</div>
</span>
<div v-else>{{editForm.productName}}</div>
</el-form-item>
<el-form-item label="创建人姓名" prop="cusername">
<el-input v-if="opType=='add'" v-model="editForm.cusername" placeholder="创建人姓名" :maxlength="255" @change="editSomeFields(editForm,'cusername',$event)"></el-input>
<div v-else>{{editForm.cusername}}</div>
</el-form-item>
<el-form-item label="创建日期" prop="ctime">
{{editForm.ctime}}
</el-form-item>
</el-form-item>
<el-form-item label="" prop="name" label-width="0px">
<my-input v-model="editForm.name" placeholder="用例库名称" :maxlength="255" @change="editSomeFields(editForm,'name',$event)"></my-input>
</el-form-item>
<el-row class="padding">
<el-col :span="8">
<el-form-item prop="cuserid" label-width="0px">
<xm-user-field label="负责人" userid-key="cuserid" username-key="cusername" v-model="editForm" @change="editSomeFields(editForm,'cuserid',$event)"></xm-user-field>
</el-form-item>
</el-col>
<el-col :span="8">
<dict-field label="状态" :dict="dicts['casedbStatus']" v-model="editForm.status" @change="editSomeFields(editForm,'status',$event)"></dict-field>
</el-col>
<el-col :span="8">
<date-field label="创建日期" v-model="editForm.ctime" @change="editSomeFields(editForm,'ctime',$event)"></date-field>
</el-col>
</el-row>
</el-form>
</el-row>
<el-row v-if="opType=='add'" class="page-bottom bottom-fixed">
<el-row v-if="opType=='add'" style="float:right;">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button>
</el-row>
@ -41,11 +48,13 @@
import { initDicts, addXmTestCasedb,editXmTestCasedb,editSomeFieldsXmTestCasedb } from '@/api/xm/core/xmTestCasedb';
import { mapGetters } from 'vuex'
import XmUserField from '@/views/xm/core/components/XmUserField';//
import XmProductSelect from '@/views/xm/core/components/XmProductSelect';//
export default {
name:'xmTestCasedbEdit',
components: {
XmProductSelect,
XmProductSelect,XmUserField,
},
computed: {
...mapGetters([ 'userInfo' ]),
@ -70,10 +79,14 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect';//修
return {
currOpType:'add',//add/edit
load:{ list: false, edit: false, del: false, add: false },//...
dicts:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
dicts:{casedbStatus:[]},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
editFormRules: {
id: [
//{ required: true, message: '', trigger: 'blur' }
name: [
{ required: true, message: '测试库名称不能为空', trigger: 'change' },
{ max:50,min:2, message: '测试库名称2-50个字符之间', trigger: 'change' }
],
productName: [
{ required: true, message: '产品不能为空', trigger: 'change' }
]
},
editForm: {
@ -160,10 +173,10 @@ import XmProductSelect from '@/views/xm/core/components/XmProductSelect';//修
this.editForm.productId=''
this.editForm.productName=''
},
onProductSelected(product){
onProductSelected(product){
this.editForm.productId=product.id
this.editForm.productName=product.productName
this.editForm.name=this.editForm.productName+"测试库"
},
},//end method
mounted() {

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

@ -3,42 +3,39 @@
<el-row ref="table">
<!--编辑界面 XmTestPlan 测试计划-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef" label-position="left">
<el-form-item label="计划名称" prop="name">
<el-input v-model="editForm.name" placeholder="计划名称" :maxlength="255" @change="editSomeFields(editForm,'name',$event)"></el-input>
<el-form-item prop="name" label-width="0px">
<el-row class="padding-bottom">
<my-input v-model="editForm.name" placeholder="计划名称" :maxlength="255" @change="editSomeFields(editForm,'name',$event)"></my-input>
</el-row>
</el-form-item>
<el-row class="padding">
<el-col :span="8">
<xm-user-field label="负责人" userid-key="cuserid" username-key="cusername" v-model="editForm" @change="editSomeFields(editForm,'cuserid',$event)"></xm-user-field>
</el-col>
<el-col :span="8">
<dict-field label="状态" :dict="dicts['testPlanStatus']" v-model="editForm.status" @change="editSomeFields(editForm,'status',$event)"></dict-field>
</el-col>
<el-col :span="8">
<dict-field label="测试结果" :dict="dicts['testPlanTcode']" v-model="editForm.tcode" @change="editSomeFields(editForm,'tcode',$event)"></dict-field>
</el-col>
</el-row>
<el-form-item label="归属测试库" prop="casedbName">
{{editForm.casedbName}}
</el-form-item>
<el-form-item label="归属产品" prop="productName">
{{editForm.productName}}
</el-form-item>
<el-form-item label="归属用例库" prop="casedbName">
{{editForm.casedbName}}
</el-form-item>
<el-form-item label="归属项目" prop="projectId">
<font v-if="editForm.projectId">{{editForm.projectName?editForm.projectName:editForm.projectId}}</font>
<xm-project-select ref="xmProjectSelect" @row-click="onPorjectConfirm" :auto-select="false">
<span slot="title">选择项目</span>
</xm-project-select>
</el-form-item>
<el-form-item label="负责人" prop="cusername">
<el-input v-model="editForm.cusername" placeholder="负责人" :maxlength="255" @change="editSomeFields(editForm,'cusername',$event)"></el-input>
</el-form-item>
</el-form-item>
<el-form-item label="起止时间" prop="stime">
<date-range :auto-default="false" placeholder="选择日期" v-model="editForm" start-key="stime" end-key="etime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd" @change="editSomeFields(editForm,'stime',editForm)"></date-range>
</el-form-item>
<div v-if="opType!=='add'">
<el-form-item label="状态" prop="status">
<el-select v-model="editForm.status" @change="editSomeFields(editForm,'status',$event)">
<el-option v-for="(item,index) in dicts['testPlanStatus']" :key="index" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="测试结果" prop="tcode">
<el-select v-model="editForm.tcode" @change="editSomeFields(editForm,'tcode',$event)">
<el-option v-for="(item,index) in dicts['testPlanTcode']" :key="index" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="产品名称" prop="productName">
{{editForm.productName}}
</el-form-item>
</el-form-item>
</el-form>
</el-row>
@ -58,10 +55,11 @@
import { mapGetters } from 'vuex'
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect';
import XmUserField from '@/views/xm/core/components/XmUserField';//
export default {
name:'xmTestPlanEdit',
components: {
XmProjectSelect,
XmProjectSelect,XmUserField,
},
computed: {
...mapGetters([ 'userInfo' ]),
@ -86,12 +84,19 @@
return {
currOpType:'add',//add/edit
load:{ list: false, edit: false, del: false, add: false },//...
dicts:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
dicts:{
testPlanStatus:[],
testPlanTcode:[],
},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
editFormRules: {
name: [
{ required: true, message: '测试计划名称不能为空', trigger: 'change' },
{ min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'change' },//
]
],
projectId: [
{ required: true, message: '项目不能为空', trigger: 'change' },
],
},
editForm: {
id:'',name:'',casedbId:'',casedbName:'',projectId:'',projectName:'',cuserid:'',cusername:'',ctime:'',stime:'',etime:'',status:'',tcode:'',totalCases:'',okCases:'',errCases:'',igCases:'',blCases:'',productId:'',productName:'',flowState:''
@ -160,6 +165,9 @@
if(fieldName=='stime'){
params[fieldName]=$event.stime
params.etime=$event.etime
}else if(fieldName=='cuserid'){
params[fieldName]=$event[0].userid
params.cusername=$event[0].username
}else{
params[fieldName]=$event
}

Loading…
Cancel
Save