Merge branch 'master' of https://github.com/metersphere/server
This commit is contained in:
commit
14531a571a
|
@ -318,7 +318,7 @@
|
||||||
<resource>
|
<resource>
|
||||||
<directory>src/main/resources</directory>
|
<directory>src/main/resources</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*.*</include>
|
<include>**/*</include>
|
||||||
</includes>
|
</includes>
|
||||||
<filtering>false</filtering>
|
<filtering>false</filtering>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -26,5 +26,7 @@ public class Issues implements Serializable {
|
||||||
|
|
||||||
private String model;
|
private String model;
|
||||||
|
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
|
@ -7,8 +7,6 @@ import lombok.Data;
|
||||||
public class TestPlan implements Serializable {
|
public class TestPlan implements Serializable {
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
private String projectId;
|
|
||||||
|
|
||||||
private String workspaceId;
|
private String workspaceId;
|
||||||
|
|
||||||
private String reportId;
|
private String reportId;
|
||||||
|
|
|
@ -174,76 +174,6 @@ public class TestPlanExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andProjectIdIsNull() {
|
|
||||||
addCriterion("project_id is null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdIsNotNull() {
|
|
||||||
addCriterion("project_id is not null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdEqualTo(String value) {
|
|
||||||
addCriterion("project_id =", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdNotEqualTo(String value) {
|
|
||||||
addCriterion("project_id <>", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdGreaterThan(String value) {
|
|
||||||
addCriterion("project_id >", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdGreaterThanOrEqualTo(String value) {
|
|
||||||
addCriterion("project_id >=", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdLessThan(String value) {
|
|
||||||
addCriterion("project_id <", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdLessThanOrEqualTo(String value) {
|
|
||||||
addCriterion("project_id <=", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdLike(String value) {
|
|
||||||
addCriterion("project_id like", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdNotLike(String value) {
|
|
||||||
addCriterion("project_id not like", value, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdIn(List<String> values) {
|
|
||||||
addCriterion("project_id in", values, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdNotIn(List<String> values) {
|
|
||||||
addCriterion("project_id not in", values, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdBetween(String value1, String value2) {
|
|
||||||
addCriterion("project_id between", value1, value2, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andProjectIdNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("project_id not between", value1, value2, "projectId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andWorkspaceIdIsNull() {
|
public Criteria andWorkspaceIdIsNull() {
|
||||||
addCriterion("workspace_id is null");
|
addCriterion("workspace_id is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
|
@ -385,72 +315,72 @@ public class TestPlanExample {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameIsNull() {
|
public Criteria andNameIsNull() {
|
||||||
addCriterion("name is null");
|
addCriterion("`name` is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameIsNotNull() {
|
public Criteria andNameIsNotNull() {
|
||||||
addCriterion("name is not null");
|
addCriterion("`name` is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameEqualTo(String value) {
|
public Criteria andNameEqualTo(String value) {
|
||||||
addCriterion("name =", value, "name");
|
addCriterion("`name` =", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameNotEqualTo(String value) {
|
public Criteria andNameNotEqualTo(String value) {
|
||||||
addCriterion("name <>", value, "name");
|
addCriterion("`name` <>", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameGreaterThan(String value) {
|
public Criteria andNameGreaterThan(String value) {
|
||||||
addCriterion("name >", value, "name");
|
addCriterion("`name` >", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameGreaterThanOrEqualTo(String value) {
|
public Criteria andNameGreaterThanOrEqualTo(String value) {
|
||||||
addCriterion("name >=", value, "name");
|
addCriterion("`name` >=", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameLessThan(String value) {
|
public Criteria andNameLessThan(String value) {
|
||||||
addCriterion("name <", value, "name");
|
addCriterion("`name` <", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameLessThanOrEqualTo(String value) {
|
public Criteria andNameLessThanOrEqualTo(String value) {
|
||||||
addCriterion("name <=", value, "name");
|
addCriterion("`name` <=", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameLike(String value) {
|
public Criteria andNameLike(String value) {
|
||||||
addCriterion("name like", value, "name");
|
addCriterion("`name` like", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameNotLike(String value) {
|
public Criteria andNameNotLike(String value) {
|
||||||
addCriterion("name not like", value, "name");
|
addCriterion("`name` not like", value, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameIn(List<String> values) {
|
public Criteria andNameIn(List<String> values) {
|
||||||
addCriterion("name in", values, "name");
|
addCriterion("`name` in", values, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameNotIn(List<String> values) {
|
public Criteria andNameNotIn(List<String> values) {
|
||||||
addCriterion("name not in", values, "name");
|
addCriterion("`name` not in", values, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameBetween(String value1, String value2) {
|
public Criteria andNameBetween(String value1, String value2) {
|
||||||
addCriterion("name between", value1, value2, "name");
|
addCriterion("`name` between", value1, value2, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andNameNotBetween(String value1, String value2) {
|
public Criteria andNameNotBetween(String value1, String value2) {
|
||||||
addCriterion("name not between", value1, value2, "name");
|
addCriterion("`name` not between", value1, value2, "name");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -525,72 +455,72 @@ public class TestPlanExample {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusIsNull() {
|
public Criteria andStatusIsNull() {
|
||||||
addCriterion("status is null");
|
addCriterion("`status` is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusIsNotNull() {
|
public Criteria andStatusIsNotNull() {
|
||||||
addCriterion("status is not null");
|
addCriterion("`status` is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusEqualTo(String value) {
|
public Criteria andStatusEqualTo(String value) {
|
||||||
addCriterion("status =", value, "status");
|
addCriterion("`status` =", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusNotEqualTo(String value) {
|
public Criteria andStatusNotEqualTo(String value) {
|
||||||
addCriterion("status <>", value, "status");
|
addCriterion("`status` <>", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusGreaterThan(String value) {
|
public Criteria andStatusGreaterThan(String value) {
|
||||||
addCriterion("status >", value, "status");
|
addCriterion("`status` >", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusGreaterThanOrEqualTo(String value) {
|
public Criteria andStatusGreaterThanOrEqualTo(String value) {
|
||||||
addCriterion("status >=", value, "status");
|
addCriterion("`status` >=", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusLessThan(String value) {
|
public Criteria andStatusLessThan(String value) {
|
||||||
addCriterion("status <", value, "status");
|
addCriterion("`status` <", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusLessThanOrEqualTo(String value) {
|
public Criteria andStatusLessThanOrEqualTo(String value) {
|
||||||
addCriterion("status <=", value, "status");
|
addCriterion("`status` <=", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusLike(String value) {
|
public Criteria andStatusLike(String value) {
|
||||||
addCriterion("status like", value, "status");
|
addCriterion("`status` like", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusNotLike(String value) {
|
public Criteria andStatusNotLike(String value) {
|
||||||
addCriterion("status not like", value, "status");
|
addCriterion("`status` not like", value, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusIn(List<String> values) {
|
public Criteria andStatusIn(List<String> values) {
|
||||||
addCriterion("status in", values, "status");
|
addCriterion("`status` in", values, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusNotIn(List<String> values) {
|
public Criteria andStatusNotIn(List<String> values) {
|
||||||
addCriterion("status not in", values, "status");
|
addCriterion("`status` not in", values, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusBetween(String value1, String value2) {
|
public Criteria andStatusBetween(String value1, String value2) {
|
||||||
addCriterion("status between", value1, value2, "status");
|
addCriterion("`status` between", value1, value2, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStatusNotBetween(String value1, String value2) {
|
public Criteria andStatusNotBetween(String value1, String value2) {
|
||||||
addCriterion("status not between", value1, value2, "status");
|
addCriterion("`status` not between", value1, value2, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
<mapper namespace="io.metersphere.base.mapper.TestPlanMapper">
|
<mapper namespace="io.metersphere.base.mapper.TestPlanMapper">
|
||||||
<resultMap id="BaseResultMap" type="io.metersphere.base.domain.TestPlan">
|
<resultMap id="BaseResultMap" type="io.metersphere.base.domain.TestPlan">
|
||||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||||
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
|
||||||
<result column="workspace_id" jdbcType="VARCHAR" property="workspaceId" />
|
<result column="workspace_id" jdbcType="VARCHAR" property="workspaceId" />
|
||||||
<result column="report_id" jdbcType="VARCHAR" property="reportId" />
|
<result column="report_id" jdbcType="VARCHAR" property="reportId" />
|
||||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||||
|
@ -78,8 +77,8 @@
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, project_id, workspace_id, report_id, name, description, status, stage, principal,
|
id, workspace_id, report_id, `name`, description, `status`, stage, principal, test_case_match_rule,
|
||||||
test_case_match_rule, executor_match_rule, create_time, update_time
|
executor_match_rule, create_time, update_time
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
tags
|
tags
|
||||||
|
@ -133,16 +132,16 @@
|
||||||
</if>
|
</if>
|
||||||
</delete>
|
</delete>
|
||||||
<insert id="insert" parameterType="io.metersphere.base.domain.TestPlan">
|
<insert id="insert" parameterType="io.metersphere.base.domain.TestPlan">
|
||||||
insert into test_plan (id, project_id, workspace_id,
|
insert into test_plan (id, workspace_id, report_id,
|
||||||
report_id, name, description,
|
`name`, description, `status`,
|
||||||
status, stage, principal,
|
stage, principal, test_case_match_rule,
|
||||||
test_case_match_rule, executor_match_rule, create_time,
|
executor_match_rule, create_time, update_time,
|
||||||
update_time, tags)
|
tags)
|
||||||
values (#{id,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{workspaceId,jdbcType=VARCHAR},
|
values (#{id,jdbcType=VARCHAR}, #{workspaceId,jdbcType=VARCHAR}, #{reportId,jdbcType=VARCHAR},
|
||||||
#{reportId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR},
|
#{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
|
||||||
#{status,jdbcType=VARCHAR}, #{stage,jdbcType=VARCHAR}, #{principal,jdbcType=VARCHAR},
|
#{stage,jdbcType=VARCHAR}, #{principal,jdbcType=VARCHAR}, #{testCaseMatchRule,jdbcType=VARCHAR},
|
||||||
#{testCaseMatchRule,jdbcType=VARCHAR}, #{executorMatchRule,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT},
|
#{executorMatchRule,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
|
||||||
#{updateTime,jdbcType=BIGINT}, #{tags,jdbcType=LONGVARCHAR})
|
#{tags,jdbcType=LONGVARCHAR})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestPlan">
|
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestPlan">
|
||||||
insert into test_plan
|
insert into test_plan
|
||||||
|
@ -150,9 +149,6 @@
|
||||||
<if test="id != null">
|
<if test="id != null">
|
||||||
id,
|
id,
|
||||||
</if>
|
</if>
|
||||||
<if test="projectId != null">
|
|
||||||
project_id,
|
|
||||||
</if>
|
|
||||||
<if test="workspaceId != null">
|
<if test="workspaceId != null">
|
||||||
workspace_id,
|
workspace_id,
|
||||||
</if>
|
</if>
|
||||||
|
@ -160,13 +156,13 @@
|
||||||
report_id,
|
report_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="name != null">
|
<if test="name != null">
|
||||||
name,
|
`name`,
|
||||||
</if>
|
</if>
|
||||||
<if test="description != null">
|
<if test="description != null">
|
||||||
description,
|
description,
|
||||||
</if>
|
</if>
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
status,
|
`status`,
|
||||||
</if>
|
</if>
|
||||||
<if test="stage != null">
|
<if test="stage != null">
|
||||||
stage,
|
stage,
|
||||||
|
@ -194,9 +190,6 @@
|
||||||
<if test="id != null">
|
<if test="id != null">
|
||||||
#{id,jdbcType=VARCHAR},
|
#{id,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="projectId != null">
|
|
||||||
#{projectId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="workspaceId != null">
|
<if test="workspaceId != null">
|
||||||
#{workspaceId,jdbcType=VARCHAR},
|
#{workspaceId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -247,9 +240,6 @@
|
||||||
<if test="record.id != null">
|
<if test="record.id != null">
|
||||||
id = #{record.id,jdbcType=VARCHAR},
|
id = #{record.id,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="record.projectId != null">
|
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.workspaceId != null">
|
<if test="record.workspaceId != null">
|
||||||
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -257,13 +247,13 @@
|
||||||
report_id = #{record.reportId,jdbcType=VARCHAR},
|
report_id = #{record.reportId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="record.name != null">
|
<if test="record.name != null">
|
||||||
name = #{record.name,jdbcType=VARCHAR},
|
`name` = #{record.name,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="record.description != null">
|
<if test="record.description != null">
|
||||||
description = #{record.description,jdbcType=VARCHAR},
|
description = #{record.description,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="record.status != null">
|
<if test="record.status != null">
|
||||||
status = #{record.status,jdbcType=VARCHAR},
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="record.stage != null">
|
<if test="record.stage != null">
|
||||||
stage = #{record.stage,jdbcType=VARCHAR},
|
stage = #{record.stage,jdbcType=VARCHAR},
|
||||||
|
@ -294,12 +284,11 @@
|
||||||
<update id="updateByExampleWithBLOBs" parameterType="map">
|
<update id="updateByExampleWithBLOBs" parameterType="map">
|
||||||
update test_plan
|
update test_plan
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
|
||||||
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
||||||
report_id = #{record.reportId,jdbcType=VARCHAR},
|
report_id = #{record.reportId,jdbcType=VARCHAR},
|
||||||
name = #{record.name,jdbcType=VARCHAR},
|
`name` = #{record.name,jdbcType=VARCHAR},
|
||||||
description = #{record.description,jdbcType=VARCHAR},
|
description = #{record.description,jdbcType=VARCHAR},
|
||||||
status = #{record.status,jdbcType=VARCHAR},
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
stage = #{record.stage,jdbcType=VARCHAR},
|
stage = #{record.stage,jdbcType=VARCHAR},
|
||||||
principal = #{record.principal,jdbcType=VARCHAR},
|
principal = #{record.principal,jdbcType=VARCHAR},
|
||||||
test_case_match_rule = #{record.testCaseMatchRule,jdbcType=VARCHAR},
|
test_case_match_rule = #{record.testCaseMatchRule,jdbcType=VARCHAR},
|
||||||
|
@ -314,12 +303,11 @@
|
||||||
<update id="updateByExample" parameterType="map">
|
<update id="updateByExample" parameterType="map">
|
||||||
update test_plan
|
update test_plan
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
|
||||||
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
||||||
report_id = #{record.reportId,jdbcType=VARCHAR},
|
report_id = #{record.reportId,jdbcType=VARCHAR},
|
||||||
name = #{record.name,jdbcType=VARCHAR},
|
`name` = #{record.name,jdbcType=VARCHAR},
|
||||||
description = #{record.description,jdbcType=VARCHAR},
|
description = #{record.description,jdbcType=VARCHAR},
|
||||||
status = #{record.status,jdbcType=VARCHAR},
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
stage = #{record.stage,jdbcType=VARCHAR},
|
stage = #{record.stage,jdbcType=VARCHAR},
|
||||||
principal = #{record.principal,jdbcType=VARCHAR},
|
principal = #{record.principal,jdbcType=VARCHAR},
|
||||||
test_case_match_rule = #{record.testCaseMatchRule,jdbcType=VARCHAR},
|
test_case_match_rule = #{record.testCaseMatchRule,jdbcType=VARCHAR},
|
||||||
|
@ -333,9 +321,6 @@
|
||||||
<update id="updateByPrimaryKeySelective" parameterType="io.metersphere.base.domain.TestPlan">
|
<update id="updateByPrimaryKeySelective" parameterType="io.metersphere.base.domain.TestPlan">
|
||||||
update test_plan
|
update test_plan
|
||||||
<set>
|
<set>
|
||||||
<if test="projectId != null">
|
|
||||||
project_id = #{projectId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="workspaceId != null">
|
<if test="workspaceId != null">
|
||||||
workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -343,13 +328,13 @@
|
||||||
report_id = #{reportId,jdbcType=VARCHAR},
|
report_id = #{reportId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="name != null">
|
<if test="name != null">
|
||||||
name = #{name,jdbcType=VARCHAR},
|
`name` = #{name,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="description != null">
|
<if test="description != null">
|
||||||
description = #{description,jdbcType=VARCHAR},
|
description = #{description,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
status = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="stage != null">
|
<if test="stage != null">
|
||||||
stage = #{stage,jdbcType=VARCHAR},
|
stage = #{stage,jdbcType=VARCHAR},
|
||||||
|
@ -377,12 +362,11 @@
|
||||||
</update>
|
</update>
|
||||||
<update id="updateByPrimaryKeyWithBLOBs" parameterType="io.metersphere.base.domain.TestPlan">
|
<update id="updateByPrimaryKeyWithBLOBs" parameterType="io.metersphere.base.domain.TestPlan">
|
||||||
update test_plan
|
update test_plan
|
||||||
set project_id = #{projectId,jdbcType=VARCHAR},
|
set workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
||||||
workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
|
||||||
report_id = #{reportId,jdbcType=VARCHAR},
|
report_id = #{reportId,jdbcType=VARCHAR},
|
||||||
name = #{name,jdbcType=VARCHAR},
|
`name` = #{name,jdbcType=VARCHAR},
|
||||||
description = #{description,jdbcType=VARCHAR},
|
description = #{description,jdbcType=VARCHAR},
|
||||||
status = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
stage = #{stage,jdbcType=VARCHAR},
|
stage = #{stage,jdbcType=VARCHAR},
|
||||||
principal = #{principal,jdbcType=VARCHAR},
|
principal = #{principal,jdbcType=VARCHAR},
|
||||||
test_case_match_rule = #{testCaseMatchRule,jdbcType=VARCHAR},
|
test_case_match_rule = #{testCaseMatchRule,jdbcType=VARCHAR},
|
||||||
|
@ -394,12 +378,11 @@
|
||||||
</update>
|
</update>
|
||||||
<update id="updateByPrimaryKey" parameterType="io.metersphere.base.domain.TestPlan">
|
<update id="updateByPrimaryKey" parameterType="io.metersphere.base.domain.TestPlan">
|
||||||
update test_plan
|
update test_plan
|
||||||
set project_id = #{projectId,jdbcType=VARCHAR},
|
set workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
||||||
workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
|
||||||
report_id = #{reportId,jdbcType=VARCHAR},
|
report_id = #{reportId,jdbcType=VARCHAR},
|
||||||
name = #{name,jdbcType=VARCHAR},
|
`name` = #{name,jdbcType=VARCHAR},
|
||||||
description = #{description,jdbcType=VARCHAR},
|
description = #{description,jdbcType=VARCHAR},
|
||||||
status = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
stage = #{stage,jdbcType=VARCHAR},
|
stage = #{stage,jdbcType=VARCHAR},
|
||||||
principal = #{principal,jdbcType=VARCHAR},
|
principal = #{principal,jdbcType=VARCHAR},
|
||||||
test_case_match_rule = #{testCaseMatchRule,jdbcType=VARCHAR},
|
test_case_match_rule = #{testCaseMatchRule,jdbcType=VARCHAR},
|
||||||
|
|
|
@ -6,7 +6,7 @@ import io.metersphere.base.domain.TestResource;
|
||||||
import io.metersphere.commons.constants.ResourceStatusEnum;
|
import io.metersphere.commons.constants.ResourceStatusEnum;
|
||||||
import io.metersphere.commons.exception.MSException;
|
import io.metersphere.commons.exception.MSException;
|
||||||
import io.metersphere.commons.utils.CommonBeanFactory;
|
import io.metersphere.commons.utils.CommonBeanFactory;
|
||||||
import io.metersphere.commons.utils.LogUtil;
|
import io.metersphere.controller.ResultHolder;
|
||||||
import io.metersphere.dto.NodeDTO;
|
import io.metersphere.dto.NodeDTO;
|
||||||
import io.metersphere.i18n.Translator;
|
import io.metersphere.i18n.Translator;
|
||||||
import io.metersphere.performance.engine.AbstractEngine;
|
import io.metersphere.performance.engine.AbstractEngine;
|
||||||
|
@ -87,12 +87,14 @@ public class DockerTestEngine extends AbstractEngine {
|
||||||
testRequest.setTestData(context.getTestData());
|
testRequest.setTestData(context.getTestData());
|
||||||
testRequest.setEnv(context.getEnv());
|
testRequest.setEnv(context.getEnv());
|
||||||
|
|
||||||
try {
|
|
||||||
restTemplate.postForObject(uri, testRequest, String.class);
|
ResultHolder result = restTemplate.postForObject(uri, testRequest, ResultHolder.class);
|
||||||
} catch (Exception e) {
|
if (result == null) {
|
||||||
LogUtil.error(e);
|
|
||||||
MSException.throwException(Translator.get("start_engine_fail"));
|
MSException.throwException(Translator.get("start_engine_fail"));
|
||||||
}
|
}
|
||||||
|
if (!result.isSuccess()) {
|
||||||
|
MSException.throwException(result.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -105,12 +107,13 @@ public class DockerTestEngine extends AbstractEngine {
|
||||||
Integer port = node.getPort();
|
Integer port = node.getPort();
|
||||||
|
|
||||||
String uri = String.format(BASE_URL + "/jmeter/container/stop/" + testId, ip, port);
|
String uri = String.format(BASE_URL + "/jmeter/container/stop/" + testId, ip, port);
|
||||||
try {
|
ResultHolder result = restTemplateWithTimeOut.getForObject(uri, ResultHolder.class);
|
||||||
restTemplateWithTimeOut.getForObject(uri, String.class);
|
if (result == null) {
|
||||||
} catch (Exception e) {
|
|
||||||
LogUtil.error("stop load test fail... " + testId, e);
|
|
||||||
MSException.throwException(Translator.get("container_delete_fail"));
|
MSException.throwException(Translator.get("container_delete_fail"));
|
||||||
}
|
}
|
||||||
|
if (!result.isSuccess()) {
|
||||||
|
MSException.throwException(result.getMessage());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class TestPlanController {
|
||||||
public List<TestPlanDTO> listByProjectId(@PathVariable String projectId, @PathVariable String workspaceId) {
|
public List<TestPlanDTO> listByProjectId(@PathVariable String projectId, @PathVariable String workspaceId) {
|
||||||
QueryTestPlanRequest request = new QueryTestPlanRequest();
|
QueryTestPlanRequest request = new QueryTestPlanRequest();
|
||||||
request.setWorkspaceId(workspaceId);
|
request.setWorkspaceId(workspaceId);
|
||||||
request.setProjectId(projectId);
|
// request.setProjectId(projectId);
|
||||||
return testPlanService.listTestPlan(request);
|
return testPlanService.listTestPlan(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package io.metersphere.track.domain;
|
package io.metersphere.track.domain;
|
||||||
|
|
||||||
|
import io.metersphere.base.domain.Project;
|
||||||
import io.metersphere.base.domain.TestCaseNode;
|
import io.metersphere.base.domain.TestCaseNode;
|
||||||
import io.metersphere.base.domain.TestCaseNodeExample;
|
import io.metersphere.base.domain.TestCaseNodeExample;
|
||||||
import io.metersphere.base.mapper.TestCaseNodeMapper;
|
import io.metersphere.base.mapper.TestCaseNodeMapper;
|
||||||
|
@ -52,6 +53,9 @@ public class ReportResultComponent extends ReportComponent {
|
||||||
nodeTrees.forEach(rootNode -> {
|
nodeTrees.forEach(rootNode -> {
|
||||||
TestCaseReportModuleResultDTO moduleResult = moduleResultMap.get(rootNode.getId());
|
TestCaseReportModuleResultDTO moduleResult = moduleResultMap.get(rootNode.getId());
|
||||||
if (moduleResult != null) {
|
if (moduleResult != null) {
|
||||||
|
TestCaseNodeService testCaseNodeService = (TestCaseNodeService) CommonBeanFactory.getBean("testCaseNodeService");
|
||||||
|
Project project = testCaseNodeService.getProjectByNode(rootNode.getId());
|
||||||
|
moduleResult.setProjectName(project.getName());
|
||||||
moduleResult.setModuleName(rootNode.getName());
|
moduleResult.setModuleName(rootNode.getName());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -20,4 +20,5 @@ public class TestCaseReportModuleResultDTO {
|
||||||
private Integer failureCount;
|
private Integer failureCount;
|
||||||
private Integer blockingCount;
|
private Integer blockingCount;
|
||||||
private Integer underwayCount;
|
private Integer underwayCount;
|
||||||
|
private String projectName;
|
||||||
}
|
}
|
||||||
|
|
|
@ -264,7 +264,7 @@ public class IssuesService {
|
||||||
String result = addJiraIssue(url, auth, json);
|
String result = addJiraIssue(url, auth, json);
|
||||||
|
|
||||||
JSONObject jsonObject = JSON.parseObject(result);
|
JSONObject jsonObject = JSON.parseObject(result);
|
||||||
String id = jsonObject.getString("id");
|
String id = jsonObject.getString("key");
|
||||||
|
|
||||||
// 用例与第三方缺陷平台中的缺陷关联
|
// 用例与第三方缺陷平台中的缺陷关联
|
||||||
TestCaseIssues testCaseIssues = new TestCaseIssues();
|
TestCaseIssues testCaseIssues = new TestCaseIssues();
|
||||||
|
@ -360,7 +360,7 @@ public class IssuesService {
|
||||||
status = statusCategory.getString("key");
|
status = statusCategory.getString("key");
|
||||||
}
|
}
|
||||||
|
|
||||||
String id = obj.getString("id");
|
String id = obj.getString("key");
|
||||||
String title = fields.getString("summary");
|
String title = fields.getString("summary");
|
||||||
String description = fields.getString("description");
|
String description = fields.getString("description");
|
||||||
|
|
||||||
|
|
|
@ -498,4 +498,12 @@ public class TestCaseNodeService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Project getProjectByNode(String nodeId) {
|
||||||
|
TestCaseNodeExample example = new TestCaseNodeExample();
|
||||||
|
example.createCriteria().andIdEqualTo(nodeId);
|
||||||
|
List<TestCaseNode> testCaseNodes = testCaseNodeMapper.selectByExample(example);
|
||||||
|
String projectId = testCaseNodes.get(0).getProjectId();
|
||||||
|
return projectMapper.selectByPrimaryKey(projectId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -273,6 +273,9 @@ public class TestPlanService {
|
||||||
queryTestPlanRequest.setId(planId);
|
queryTestPlanRequest.setId(planId);
|
||||||
|
|
||||||
TestPlanDTO testPlan = extTestPlanMapper.list(queryTestPlanRequest).get(0);
|
TestPlanDTO testPlan = extTestPlanMapper.list(queryTestPlanRequest).get(0);
|
||||||
|
String projectName = getProjectNameByPlanId(planId);
|
||||||
|
testPlan.setProjectName(projectName);
|
||||||
|
|
||||||
TestCaseReport testCaseReport = testCaseReportMapper.selectByPrimaryKey(testPlan.getReportId());
|
TestCaseReport testCaseReport = testCaseReportMapper.selectByPrimaryKey(testPlan.getReportId());
|
||||||
JSONObject content = JSONObject.parseObject(testCaseReport.getContent());
|
JSONObject content = JSONObject.parseObject(testCaseReport.getContent());
|
||||||
JSONArray componentIds = content.getJSONArray("components");
|
JSONArray componentIds = content.getJSONArray("components");
|
||||||
|
@ -286,6 +289,7 @@ public class TestPlanService {
|
||||||
if (issue.size() > 0) {
|
if (issue.size() > 0) {
|
||||||
for (Issues i : issue) {
|
for (Issues i : issue) {
|
||||||
i.setModel(testCase.getNodePath());
|
i.setModel(testCase.getNodePath());
|
||||||
|
i.setProjectName(testCase.getProjectName());
|
||||||
String des = i.getDescription().replaceAll("<p>", "").replaceAll("</p>", "");
|
String des = i.getDescription().replaceAll("<p>", "").replaceAll("</p>", "");
|
||||||
i.setDescription(des);
|
i.setDescription(des);
|
||||||
if (i.getLastmodify() == null || i.getLastmodify() == "") {
|
if (i.getLastmodify() == null || i.getLastmodify() == "") {
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit b86032cbbda9a9e6028308aa95a887cff2192f1c
|
Subproject commit d5b4969642fd8d10cc2f949d7377e0a0e5217a3a
|
|
@ -0,0 +1,7 @@
|
||||||
|
CREATE TABLE `license` (
|
||||||
|
`id` varchar(50) NOT NULL COMMENT 'ID',
|
||||||
|
`create_time` bigint(13) NOT NULL COMMENT 'Create timestamp',
|
||||||
|
`update_time` bigint(13) NOT NULL COMMENT 'Update timestamp',
|
||||||
|
`license_code` longtext DEFAULT NULL COMMENT 'license_code',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
@ -0,0 +1 @@
|
||||||
|
alter table test_plan drop column project_id;
|
|
@ -150,4 +150,6 @@ quota_performance_excess_organization=The number of performance tests exceeds th
|
||||||
quota_max_threads_excess_workspace=The maximum number of concurrent threads exceeds the workspace quota
|
quota_max_threads_excess_workspace=The maximum number of concurrent threads exceeds the workspace quota
|
||||||
quota_max_threads_excess_organization=The maximum number of concurrent threads exceeds the organization quota
|
quota_max_threads_excess_organization=The maximum number of concurrent threads exceeds the organization quota
|
||||||
quota_duration_excess_workspace=The stress test duration exceeds the work space quota
|
quota_duration_excess_workspace=The stress test duration exceeds the work space quota
|
||||||
quota_duration_excess_organization=The stress test duration exceeds the organization quota
|
quota_duration_excess_organization=The stress test duration exceeds the organization quota
|
||||||
|
license_valid_license_error=valid license error
|
||||||
|
license_valid_license_code=The authorization code already exists
|
||||||
|
|
|
@ -151,6 +151,7 @@ quota_max_threads_excess_workspace=最大并发数超过工作空间限额
|
||||||
quota_max_threads_excess_organization=最大并发数超过组织限额
|
quota_max_threads_excess_organization=最大并发数超过组织限额
|
||||||
quota_duration_excess_workspace=压测时长超过工作空间限额
|
quota_duration_excess_workspace=压测时长超过工作空间限额
|
||||||
quota_duration_excess_organization=压测时长超过组织限额
|
quota_duration_excess_organization=压测时长超过组织限额
|
||||||
|
license_valid_license_error=授权验证失败
|
||||||
|
license_valid_license_code=授权码已经存在
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -150,4 +150,7 @@ quota_performance_excess_organization=性能測試數量超過組織限額
|
||||||
quota_max_threads_excess_workspace=最大並發數超過工作空間限額
|
quota_max_threads_excess_workspace=最大並發數超過工作空間限額
|
||||||
quota_max_threads_excess_organization=最大並發數超過組織限額
|
quota_max_threads_excess_organization=最大並發數超過組織限額
|
||||||
quota_duration_excess_workspace=壓測時長超過工作空間限額
|
quota_duration_excess_workspace=壓測時長超過工作空間限額
|
||||||
quota_duration_excess_organization=壓測時長超過組織限額
|
quota_duration_excess_organization=壓測時長超過組織限額
|
||||||
|
license_valid_license_error=授權驗證失敗
|
||||||
|
license_valid_license_code=授權碼已經存在
|
||||||
|
|
||||||
|
|
|
@ -45,64 +45,107 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {checkoutCurrentOrganization, checkoutCurrentWorkspace} from "@/common/js/utils";
|
import {checkoutCurrentOrganization, checkoutCurrentWorkspace} from "@/common/js/utils";
|
||||||
import Setting from "@/business/components/settings/router";
|
import Setting from "@/business/components/settings/router";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MsSettingMenu",
|
name: "MsSettingMenu",
|
||||||
data() {
|
data() {
|
||||||
let getMenus = function (group) {
|
let valid = false;
|
||||||
let menus = [];
|
let getMenus = function (group) {
|
||||||
Setting.children.forEach(child => {
|
let menus = [];
|
||||||
if (child.meta[group] === true) {
|
Setting.children.forEach(child => {
|
||||||
let menu = {index: Setting.path + "/" + child.path}
|
if (child.meta[group] === true) {
|
||||||
menu.title = child.meta.title;
|
let menu = {index: Setting.path + "/" + child.path}
|
||||||
menu.roles = child.meta.roles;
|
menu.title = child.meta.title;
|
||||||
menus.push(menu);
|
menu.roles = child.meta.roles;
|
||||||
}
|
if (child.meta.valid != undefined && child.meta.valid === true) {
|
||||||
})
|
menu.valid = child.meta.valid;
|
||||||
return menus;
|
valid = true;
|
||||||
|
}
|
||||||
|
menus.push(menu);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return menus;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
systems: getMenus('system'),
|
||||||
|
organizations: getMenus('organization'),
|
||||||
|
workspaces: getMenus('workspace'),
|
||||||
|
persons: getMenus('person'),
|
||||||
|
isValid: valid,
|
||||||
|
isCurrentOrganizationAdmin: false,
|
||||||
|
isCurrentWorkspaceUser: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.isValid === true) {
|
||||||
|
this.valid();
|
||||||
|
}
|
||||||
|
this.isCurrentOrganizationAdmin = checkoutCurrentOrganization();
|
||||||
|
this.isCurrentWorkspaceUser = checkoutCurrentWorkspace();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
valid() {
|
||||||
|
let _this = this;
|
||||||
|
this.result = this.$get("/license/valid", response => {
|
||||||
|
let data = response.data;
|
||||||
|
if (data === undefined || data === null || data.status != "valid") {
|
||||||
|
this.systems.forEach(item => {
|
||||||
|
if (item.valid != undefined && item.valid === true) {
|
||||||
|
_this.systems.splice(this.systems.indexOf(item), 1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
this.organizations.forEach(item => {
|
||||||
|
if (item.valid != undefined && item.valid === true) {
|
||||||
|
_this.organizations.splice(this.organizations.indexOf(item), 1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
this.workspaces.forEach(item => {
|
||||||
|
if (item.valid != undefined && item.valid === true) {
|
||||||
|
_this.workspaces.splice(this.workspaces.indexOf(item), 1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
this.persons.forEach(item => {
|
||||||
|
if (item.valid != undefined && item.valid === true) {
|
||||||
|
_this.persons.splice(this.persons.indexOf(item), 1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return {
|
|
||||||
systems: getMenus('system'),
|
|
||||||
organizations: getMenus('organization'),
|
|
||||||
workspaces: getMenus('workspace'),
|
|
||||||
persons: getMenus('person'),
|
|
||||||
isCurrentOrganizationAdmin: false,
|
|
||||||
isCurrentWorkspaceUser: false,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.isCurrentOrganizationAdmin = checkoutCurrentOrganization();
|
|
||||||
this.isCurrentWorkspaceUser = checkoutCurrentWorkspace();
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.setting {
|
|
||||||
border-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.setting .setting-item {
|
.setting {
|
||||||
height: 40px;
|
border-right: 0;
|
||||||
line-height: 40px;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.icon {
|
.setting .setting-item {
|
||||||
width: 24px;
|
height: 40px;
|
||||||
margin-right: 10px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.account {
|
.icon {
|
||||||
color: #5a78f0;
|
width: 24px;
|
||||||
}
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.organization {
|
.account {
|
||||||
color: #b33a5b;
|
color: #5a78f0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.workspace {
|
.organization {
|
||||||
color: #44b349;
|
color: #b33a5b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.workspace {
|
||||||
|
color: #44b349;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -32,7 +32,7 @@ export default {
|
||||||
component: () => import(/* webpackChunkName: "setting" */ '@/business/components/settings/system/SystemParameterSetting'),
|
component: () => import(/* webpackChunkName: "setting" */ '@/business/components/settings/system/SystemParameterSetting'),
|
||||||
meta: {system: true, title: 'commons.system_parameter_setting'}
|
meta: {system: true, title: 'commons.system_parameter_setting'}
|
||||||
},
|
},
|
||||||
...requireContext.keys().map(key => requireContext(key).system),
|
...requireContext.keys().map(key => requireContext(key).system),...requireContext.keys().map(key => requireContext(key).license),
|
||||||
{
|
{
|
||||||
path: 'organizationmember',
|
path: 'organizationmember',
|
||||||
component: () => import(/* webpackChunkName: "setting" */ '@/business/components/settings/organization/OrganizationMember'),
|
component: () => import(/* webpackChunkName: "setting" */ '@/business/components/settings/organization/OrganizationMember'),
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
},
|
},
|
||||||
uploadValidate(file) {
|
uploadValidate(file) {
|
||||||
let suffix = file.name.substring(file.name.lastIndexOf('.') + 1);
|
let suffix = file.name.substring(file.name.lastIndexOf('.') + 1);
|
||||||
if (suffix != 'xls' && suffix != 'xlsx') {
|
if (suffix != 'xls' && suffix != 'xlsx' && suffix != 'xmind') {
|
||||||
this.$warning(this.$t('test_track.case.import.upload_limit_format'));
|
this.$warning(this.$t('test_track.case.import.upload_limit_format'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,11 @@
|
||||||
:label="$t('test_track.module.module')"
|
:label="$t('test_track.module.module')"
|
||||||
show-overflow-tooltip>
|
show-overflow-tooltip>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="projectName"
|
||||||
|
:label="$t('test_track.module.project_name')"
|
||||||
|
show-overflow-tooltip>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="title"
|
prop="title"
|
||||||
:label="$t('test_track.module.title')"
|
:label="$t('test_track.module.title')"
|
||||||
|
|
|
@ -50,6 +50,12 @@
|
||||||
show-overflow-tooltip>
|
show-overflow-tooltip>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
prop="projectName"
|
||||||
|
:label="$t('test_track.case.project_name')"
|
||||||
|
show-overflow-tooltip>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="executorName"
|
prop="executorName"
|
||||||
:label="$t('test_track.plan_view.executor')">
|
:label="$t('test_track.plan_view.executor')">
|
||||||
|
|
|
@ -13,6 +13,12 @@
|
||||||
:label="$t('test_track.module.module')"
|
:label="$t('test_track.module.module')"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="projectName"
|
||||||
|
:label="$t('test_track.module.project_name')"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="caseCount"
|
prop="caseCount"
|
||||||
:label="$t('test_track.plan_view.case_count')"
|
:label="$t('test_track.plan_view.case_count')"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7e4d80cc2b870a8cac6dbb9fe6711ab6041faf6d
|
Subproject commit 0a375848d034d20eaf05caf11769e1c75c39235c
|
|
@ -110,6 +110,7 @@ export default {
|
||||||
please_save: 'Please save first',
|
please_save: 'Please save first',
|
||||||
formatErr: 'Format Error',
|
formatErr: 'Format Error',
|
||||||
id: 'ID',
|
id: 'ID',
|
||||||
|
cannot_be_null: 'not null ',
|
||||||
millisecond: 'ms',
|
millisecond: 'ms',
|
||||||
please_upload: 'Please upload file',
|
please_upload: 'Please upload file',
|
||||||
reference_documentation: "Reference documentation",
|
reference_documentation: "Reference documentation",
|
||||||
|
@ -153,6 +154,22 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
license:{
|
||||||
|
title: 'Authorization management',
|
||||||
|
corporation: 'corporation',
|
||||||
|
time: 'Authorization time',
|
||||||
|
product: 'product',
|
||||||
|
edition: 'edition',
|
||||||
|
licenseVersion: 'licenseVersion',
|
||||||
|
count: 'count',
|
||||||
|
valid_license: 'valid license',
|
||||||
|
show_license: 'show license',
|
||||||
|
valid_license_error: 'validate license error',
|
||||||
|
status: 'valid state',
|
||||||
|
valid: 'valid',
|
||||||
|
invalid: 'invalid',
|
||||||
|
expired: 'expired',
|
||||||
|
},
|
||||||
workspace: {
|
workspace: {
|
||||||
create: 'Create Workspace',
|
create: 'Create Workspace',
|
||||||
update: 'Update Workspace',
|
update: 'Update Workspace',
|
||||||
|
@ -630,6 +647,7 @@ export default {
|
||||||
batch_move_case: 'Batch move',
|
batch_move_case: 'Batch move',
|
||||||
batch_delete_case: 'Batch delete',
|
batch_delete_case: 'Batch delete',
|
||||||
batch_unlink: 'Batch Unlink',
|
batch_unlink: 'Batch Unlink',
|
||||||
|
project_name: "Project",
|
||||||
import: {
|
import: {
|
||||||
import: "Import test case",
|
import: "Import test case",
|
||||||
case_import: "Import test case",
|
case_import: "Import test case",
|
||||||
|
@ -639,6 +657,7 @@ export default {
|
||||||
upload_limit_count: "Only one file can be uploaded at a time",
|
upload_limit_count: "Only one file can be uploaded at a time",
|
||||||
upload_limit_format: "Upload files can only be XLS, XLSX format!",
|
upload_limit_format: "Upload files can only be XLS, XLSX format!",
|
||||||
upload_limit_size: "Upload file size cannot exceed 20MB!",
|
upload_limit_size: "Upload file size cannot exceed 20MB!",
|
||||||
|
upload_limit_other_size: "Upload file size cannot exceed",
|
||||||
success: "Import success!",
|
success: "Import success!",
|
||||||
importing: "Importing...",
|
importing: "Importing...",
|
||||||
},
|
},
|
||||||
|
@ -684,7 +703,8 @@ export default {
|
||||||
describe: "Describe",
|
describe: "Describe",
|
||||||
status: "Status",
|
status: "Status",
|
||||||
current_owner: "Current Owner",
|
current_owner: "Current Owner",
|
||||||
creation_time: "Creation time"
|
creation_time: "Creation time",
|
||||||
|
project_name: "Project"
|
||||||
},
|
},
|
||||||
home: {
|
home: {
|
||||||
recent_test: "Recent test",
|
recent_test: "Recent test",
|
||||||
|
|
|
@ -113,6 +113,7 @@ export default {
|
||||||
reference_documentation: "参考文档",
|
reference_documentation: "参考文档",
|
||||||
id: 'ID',
|
id: 'ID',
|
||||||
millisecond: '毫秒',
|
millisecond: '毫秒',
|
||||||
|
cannot_be_null: '不能为空',
|
||||||
date: {
|
date: {
|
||||||
select_date: '选择日期',
|
select_date: '选择日期',
|
||||||
start_date: '开始日期',
|
start_date: '开始日期',
|
||||||
|
@ -153,6 +154,22 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
license:{
|
||||||
|
title: '授权管理',
|
||||||
|
corporation: '客户名称',
|
||||||
|
time: '授权时间',
|
||||||
|
product: '产品名称',
|
||||||
|
edition: '产品版本',
|
||||||
|
licenseVersion: '授权版本',
|
||||||
|
count: '授权数量',
|
||||||
|
valid_license: '授权验证',
|
||||||
|
show_license: '查看授权',
|
||||||
|
valid_license_error: '授权验证失败',
|
||||||
|
status: '授权状态',
|
||||||
|
valid: '有效',
|
||||||
|
invalid: '无效',
|
||||||
|
expired: '已过期',
|
||||||
|
},
|
||||||
workspace: {
|
workspace: {
|
||||||
create: '创建工作空间',
|
create: '创建工作空间',
|
||||||
update: '修改工作空间',
|
update: '修改工作空间',
|
||||||
|
@ -633,12 +650,14 @@ export default {
|
||||||
batch_move_case: '批量移动用例',
|
batch_move_case: '批量移动用例',
|
||||||
batch_delete_case: '批量删除用例',
|
batch_delete_case: '批量删除用例',
|
||||||
batch_unlink: '批量取消关联',
|
batch_unlink: '批量取消关联',
|
||||||
|
project_name: '所属项目',
|
||||||
import: {
|
import: {
|
||||||
import: "导入用例",
|
import: "导入用例",
|
||||||
case_import: "导入测试用例",
|
case_import: "导入测试用例",
|
||||||
download_template: "下载模版",
|
download_template: "下载模版",
|
||||||
click_upload: "点击上传",
|
click_upload: "点击上传",
|
||||||
upload_limit: "只能上传xls/xlsx文件,且不超过20M",
|
upload_limit: "只能上传xls/xlsx文件,且不超过20M",
|
||||||
|
upload_limit_other_size: "上传文件大小不能超过",
|
||||||
upload_limit_count: "一次只能上传一个文件",
|
upload_limit_count: "一次只能上传一个文件",
|
||||||
upload_limit_format: "上传文件只能是 xls、xlsx格式!",
|
upload_limit_format: "上传文件只能是 xls、xlsx格式!",
|
||||||
upload_limit_size: "上传文件大小不能超过 20MB!",
|
upload_limit_size: "上传文件大小不能超过 20MB!",
|
||||||
|
@ -687,7 +706,8 @@ export default {
|
||||||
status: "状态",
|
status: "状态",
|
||||||
describe: "描述",
|
describe: "描述",
|
||||||
current_owner: "处理人",
|
current_owner: "处理人",
|
||||||
creation_time: "创建时间"
|
creation_time: "创建时间",
|
||||||
|
project_name: "所属项目"
|
||||||
},
|
},
|
||||||
home: {
|
home: {
|
||||||
recent_test: "最近测试",
|
recent_test: "最近测试",
|
||||||
|
|
|
@ -108,6 +108,7 @@ export default {
|
||||||
formatErr: '格式錯誤',
|
formatErr: '格式錯誤',
|
||||||
please_save: '請先保存',
|
please_save: '請先保存',
|
||||||
id: 'ID',
|
id: 'ID',
|
||||||
|
cannot_be_null: '不能为空',
|
||||||
millisecond: '毫秒',
|
millisecond: '毫秒',
|
||||||
reference_documentation: "參考文檔",
|
reference_documentation: "參考文檔",
|
||||||
please_upload: '請上傳文件',
|
please_upload: '請上傳文件',
|
||||||
|
@ -151,6 +152,21 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
license:{
|
||||||
|
title: '授權管理',
|
||||||
|
corporation: '客戶名稱',
|
||||||
|
time: '授權時間',
|
||||||
|
product: '產品名稱',
|
||||||
|
edition: '產品版本',
|
||||||
|
licenseVersion: '授權版本',
|
||||||
|
count: '授權數量',
|
||||||
|
valid_license: '授權验证',
|
||||||
|
show_license: '查看授權',
|
||||||
|
valid_license_error: '授權验证失败',
|
||||||
|
status: '授權状态',
|
||||||
|
expired: '已过期',
|
||||||
|
},
|
||||||
|
|
||||||
workspace: {
|
workspace: {
|
||||||
create: '創建工作空間',
|
create: '創建工作空間',
|
||||||
update: '修改工作空間',
|
update: '修改工作空間',
|
||||||
|
@ -629,6 +645,7 @@ export default {
|
||||||
batch_move_case: '批量移動用例',
|
batch_move_case: '批量移動用例',
|
||||||
batch_delete_case: '批量刪除用例',
|
batch_delete_case: '批量刪除用例',
|
||||||
batch_unlink: '批量取消關聯',
|
batch_unlink: '批量取消關聯',
|
||||||
|
project_name: '所屬項目',
|
||||||
import: {
|
import: {
|
||||||
import: "導入用例",
|
import: "導入用例",
|
||||||
case_import: "導入測試用例",
|
case_import: "導入測試用例",
|
||||||
|
@ -638,6 +655,7 @@ export default {
|
||||||
upload_limit_count: "一次只能上傳一個文件",
|
upload_limit_count: "一次只能上傳一個文件",
|
||||||
upload_limit_format: "上傳文件只能是 xls、xlsx格式!",
|
upload_limit_format: "上傳文件只能是 xls、xlsx格式!",
|
||||||
upload_limit_size: "上傳文件大小不能超過 20MB!",
|
upload_limit_size: "上傳文件大小不能超過 20MB!",
|
||||||
|
upload_limit_other_size: "上傳文件大小不能超過",
|
||||||
success: "導入成功!",
|
success: "導入成功!",
|
||||||
importing: "導入中...",
|
importing: "導入中...",
|
||||||
},
|
},
|
||||||
|
@ -683,7 +701,8 @@ export default {
|
||||||
status: "狀態",
|
status: "狀態",
|
||||||
describe: "描述",
|
describe: "描述",
|
||||||
current_owner: "處理人",
|
current_owner: "處理人",
|
||||||
creation_time: "創建時間"
|
creation_time: "創建時間",
|
||||||
|
project_name: "所屬項目"
|
||||||
},
|
},
|
||||||
home: {
|
home: {
|
||||||
recent_test: "最近測試",
|
recent_test: "最近測試",
|
||||||
|
|
Loading…
Reference in New Issue