feat(测试用例): ID字段自定义
This commit is contained in:
parent
6e1992c9f5
commit
8ab5782b64
|
@ -1,8 +1,7 @@
|
||||||
package io.metersphere.base.domain;
|
package io.metersphere.base.domain;
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class Project implements Serializable {
|
public class Project implements Serializable {
|
||||||
|
@ -30,5 +29,7 @@ public class Project implements Serializable {
|
||||||
|
|
||||||
private String issueTemplateId;
|
private String issueTemplateId;
|
||||||
|
|
||||||
|
private Boolean customNum;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
|
@ -913,6 +913,66 @@ public class ProjectExample {
|
||||||
addCriterion("issue_template_id not between", value1, value2, "issueTemplateId");
|
addCriterion("issue_template_id not between", value1, value2, "issueTemplateId");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIsNull() {
|
||||||
|
addCriterion("custom_num is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIsNotNull() {
|
||||||
|
addCriterion("custom_num is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumEqualTo(Boolean value) {
|
||||||
|
addCriterion("custom_num =", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotEqualTo(Boolean value) {
|
||||||
|
addCriterion("custom_num <>", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumGreaterThan(Boolean value) {
|
||||||
|
addCriterion("custom_num >", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumGreaterThanOrEqualTo(Boolean value) {
|
||||||
|
addCriterion("custom_num >=", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLessThan(Boolean value) {
|
||||||
|
addCriterion("custom_num <", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLessThanOrEqualTo(Boolean value) {
|
||||||
|
addCriterion("custom_num <=", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIn(List<Boolean> values) {
|
||||||
|
addCriterion("custom_num in", values, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotIn(List<Boolean> values) {
|
||||||
|
addCriterion("custom_num not in", values, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumBetween(Boolean value1, Boolean value2) {
|
||||||
|
addCriterion("custom_num between", value1, value2, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotBetween(Boolean value1, Boolean value2) {
|
||||||
|
addCriterion("custom_num not between", value1, value2, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Criteria extends GeneratedCriteria {
|
public static class Criteria extends GeneratedCriteria {
|
||||||
|
|
|
@ -49,5 +49,7 @@ public class TestCase implements Serializable {
|
||||||
|
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
private String customNum;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
|
@ -1603,6 +1603,76 @@ public class TestCaseExample {
|
||||||
addCriterion("`status` not between", value1, value2, "status");
|
addCriterion("`status` not between", value1, value2, "status");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIsNull() {
|
||||||
|
addCriterion("custom_num is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIsNotNull() {
|
||||||
|
addCriterion("custom_num is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumEqualTo(String value) {
|
||||||
|
addCriterion("custom_num =", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotEqualTo(String value) {
|
||||||
|
addCriterion("custom_num <>", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumGreaterThan(String value) {
|
||||||
|
addCriterion("custom_num >", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumGreaterThanOrEqualTo(String value) {
|
||||||
|
addCriterion("custom_num >=", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLessThan(String value) {
|
||||||
|
addCriterion("custom_num <", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLessThanOrEqualTo(String value) {
|
||||||
|
addCriterion("custom_num <=", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLike(String value) {
|
||||||
|
addCriterion("custom_num like", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotLike(String value) {
|
||||||
|
addCriterion("custom_num not like", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIn(List<String> values) {
|
||||||
|
addCriterion("custom_num in", values, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotIn(List<String> values) {
|
||||||
|
addCriterion("custom_num not in", values, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumBetween(String value1, String value2) {
|
||||||
|
addCriterion("custom_num between", value1, value2, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotBetween(String value1, String value2) {
|
||||||
|
addCriterion("custom_num not between", value1, value2, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Criteria extends GeneratedCriteria {
|
public static class Criteria extends GeneratedCriteria {
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
<result column="repeatable" jdbcType="BIT" property="repeatable" />
|
<result column="repeatable" jdbcType="BIT" property="repeatable" />
|
||||||
<result column="case_template_id" jdbcType="VARCHAR" property="caseTemplateId" />
|
<result column="case_template_id" jdbcType="VARCHAR" property="caseTemplateId" />
|
||||||
<result column="issue_template_id" jdbcType="VARCHAR" property="issueTemplateId" />
|
<result column="issue_template_id" jdbcType="VARCHAR" property="issueTemplateId" />
|
||||||
|
<result column="custom_num" jdbcType="BIT" property="customNum" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="Example_Where_Clause">
|
<sql id="Example_Where_Clause">
|
||||||
<where>
|
<where>
|
||||||
|
@ -75,7 +76,7 @@
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, workspace_id, `name`, description, create_time, update_time, tapd_id, jira_key,
|
id, workspace_id, `name`, description, create_time, update_time, tapd_id, jira_key,
|
||||||
zentao_id, `repeatable`, case_template_id, issue_template_id
|
zentao_id, `repeatable`, case_template_id, issue_template_id, custom_num
|
||||||
</sql>
|
</sql>
|
||||||
<select id="selectByExample" parameterType="io.metersphere.base.domain.ProjectExample" resultMap="BaseResultMap">
|
<select id="selectByExample" parameterType="io.metersphere.base.domain.ProjectExample" resultMap="BaseResultMap">
|
||||||
select
|
select
|
||||||
|
@ -111,13 +112,13 @@
|
||||||
insert into project (id, workspace_id, `name`,
|
insert into project (id, workspace_id, `name`,
|
||||||
description, create_time, update_time,
|
description, create_time, update_time,
|
||||||
tapd_id, jira_key, zentao_id,
|
tapd_id, jira_key, zentao_id,
|
||||||
`repeatable`, case_template_id, issue_template_id
|
`repeatable`, case_template_id, issue_template_id,
|
||||||
)
|
custom_num)
|
||||||
values (#{id,jdbcType=VARCHAR}, #{workspaceId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
|
values (#{id,jdbcType=VARCHAR}, #{workspaceId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
|
||||||
#{description,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
|
#{description,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
|
||||||
#{tapdId,jdbcType=VARCHAR}, #{jiraKey,jdbcType=VARCHAR}, #{zentaoId,jdbcType=VARCHAR},
|
#{tapdId,jdbcType=VARCHAR}, #{jiraKey,jdbcType=VARCHAR}, #{zentaoId,jdbcType=VARCHAR},
|
||||||
#{repeatable,jdbcType=BIT}, #{caseTemplateId,jdbcType=VARCHAR}, #{issueTemplateId,jdbcType=VARCHAR}
|
#{repeatable,jdbcType=BIT}, #{caseTemplateId,jdbcType=VARCHAR}, #{issueTemplateId,jdbcType=VARCHAR},
|
||||||
)
|
#{customNum,jdbcType=BIT})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="io.metersphere.base.domain.Project">
|
<insert id="insertSelective" parameterType="io.metersphere.base.domain.Project">
|
||||||
insert into project
|
insert into project
|
||||||
|
@ -158,6 +159,9 @@
|
||||||
<if test="issueTemplateId != null">
|
<if test="issueTemplateId != null">
|
||||||
issue_template_id,
|
issue_template_id,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
custom_num,
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="id != null">
|
<if test="id != null">
|
||||||
|
@ -196,6 +200,9 @@
|
||||||
<if test="issueTemplateId != null">
|
<if test="issueTemplateId != null">
|
||||||
#{issueTemplateId,jdbcType=VARCHAR},
|
#{issueTemplateId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
#{customNum,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
<select id="countByExample" parameterType="io.metersphere.base.domain.ProjectExample" resultType="java.lang.Long">
|
<select id="countByExample" parameterType="io.metersphere.base.domain.ProjectExample" resultType="java.lang.Long">
|
||||||
|
@ -243,6 +250,9 @@
|
||||||
<if test="record.issueTemplateId != null">
|
<if test="record.issueTemplateId != null">
|
||||||
issue_template_id = #{record.issueTemplateId,jdbcType=VARCHAR},
|
issue_template_id = #{record.issueTemplateId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.customNum != null">
|
||||||
|
custom_num = #{record.customNum,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
</set>
|
</set>
|
||||||
<if test="_parameter != null">
|
<if test="_parameter != null">
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
@ -261,7 +271,8 @@
|
||||||
zentao_id = #{record.zentaoId,jdbcType=VARCHAR},
|
zentao_id = #{record.zentaoId,jdbcType=VARCHAR},
|
||||||
`repeatable` = #{record.repeatable,jdbcType=BIT},
|
`repeatable` = #{record.repeatable,jdbcType=BIT},
|
||||||
case_template_id = #{record.caseTemplateId,jdbcType=VARCHAR},
|
case_template_id = #{record.caseTemplateId,jdbcType=VARCHAR},
|
||||||
issue_template_id = #{record.issueTemplateId,jdbcType=VARCHAR}
|
issue_template_id = #{record.issueTemplateId,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{record.customNum,jdbcType=BIT}
|
||||||
<if test="_parameter != null">
|
<if test="_parameter != null">
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
</if>
|
</if>
|
||||||
|
@ -302,6 +313,9 @@
|
||||||
<if test="issueTemplateId != null">
|
<if test="issueTemplateId != null">
|
||||||
issue_template_id = #{issueTemplateId,jdbcType=VARCHAR},
|
issue_template_id = #{issueTemplateId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
custom_num = #{customNum,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
</set>
|
</set>
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
|
@ -317,7 +331,8 @@
|
||||||
zentao_id = #{zentaoId,jdbcType=VARCHAR},
|
zentao_id = #{zentaoId,jdbcType=VARCHAR},
|
||||||
`repeatable` = #{repeatable,jdbcType=BIT},
|
`repeatable` = #{repeatable,jdbcType=BIT},
|
||||||
case_template_id = #{caseTemplateId,jdbcType=VARCHAR},
|
case_template_id = #{caseTemplateId,jdbcType=VARCHAR},
|
||||||
issue_template_id = #{issueTemplateId,jdbcType=VARCHAR}
|
issue_template_id = #{issueTemplateId,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{customNum,jdbcType=BIT}
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
</mapper>
|
</mapper>
|
|
@ -24,6 +24,7 @@
|
||||||
<result column="demand_name" jdbcType="VARCHAR" property="demandName" />
|
<result column="demand_name" jdbcType="VARCHAR" property="demandName" />
|
||||||
<result column="follow_people" jdbcType="VARCHAR" property="followPeople" />
|
<result column="follow_people" jdbcType="VARCHAR" property="followPeople" />
|
||||||
<result column="status" jdbcType="VARCHAR" property="status" />
|
<result column="status" jdbcType="VARCHAR" property="status" />
|
||||||
|
<result column="custom_num" jdbcType="VARCHAR" property="customNum" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.TestCaseWithBLOBs">
|
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.TestCaseWithBLOBs">
|
||||||
<result column="remark" jdbcType="LONGVARCHAR" property="remark" />
|
<result column="remark" jdbcType="LONGVARCHAR" property="remark" />
|
||||||
|
@ -93,7 +94,7 @@
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, node_id, node_path, project_id, `name`, `type`, maintainer, priority, `method`,
|
id, node_id, node_path, project_id, `name`, `type`, maintainer, priority, `method`,
|
||||||
prerequisite, create_time, update_time, test_id, sort, num, other_test_name, review_status,
|
prerequisite, create_time, update_time, test_id, sort, num, other_test_name, review_status,
|
||||||
tags, demand_id, demand_name, follow_people, `status`
|
tags, demand_id, demand_name, follow_people, `status`, custom_num
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
remark, steps, step_description, expected_result, custom_fields
|
remark, steps, step_description, expected_result, custom_fields
|
||||||
|
@ -154,8 +155,8 @@
|
||||||
test_id, sort, num,
|
test_id, sort, num,
|
||||||
other_test_name, review_status, tags,
|
other_test_name, review_status, tags,
|
||||||
demand_id, demand_name, follow_people,
|
demand_id, demand_name, follow_people,
|
||||||
`status`, remark, steps,
|
`status`, custom_num, remark,
|
||||||
step_description, expected_result,
|
steps, step_description, expected_result,
|
||||||
custom_fields)
|
custom_fields)
|
||||||
values (#{id,jdbcType=VARCHAR}, #{nodeId,jdbcType=VARCHAR}, #{nodePath,jdbcType=VARCHAR},
|
values (#{id,jdbcType=VARCHAR}, #{nodeId,jdbcType=VARCHAR}, #{nodePath,jdbcType=VARCHAR},
|
||||||
#{projectId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
|
#{projectId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
|
||||||
|
@ -164,8 +165,8 @@
|
||||||
#{testId,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{num,jdbcType=INTEGER},
|
#{testId,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{num,jdbcType=INTEGER},
|
||||||
#{otherTestName,jdbcType=VARCHAR}, #{reviewStatus,jdbcType=VARCHAR}, #{tags,jdbcType=VARCHAR},
|
#{otherTestName,jdbcType=VARCHAR}, #{reviewStatus,jdbcType=VARCHAR}, #{tags,jdbcType=VARCHAR},
|
||||||
#{demandId,jdbcType=VARCHAR}, #{demandName,jdbcType=VARCHAR}, #{followPeople,jdbcType=VARCHAR},
|
#{demandId,jdbcType=VARCHAR}, #{demandName,jdbcType=VARCHAR}, #{followPeople,jdbcType=VARCHAR},
|
||||||
#{status,jdbcType=VARCHAR}, #{remark,jdbcType=LONGVARCHAR}, #{steps,jdbcType=LONGVARCHAR},
|
#{status,jdbcType=VARCHAR}, #{customNum,jdbcType=VARCHAR}, #{remark,jdbcType=LONGVARCHAR},
|
||||||
#{stepDescription,jdbcType=LONGVARCHAR}, #{expectedResult,jdbcType=LONGVARCHAR},
|
#{steps,jdbcType=LONGVARCHAR}, #{stepDescription,jdbcType=LONGVARCHAR}, #{expectedResult,jdbcType=LONGVARCHAR},
|
||||||
#{customFields,jdbcType=LONGVARCHAR})
|
#{customFields,jdbcType=LONGVARCHAR})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
||||||
|
@ -237,6 +238,9 @@
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
`status`,
|
`status`,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
custom_num,
|
||||||
|
</if>
|
||||||
<if test="remark != null">
|
<if test="remark != null">
|
||||||
remark,
|
remark,
|
||||||
</if>
|
</if>
|
||||||
|
@ -320,6 +324,9 @@
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
#{status,jdbcType=VARCHAR},
|
#{status,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
#{customNum,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="remark != null">
|
<if test="remark != null">
|
||||||
#{remark,jdbcType=LONGVARCHAR},
|
#{remark,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -412,6 +419,9 @@
|
||||||
<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.customNum != null">
|
||||||
|
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="record.remark != null">
|
<if test="record.remark != null">
|
||||||
remark = #{record.remark,jdbcType=LONGVARCHAR},
|
remark = #{record.remark,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -456,6 +466,7 @@
|
||||||
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{record.status,jdbcType=VARCHAR},
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
||||||
remark = #{record.remark,jdbcType=LONGVARCHAR},
|
remark = #{record.remark,jdbcType=LONGVARCHAR},
|
||||||
steps = #{record.steps,jdbcType=LONGVARCHAR},
|
steps = #{record.steps,jdbcType=LONGVARCHAR},
|
||||||
step_description = #{record.stepDescription,jdbcType=LONGVARCHAR},
|
step_description = #{record.stepDescription,jdbcType=LONGVARCHAR},
|
||||||
|
@ -488,7 +499,8 @@
|
||||||
demand_id = #{record.demandId,jdbcType=VARCHAR},
|
demand_id = #{record.demandId,jdbcType=VARCHAR},
|
||||||
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{record.status,jdbcType=VARCHAR}
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{record.customNum,jdbcType=VARCHAR}
|
||||||
<if test="_parameter != null">
|
<if test="_parameter != null">
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
</if>
|
</if>
|
||||||
|
@ -559,6 +571,9 @@
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
`status` = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
custom_num = #{customNum,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="remark != null">
|
<if test="remark != null">
|
||||||
remark = #{remark,jdbcType=LONGVARCHAR},
|
remark = #{remark,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -600,6 +615,7 @@
|
||||||
demand_name = #{demandName,jdbcType=VARCHAR},
|
demand_name = #{demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{followPeople,jdbcType=VARCHAR},
|
follow_people = #{followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{customNum,jdbcType=VARCHAR},
|
||||||
remark = #{remark,jdbcType=LONGVARCHAR},
|
remark = #{remark,jdbcType=LONGVARCHAR},
|
||||||
steps = #{steps,jdbcType=LONGVARCHAR},
|
steps = #{steps,jdbcType=LONGVARCHAR},
|
||||||
step_description = #{stepDescription,jdbcType=LONGVARCHAR},
|
step_description = #{stepDescription,jdbcType=LONGVARCHAR},
|
||||||
|
@ -629,7 +645,8 @@
|
||||||
demand_id = #{demandId,jdbcType=VARCHAR},
|
demand_id = #{demandId,jdbcType=VARCHAR},
|
||||||
demand_name = #{demandName,jdbcType=VARCHAR},
|
demand_name = #{demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{followPeople,jdbcType=VARCHAR},
|
follow_people = #{followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{status,jdbcType=VARCHAR}
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{customNum,jdbcType=VARCHAR}
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
</mapper>
|
</mapper>
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
<select id="getProjectWithWorkspace" resultType="io.metersphere.dto.ProjectDTO">
|
<select id="getProjectWithWorkspace" resultType="io.metersphere.dto.ProjectDTO">
|
||||||
select p.id, p.workspace_id, p.name, p.description, p.update_time, p.issue_template_id, p.case_template_id,
|
select p.id, p.workspace_id, p.name, p.description, p.update_time, p.issue_template_id, p.case_template_id,
|
||||||
p.create_time, w.id as workspaceId, w.name as workspaceName, p.tapd_id, p.jira_key, p.zentao_id,p.repeatable
|
p.create_time, w.id as workspaceId, w.name as workspaceName, p.tapd_id, p.jira_key, p.zentao_id,p.repeatable, p.custom_num
|
||||||
from project p
|
from project p
|
||||||
join workspace w on p.workspace_id = w.id
|
join workspace w on p.workspace_id = w.id
|
||||||
<where>
|
<where>
|
||||||
|
|
|
@ -88,4 +88,6 @@ public interface ExtTestCaseMapper {
|
||||||
List<TestCaseWithBLOBs> listForMinder(@Param("request") QueryTestCaseRequest request);
|
List<TestCaseWithBLOBs> listForMinder(@Param("request") QueryTestCaseRequest request);
|
||||||
|
|
||||||
List<TestCaseDTO> getTestCaseByIds(@Param("ids")List<String> ids);
|
List<TestCaseDTO> getTestCaseByIds(@Param("ids")List<String> ids);
|
||||||
|
|
||||||
|
void updateTestCaseCustomNumByProjectId(@Param("projectId") String projectId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,6 +71,9 @@
|
||||||
</include>
|
</include>
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
<update id="updateTestCaseCustomNumByProjectId">
|
||||||
|
update test_case set custom_num = num where custom_num is null and project_id = #{projectId}
|
||||||
|
</update>
|
||||||
|
|
||||||
<select id="getTestCaseByNotInReview" resultType="io.metersphere.base.domain.TestCase">
|
<select id="getTestCaseByNotInReview" resultType="io.metersphere.base.domain.TestCase">
|
||||||
select test_case.id, test_case.name, test_case.priority, test_case.type, test_case.review_status from test_case
|
select test_case.id, test_case.name, test_case.priority, test_case.type, test_case.review_status from test_case
|
||||||
|
@ -297,7 +300,8 @@
|
||||||
<if test="request.name != null">
|
<if test="request.name != null">
|
||||||
and (test_case.name like CONCAT('%', #{request.name},'%')
|
and (test_case.name like CONCAT('%', #{request.name},'%')
|
||||||
or test_case.num like CONCAT('%', #{request.name},'%')
|
or test_case.num like CONCAT('%', #{request.name},'%')
|
||||||
or test_case.tags like CONCAT('%', #{request.name},'%'))
|
or test_case.tags like CONCAT('%', #{request.name},'%')
|
||||||
|
or test_case.custom_num like CONCAT('%', #{request.name},'%'))
|
||||||
</if>
|
</if>
|
||||||
<if test="request.relevanceCreateTime >0">
|
<if test="request.relevanceCreateTime >0">
|
||||||
and test_case.id in (select test_case_id from test_case_test where test_case_test.create_time >= #{request.createTime})
|
and test_case.id in (select test_case_id from test_case_test where test_case_test.create_time >= #{request.createTime})
|
||||||
|
|
|
@ -138,7 +138,7 @@
|
||||||
<select id="list" resultType="io.metersphere.track.dto.TestPlanCaseDTO">
|
<select id="list" resultType="io.metersphere.track.dto.TestPlanCaseDTO">
|
||||||
select test_plan_test_case.id as id, test_case.id as caseId, test_case.name, test_case.priority,
|
select test_plan_test_case.id as id, test_case.id as caseId, test_case.name, test_case.priority,
|
||||||
test_case.type,test_case.test_id as testId,test_case.node_id, test_case.tags, test_case.maintainer,
|
test_case.type,test_case.test_id as testId,test_case.node_id, test_case.tags, test_case.maintainer,
|
||||||
test_case.node_path, test_case.method, test_case.num, test_plan_test_case.executor, test_plan_test_case.status, test_plan_test_case.actual_result,
|
test_case.node_path, test_case.method, if(project.custom_num = 0, cast(test_case.num as char), test_case.custom_num) as customNum, test_plan_test_case.executor, test_plan_test_case.status, test_plan_test_case.actual_result,
|
||||||
test_plan_test_case.update_time, test_case_node.name as model, project.name as projectName,
|
test_plan_test_case.update_time, test_case_node.name as model, project.name as projectName,
|
||||||
test_plan_test_case.plan_id as planId
|
test_plan_test_case.plan_id as planId
|
||||||
from test_plan_test_case
|
from test_plan_test_case
|
||||||
|
@ -154,8 +154,10 @@
|
||||||
</include>
|
</include>
|
||||||
</if>
|
</if>
|
||||||
<if test="request.name != null">
|
<if test="request.name != null">
|
||||||
and (test_case.name like CONCAT('%', #{request.name},'%') or test_case.num like
|
and (test_case.name like CONCAT('%', #{request.name},'%')
|
||||||
CONCAT('%',#{request.name},'%') or test_case.tags like CONCAT('%', #{request.name},'%'))
|
or test_case.num like CONCAT('%',#{request.name},'%')
|
||||||
|
or test_case.custom_num like CONCAT('%',#{request.name},'%')
|
||||||
|
or test_case.tags like CONCAT('%', #{request.name},'%'))
|
||||||
</if>
|
</if>
|
||||||
<if test="request.id != null">
|
<if test="request.id != null">
|
||||||
and test_case.id = #{request.id}
|
and test_case.id = #{request.id}
|
||||||
|
@ -227,8 +229,11 @@
|
||||||
order by
|
order by
|
||||||
<foreach collection="request.orders" separator="," item="order">
|
<foreach collection="request.orders" separator="," item="order">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="order.name == 'num'">
|
<!-- <when test="order.name == 'num'">-->
|
||||||
test_case.num ${order.type}
|
<!-- test_case.num ${order.type}-->
|
||||||
|
<!-- </when>-->
|
||||||
|
<when test="order.name == 'custom_num'">
|
||||||
|
test_case.num ${order.type}, test_case.custom_num ${order.type}
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
test_plan_test_case.${order.name} ${order.type}
|
test_plan_test_case.${order.name} ${order.type}
|
||||||
|
|
|
@ -100,7 +100,7 @@
|
||||||
select test_case_review_test_case.id as id, test_case_review_test_case.reviewer,
|
select test_case_review_test_case.id as id, test_case_review_test_case.reviewer,
|
||||||
test_case_review_test_case.update_time, test_case_review_test_case.review_id as reviewId,
|
test_case_review_test_case.update_time, test_case_review_test_case.review_id as reviewId,
|
||||||
test_case.id as caseId, test_case.name, test_case.priority, test_case.test_id as testId,
|
test_case.id as caseId, test_case.name, test_case.priority, test_case.test_id as testId,
|
||||||
test_case.type, test_case.node_path, test_case.method, test_case.num, test_case.review_status,
|
test_case.type, test_case.node_path, test_case.method, if(project.custom_num = 0, cast(test_case.num as char), test_case.custom_num) as customNum, test_case.review_status,
|
||||||
test_case.remark as remark, test_case.steps as steps, test_case.node_id as nodeId,
|
test_case.remark as remark, test_case.steps as steps, test_case.node_id as nodeId,
|
||||||
test_case_node.name as model,
|
test_case_node.name as model,
|
||||||
project.name as projectName
|
project.name as projectName
|
||||||
|
@ -116,7 +116,10 @@
|
||||||
</include>
|
</include>
|
||||||
</if>
|
</if>
|
||||||
<if test="request.name != null">
|
<if test="request.name != null">
|
||||||
and (test_case.name like CONCAT('%', #{request.name},'%') or test_case.num like CONCAT('%', #{request.name},'%'))
|
and (test_case.name like CONCAT('%', #{request.name},'%')
|
||||||
|
or test_case.num like CONCAT('%', #{request.name},'%')
|
||||||
|
or test_case.custom_num like CONCAT('%', #{request.name},'%')
|
||||||
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="request.id != null">
|
<if test="request.id != null">
|
||||||
and test_case.id = #{request.id}
|
and test_case.id = #{request.id}
|
||||||
|
@ -176,8 +179,11 @@
|
||||||
order by
|
order by
|
||||||
<foreach collection="request.orders" separator="," item="order">
|
<foreach collection="request.orders" separator="," item="order">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="order.name == 'num'">
|
<!-- <when test="order.name == 'num'">-->
|
||||||
test_case.num ${order.type}
|
<!-- test_case.num ${order.type}-->
|
||||||
|
<!-- </when>-->
|
||||||
|
<when test="order.name == 'custom_num'">
|
||||||
|
test_case.num ${order.type}, test_case.custom_num ${order.type}
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
test_case_review_test_case.${order.name} ${order.type}
|
test_case_review_test_case.${order.name} ${order.type}
|
||||||
|
|
|
@ -145,6 +145,9 @@ public class ProjectService {
|
||||||
project.setCreateTime(null);
|
project.setCreateTime(null);
|
||||||
project.setUpdateTime(System.currentTimeMillis());
|
project.setUpdateTime(System.currentTimeMillis());
|
||||||
checkProjectExist(project);
|
checkProjectExist(project);
|
||||||
|
if (project.getCustomNum()) {
|
||||||
|
testCaseService.updateTestCaseCustomNumByProjectId(project.getId());
|
||||||
|
}
|
||||||
projectMapper.updateByPrimaryKeySelective(project);
|
projectMapper.updateByPrimaryKeySelective(project);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -115,6 +115,7 @@ public class TestCaseService {
|
||||||
testCase.setId(UUID.randomUUID().toString());
|
testCase.setId(UUID.randomUUID().toString());
|
||||||
testCase.setCreateTime(System.currentTimeMillis());
|
testCase.setCreateTime(System.currentTimeMillis());
|
||||||
testCase.setUpdateTime(System.currentTimeMillis());
|
testCase.setUpdateTime(System.currentTimeMillis());
|
||||||
|
checkTestCustomNum(testCase);
|
||||||
testCase.setNum(getNextNum(testCase.getProjectId()));
|
testCase.setNum(getNextNum(testCase.getProjectId()));
|
||||||
testCase.setReviewStatus(TestCaseReviewStatus.Prepare.name());
|
testCase.setReviewStatus(TestCaseReviewStatus.Prepare.name());
|
||||||
testCase.setDemandId(testCase.getDemandId());
|
testCase.setDemandId(testCase.getDemandId());
|
||||||
|
@ -124,6 +125,34 @@ public class TestCaseService {
|
||||||
return testCase;
|
return testCase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkTestCustomNum(TestCaseWithBLOBs testCase) {
|
||||||
|
if (StringUtils.isNotBlank(testCase.getCustomNum())) {
|
||||||
|
String projectId = testCase.getProjectId();
|
||||||
|
Project project = projectService.getProjectById(projectId);
|
||||||
|
if (project != null) {
|
||||||
|
Boolean customNum = project.getCustomNum();
|
||||||
|
// 未开启自定义ID
|
||||||
|
if (!customNum) {
|
||||||
|
testCase.setCustomNum(null);
|
||||||
|
} else {
|
||||||
|
checkCustomNumExist(testCase);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
MSException.throwException("add test case fail, project is not find.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkCustomNumExist(TestCaseWithBLOBs testCase) {
|
||||||
|
TestCaseExample example = new TestCaseExample();
|
||||||
|
example.createCriteria().andCustomNumEqualTo(testCase.getCustomNum())
|
||||||
|
.andIdNotEqualTo(testCase.getId());
|
||||||
|
List<TestCase> list = testCaseMapper.selectByExample(example);
|
||||||
|
if (CollectionUtils.isNotEmpty(list)) {
|
||||||
|
MSException.throwException("test case custom num is exist.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public List<TestCase> getTestCaseByNodeId(List<String> nodeIds) {
|
public List<TestCase> getTestCaseByNodeId(List<String> nodeIds) {
|
||||||
TestCaseExample testCaseExample = new TestCaseExample();
|
TestCaseExample testCaseExample = new TestCaseExample();
|
||||||
testCaseExample.createCriteria().andNodeIdIn(nodeIds);
|
testCaseExample.createCriteria().andNodeIdIn(nodeIds);
|
||||||
|
@ -135,6 +164,7 @@ public class TestCaseService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int editTestCase(TestCaseWithBLOBs testCase) {
|
public int editTestCase(TestCaseWithBLOBs testCase) {
|
||||||
|
checkTestCustomNum(testCase);
|
||||||
testCase.setUpdateTime(System.currentTimeMillis());
|
testCase.setUpdateTime(System.currentTimeMillis());
|
||||||
return testCaseMapper.updateByPrimaryKeySelective(testCase);
|
return testCaseMapper.updateByPrimaryKeySelective(testCase);
|
||||||
}
|
}
|
||||||
|
@ -439,6 +469,7 @@ public class TestCaseService {
|
||||||
public void saveImportData(List<TestCaseWithBLOBs> testCases, String projectId) {
|
public void saveImportData(List<TestCaseWithBLOBs> testCases, String projectId) {
|
||||||
Map<String, String> nodePathMap = testCaseNodeService.createNodeByTestCases(testCases, projectId);
|
Map<String, String> nodePathMap = testCaseNodeService.createNodeByTestCases(testCases, projectId);
|
||||||
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
||||||
|
Project project = projectService.getProjectById(projectId);
|
||||||
TestCaseMapper mapper = sqlSession.getMapper(TestCaseMapper.class);
|
TestCaseMapper mapper = sqlSession.getMapper(TestCaseMapper.class);
|
||||||
if (!testCases.isEmpty()) {
|
if (!testCases.isEmpty()) {
|
||||||
AtomicInteger sort = new AtomicInteger();
|
AtomicInteger sort = new AtomicInteger();
|
||||||
|
@ -450,7 +481,11 @@ public class TestCaseService {
|
||||||
testcase.setUpdateTime(System.currentTimeMillis());
|
testcase.setUpdateTime(System.currentTimeMillis());
|
||||||
testcase.setNodeId(nodePathMap.get(testcase.getNodePath()));
|
testcase.setNodeId(nodePathMap.get(testcase.getNodePath()));
|
||||||
testcase.setSort(sort.getAndIncrement());
|
testcase.setSort(sort.getAndIncrement());
|
||||||
testcase.setNum(num.decrementAndGet());
|
int number = num.decrementAndGet();
|
||||||
|
testcase.setNum(number);
|
||||||
|
if (project.getCustomNum()) {
|
||||||
|
testcase.setCustomNum(String.valueOf(number));
|
||||||
|
}
|
||||||
testcase.setReviewStatus(TestCaseReviewStatus.Prepare.name());
|
testcase.setReviewStatus(TestCaseReviewStatus.Prepare.name());
|
||||||
mapper.insert(testcase);
|
mapper.insert(testcase);
|
||||||
});
|
});
|
||||||
|
@ -969,4 +1004,12 @@ public class TestCaseService {
|
||||||
request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders()));
|
request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders()));
|
||||||
return getTestCaseByNotInIssue(request);
|
return getTestCaseByNotInIssue(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新项目下用例的CustomNum值
|
||||||
|
* @param projectId 项目ID
|
||||||
|
*/
|
||||||
|
public void updateTestCaseCustomNumByProjectId(String projectId) {
|
||||||
|
extTestCaseMapper.updateTestCaseCustomNumByProjectId(projectId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -247,3 +247,7 @@ ALTER TABLE test_case_template MODIFY COLUMN case_name varchar(64) NULL COMMENT
|
||||||
UPDATE system_header
|
UPDATE system_header
|
||||||
SET props='[{"id":"num","label":"ID"},{"id":"name","label":"名称"},{"id":"priority","label":"用例等级"},{"id":"type","label":"类型"},{"id":"tags","label":"标签"},{"id":"nodePath","label":"所属模块"},{"id":"projectName","label":"所属项目"},{"id":"issuesContent","label":"缺陷"},{"id":"executorName","label":"执行人"},{"id":"status","label":"执行结果"},{"id":"updateTime","label":"更新时间"},{"id":"maintainer","label":"责任人"}]'
|
SET props='[{"id":"num","label":"ID"},{"id":"name","label":"名称"},{"id":"priority","label":"用例等级"},{"id":"type","label":"类型"},{"id":"tags","label":"标签"},{"id":"nodePath","label":"所属模块"},{"id":"projectName","label":"所属项目"},{"id":"issuesContent","label":"缺陷"},{"id":"executorName","label":"执行人"},{"id":"status","label":"执行结果"},{"id":"updateTime","label":"更新时间"},{"id":"maintainer","label":"责任人"}]'
|
||||||
WHERE `type`='test_plan_function_test_case';
|
WHERE `type`='test_plan_function_test_case';
|
||||||
|
|
||||||
|
-- 自定义用例ID
|
||||||
|
alter table project add custom_num tinyint(1) default 0 null comment '是否开启自定义ID(默认关闭)';
|
||||||
|
alter table test_case add custom_num varchar(64) null comment 'custom num';
|
|
@ -84,6 +84,9 @@
|
||||||
<el-form-item :label="$t('project.repeatable')" prop="repeatable">
|
<el-form-item :label="$t('project.repeatable')" prop="repeatable">
|
||||||
<el-switch v-model="form.repeatable"></el-switch>
|
<el-switch v-model="form.repeatable"></el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="测试用例自定义ID" prop="customNum">
|
||||||
|
<el-switch v-model="form.customNum"></el-switch>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template v-slot:footer>
|
<template v-slot:footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
@refresh="refresh"
|
@refresh="refresh"
|
||||||
@refreshAll="refreshAll"
|
@refreshAll="refreshAll"
|
||||||
@setCondition="setCondition"
|
@setCondition="setCondition"
|
||||||
|
:custom-num="custom_num"
|
||||||
ref="testCaseList">
|
ref="testCaseList">
|
||||||
</test-case-list>
|
</test-case-list>
|
||||||
<test-case-minder
|
<test-case-minder
|
||||||
|
@ -63,6 +64,7 @@
|
||||||
:select-node="selectNode"
|
:select-node="selectNode"
|
||||||
:select-condition="condition"
|
:select-condition="condition"
|
||||||
:type="type"
|
:type="type"
|
||||||
|
:custom-num="custom_num"
|
||||||
@addTab="addTab"
|
@addTab="addTab"
|
||||||
ref="testCaseEdit">
|
ref="testCaseEdit">
|
||||||
</test-case-edit>
|
</test-case-edit>
|
||||||
|
@ -128,9 +130,11 @@ export default {
|
||||||
loading: false,
|
loading: false,
|
||||||
type:'',
|
type:'',
|
||||||
activeDom: 'left',
|
activeDom: 'left',
|
||||||
|
custom_num: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.getProject();
|
||||||
this.init(this.$route);
|
this.init(this.$route);
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -372,6 +376,14 @@ export default {
|
||||||
},
|
},
|
||||||
setCondition(data) {
|
setCondition(data) {
|
||||||
this.condition = data;
|
this.condition = data;
|
||||||
|
},
|
||||||
|
getProject() {
|
||||||
|
this.$get("/project/get/" + this.projectId, result => {
|
||||||
|
let data = result.data;
|
||||||
|
if (data) {
|
||||||
|
this.custom_num = data.customNum;
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,15 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
|
<el-row v-if="customNum">
|
||||||
|
<el-col :span="7">
|
||||||
|
<el-form-item label="ID" :label-width="formLabelWidth" prop="customNum">
|
||||||
|
<el-input :disabled="readOnly" v-model="form.customNum" size="small" class="ms-case-input"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
<ms-form-divider :title="$t('步骤信息')"/>
|
<ms-form-divider :title="$t('步骤信息')"/>
|
||||||
|
|
||||||
<div class="step-info">
|
<div class="step-info">
|
||||||
|
@ -180,6 +189,7 @@ export default {
|
||||||
demandName: '',
|
demandName: '',
|
||||||
status: 'Prepare',
|
status: 'Prepare',
|
||||||
reviewStatus: 'Prepare',
|
reviewStatus: 'Prepare',
|
||||||
|
customNum: ''
|
||||||
},
|
},
|
||||||
readOnly: false,
|
readOnly: false,
|
||||||
maintainerOptions: [],
|
maintainerOptions: [],
|
||||||
|
@ -191,6 +201,10 @@ export default {
|
||||||
{max: 255, message: this.$t('test_track.length_less_than') + '255', trigger: 'blur'}
|
{max: 255, message: this.$t('test_track.length_less_than') + '255', trigger: 'blur'}
|
||||||
],
|
],
|
||||||
module: [{required: true, message: this.$t('test_track.case.input_module'), trigger: 'change'}],
|
module: [{required: true, message: this.$t('test_track.case.input_module'), trigger: 'change'}],
|
||||||
|
customNum: [
|
||||||
|
{required: true, message: "ID必填", trigger: 'blur'},
|
||||||
|
{max: 50, message: this.$t('test_track.length_less_than') + '50', trigger: 'blur'}
|
||||||
|
],
|
||||||
demandName: [{required: true, message: this.$t('test_track.case.input_demand_name'), trigger: 'change'}],
|
demandName: [{required: true, message: this.$t('test_track.case.input_demand_name'), trigger: 'change'}],
|
||||||
maintainer: [{required: true, message: this.$t('test_track.case.input_maintainer'), trigger: 'change'}],
|
maintainer: [{required: true, message: this.$t('test_track.case.input_maintainer'), trigger: 'change'}],
|
||||||
priority: [{required: true, message: this.$t('test_track.case.input_priority'), trigger: 'change'}],
|
priority: [{required: true, message: this.$t('test_track.case.input_priority'), trigger: 'change'}],
|
||||||
|
@ -231,7 +245,11 @@ export default {
|
||||||
selectCondition: {
|
selectCondition: {
|
||||||
type: Object
|
type: Object
|
||||||
},
|
},
|
||||||
type: String
|
type: String,
|
||||||
|
customNum: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
projectIds() {
|
projectIds() {
|
||||||
|
@ -689,6 +707,7 @@ export default {
|
||||||
desc: '',
|
desc: '',
|
||||||
result: ''
|
result: ''
|
||||||
}];
|
}];
|
||||||
|
this.form.customNum = '';
|
||||||
},
|
},
|
||||||
addListener() {
|
addListener() {
|
||||||
document.addEventListener("keydown", this.createCtrlSHandle);
|
document.addEventListener("keydown", this.createCtrlSHandle);
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
<template v-for="(item, index) in tableLabel">
|
<template v-for="(item, index) in tableLabel">
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="item.id == 'num'"
|
v-if="item.id === 'num' && !customNum"
|
||||||
prop="num"
|
prop="num"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
:label="$t('commons.id')"
|
:label="$t('commons.id')"
|
||||||
|
@ -44,6 +44,15 @@
|
||||||
width="80"
|
width="80"
|
||||||
show-overflow-tooltip>
|
show-overflow-tooltip>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
v-if="item.id === 'num' && customNum"
|
||||||
|
prop="customNum"
|
||||||
|
sortable="custom"
|
||||||
|
:label="$t('commons.id')"
|
||||||
|
:key="index"
|
||||||
|
width="80"
|
||||||
|
show-overflow-tooltip>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="item.id == 'name'"
|
v-if="item.id == 'name'"
|
||||||
prop="name"
|
prop="name"
|
||||||
|
@ -293,6 +302,10 @@ export default {
|
||||||
trashEnable: {
|
trashEnable: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
|
},
|
||||||
|
customNum: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
<template v-for="(item, index) in tableLabel">
|
<template v-for="(item, index) in tableLabel">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="item.id == 'num'"
|
v-if="item.id == 'num'"
|
||||||
prop="num"
|
prop="customNum"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
:label="$t('commons.id')"
|
:label="$t('commons.id')"
|
||||||
min-width="120px"
|
min-width="120px"
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
<template v-for="(item, index) in tableLabel">
|
<template v-for="(item, index) in tableLabel">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="item.id == 'num'"
|
v-if="item.id == 'num'"
|
||||||
prop="num"
|
prop="customNum"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
:label="$t('commons.id')"
|
:label="$t('commons.id')"
|
||||||
|
|
Loading…
Reference in New Issue