This commit is contained in:
2024-05-15 17:04:11 +08:00
parent 2da15bd687
commit 2ea8213335
12 changed files with 101 additions and 51 deletions

View File

@@ -1,6 +1,6 @@
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
line-height: 1.4;
line-height: 1;
margin: 1rem;
}
table {

View File

@@ -143,4 +143,15 @@ export default {
params
})
},
/**
* 删除output/bg中所有文件防止之前数据干扰
* @returns
*/
deleteBGFiles(params = {}) {
return request({
url: `/generateBG/create/deleteBGDocument`,
method: "get",
params
})
}
}

View File

@@ -22,4 +22,15 @@ export default {
params
})
},
/**
* 删除回归测试记录output/hjl里面的所有文件
* @returns
*/
deleteHJLFiles(params = {}) {
return request({
url: `/generateHJL/create/deleteHJLDocument`,
method: "get",
params
})
}
}

View File

@@ -87,5 +87,16 @@ export default {
method: "get",
params
})
},
/**
* 删除output/hsm中的所有文件例如防止没有第三轮出现第三轮
* @returns
*/
deleteHSMFiles(params = {}) {
return request({
url: `/generateHSM/create/deleteHSMDocument`,
method: "get",
params
})
}
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -42,7 +42,7 @@ const appStore = useAppStore()
const props = defineProps({
modelValue: { type: String },
height: { type: Number, default: 250 },
height: { type: Number, default: 200 },
id: { type: String, default: () => "tinymce" + new Date().getTime().toString() },
plugins: {
type: [String, Array],
@@ -51,8 +51,9 @@ const props = defineProps({
},
toolbar: {
type: [String, Array],
default: // 如果要取消粘贴只粘贴文本需要用户加格式请加上pastetext
"code undo redo restoredraft | paste |bold italic underline strikethrough codesample | preview | alignleft alignjustify indent formatpainter | \
// 如果要取消粘贴只粘贴文本需要用户加格式请加上pastetext
default:
"code undo redo restoredraft | paste |bold codesample | preview | alignleft alignjustify indent formatpainter | \
styleselect formatselect fontselect fontsizeselect | bullist numlist | blockquote subscript superscript removeformat | charmap pagebreak insertdatetime"
}
})
@@ -116,3 +117,4 @@ watch(
(vl) => emit("change", vl)
)
</script>
<style lang="less"></style>

View File

@@ -161,7 +161,7 @@ const handleSubmit = async ({ values, errors }) => {
height: 491px;
background-image: url(@/assets/login_picture.svg);
background-repeat: no-repeat;
background-position: center 60px;
background-position: center 140px;
background-size: contain;
}

View File

@@ -65,14 +65,15 @@ const handleRelatedChange = async (record) => {
record.related = !record.related
loading.value = false
})
if (!res.data.isOK) {
// 后台说没关联成功则保持不变
record.related = !record.related
loading.value = false
if (res) {
if (!res.data.isOK) {
// 后台说没关联成功则保持不变
record.related = !record.related
loading.value = false
}
}
loading.value = false
emits("relatedOrunrelated")
Message.success(res.message)
}
// 数据定义

View File

@@ -31,6 +31,7 @@ import { useRoute, useRouter } from "vue-router"
import problemApi from "@/api/project/problem"
import { useTreeDataStore } from "@/store"
import ProblemChoose from "./components/ProblemChoose.vue"
import { Message } from "@arco-design/web-vue"
const treeDataStore = useTreeDataStore()
const route = useRoute()
const router = useRouter()
@@ -59,6 +60,12 @@ const crudOptions = ref({
delete: { show: true, api: problemApi.delete },
operationColumnAlign: "center", // 操作列居中
beforeOpenAdd: function () {
// 先判断是否已经有个问题单了,如果有则不让用户创建
if (crudRef.value.getTableData().length >= 1) {
Message.error("该用例已经存在问题单了,可在轮次树节点右键添加无关联问题单")
return false
}
// 下面是弹窗的标题路径
let key_split = route.query.key.split("-")
let round_key = key_split[0]
let dut_key = key_split[1]
@@ -183,7 +190,7 @@ const crudOptions = ref({
{ span: 12, formList: [{ dataIndex: "verifyPerson" }] },
{ span: 12, formList: [{ dataIndex: "verifyDate" }] }
]
},
}
]
}
})
@@ -359,7 +366,7 @@ const crudColumns = ref([
hide: true,
dataIndex: "designerPerson",
formType: "input",
commonRules: [{ required: true, message: "开发人员必填" }],
commonRules: [{ required: true, message: "开发人员必填" }]
},
{
title: "开发方日期",
@@ -380,7 +387,7 @@ const crudColumns = ref([
hide: true,
dataIndex: "verifyDate",
formType: "date"
},
}
])
</script>

