|
@@ -25,66 +25,69 @@
|
|
|
</el-form>
|
|
|
</el-header>
|
|
|
<el-main style="background:#ffffff;height:auto; width:94%;margin: 0 3% 3% 3%; font-size:14px;border-radius:8px;">
|
|
|
- <div v-for="(item, index) in arr" ref="for" :key="index">
|
|
|
- <div ref="div1">
|
|
|
- <div style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); margin-bottom:2%;">
|
|
|
- <el-form :model="caseInfos_List" label-width="90pt">
|
|
|
- <el-row>
|
|
|
- <el-col :span="20" style="margin:2% 0 0 0; white-space:nowrap;">
|
|
|
- <el-form-item label="执行步骤">
|
|
|
- <el-input v-model="caseInfos_List.description" type="textarea" :rows="4" placeholder="请输入内容" />
|
|
|
- <el-button v-show="plus" size="mini" type="primary" icon="el-icon-plus" style="margin-bottom: 6%;" @click="addform(caseData, key)" />
|
|
|
- <el-button v-show="plus" size="mini" icon="el-icon-minus" @click="deleteData" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="22">
|
|
|
- <el-form-item label="预期结果">
|
|
|
- <el-input v-model="caseInfos_List.expectedResult" placeholder="请输入内容" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <div style="display:flex;">
|
|
|
- <el-row style="flex:1;">
|
|
|
- <el-col :span="22">
|
|
|
- <el-form-item label="附件">
|
|
|
- <el-upload class="upload-demo" drag action="https://jsonplaceholder.typicode.com/posts/" multiple :on-success="handleAvatarSuccess" :on-progress="DisableButton">
|
|
|
- <i class="el-icon-plus avatar-uploader-icon"> 添加图片 </i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row style="flex:1;">
|
|
|
- <el-col :span="20">
|
|
|
- <el-form-item label="备注">
|
|
|
- <el-input v-model="caseInfos_List.remark" type="textarea" :rows="8" placeholder="请输入内容" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-show="btn_show" align="center" class="cla">
|
|
|
- <el-table v-show="btn_show" :data="uptataKey" fit style="width: 90%;">
|
|
|
- <el-table-column label="" min-width="150">
|
|
|
- <template slot-scope="scope">{{ scope.row.name }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="" min-width="300">
|
|
|
- <template slot-scope="scope"><a :href="scope.row.url" style="color:blue;">{{ scope.row.url }}</a></template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column fixed="right" label="" width="50" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button class="deleteSty" @click="deleteURL(scope.row)"> x </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
+ <!-- <div style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); margin-bottom:2%;"> -->
|
|
|
+ <el-form v-for="(item,index) in data" :key="index" label-width="80px" :model="item" style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); margin-bottom:2%;">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="20" style="margin:2% 0 0 0; white-space:nowrap;">
|
|
|
+ <el-form-item label="执行步骤">
|
|
|
+ <el-input v-model="item.description" type="textarea" :rows="4" placeholder="请输入内容" />
|
|
|
+ <el-button v-show="plus" size="mini" type="primary" icon="el-icon-plus" style="margin-bottom: 6%;" @click="add" />
|
|
|
+ <el-button v-show="plus" size="mini" icon="el-icon-minus" @click="deleteData(index)" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="22">
|
|
|
+ <el-form-item label="预期结果">
|
|
|
+ <el-input v-model="item.expectedResult" placeholder="请输入内容" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div style="display:flex;">
|
|
|
+ <el-row style="flex:1;">
|
|
|
+ <!-- <el-col :span="22">
|
|
|
+ <el-form-item label="附件">
|
|
|
+ <el-upload v-model="item.accessory" class="upload-demo" drag action="https://jsonplaceholder.typicode.com/posts/" multiple :on-success="handleAvatarSuccess" :on-progress="DisableButton">
|
|
|
+ <i class="el-icon-plus avatar-uploader-icon"> 添加图片 </i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :span="22">
|
|
|
+ <el-form-item label="附件">
|
|
|
+ <el-upload v-model="item.accessory" class="upload-demo" drag action="https://jsonplaceholder.typicode.com/posts/" multiple :on-success="(response, file, fileList)=>{return constractSuccUpload(response, file, fileList,index)}" :on-progress="DisableButton">
|
|
|
+ <i class="el-icon-plus avatar-uploader-icon"> 添加图片 </i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row style="flex:1;">
|
|
|
+ <el-col :span="20">
|
|
|
+ <el-form-item label="备注">
|
|
|
+ <el-input v-model="item.remark" type="textarea" :rows="8" placeholder="请输入内容" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <div v-show="btn_show" align="center" class="cla">
|
|
|
+ <el-table v-show="btn_show" :data="uptataKey" fit style="width: 90%;">
|
|
|
+ <el-table-column label="" min-width="150">
|
|
|
+ <template slot-scope="scope">{{ scope.row.name }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="" min-width="300">
|
|
|
+ <template slot-scope="scope"><a :href="scope.row.url" style="color:blue;">{{ scope.row.url }}</a></template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column fixed="right" label="" width="50" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button class="deleteSty" @click="deleteURL(scope.row)"> x </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </el-form>
|
|
|
+ <!-- </div> -->
|
|
|
<el-row>
|
|
|
<el-col :span="22" style="text-align:right; ">
|
|
|
- <el-button :disabled="dis" type="primary" @click="caseCreateCase(caseData, titleName, caseInfos_List)">保 存</el-button>
|
|
|
+ <el-button :disabled="dis" type="primary" @click="caseCreateCase(caseData, titleName)">保 存</el-button>
|
|
|
<el-button style="margin:9% 0 0 4%;" @click="Return">取 消</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -100,15 +103,15 @@ import { createFolderData, createCaseData, updateCaseData, queryCasesData } from
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ data: [{ description: '', expectedResult: '', remark: '', accessory: '' }],
|
|
|
startId: '',
|
|
|
caseFolderId: '',
|
|
|
caseData: {},
|
|
|
- add_obj: {},
|
|
|
- caseInfos_List: {},
|
|
|
btn_show: true,
|
|
|
plus: true,
|
|
|
dis: false,
|
|
|
id: '',
|
|
|
+ tableList: [],
|
|
|
titleName: '',
|
|
|
uptataKey: [],
|
|
|
createFormData: {
|
|
@@ -117,8 +120,7 @@ export default {
|
|
|
casePriority: [{ required: true, message: '用例优先级不能为空', trigger: 'change' }]
|
|
|
},
|
|
|
textarea: '',
|
|
|
- priorityStrings: [{ name: 'p0', value: 0 }, { name: 'p1', value: 1 }, { name: 'p2', value: 2 }, { name: 'p3', value: 3 }],
|
|
|
- arr: [`<div style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); margin-bottom:2%;"><el-form ref="caseData" :model="caseData" label-width="90pt"><el-row><el-col :span="20" style="margin:2% 0 0 0; white-space:nowrap;"><el-form-item label="执行步骤"><el-input v-model="textarea" type="textarea" :rows="4" placeholder="请输入内容" /><el-button id="addData" size="mini" type="primary" icon="el-icon-plus" style="margin-bottom: 6%;" @click="addform" /><el-button id="deleteData" size="mini" icon="el-icon-minus" @click="deleteData" /></el-form-item></el-col></el-row><el-row><el-col :span="22"><el-form-item label="预期结果"><el-input v-model="textarea" placeholder="请输入内容" /></el-form-item></el-col></el-row><div style="display:flex;"><el-row style="flex:1;"><el-col :span="22"><el-form-item label="附件"><el-upload class="upload-demo" drag action="https://jsonplaceholder.typicode.com/posts/" multiple><i class="el-icon-plus avatar-uploader-icon"> 添加图片 </i></el-upload></el-form-item></el-col></el-row><el-row style="flex:1;"><el-col :span="20"><el-form-item label="备注"><el-input v-model="textarea" type="textarea" :rows="8" placeholder="请输入内容" /></el-form-item></el-col></el-row></div></el-form></div>`]
|
|
|
+ priorityStrings: [{ name: 'p0', value: 0 }, { name: 'p1', value: 1 }, { name: 'p2', value: 2 }, { name: 'p3', value: 3 }]
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -152,6 +154,7 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
DisableButton() {
|
|
|
this.dis = true
|
|
|
},
|
|
@@ -172,28 +175,31 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
- // 图片上传成功的回调
|
|
|
- handleAvatarSuccess(res, file) {
|
|
|
+ constractSuccUpload(response, file, fileList, index) {
|
|
|
this.dis = false
|
|
|
- this.uptataKey.push({ name: file.name, url: file.response.id })
|
|
|
- console.log(this.uptataKey)
|
|
|
- // this.imageUrl = URL.createObjectURL(file.raw)
|
|
|
+ const fileUrl = { name: file.name, url: file.response.id }
|
|
|
+ console.log(fileUrl)
|
|
|
+ this.uptataKey[index]
|
|
|
},
|
|
|
+ // 图片上传成功的回调
|
|
|
+ // handleAvatarSuccess(res, file) {
|
|
|
+ // this.dis = false
|
|
|
+ // this.uptataKey.push({ name: file.name, url: file.response.id })
|
|
|
+ // console.log(this.uptataKey)
|
|
|
+ // // this.imageUrl = URL.createObjectURL(file.raw)
|
|
|
+ // },
|
|
|
|
|
|
// 返回
|
|
|
Return() {
|
|
|
this.$router.go(-1)
|
|
|
},
|
|
|
-
|
|
|
// 添加事件
|
|
|
- addform(vel, e) {
|
|
|
- this.arr.push(this.$refs.div1.innerHTML)
|
|
|
- console.log(this.arr)
|
|
|
- console.log(this.$refs.div1)
|
|
|
+ add() {
|
|
|
+ this.data.push({ description: '', expectedResult: '', remark: '', accessory: '' })
|
|
|
+ console.log(this.data)
|
|
|
},
|
|
|
-
|
|
|
deleteData(e) {
|
|
|
- this.arr.splice(e, 1)
|
|
|
+ this.data.splice(e, 1)
|
|
|
},
|
|
|
|
|
|
deleteURL(vel) {
|
|
@@ -208,12 +214,12 @@ export default {
|
|
|
},
|
|
|
|
|
|
// 新建Data
|
|
|
- caseCreateCase(vel, e, ele) {
|
|
|
+ caseCreateCase(vel, e) {
|
|
|
if (e === '编辑') {
|
|
|
this.caseData = vel
|
|
|
- this.caseData.remark = ele.remark
|
|
|
- this.caseData.expectedResult = ele.expectedResult
|
|
|
- this.caseData.description = ele.description
|
|
|
+ // this.caseData.remark = ele.remark
|
|
|
+ // this.caseData.expectedResult = ele.expectedResult
|
|
|
+ // this.caseData.description = ele.description
|
|
|
this.caseData.accessory = JSON.stringify(this.uptataKey)
|
|
|
updateCaseData(this.caseData).then(res => {
|
|
|
this.$message({ type: 'success', message: res.msg })
|
|
@@ -226,7 +232,7 @@ export default {
|
|
|
this.$refs['caseData'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.caseData = vel
|
|
|
- // this.caseData.caseInfos =
|
|
|
+ this.caseData.caseInfos = JSON.stringify(this.data)
|
|
|
this.caseData.accessory = JSON.stringify(this.uptataKey)
|
|
|
this.caseData.creator = this.userInformation
|
|
|
this.caseData.creatorName = this.userNames
|