|
@@ -11,7 +11,12 @@
|
|
<el-button type="primary" @click="createCase(formData)">新 增</el-button>
|
|
<el-button type="primary" @click="createCase(formData)">新 增</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+ <div v-show="createCaseCode" style="background: #E9EEF3; height:93vh; text-align:center; padding:50% 0;">
|
|
|
|
+ <p>请先创建任务,再继续·····</p>
|
|
|
|
+ <el-button type="primary" @click="changeStartId">新 增</el-button>
|
|
|
|
+ </div>
|
|
<el-tree
|
|
<el-tree
|
|
|
|
+ v-show="dataShow"
|
|
style="background: #E9EEF3; height:93vh; padding:15%;"
|
|
style="background: #E9EEF3; height:93vh; padding:15%;"
|
|
:data="data1"
|
|
:data="data1"
|
|
node-key="id"
|
|
node-key="id"
|
|
@@ -37,7 +42,8 @@
|
|
<el-select v-model="createParticipation.casePriority" style="width: 18%;margin-right:5px;" clearable placeholder="用例优先级">
|
|
<el-select v-model="createParticipation.casePriority" style="width: 18%;margin-right:5px;" clearable placeholder="用例优先级">
|
|
<el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
<el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
- 用例名 <el-input v-model="createParticipation.folderName" placeholder="用例名" clearable style="width: 20%;" class="filter-item" />
|
|
|
|
|
|
+ 用例名
|
|
|
|
+ <el-input v-model="createParticipation.folderName" placeholder="用例名" clearable style="width: 20%;" class="filter-item" />
|
|
<el-button class="headerStyle" style="margin-left:6%;" type="primary" @click="exportExcel">导出</el-button>
|
|
<el-button class="headerStyle" style="margin-left:6%;" type="primary" @click="exportExcel">导出</el-button>
|
|
<el-button class="headerStyle" type="primary" @click="queryCaseData(createParticipation)">查询</el-button>
|
|
<el-button class="headerStyle" type="primary" @click="queryCaseData(createParticipation)">查询</el-button>
|
|
</div>
|
|
</div>
|
|
@@ -57,66 +63,90 @@
|
|
</el-row>
|
|
</el-row>
|
|
</el-header>
|
|
</el-header>
|
|
<el-main>
|
|
<el-main>
|
|
- <el-table :data="gridData" fit height="570vh" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange">
|
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
|
+ <!-- 主页table -->
|
|
|
|
+ <el-table :data="gridData" fit height="570vh" tooltip-effect="dark" style="width: 100%" @select-all="clickAllData" @selection-change="handleSelectionChange">
|
|
|
|
+ <el-table-column type="selection" width="55" align="center" @change="clickAllData(gridData)" />
|
|
<el-table-column prop="id" label="ID" width="60px" align="center">
|
|
<el-table-column prop="id" label="ID" width="60px" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<span>{{ scope.row.id }}</span>
|
|
<span>{{ scope.row.id }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="caseName" label="用例名" width="150" align="center" />
|
|
|
|
- <el-table-column prop="expectedResult" label="期望结果" width="150" align="center" />
|
|
|
|
- <el-table-column prop="casePriorityName" label="用例优先级" width="80" align="center" />
|
|
|
|
- <el-table-column prop="creatorName" label="创建人" width="100" align="center" />
|
|
|
|
- <el-table-column prop="modifierName" label="修改人" width="100" align="center" />
|
|
|
|
- <el-table-column prop="createTime" label="创建时间" width="200" align="center" />
|
|
|
|
- <el-table-column prop="address" label="操作" min-width="220px" align="center" fixed="right">
|
|
|
|
|
|
+ <el-table-column prop="caseName" label="用例名" width="150" align="center">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span>{{ scope.row.caseName }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="expectedResult" label="期望结果" width="150" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button size="mini" type="primary" @click="queryGetShow(gridData, '查看')">查看</el-button>
|
|
|
|
- <el-button size="mini" type="primary" @click="queryGetShow(gridData, '编辑')">编辑</el-button>
|
|
|
|
|
|
+ <span>{{ scope.row.expectedResult }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="casePriorityName" label="用例优先级" width="80" align="center">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span>{{ scope.row.casePriorityName }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="creatorName" label="创建人" width="100" align="center">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-tag type="success">{{ scope.row.creatorName }}</el-tag>
|
|
|
|
+ <!-- <span>{{ scope.row.creatorName }}</span> -->
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="modifierName" label="修改人" width="100" align="center">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span>{{ scope.row.modifierName }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="createTime" label="创建时间" width="200" align="center">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span>{{ scope.row.createTime }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="操作" min-width="220px" align="center" fixed="right">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-button size="mini" type="primary" @click="queryGetShow(gridData)">查看</el-button>
|
|
|
|
+ <el-button size="mini" type="primary" @click="updateGetShow(scope.row)">编辑</el-button>
|
|
<el-button size="mini" type="primary" @click="deleteCaseData(scope.row.id)">删除</el-button>
|
|
<el-button size="mini" type="primary" @click="deleteCaseData(scope.row.id)">删除</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
|
|
+ <!-- 导出文件内容 -->
|
|
<el-table v-show="false" id="out-table" :data="tableData" fit height="570vh" tooltip-effect="dark" style="width: 100%">
|
|
<el-table v-show="false" id="out-table" :data="tableData" fit height="570vh" tooltip-effect="dark" style="width: 100%">
|
|
- <!-- <el-table-column prop="caseFolderId" label="目录id" /> -->
|
|
|
|
<el-table-column type="index" prop="ids" label="序号" width="50" />
|
|
<el-table-column type="index" prop="ids" label="序号" width="50" />
|
|
<!-- <el-table-column prop="ids" label="序号" /> -->
|
|
<!-- <el-table-column prop="ids" label="序号" /> -->
|
|
<el-table-column prop="caseName" label="用例名" />
|
|
<el-table-column prop="caseName" label="用例名" />
|
|
|
|
+ <el-table-column prop="description" label="用例描述" />
|
|
<el-table-column prop="expectedResult" label="期望结果" />
|
|
<el-table-column prop="expectedResult" label="期望结果" />
|
|
|
|
+ <el-table-column prop="api" label="对应api" />
|
|
|
|
+ <el-table-column prop="projectTypeName" label="项目类型" />
|
|
|
|
+ <el-table-column prop="taskTypeName" label="平台类型" />
|
|
<el-table-column prop="casePriorityName" label="用例优先级" />
|
|
<el-table-column prop="casePriorityName" label="用例优先级" />
|
|
|
|
+ <el-table-column prop="moduleTypeName" label="模块名" />
|
|
<el-table-column prop="creatorName" label="创建人" />
|
|
<el-table-column prop="creatorName" label="创建人" />
|
|
<el-table-column prop="modifierName" label="修改人" />
|
|
<el-table-column prop="modifierName" label="修改人" />
|
|
- <el-table-column prop="createTime" label="创建时间" />
|
|
|
|
<el-table-column prop="remark" label="备注" />
|
|
<el-table-column prop="remark" label="备注" />
|
|
- <el-table-column prop="description" label="用例描述" />
|
|
|
|
- <el-table-column prop="api" label="对应接口" />
|
|
|
|
- <el-table-column prop="taskTypeName" label="任务类型" />
|
|
|
|
- <el-table-column prop="projectTypeName" label="项目类型" />
|
|
|
|
- <el-table-column prop="moduleTypeName" label="模块类型" />
|
|
|
|
|
|
+ <el-table-column prop="createTime" label="创建时间" />
|
|
</el-table>
|
|
</el-table>
|
|
<el-pagination :current-page="curIndex" :page-sizes="[5, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="100" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
|
<el-pagination :current-page="curIndex" :page-sizes="[5, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="100" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
|
</el-main>
|
|
</el-main>
|
|
</el-container>
|
|
</el-container>
|
|
</el-container>
|
|
</el-container>
|
|
-
|
|
|
|
|
|
+ <!-- 新增-编辑 -->
|
|
<el-dialog :title="titleName" :visible.sync="dialogFormVisibleUpdate" width="80%">
|
|
<el-dialog :title="titleName" :visible.sync="dialogFormVisibleUpdate" width="80%">
|
|
- <el-form :model="caseData" label-width="90pt" :rules="createFormData">
|
|
|
|
|
|
+ <el-form ref="caseData" :model="caseData" label-width="90pt" :rules="createFormData">
|
|
<div style="display:flex;">
|
|
<div style="display:flex;">
|
|
-
|
|
|
|
<div style="flex:1;">
|
|
<div style="flex:1;">
|
|
<el-form-item label="用例名" prop="caseName"><el-input v-model="caseData.caseName" clearable autocomplete="off" style="width: 200px" /></el-form-item>
|
|
<el-form-item label="用例名" prop="caseName"><el-input v-model="caseData.caseName" clearable autocomplete="off" style="width: 200px" /></el-form-item>
|
|
<el-form-item label="期望结果" prop="expectedResult"><el-input v-model="caseData.expectedResult" clearable autocomplete="off" style="width: 200px" /></el-form-item>
|
|
<el-form-item label="期望结果" prop="expectedResult"><el-input v-model="caseData.expectedResult" clearable autocomplete="off" style="width: 200px" /></el-form-item>
|
|
- <el-form-item label="对应接口" prop="api"><el-input v-model="caseData.api" clearable autocomplete="off" style="width: 200px" /></el-form-item>
|
|
|
|
|
|
+ <el-form-item label="对应api" prop="api"><el-input v-model="caseData.api" clearable autocomplete="off" style="width: 200px" /></el-form-item>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
<div style="flex:1;">
|
|
<div style="flex:1;">
|
|
<el-form-item label="项目类型" prop="projectType">
|
|
<el-form-item label="项目类型" prop="projectType">
|
|
<el-select v-model="caseData.projectType" clearable placeholder="项目类型" style="width: 200px">
|
|
<el-select v-model="caseData.projectType" clearable placeholder="项目类型" style="width: 200px">
|
|
<el-option v-for="item in projectTypeStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
<el-option v-for="item in projectTypeStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="任务类型" prop="taskType">
|
|
|
|
|
|
+ <el-form-item label="平台类型" prop="taskType">
|
|
<el-select v-model="caseData.taskType" clearable placeholder="任务类型" style="width: 200px" @change="taskTypeChange(caseData.taskType)">
|
|
<el-select v-model="caseData.taskType" clearable placeholder="任务类型" style="width: 200px" @change="taskTypeChange(caseData.taskType)">
|
|
<el-option v-for="item in taskTypeStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
<el-option v-for="item in taskTypeStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
@@ -127,44 +157,67 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
<div style="flex:1;">
|
|
<div style="flex:1;">
|
|
- <el-form-item label="模块类型" prop="casePriority">
|
|
|
|
|
|
+ <el-form-item v-show="moduleTypeShow" label="模块名" prop="casePriority">
|
|
<el-select v-model="caseData.moduleType" clearable placeholder="模块类型" style="width: 200px">
|
|
<el-select v-model="caseData.moduleType" clearable placeholder="模块类型" style="width: 200px">
|
|
<el-option v-for="item in moduleTypeStr" :key="item.id" :label="item.moduleName" :value="item.id" />
|
|
<el-option v-for="item in moduleTypeStr" :key="item.id" :label="item.moduleName" :value="item.id" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <!-- <el-form-item v-show="moduleTypeShow" label="模块类型"><el-input v-model="caseData.moduleType" clearable autocomplete="off" style="width: 200px" /></el-form-item> -->
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
<el-form-item label="用例描述" prop="description"><el-input v-model="caseData.description" clearable type="textarea" style="width: 95%" :rows="5" placeholder="请输入内容" /></el-form-item>
|
|
<el-form-item label="用例描述" prop="description"><el-input v-model="caseData.description" clearable type="textarea" style="width: 95%" :rows="5" placeholder="请输入内容" /></el-form-item>
|
|
<el-form-item label="备注"><el-input v-model="caseData.remark" clearable type="textarea" style="width: 95%" :rows="5" placeholder="请输入内容" /></el-form-item>
|
|
<el-form-item label="备注"><el-input v-model="caseData.remark" clearable type="textarea" style="width: 95%" :rows="5" placeholder="请输入内容" /></el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="dialogFormVisibleUpdate = false">关 闭</el-button>
|
|
<el-button type="primary" @click="dialogFormVisibleUpdate = false">关 闭</el-button>
|
|
- <el-button v-show="Determine" type="primary" @click="caseCreateCase(caseData, titleName)">确 定</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="caseCreateCase(caseData, titleName)">确 定</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+
|
|
|
|
+ <el-dialog title="查看" :visible.sync="dialogFormVisibleQuery" width="80%">
|
|
|
|
+ <el-form ref="caseData" :model="caseData" label-width="90pt">
|
|
|
|
+ <div style="display:flex;">
|
|
|
|
+ <div style="flex:1;">
|
|
|
|
+ <el-form-item label="用例名 :">{{ caseData.caseName }}</el-form-item>
|
|
|
|
+ <el-form-item label="期望结果 :">{{ caseData.expectedResult }}</el-form-item>
|
|
|
|
+ <el-form-item label="对应接口 :">{{ caseData.api }}</el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="flex:1;">
|
|
|
|
+ <el-form-item label="项目类型 :">{{ caseData.projectTypeName }}</el-form-item>
|
|
|
|
+ <el-form-item label="任务类型 :">{{ caseData.taskTypeName }}</el-form-item>
|
|
|
|
+ <el-form-item label="用例优先级 :">{{ caseData.casePriorityName }}</el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="flex:1;">
|
|
|
|
+ <el-form-item v-show="moduleTypeShow" label="模块类型 :">{{ caseData.moduleTypeName }}</el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <el-form-item label="用例描述 :">{{ caseData.description }}</el-form-item>
|
|
|
|
+ <el-form-item label="备注 :">{{ caseData.remark }}</el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="dialogFormVisibleQuery = false">关 闭</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { createFolderData, queryAllFolderData, queryCasesData, createCaseData, updateCaseData, deleteFolderData, deleteCaseData, settingQueryModuleInfoListData } from '@/api/caseProject.js'
|
|
|
|
-// caseDownloadCaseData
|
|
|
|
-// caseUploadCaseData
|
|
|
|
|
|
+import { createFolderData, queryAllFolderData, queryCasesData, createCaseData, updateCaseData, deleteFolderData, deleteCaseData, settingQueryModuleInfoListData, updateFolderData } from '@/api/caseProject.js'
|
|
|
|
+import { mockUrl } from '@/apiConfig/api'
|
|
import FileSaver from 'file-saver'
|
|
import FileSaver from 'file-saver'
|
|
import axios from 'axios'
|
|
import axios from 'axios'
|
|
-
|
|
|
|
import XLSX from 'xlsx'
|
|
import XLSX from 'xlsx'
|
|
|
|
+
|
|
export default {
|
|
export default {
|
|
name: 'UseCasePage',
|
|
name: 'UseCasePage',
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- Determine: true,
|
|
|
|
centerDialogVisible: false,
|
|
centerDialogVisible: false,
|
|
|
|
+ dialogFormVisibleQuery: false,
|
|
moduleTypeShow: false,
|
|
moduleTypeShow: false,
|
|
|
|
+ dataShow: true,
|
|
titleName: '',
|
|
titleName: '',
|
|
|
|
+ createCaseCode: false,
|
|
dialogFormVisibleUpdate: false,
|
|
dialogFormVisibleUpdate: false,
|
|
priorityStrings: [{ name: 'p0', value: 0 }, { name: 'p1', value: 1 }, { name: 'p2', value: 2 }, { name: 'p3', value: 3 }],
|
|
priorityStrings: [{ name: 'p0', value: 0 }, { name: 'p1', value: 1 }, { name: 'p2', value: 2 }, { name: 'p3', value: 3 }],
|
|
projectTypeStrings: [{ name: 'B端', value: 1 }, { name: 'C端', value: 2 }],
|
|
projectTypeStrings: [{ name: 'B端', value: 1 }, { name: 'C端', value: 2 }],
|
|
@@ -206,7 +259,7 @@ export default {
|
|
startId: '',
|
|
startId: '',
|
|
createParticipation: {},
|
|
createParticipation: {},
|
|
moduleTypeStr: [],
|
|
moduleTypeStr: [],
|
|
- gridData: [{}],
|
|
|
|
|
|
+ gridData: [],
|
|
caseData: {},
|
|
caseData: {},
|
|
createFormData: {
|
|
createFormData: {
|
|
caseName: [{ required: true, message: '用例名不能为空', trigger: 'change' }],
|
|
caseName: [{ required: true, message: '用例名不能为空', trigger: 'change' }],
|
|
@@ -225,7 +278,9 @@ export default {
|
|
excelData: [],
|
|
excelData: [],
|
|
imFile: '',
|
|
imFile: '',
|
|
failNum: '',
|
|
failNum: '',
|
|
- successNum: ''
|
|
|
|
|
|
+ successNum: '',
|
|
|
|
+ startKey: '',
|
|
|
|
+ obj: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
@@ -263,6 +318,11 @@ export default {
|
|
}
|
|
}
|
|
this.data1.push(arr)
|
|
this.data1.push(arr)
|
|
}
|
|
}
|
|
|
|
+ console.log(this.data1)
|
|
|
|
+ if (this.data1.length === 0) {
|
|
|
|
+ this.createCaseCode = true
|
|
|
|
+ this.dataShow = false
|
|
|
|
+ }
|
|
})
|
|
})
|
|
},
|
|
},
|
|
moduleTypeArr() {
|
|
moduleTypeArr() {
|
|
@@ -272,9 +332,37 @@ export default {
|
|
},
|
|
},
|
|
handleSizeChange(size) {
|
|
handleSizeChange(size) {
|
|
this.pageSize = size
|
|
this.pageSize = size
|
|
|
|
+ this.pageIndex()
|
|
},
|
|
},
|
|
handleCurrentChange(curIndex) {
|
|
handleCurrentChange(curIndex) {
|
|
this.curIndex = curIndex
|
|
this.curIndex = curIndex
|
|
|
|
+ this.pageIndex()
|
|
|
|
+ },
|
|
|
|
+ pageIndex() {
|
|
|
|
+ this.formData = {
|
|
|
|
+ pageSize: this.pageSize,
|
|
|
|
+ curIndex: this.curIndex,
|
|
|
|
+ caseFolderId: this.startId
|
|
|
|
+ }
|
|
|
|
+ queryCasesData(this.formData).then(res => {
|
|
|
|
+ this.gridData = res.data
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ clickAllData(rows) {
|
|
|
|
+ // if (rows) {
|
|
|
|
+ // rows.forEach(row => {
|
|
|
|
+ // this.$refs.multipleTable.toggleRowSelection(row)
|
|
|
|
+ // })
|
|
|
|
+ // } else {
|
|
|
|
+ // this.$refs.multipleTable.clearSelection()
|
|
|
|
+ // }
|
|
|
|
+
|
|
|
|
+ this.formData = {
|
|
|
|
+ caseFolderId: this.startId
|
|
|
|
+ }
|
|
|
|
+ queryCasesData(this.formData).then(res => {
|
|
|
|
+ this.tableData = res.data
|
|
|
|
+ })
|
|
},
|
|
},
|
|
taskTypeChange(ele) {
|
|
taskTypeChange(ele) {
|
|
if (ele === 2) {
|
|
if (ele === 2) {
|
|
@@ -292,21 +380,25 @@ export default {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
if (vel !== '' && e === '新增') {
|
|
if (vel !== '' && e === '新增') {
|
|
- this.caseData = vel
|
|
|
|
- this.caseData.creator = this.userInformation
|
|
|
|
- this.caseData.creatorName = this.userNames
|
|
|
|
- this.caseData.modifier = this.userInformation
|
|
|
|
- this.caseData.pageSize = 5
|
|
|
|
- this.caseData.curIndex = 0
|
|
|
|
- this.caseData.caseFolderId = this.startId
|
|
|
|
- this.caseData.bizId = this.bizJson
|
|
|
|
- createCaseData(this.caseData).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.gridData = res.data
|
|
|
|
- this.successFun()
|
|
|
|
- this.dialogFormVisibleUpdate = false
|
|
|
|
- } else {
|
|
|
|
- this.$notify({ title: '提示', message: res.msg, duration: 2000 })
|
|
|
|
|
|
+ this.$refs['caseData'].validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ this.caseData = vel
|
|
|
|
+ this.caseData.creator = this.userInformation
|
|
|
|
+ this.caseData.creatorName = this.userNames
|
|
|
|
+ this.caseData.modifier = this.userInformation
|
|
|
|
+ this.caseData.pageSize = 5
|
|
|
|
+ this.caseData.curIndex = 0
|
|
|
|
+ this.caseData.caseFolderId = this.startId
|
|
|
|
+ this.caseData.bizId = this.bizJson
|
|
|
|
+ createCaseData(this.caseData).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.gridData = res.data
|
|
|
|
+ this.successFun()
|
|
|
|
+ this.dialogFormVisibleUpdate = false
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify({ title: '提示', message: res.msg, duration: 2000 })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -327,9 +419,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 查看
|
|
// 查看
|
|
- queryGetShow(ele, e) {
|
|
|
|
- this.titleName = e
|
|
|
|
- this.titleName === '查看' ? this.Determine = false : this.Determine = true
|
|
|
|
|
|
+ queryGetShow(ele) {
|
|
if (this.startId === '') {
|
|
if (this.startId === '') {
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
} else {
|
|
} else {
|
|
@@ -337,23 +427,39 @@ export default {
|
|
var obj = vel
|
|
var obj = vel
|
|
}
|
|
}
|
|
if (obj.taskType === 2) { this.moduleTypeShow = true }
|
|
if (obj.taskType === 2) { this.moduleTypeShow = true }
|
|
- this.dialogFormVisibleUpdate = true
|
|
|
|
|
|
+ this.dialogFormVisibleQuery = true
|
|
this.caseData = {}
|
|
this.caseData = {}
|
|
this.caseData = obj
|
|
this.caseData = obj
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 编辑
|
|
|
|
+ updateGetShow(ele) {
|
|
|
|
+ this.titleName = '编辑'
|
|
|
|
+ this.caseData = ele
|
|
|
|
+ if (this.startId === '') {
|
|
|
|
+ this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
|
|
+ } else {
|
|
|
|
+ if (ele.taskType === 2) { this.moduleTypeShow = true }
|
|
|
|
+ this.dialogFormVisibleUpdate = true
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
// 新增
|
|
// 新增
|
|
createGetShow() {
|
|
createGetShow() {
|
|
this.titleName = '新增'
|
|
this.titleName = '新增'
|
|
- this.Determine = true
|
|
|
|
if (this.startId === '') {
|
|
if (this.startId === '') {
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
} else {
|
|
} else {
|
|
this.dialogFormVisibleUpdate = true
|
|
this.dialogFormVisibleUpdate = true
|
|
- this.caseData = {}
|
|
|
|
|
|
+ // this.caseData = {}
|
|
this.moduleTypeShow = false
|
|
this.moduleTypeShow = false
|
|
|
|
+ // this.$refs['caseData'].resetFields()
|
|
|
|
+ if (this.$refs['caseData'] !== undefined) {
|
|
|
|
+ this.$refs['caseData'].resetFields()
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 文件夹新增
|
|
createCase(vel) {
|
|
createCase(vel) {
|
|
if (vel.folderName !== '') {
|
|
if (vel.folderName !== '') {
|
|
this.formData = {
|
|
this.formData = {
|
|
@@ -367,6 +473,8 @@ export default {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
this.centerDialogVisible = false
|
|
this.centerDialogVisible = false
|
|
this.successFun()
|
|
this.successFun()
|
|
|
|
+ this.createCaseCode = false
|
|
|
|
+ this.dataShow = true
|
|
this.data1 = []
|
|
this.data1 = []
|
|
this.AllQueryFolderData()
|
|
this.AllQueryFolderData()
|
|
} else {
|
|
} else {
|
|
@@ -382,23 +490,38 @@ export default {
|
|
this.tableData = val
|
|
this.tableData = val
|
|
},
|
|
},
|
|
handleDragStart(node, ev) {
|
|
handleDragStart(node, ev) {
|
|
- console.log('drag start', node)
|
|
|
|
|
|
+ console.log('节点开始拖拽时触发的事件', node)
|
|
|
|
+ console.log(node.key)
|
|
|
|
+ this.startKey = node.key
|
|
},
|
|
},
|
|
handleDragEnter(draggingNode, dropNode, ev) {
|
|
handleDragEnter(draggingNode, dropNode, ev) {
|
|
- console.log('tree drag enter: ', dropNode.label)
|
|
|
|
|
|
+ console.log('拖拽进入其他节点时触发的事件', dropNode.data.id)
|
|
},
|
|
},
|
|
handleDragLeave(draggingNode, dropNode, ev) {
|
|
handleDragLeave(draggingNode, dropNode, ev) {
|
|
- console.log('tree drag leave: ', dropNode.label)
|
|
|
|
|
|
+ console.log('拖拽离开某个节点时触发的事件', dropNode.data.id)
|
|
},
|
|
},
|
|
handleDragOver(draggingNode, dropNode, ev) {
|
|
handleDragOver(draggingNode, dropNode, ev) {
|
|
- console.log('tree drag over: ', dropNode.label)
|
|
|
|
|
|
+ console.log('在拖拽节点时触发的事件', dropNode.data.id)
|
|
},
|
|
},
|
|
handleDragEnd(draggingNode, dropNode, dropType, ev) {
|
|
handleDragEnd(draggingNode, dropNode, dropType, ev) {
|
|
- console.log('tree drag end: ', dropNode && dropNode.label, dropType)
|
|
|
|
|
|
+ console.log('拖拽结束时(可能未成功)触发的事件', dropNode && dropNode.key, dropType)
|
|
},
|
|
},
|
|
handleDrop(draggingNode, dropNode, dropType, ev) {
|
|
handleDrop(draggingNode, dropNode, dropType, ev) {
|
|
- console.log('tree drop: ', dropNode.label, dropType)
|
|
|
|
|
|
+ console.log('拖拽成功完成时触发的事件', dropNode.key, dropType)
|
|
|
|
+ this.endKey = dropNode.key
|
|
|
|
+ var startEnd = { bizId: this.bizJson, modifier: this.userInformation, folderName: dropNode.label, parentFolderId: this.endKey, creator: this.userInformation }
|
|
|
|
+ console.log(startEnd)
|
|
|
|
+ updateFolderData(startEnd).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.successFun()
|
|
|
|
+ this.data1 = []
|
|
|
|
+ this.AllQueryFolderData()
|
|
|
|
+ } else {
|
|
|
|
+ this.errorFun(res.msg)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
},
|
|
},
|
|
|
|
+ // 拖拽时判定目标节点能否被放置
|
|
allowDrop(draggingNode, dropNode, type) {
|
|
allowDrop(draggingNode, dropNode, type) {
|
|
if (dropNode.data.label === '二级 3-1') {
|
|
if (dropNode.data.label === '二级 3-1') {
|
|
return type !== 'inner'
|
|
return type !== 'inner'
|
|
@@ -406,10 +529,12 @@ export default {
|
|
return true
|
|
return true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 判断节点能否被拖拽
|
|
allowDrag(draggingNode) {
|
|
allowDrag(draggingNode) {
|
|
return draggingNode.data.label.indexOf('三级 3-2-2') === -1
|
|
return draggingNode.data.label.indexOf('三级 3-2-2') === -1
|
|
},
|
|
},
|
|
createUpdate(e, ele) {
|
|
createUpdate(e, ele) {
|
|
|
|
+ this.startId = ele.id
|
|
this.codeId = ele.id
|
|
this.codeId = ele.id
|
|
this.formData = {}
|
|
this.formData = {}
|
|
this.centerDialogVisible = true
|
|
this.centerDialogVisible = true
|
|
@@ -450,6 +575,10 @@ export default {
|
|
this.$message({ type: 'success', message: '已取消' })
|
|
this.$message({ type: 'success', message: '已取消' })
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ changeStartId() {
|
|
|
|
+ this.startId = '-1'
|
|
|
|
+ this.centerDialogVisible = true
|
|
|
|
+ },
|
|
deleteCaseData(e) {
|
|
deleteCaseData(e) {
|
|
if (this.startId === '') {
|
|
if (this.startId === '') {
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
@@ -485,7 +614,6 @@ export default {
|
|
this.$notify({ title: 'Failed', message: e, type: 'error', duration: 2000 })
|
|
this.$notify({ title: 'Failed', message: e, type: 'error', duration: 2000 })
|
|
},
|
|
},
|
|
exportExcel() {
|
|
exportExcel() {
|
|
- debugger
|
|
|
|
if (this.startId === '') {
|
|
if (this.startId === '') {
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
} else {
|
|
} else {
|
|
@@ -496,7 +624,6 @@ export default {
|
|
try {
|
|
try {
|
|
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')
|
|
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')
|
|
} catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
|
|
} catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
|
|
- console.log(wbout)
|
|
|
|
return wbout
|
|
return wbout
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -518,19 +645,19 @@ export default {
|
|
const config = {
|
|
const config = {
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|
}
|
|
}
|
|
- axios.post('http://10.179.24.176:8980/case/uploadCase', formData, config).then(res => {
|
|
|
|
|
|
+ axios.post(mockUrl + '/case/uploadCase', formData, config).then(res => {
|
|
var code = res.data.data
|
|
var code = res.data.data
|
|
this.successNum = code.successNum
|
|
this.successNum = code.successNum
|
|
this.failNum = code.failNum
|
|
this.failNum = code.failNum
|
|
- console.log(this.failNum)
|
|
|
|
if (res.status === 200) {
|
|
if (res.status === 200) {
|
|
if (this.failNum === 0) {
|
|
if (this.failNum === 0) {
|
|
- this.$notify({ title: 'Success', message: '上传成功', type: 'success', duration: 15000 })
|
|
|
|
|
|
+ this.updateCaseListData()
|
|
|
|
+ // this.$notify({ title: 'Success', message: '上传成功', type: 'success', duration: 15000 })
|
|
} else {
|
|
} else {
|
|
this.haha = '上传成功' + this.successNum + '上传失败' + this.failNum
|
|
this.haha = '上传成功' + this.successNum + '上传失败' + this.failNum
|
|
- this.$notify({ title: 'Success', message: this.haha, type: 'success', duration: 15000 })
|
|
|
|
|
|
+ this.$notify({ title: 'error', message: this.haha, type: 'success', duration: 2000 })
|
|
}
|
|
}
|
|
- this.updateCaseListData()
|
|
|
|
|
|
+
|
|
this.$refs.imFile.value = null
|
|
this.$refs.imFile.value = null
|
|
} else {
|
|
} else {
|
|
this.$message({ type: 'success', message: '导入失败' })
|
|
this.$message({ type: 'success', message: '导入失败' })
|
|
@@ -551,10 +678,7 @@ export default {
|
|
if (this.startId === '') {
|
|
if (this.startId === '') {
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
} else {
|
|
} else {
|
|
- console.log(this.imFile)
|
|
|
|
- this.$refs.imFile.click()
|
|
|
|
- // this.imFile = document.getElementById('imFile')
|
|
|
|
- // this.imFile.click()
|
|
|
|
|
|
+ this.$refs.imFile.click() // this.imFile.click()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
updateCaseListData() {
|
|
updateCaseListData() {
|