|
@@ -83,9 +83,9 @@
|
|
|
</el-row>
|
|
|
</el-header>
|
|
|
<el-main style="background:#ffffff; width:98%;margin:0% 1% 1% 1%; font-size:14px;border-radius:8px;">
|
|
|
- <el-button type="primary" style="margin-left:1%;" @click="uploadFile()">导入</el-button>
|
|
|
+ <el-button type="primary" size="mini" style="margin-left:1%;" @click="uploadFile()">导入</el-button>
|
|
|
<el-tooltip class="item" effect="light" content="导出勾选项,没有勾选将导出excel模版" placement="top">
|
|
|
- <el-button style="margin-left:2%;" @click="exportExcel">导出</el-button>
|
|
|
+ <el-button style="margin-left:2%;" size="mini" @click="exportExcel">导出</el-button>
|
|
|
</el-tooltip>
|
|
|
<!-- 主页table -->
|
|
|
<el-table :data="gridData" size="mini" :header-cell-style="{ background: '#F0F2F4', color: '#333B4A' }" style="width: 100%; font-size:13px;margin-top:1%;" border @select-all="clickAllData" @selection-change="handleSelectionChange">
|
|
@@ -109,21 +109,28 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <!-- 导出文件内容 -->
|
|
|
- <el-table v-show="false" id="out-table" :data="tableData" tooltip-effect="dark" style="width: 100%">
|
|
|
- <el-table-column prop="id" label="序号" width="50" />
|
|
|
- <el-table-column prop="description" label="测试步骤" />
|
|
|
- <el-table-column prop="expectedResult" label="期望结果" />
|
|
|
- <el-table-column prop="casePriority" label="优先级" />
|
|
|
- <el-table-column prop="caseCondition" label="前置条件" />
|
|
|
- <el-table-column prop="api" label="api" />
|
|
|
- <el-table-column prop="accessory" label="附件" />
|
|
|
- <el-table-column prop="remark" label="备注" />
|
|
|
- </el-table>
|
|
|
<div align="center" class="block">
|
|
|
<el-pagination :current-page="curIndex" background :page-sizes="[5]" :page-size="pageSize" layout="total, prev, pager, next" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
|
|
</div>
|
|
|
</el-main>
|
|
|
+ <!-- xmind -->
|
|
|
+ <el-main style="background:#ffffff; width:98%;margin:0% 1% 1% 1%; font-size:14px;border-radius:8px;">
|
|
|
+ <el-table :data="grid_xmind" size="mini" :header-cell-style="{ background: '#F0F2F4', color: '#333B4A' }" style="width: 100%; font-size:13px;margin-top:1%;" border @select-all="clickAllData" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" min-width="50" align="center" @change="clickAllData(gridData)" />
|
|
|
+ <el-table-column prop="name" label="文件名" min-width="80" align="center">
|
|
|
+ <template slot-scope="scope">{{ scope.row.name }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="url" label="URL" min-width="240" align="center">
|
|
|
+ <template slot-scope="scope"><a :href="scope.row.url" style="color:blue;">{{ scope.row.url }}</a></template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" min-width="150px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button size="mini" type="primary" plain @click="queryUpdateCreatd(scope.row, 2)">编辑</el-button>
|
|
|
+ <el-button size="mini" type="danger" plain @click="deleteCaseData(scope.row.id)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-main>
|
|
|
</el-container>
|
|
|
</el-container>
|
|
|
</div>
|
|
@@ -148,6 +155,7 @@ export default {
|
|
|
id: '',
|
|
|
label: '',
|
|
|
node_Name: {},
|
|
|
+ grid_xmind: [],
|
|
|
Folder_Show: false,
|
|
|
add_Folder: '',
|
|
|
node_Data: false,
|
|
@@ -355,7 +363,11 @@ export default {
|
|
|
// table全选调用查询接口
|
|
|
clickAllData(rows) {
|
|
|
queryCasesData({ caseFolderId: this.startId }).then(res => {
|
|
|
- this.tableData = res.data.list
|
|
|
+ var table_Data = res.data.list
|
|
|
+ for (var el of table_Data) {
|
|
|
+ this.tableData.push(el.id)
|
|
|
+ console.log(this.tableData)
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
|
|
@@ -417,6 +429,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ // 编辑,查看跳转
|
|
|
queryUpdateCreatd(ele, e) {
|
|
|
if (this.startId === '') {
|
|
|
this.$message({ message: '提示, 👈请选择目录', type: 'success', duration: 1000, offset: 150 })
|
|
@@ -434,6 +447,8 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ // 复选框单选
|
|
|
handleSelectionChange(val) {
|
|
|
this.tableData = []
|
|
|
for (var e of val) {
|
|
@@ -441,7 +456,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- // nav
|
|
|
+ // 导航栏拖动
|
|
|
handleDragStart(node, ev) {
|
|
|
console.log('节点开始拖拽时触发的事件', node.key)
|
|
|
this.startKey = node.key
|
|
@@ -506,7 +521,6 @@ export default {
|
|
|
|
|
|
// 点击节点
|
|
|
clickFun(e) {
|
|
|
- console.log(e)
|
|
|
if (this.startId !== e.id) {
|
|
|
this.key_arr = []
|
|
|
}
|
|
@@ -549,7 +563,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- // 导出
|
|
|
+ // 导出Excel
|
|
|
exportExcel() {
|
|
|
var case_from = {
|
|
|
accessory: '/Users/didi/Desktop',
|
|
@@ -558,52 +572,20 @@ export default {
|
|
|
}
|
|
|
axios({
|
|
|
method: 'post',
|
|
|
- url: 'http://10.179.24.176:8980/case/downloadCase', // 请求地址
|
|
|
+ url: mockUrl + '/case/downloadCase', // 请求地址
|
|
|
data: case_from, // 参数
|
|
|
responseType: 'blob' // 表明返回服务器返回的数据类型
|
|
|
})
|
|
|
.then((res) => {
|
|
|
- const content = res
|
|
|
- const blob = new Blob([content])
|
|
|
- if ('download' in document.createElement('a')) { // 非IE下载
|
|
|
- const elink = document.createElement('a')
|
|
|
- elink.download = '导出信息.xls'
|
|
|
- elink.style.display = 'none'
|
|
|
- elink.href = URL.createObjectURL(blob)
|
|
|
- document.body.appendChild(elink)
|
|
|
- elink.click()
|
|
|
- URL.revokeObjectURL(elink.href) // 释放URL 对象
|
|
|
- document.body.removeChild(elink)
|
|
|
- }
|
|
|
+ const aLink = document.createElement('a')
|
|
|
+ const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
|
|
|
+ aLink.href = URL.createObjectURL(blob)
|
|
|
+ aLink.download = '导出信息.xlsx'
|
|
|
+ aLink.style.display = 'none'
|
|
|
+ aLink.click()
|
|
|
+ document.body.appendChild(aLink)
|
|
|
+ document.body.removeChild(aLink)
|
|
|
})
|
|
|
- // if (this.startId === '') {
|
|
|
- // this.$message({ message: '提示,👈请选择目录', type: 'success', duration: 1000, offset: 150 })
|
|
|
- // } else {
|
|
|
- // var wb = XLSX.utils.table_to_book(document.querySelector('#out-table'))
|
|
|
- // var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
|
|
|
- // try {
|
|
|
- // FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')
|
|
|
- // } catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
|
|
|
- // return wbout
|
|
|
- // }
|
|
|
- },
|
|
|
- downLoadXls(data, filename) {
|
|
|
- // var blob = new Blob([data], {type: 'application/vnd.ms-excel'})接收的是blob,若接收的是文件流,需要转化一下
|
|
|
- if (typeof window.chrome !== 'undefined') {
|
|
|
- // Chrome version
|
|
|
- var link = document.createElement('a')
|
|
|
- link.href = window.URL.createObjectURL(data)
|
|
|
- link.download = filename
|
|
|
- link.click()
|
|
|
- } else if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
|
- // IE version
|
|
|
- var blob = new Blob([data], { type: 'application/force-download' })
|
|
|
- window.navigator.msSaveBlob(blob, filename)
|
|
|
- } else {
|
|
|
- // Firefox version
|
|
|
- var file = new File([data], filename, { type: 'application/force-download' })
|
|
|
- window.open(URL.createObjectURL(file))
|
|
|
- }
|
|
|
},
|
|
|
|
|
|
// 导入excel
|
|
@@ -646,14 +628,22 @@ export default {
|
|
|
var formData_s = new FormData()
|
|
|
formData_s.append('file', f)
|
|
|
axios.post('http://star.xiaojukeji.com/upload/img.node', formData_s, { headers: { 'Content-Type': 'application/json; charset=UTF-8' }}).then(res => {
|
|
|
- console.error(res)
|
|
|
+ console.error(res.url)
|
|
|
+ this.grid_xmind.push({ 'name': f.name, 'url': 'http:' + res.url })
|
|
|
})
|
|
|
+ var xmind_code = {
|
|
|
+ id: this.startId,
|
|
|
+ xmindUrl: JSON.stringify(this.grid_xmind),
|
|
|
+ modifier: this.userInformation
|
|
|
+ }
|
|
|
+ axios.post(mockUrl + 'case/updateXmindUrl', xmind_code, { headers: { 'Content-Type': 'application/json; charset=UTF-8' }}).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.$message({ type: 'success', message: '导入成功' })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message({ type: 'error', message: '导入失败,不支持文件类型(支持xmind,excel)' })
|
|
|
}
|
|
|
- // if (a_name[1] !== 'ximnd') {
|
|
|
- // if (a_name[1] !== 'xlsx') {
|
|
|
- // this.$message({ type: 'error', message: '导入失败,不支持文件类型' })
|
|
|
- // }
|
|
|
- // }
|
|
|
},
|
|
|
|
|
|
// 按钮导入
|