View File

@@ -299,7 +299,7 @@ const crudColumns = ref([
const subItemFormData = crudRef.value.getFormData().testContent
// 取出充分性条件字段字符串
const mapRes = subItemFormData.map((subItem) => subItem.subName)
crudRef.value.getFormData().adequacy = `测试用例覆盖${mapRes}子项要求的全部内容。\n所有用例执行完毕对于未执行的用例说明未执行原因。`
crudRef.value.getFormData().adequacy = `测试用例覆盖${mapRes.join('、')}子项要求的全部内容。\n所有用例执行完毕对于未执行的用例说明未执行原因。`
}
},
{

View File

@@ -164,68 +164,72 @@ const createSmItem = async (record) => {
// 大纲生成二级文档
const createDgItem = async (record) => {
// 生成测试项文档
const st = await dgGenerateApi.createTestDemand({ id: record.id })
await dgGenerateApi.createTestDemand({ id: record.id })
// 标准依据文件
const st1 = await dgGenerateApi.createYiju({ id: record.id })
await dgGenerateApi.createYiju({ id: record.id })
// 技术依据文件
const st2 = await dgGenerateApi.createTechYiju({ id: record.id })
await dgGenerateApi.createTechYiju({ id: record.id })
// 生成时间和地点
const st3 = await dgGenerateApi.createTimeaddress({ id: record.id })
await dgGenerateApi.createTimeaddress({ id: record.id })
// 生成被测软件功能列表
const st4 = await dgGenerateApi.createFuncList({ id: record.id })
await dgGenerateApi.createFuncList({ id: record.id })
// 生成测评对象-软件组成
const st5 = await dgGenerateApi.createSoftComposition({ id: record.id })
await dgGenerateApi.createSoftComposition({ id: record.id })
// 生成联系人和方式
const st6 = await dgGenerateApi.createContact({ id: record.id })
await dgGenerateApi.createContact({ id: record.id })
// 生成测试充分性adequancy和有效性effectiveness说明
const st7 = await dgGenerateApi.createAdequacyEffectiveness({ id: record.id })
await dgGenerateApi.createAdequacyEffectiveness({ id: record.id })
// 生成测评组织及分工
const st8 = await dgGenerateApi.createGroup({ id: record.id })
await dgGenerateApi.createGroup({ id: record.id })
// 生成测评保障
const st9 = await dgGenerateApi.createGuarantee({ id: record.id })
await dgGenerateApi.createGuarantee({ id: record.id })
// 生成缩略语
const st10 = await dgGenerateApi.createAbbreviation({ id: record.id })
await dgGenerateApi.createAbbreviation({ id: record.id })
// 生成-被测软件接口
const st11 = await dgGenerateApi.createInterface({ id: record.id })
await dgGenerateApi.createInterface({ id: record.id })
// 生成-被测软件性能
const st12 = await dgGenerateApi.createPerformance({ id: record.id })
await dgGenerateApi.createPerformance({ id: record.id })
// 生成-被测软件基本信息
const st13 = await dgGenerateApi.createBaseInformation({ id: record.id })
await dgGenerateApi.createBaseInformation({ id: record.id })
// 生成-测试总体要求
const st14 = await dgGenerateApi.createRequirement({ id: record.id })
await dgGenerateApi.createRequirement({ id: record.id })
// 生成-研总-测试项对照表
const st15 = await dgGenerateApi.createYzComparison({ id: record.id })
await dgGenerateApi.createYzComparison({ id: record.id })
// 生成-需求规格说明-测试项对照表
const st16 = await dgGenerateApi.createXqComparison({ id: record.id })
await dgGenerateApi.createXqComparison({ id: record.id })
// 生成-反向测试项-需求规格说明对照表
const st17 = await dgGenerateApi.createFanXqComparison({ id: record.id })
await dgGenerateApi.createFanXqComparison({ id: record.id })
// 生成-代码质量度量分析表
const st18 = await dgGenerateApi.createCodeQuality({ id: record.id })
await dgGenerateApi.createCodeQuality({ id: record.id })
// 生成-软硬件环境
const st19 = await dgGenerateApi.createEnvironment({ id: record.id })
await dgGenerateApi.createEnvironment({ id: record.id })
// 生成-主要战技指标
const st20 = await dgGenerateApi.createMainTech({ id: record.id })
Message.success(st20.message)
const st = await dgGenerateApi.createMainTech({ id: record.id })
Message.success(st.message)
}
// 报告生成二级文档
const createBgItem = async (record) => {
const st1 = await bgGenerateApi.createBgTechYiju({ id: record.id })
const st2 = await bgGenerateApi.createBgTimeaddress({ id: record.id })
const st3 = await bgGenerateApi.createBgBaseInformation({ id: record.id })
const st4 = await bgGenerateApi.createBgCompletionstatus({ id: record.id })
const st5 = await bgGenerateApi.createBgSummary({ id: record.id })
const st6 = await bgGenerateApi.createBgContentandresults1({ id: record.id })
const st7 = await bgGenerateApi.createBgContentandresults2({ id: record.id })
const st8 = await bgGenerateApi.createBgEffectAndAdquacy({ id: record.id })
const st9 = await bgGenerateApi.createBgDemandEffective({ id: record.id })
const st10 = await bgGenerateApi.createBgQualityEvaluate({ id: record.id })
const st11 = await bgGenerateApi.createBgEntire({ id: record.id })
const st12 = await bgGenerateApi.createBgYzxqTrack({ id: record.id })
const st13 = await bgGenerateApi.createBgProblemsSummary({ id: record.id })
Message.success(st13.message)
// 删除output/bg文件夹下文件
await bgGenerateApi.deleteBGFiles({ id: record.id })
await bgGenerateApi.createBgTechYiju({ id: record.id })
await bgGenerateApi.createBgTimeaddress({ id: record.id })
await bgGenerateApi.createBgBaseInformation({ id: record.id })
await bgGenerateApi.createBgCompletionstatus({ id: record.id })
await bgGenerateApi.createBgSummary({ id: record.id })
await bgGenerateApi.createBgContentandresults1({ id: record.id })
await bgGenerateApi.createBgContentandresults2({ id: record.id })
await bgGenerateApi.createBgEffectAndAdquacy({ id: record.id })
await bgGenerateApi.createBgDemandEffective({ id: record.id })
await bgGenerateApi.createBgQualityEvaluate({ id: record.id })
await bgGenerateApi.createBgEntire({ id: record.id })
await bgGenerateApi.createBgYzxqTrack({ id: record.id })
const st = await bgGenerateApi.createBgProblemsSummary({ id: record.id })
Message.success(st.message)
}
// 回归测试说明二级文档
const createHsmItem = async (record) => {
// 先调用删除文件夹里面文件
await hsmGenerateApi.deleteHSMFiles({ id: record.id })
await hsmGenerateApi.createBasicInfo({ id: record.id })
await hsmGenerateApi.createDocSummary({ id: record.id })
await hsmGenerateApi.createJstech({ id: record.id })
@@ -238,6 +242,8 @@ const createHsmItem = async (record) => {
}
// 回归测试记录二级文档
const createHjlItem = async (record) => {
// 先调用删除文件夹里面文件
await hjlGenerateApi.deleteHJLFiles({ id: record.id })
await hjlGenerateApi.createBasicInfo({ id: record.id })
const st = await hjlGenerateApi.createCaseinfo({ id: record.id })
Message.success(st.message)