This commit is contained in:
chenjianxing 2020-04-24 00:38:41 +08:00
parent 6705bd98fd
commit 8f09b254ab
5 changed files with 36 additions and 29 deletions

View File

@ -23,15 +23,15 @@ public class TestCaseDataListener extends EasyExcelListener<TestCaseExcelData> {
Set<String> testCaseNames; Set<String> testCaseNames;
Set<String> userNames; Set<String> userIds;
public TestCaseDataListener(TestCaseService testCaseService, String projectId, public TestCaseDataListener(TestCaseService testCaseService, String projectId,
Set<String> testCaseNames, Set<String> userNames, Class<TestCaseExcelData> clazz) { Set<String> testCaseNames, Set<String> userIds, Class<TestCaseExcelData> clazz) {
super(clazz); super(clazz);
this.testCaseService = testCaseService; this.testCaseService = testCaseService;
this.projectId = projectId; this.projectId = projectId;
this.testCaseNames = testCaseNames; this.testCaseNames = testCaseNames;
this.userNames = userNames; this.userIds = userIds;
} }
@Override @Override
@ -44,7 +44,7 @@ public class TestCaseDataListener extends EasyExcelListener<TestCaseExcelData> {
if ( nodePath.trim().contains(" ")) { if ( nodePath.trim().contains(" ")) {
stringBuilder.append("所属模块不能包含空格"); stringBuilder.append("所属模块不能包含空格");
} }
if (!userNames.contains(data.getMaintainer())) { if (!userIds.contains(data.getMaintainer())) {
stringBuilder.append("该工作空间下无该用户:" + data.getMaintainer() + ";"); stringBuilder.append("该工作空间下无该用户:" + data.getMaintainer() + ";");
} }
if (testCaseNames.contains(data.getName())) { if (testCaseNames.contains(data.getName())) {

View File

@ -16,6 +16,7 @@ import io.metersphere.excel.domain.TestCaseExcelData;
import io.metersphere.excel.listener.EasyExcelListener; import io.metersphere.excel.listener.EasyExcelListener;
import io.metersphere.excel.listener.TestCaseDataListener; import io.metersphere.excel.listener.TestCaseDataListener;
import io.metersphere.excel.utils.EasyExcelUtil; import io.metersphere.excel.utils.EasyExcelUtil;
import io.metersphere.user.SessionUser;
import io.metersphere.user.SessionUtils; import io.metersphere.user.SessionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.ExecutorType;
@ -181,10 +182,10 @@ public class TestCaseService {
UserExample userExample = new UserExample(); UserExample userExample = new UserExample();
userExample.createCriteria().andLastWorkspaceIdEqualTo(currentWorkspaceId); userExample.createCriteria().andLastWorkspaceIdEqualTo(currentWorkspaceId);
List<User> users = userMapper.selectByExample(userExample); List<User> users = userMapper.selectByExample(userExample);
Set<String> userNames = users.stream().map(User::getName).collect(Collectors.toSet()); Set<String> userIds = users.stream().map(User::getId).collect(Collectors.toSet());
EasyExcelListener easyExcelListener = new TestCaseDataListener(this, projectId, EasyExcelListener easyExcelListener = new TestCaseDataListener(this, projectId,
testCaseNames, userNames, TestCaseExcelData.class); testCaseNames, userIds, TestCaseExcelData.class);
EasyExcelFactory.read(file.getInputStream(), TestCaseExcelData.class, easyExcelListener).sheet().doRead(); EasyExcelFactory.read(file.getInputStream(), TestCaseExcelData.class, easyExcelListener).sheet().doRead();
List<ExcelErrData<TestCaseExcelData>> errList = easyExcelListener.getErrList(); List<ExcelErrData<TestCaseExcelData>> errList = easyExcelListener.getErrList();
@ -228,6 +229,7 @@ public class TestCaseService {
StringBuilder path = new StringBuilder(""); StringBuilder path = new StringBuilder("");
List<String> types = Arrays.asList("functional", "performance", "api"); List<String> types = Arrays.asList("functional", "performance", "api");
List<String> methods = Arrays.asList("manual", "auto"); List<String> methods = Arrays.asList("manual", "auto");
SessionUser user = SessionUtils.getUser();
for (int i = 1; i <= 5; i++) { for (int i = 1; i <= 5; i++) {
TestCaseExcelData data = new TestCaseExcelData(); TestCaseExcelData data = new TestCaseExcelData();
data.setName("测试用例" + i); data.setName("测试用例" + i);
@ -239,7 +241,7 @@ public class TestCaseService {
data.setPrerequisite("前置条件选填"); data.setPrerequisite("前置条件选填");
data.setStepDesc("1. 每个步骤以换行分隔\n2. 步骤前可标序号\n3. 测试步骤和结果选填"); data.setStepDesc("1. 每个步骤以换行分隔\n2. 步骤前可标序号\n3. 测试步骤和结果选填");
data.setStepResult("1. 每条结果以换行分隔\n2. 结果前可标序号\n3. 测试步骤和结果选填"); data.setStepResult("1. 每条结果以换行分隔\n2. 结果前可标序号\n3. 测试步骤和结果选填");
data.setMaintainer("admin"); data.setMaintainer(user.getId());
data.setRemark("备注选填"); data.setRemark("备注选填");
list.add(data); list.add(data);
} }

View File

@ -1,9 +1,9 @@
<template> <template>
<span> <span>
<ms-table-operator-button icon="el-icon-edit" <ms-table-operator-button icon="el-icon-edit"
@click="editClick" @click.stop="editClickStop"/> :exec="editClick" @click.stop="editClickStop"/>
<ms-table-operator-button icon="el-icon-delete" type="danger" <ms-table-operator-button icon="el-icon-delete" type="danger"
@click="deletClick" @click.stop="deleteClickStop"/> :exec="deleteClick" @click.stop="deleteClickStop"/>
</span> </span>
</template> </template>
@ -20,7 +20,7 @@
editClickStop() { editClickStop() {
this.$emit('editClickStop'); this.$emit('editClickStop');
}, },
deletClick() { deleteClick() {
this.$emit('deleteClick'); this.$emit('deleteClick');
}, },
deleteClickStop() { deleteClickStop() {

View File

@ -1,7 +1,7 @@
<template> <template>
<el-button @click="click" <el-button @click="exec"
@click.stop="clickStop" :type="type" @click.stop="clickStop" :type="type"
:icon="icon" size="mini" circle/> :icon="icon" size="mini" circle></el-button>
</template> </template>
<script> <script>
@ -17,12 +17,12 @@
type: { type: {
type: String, type: String,
default: 'primary' default: 'primary'
},
exec: {
type: Function
} }
}, },
methods: { methods: {
click() {
this.$emit('click');
},
clickStop() { clickStop() {
this.$emit('clickStop'); this.$emit('clickStop');
} }

View File

@ -319,22 +319,27 @@
} }
}, },
resetForm() { resetForm() {
//
if (this.$refs['caseFrom']) { if (this.$refs['caseFrom']) {
this.$refs['caseFrom'].resetFields(); this.$refs['caseFrom'].validate((valid) => {
this.$refs['caseFrom'].resetFields();
this.form.name = '';
this.form.module = '';
this.form.type = '';
this.form.method = '';
this.form.maintainer = '';
this.form.priority = '';
this.form.prerequisite = '';
this.form.remark = '';
this.form.steps = [{
num: 1 ,
desc: '',
result: ''
}];
return true;
});
} }
this.form.name = '';
this.form.module = '';
this.form.type = '';
this.form.method = '';
this.form.maintainer = '';
this.form.priority = '';
this.form.prerequisite = '';
this.form.remark = '';
this.form.steps = [{
num: 1 ,
desc: '',
result: ''
}];
} }
} }
} }