|
@@ -1,207 +1,461 @@
|
|
|
<template>
|
|
|
- <el-container>
|
|
|
- <el-aside width="200px">
|
|
|
- <el-tree
|
|
|
- style="background: #E9EEF3; height:100%; padding:30px;"
|
|
|
- :data="data"
|
|
|
- node-key="id"
|
|
|
- default-expand-all
|
|
|
- draggable
|
|
|
- :allow-drop="allowDrop"
|
|
|
- :allow-drag="allowDrag"
|
|
|
- @node-drag-start="handleDragStart"
|
|
|
- @node-drag-enter="handleDragEnter"
|
|
|
- @node-drag-leave="handleDragLeave"
|
|
|
- @node-drag-over="handleDragOver"
|
|
|
- @node-drag-end="handleDragEnd"
|
|
|
- @node-drop="handleDrop"
|
|
|
- />
|
|
|
- </el-aside>
|
|
|
+ <div>
|
|
|
<el-container>
|
|
|
- <el-header style="height: auto; display:flex; text-align:right">
|
|
|
- <div style="flex:1;">
|
|
|
- <div class="demonstration headerStyle">创建时间<el-date-picker v-model="value" align="right" type="date" style="width: 75%;" placeholder="选择日期" /></div>
|
|
|
- <div class="headerStyle">标题 <el-input v-model="value" placeholder="标题" clearable style="width: 75%;" class="filter-item" /></div>
|
|
|
- </div>
|
|
|
- <div style="flex:1;">
|
|
|
- <div class="headerStyle">创建人 <el-input v-model="value" placeholder="创建人" clearable style="width: 75%;" class="filter-item" /></div>
|
|
|
- <div class="headerStyle">优先级
|
|
|
- <el-select v-model="value" style="width: 75%;" clearable placeholder="优先级">
|
|
|
- <el-option v-for="item in value" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
- </el-select>
|
|
|
+ <el-aside width="150pt">
|
|
|
+ <el-tree
|
|
|
+ v-show="dataShow"
|
|
|
+ style="background: #E9EEF3; height:auto; padding:15%;"
|
|
|
+ :data="data1"
|
|
|
+ node-key="id"
|
|
|
+ @node-contextmenu="createUpdate"
|
|
|
+ @node-click="clickFun"
|
|
|
+ />
|
|
|
+ </el-aside>
|
|
|
+ <el-container>
|
|
|
+ <el-header style="height: auto; width:100%;">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="23" style="white-space:nowrap;margin:2% 0;">
|
|
|
+ <el-date-picker v-model="createParticipation.createTime" style="width:19%;margin-right:0px;" type="datetime" placeholder="开始日期" /> -
|
|
|
+ <el-date-picker v-model="createParticipation.modifyTime" style="width:19%;margin-right:5px;" type="datetime" placeholder="结束日期" />
|
|
|
+ <el-input v-model="createParticipation.folderName" placeholder="用例名" clearable style="width: 20%;margin-right:5px;" class="filter-item" />
|
|
|
+ <el-select v-model="createParticipation.casePriority" style="width: 8%;margin-right:5px;" clearable placeholder="优先级">
|
|
|
+ <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ <el-input v-model="createParticipation.api" placeholder="api接口" clearable style="width: 16%;margin-right:5px;" class="filter-item" />
|
|
|
+ <el-input v-model="createParticipation.creator" placeholder="创建人" clearable style="width: 14%;" class="filter-item" />
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="23" style="white-space:nowrap;text-align:center;">
|
|
|
+ <el-button class="headerStyle" type="primary" icon="el-icon-search" @click="queryCaseData(createParticipation)">查询</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-circle-plus-outline" @click="createGetShow">新增</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-header>
|
|
|
+ <el-main>
|
|
|
+ <!-- 主页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">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.id }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <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">
|
|
|
+ <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>
|
|
|
+ </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>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <!-- 导出文件内容 -->
|
|
|
+ <el-table v-show="false" id="out-table" :data="tableData" fit height="570vh" tooltip-effect="dark" style="width: 100%">
|
|
|
+ <el-table-column type="index" prop="ids" label="序号" width="50" />
|
|
|
+ <!-- <el-table-column prop="ids" label="序号" /> -->
|
|
|
+ <el-table-column prop="caseName" label="用例名" />
|
|
|
+ <el-table-column prop="description" 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="moduleTypeName" label="模块名" />
|
|
|
+ <el-table-column prop="creatorName" label="创建人" />
|
|
|
+ <el-table-column prop="modifierName" label="修改人" />
|
|
|
+ <el-table-column prop="remark" label="备注" />
|
|
|
+ <el-table-column prop="createTime" label="创建时间" />
|
|
|
+ </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-main>
|
|
|
+ </el-container>
|
|
|
+ </el-container>
|
|
|
+ <!-- 新增-编辑 -->
|
|
|
+ <el-dialog :title="titleName" :visible.sync="dialogFormVisibleUpdate" width="80%">
|
|
|
+ <el-form ref="caseData" :model="caseData" label-width="90pt" :rules="createFormData">
|
|
|
+ <div style="display:flex;">
|
|
|
+ <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="expectedResult"><el-input v-model="caseData.expectedResult" 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 class="headerStyle">状态
|
|
|
- <el-select v-model="value" style="width: 75%;" clearable placeholder="状态">
|
|
|
- <el-option v-for="item in value" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
- </el-select>
|
|
|
+ <div style="flex:1;">
|
|
|
+ <el-form-item label="项目类型" prop="projectType">
|
|
|
+ <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-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="平台类型" prop="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-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="用例优先级" prop="casePriority">
|
|
|
+ <el-select v-model="caseData.casePriority" clearable placeholder="用例优先级" style="width: 200px">
|
|
|
+ <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="flex:1;">
|
|
|
+ <el-form-item v-show="moduleTypeShow" label="模块名" prop="casePriority">
|
|
|
+ <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-select>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="flex:1; display:flex;">
|
|
|
+ <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>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="dialogFormVisibleUpdate = false">关 闭</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-button class="headerStyle" type="primary" icon="el-icon-search">导出</el-button>
|
|
|
- <el-button class="headerStyle" type="primary" icon="el-icon-search">导入</el-button>
|
|
|
+ <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-button class="headerStyle" type="primary" icon="el-icon-search">查询</el-button>
|
|
|
- <el-button class="headerStyle" type="primary" icon="el-icon-search">新增</el-button>
|
|
|
+ <el-form-item v-show="moduleTypeShow" label="模块类型 :">{{ caseData.moduleTypeName }}</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </el-header>
|
|
|
- <el-main>
|
|
|
- <el-table ref="multipleTable" :data="tableData" fit tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column prop="id" label="ID" width="40px" />
|
|
|
- <el-table-column prop="name" label="标题" width="180" align="center" />
|
|
|
- <el-table-column prop="name" label="级别" width="80" align="center" />
|
|
|
- <el-table-column prop="name" label="创建人" width="100" align="center" />
|
|
|
- <el-table-column label="创建时间" width="200" align="center">
|
|
|
- <template slot-scope="scope">{{ scope.row.date }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="状态" width="220" align="center">
|
|
|
- <el-radio v-model="radioButton" :label="1" @change="statusChange(1)">fail</el-radio>
|
|
|
- <el-radio v-model="radioButton" :label="2" @change="statusChange(2)">pass</el-radio>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" min-width="220px" align="center" fixed="right">
|
|
|
- <template />
|
|
|
- </el-table-column>
|
|
|
- </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-main>
|
|
|
- </el-container>
|
|
|
- </el-container>
|
|
|
+ <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>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-
|
|
|
+import { projectGetNameMap } from '@/api/testCaseProject.js'
|
|
|
+import { queryCasesData, createCaseData, updateCaseData, deleteCaseData, settingQueryModuleInfoListData } from '@/api/caseProject.js'
|
|
|
export default {
|
|
|
- name: 'TestPage',
|
|
|
+ name: 'TestCaseProject',
|
|
|
data() {
|
|
|
return {
|
|
|
- value: '',
|
|
|
- radioButton: 0,
|
|
|
- pageSize: 0,
|
|
|
- curIndex: 0,
|
|
|
- total: 0,
|
|
|
- data: [{
|
|
|
- id: 1,
|
|
|
- label: '代驾',
|
|
|
- children: [{
|
|
|
- id: 4,
|
|
|
- label: '订单',
|
|
|
- children: [{
|
|
|
- id: 9,
|
|
|
- label: '1 订单'
|
|
|
- }, {
|
|
|
- id: 10,
|
|
|
- label: '2 订单'
|
|
|
- }]
|
|
|
+ dialogFormVisibleQuery: false,
|
|
|
+ moduleTypeShow: false,
|
|
|
+ dataShow: true,
|
|
|
+ titleName: '',
|
|
|
+ dialogFormVisibleUpdate: false,
|
|
|
+ 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 }],
|
|
|
+ taskTypeStrings: [{ name: '客户端', value: 1 }, { name: '服务端', value: 2 }],
|
|
|
+ userInformation: localStorage.getItem('username'),
|
|
|
+ userNames: localStorage.getItem('realname'),
|
|
|
+ bizJson: localStorage.getItem('key'),
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一周',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date()
|
|
|
+ const start = new Date()
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
+ }
|
|
|
}, {
|
|
|
- id: 6,
|
|
|
- label: '营销'
|
|
|
- }]
|
|
|
- }, {
|
|
|
- id: 2,
|
|
|
- label: '乘客端',
|
|
|
- children: [{
|
|
|
- id: 5,
|
|
|
- label: '小程序'
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date()
|
|
|
+ const start = new Date()
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
+ }
|
|
|
}, {
|
|
|
- id: 6,
|
|
|
- label: 'wabapp'
|
|
|
+ text: '最近三个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date()
|
|
|
+ const start = new Date()
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
+ }
|
|
|
}]
|
|
|
- }],
|
|
|
- defaultProps: {
|
|
|
- children: 'children',
|
|
|
- label: 'label'
|
|
|
},
|
|
|
- tableData: [{
|
|
|
- date: '2016-05-03',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-02',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-04',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-01',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-08',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2016-05-06',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }],
|
|
|
- multipleSelection: []
|
|
|
+ createTimeData: '',
|
|
|
+ userData: '',
|
|
|
+ pageSize: 5,
|
|
|
+ curIndex: 0,
|
|
|
+ startId: '',
|
|
|
+ createParticipation: {},
|
|
|
+ moduleTypeStr: [],
|
|
|
+ gridData: [],
|
|
|
+ caseData: {},
|
|
|
+ createFormData: {
|
|
|
+ caseName: [{ required: true, message: '用例名不能为空', trigger: 'change' }],
|
|
|
+ description: [{ required: true, message: '用例描述不能为空', trigger: 'change' }],
|
|
|
+ expectedResult: [{ required: true, message: '期望结果不能为空', trigger: 'change' }],
|
|
|
+ api: [{ required: true, message: '对应接口不能为空', trigger: 'change' }],
|
|
|
+ projectType: [{ required: true, message: '项目类型不能为空', trigger: 'change' }],
|
|
|
+ taskType: [{ required: true, message: '任务类型不能为空', trigger: 'change' }],
|
|
|
+ casePriority: [{ required: true, message: '用例优先级不能为空', trigger: 'change' }]
|
|
|
+ },
|
|
|
+ dialogTableVisible: false,
|
|
|
+ formData: {},
|
|
|
+ formLabelWidth: '120px',
|
|
|
+ data1: [],
|
|
|
+ tableData: [],
|
|
|
+ excelData: [],
|
|
|
+ imFile: '',
|
|
|
+ failNum: '',
|
|
|
+ successNum: '',
|
|
|
+ startKey: '',
|
|
|
+ obj: ''
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+ created() {
|
|
|
+ this.AllQueryFolderData()
|
|
|
+ this.moduleTypeArr()
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.imFile = document.getElementById('imFile')
|
|
|
+ },
|
|
|
methods: {
|
|
|
- handleSelectionChange(val) {
|
|
|
- console.log(val)
|
|
|
- this.multipleSelection = val
|
|
|
+ AllQueryFolderData() {
|
|
|
+ projectGetNameMap({}).then(res => {
|
|
|
+ for (var a of res.data) {
|
|
|
+ for (var b of a.taskNameMapList) {
|
|
|
+ var num = {}
|
|
|
+ var arr = []
|
|
|
+ num.label = b.taskName
|
|
|
+ num.id = b.id
|
|
|
+ arr.push(num)
|
|
|
+ }
|
|
|
+ console.log(arr)
|
|
|
+ this.data1.push({ id: a.id, label: a.projectName, children: num })
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(this.data1)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ moduleTypeArr() {
|
|
|
+ settingQueryModuleInfoListData(this.formData).then(res => {
|
|
|
+ this.moduleTypeStr = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSizeChange(size) {
|
|
|
+ this.pageSize = size
|
|
|
+ this.pageIndex()
|
|
|
},
|
|
|
- handleDragStart(node, ev) {
|
|
|
- console.log('drag start', node)
|
|
|
+ handleCurrentChange(curIndex) {
|
|
|
+ this.curIndex = curIndex
|
|
|
+ this.pageIndex()
|
|
|
},
|
|
|
- handleDragEnter(draggingNode, dropNode, ev) {
|
|
|
- console.log('tree drag enter: ', dropNode.label)
|
|
|
+ pageIndex() {
|
|
|
+ this.formData = {
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ curIndex: this.curIndex,
|
|
|
+ caseFolderId: this.startId
|
|
|
+ }
|
|
|
+ queryCasesData(this.formData).then(res => {
|
|
|
+ this.gridData = res.data
|
|
|
+ })
|
|
|
},
|
|
|
- handleDragLeave(draggingNode, dropNode, ev) {
|
|
|
- console.log('tree drag leave: ', dropNode.label)
|
|
|
+ clickAllData(rows) {
|
|
|
+ this.formData = {
|
|
|
+ caseFolderId: this.startId
|
|
|
+ }
|
|
|
+ queryCasesData(this.formData).then(res => {
|
|
|
+ this.tableData = res.data
|
|
|
+ })
|
|
|
},
|
|
|
- handleDragOver(draggingNode, dropNode, ev) {
|
|
|
- console.log('tree drag over: ', dropNode.label)
|
|
|
+ taskTypeChange(ele) {
|
|
|
+ if (ele === 2) {
|
|
|
+ this.moduleTypeShow = true
|
|
|
+ } else {
|
|
|
+ this.moduleTypeShow = false
|
|
|
+ }
|
|
|
},
|
|
|
- handleDragEnd(draggingNode, dropNode, dropType, ev) {
|
|
|
- console.log('tree drag end: ', dropNode && dropNode.label, dropType)
|
|
|
+ // 新增
|
|
|
+ caseCreateCase(vel, e) {
|
|
|
+ if (e === '编辑') {
|
|
|
+ updateCaseData(this.caseData).then(res => {
|
|
|
+ this.successFun()
|
|
|
+ this.dialogFormVisibleUpdate = false
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (vel !== '' && e === '新增') {
|
|
|
+ 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 })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
- handleDrop(draggingNode, dropNode, dropType, ev) {
|
|
|
- console.log('tree drop: ', dropNode.label, dropType)
|
|
|
+ // 查询
|
|
|
+ queryCaseData(ele) {
|
|
|
+ if (this.createParticipation.caseName === '') return false
|
|
|
+ if (this.startId === '') {
|
|
|
+ this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
|
+ } else {
|
|
|
+ this.createParticipation = ele
|
|
|
+ this.createParticipation.caseFolderId = this.startId
|
|
|
+ this.createParticipation.pageSize = this.pageSize
|
|
|
+ this.createParticipation.curIndex = this.curIndex
|
|
|
+ queryCasesData(this.createParticipation).then(res => {
|
|
|
+ this.gridData = res.data
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
- allowDrop(draggingNode, dropNode, type) {
|
|
|
- if (dropNode.data.label === '二级 3-1') {
|
|
|
- return type !== 'inner'
|
|
|
+ // 查看
|
|
|
+ queryGetShow(ele) {
|
|
|
+ if (this.startId === '') {
|
|
|
+ this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
|
} else {
|
|
|
- return true
|
|
|
+ for (var vel of ele) {
|
|
|
+ var obj = vel
|
|
|
+ }
|
|
|
+ if (obj.taskType === 2) { this.moduleTypeShow = true }
|
|
|
+ this.dialogFormVisibleQuery = true
|
|
|
+ this.caseData = {}
|
|
|
+ this.caseData = obj
|
|
|
}
|
|
|
},
|
|
|
- allowDrag(draggingNode) {
|
|
|
- return draggingNode.data.label.indexOf('三级 3-2-2') === -1
|
|
|
+ // 编辑
|
|
|
+ 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
|
|
|
+ }
|
|
|
},
|
|
|
- statusChange(e) {
|
|
|
- console.log(e)
|
|
|
- this.radioButton = e
|
|
|
+
|
|
|
+ // 新增
|
|
|
+ createGetShow() {
|
|
|
+ this.titleName = '新增'
|
|
|
+ if (this.startId === '') {
|
|
|
+ this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
|
+ } else {
|
|
|
+ this.dialogFormVisibleUpdate = true
|
|
|
+ // this.caseData = {}
|
|
|
+ this.moduleTypeShow = false
|
|
|
+ // this.$refs['caseData'].resetFields()
|
|
|
+ if (this.$refs['caseData'] !== undefined) {
|
|
|
+ this.$refs['caseData'].resetFields()
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
- handleSizeChange(size) {
|
|
|
- this.pageSize = size
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ this.tableData = val
|
|
|
},
|
|
|
- handleCurrentChange(curIndex) {
|
|
|
- this.curIndex = curIndex
|
|
|
+ createUpdate(e, ele) {
|
|
|
+ this.startId = ele.id
|
|
|
+ this.codeId = ele.id
|
|
|
+ this.formData = {}
|
|
|
+ },
|
|
|
+ clickFun(e) {
|
|
|
+ this.startId = e.id
|
|
|
+ this.formData = {
|
|
|
+ pageSize: 5,
|
|
|
+ curIndex: 0,
|
|
|
+ caseFolderId: e.id
|
|
|
+ }
|
|
|
+ queryCasesData(this.formData).then(res => {
|
|
|
+ this.gridData = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deleteCaseData(e) {
|
|
|
+ if (this.startId === '') {
|
|
|
+ this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
|
|
|
+ } else {
|
|
|
+ this.$confirm('是否确认删除', '确认信息', {
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消'
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.formData = { id: e, modifier: this.userInformation }
|
|
|
+ deleteCaseData(this.formData).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.$message({ type: 'success', message: '已删除' })
|
|
|
+ this.data1 = []
|
|
|
+ this.AllQueryFolderData()
|
|
|
+ this.createParticipation.caseFolderId = this.startId
|
|
|
+ queryCasesData(this.createParticipation).then(res => {
|
|
|
+ this.gridData = res.data
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.errorFun(res.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(action => { this.$message({ type: 'success', message: '已取消' }) })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ successFun() {
|
|
|
+ this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 2000 })
|
|
|
+ },
|
|
|
+ errorFun(e) {
|
|
|
+ this.$notify({ title: 'Failed', message: e, type: 'error', duration: 2000 })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
- .headerStyle {
|
|
|
- margin:10px;
|
|
|
+.headerStyle {
|
|
|
+ margin:5px 0;
|
|
|
}
|
|
|
</style>
|