升级第三方包

This commit is contained in:
2024-12-06 19:02:49 +08:00
parent 9cfecd7309
commit 05a117152c
8 changed files with 631 additions and 515 deletions

754
cdTMP/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -13,10 +13,10 @@
"dependencies": {
"@arco-design/color": "^0.4.0",
"@arco-design/web-vue": "^2.56.3",
"@tanstack/vue-query": "^5.60.6",
"@tanstack/vue-query": "^5.62.2",
"@tinymce/tinymce-vue": "^6.1.0",
"@vueuse/core": "^11.2.0",
"axios": "^1.7.7",
"@vueuse/core": "^12.0.0",
"axios": "^1.7.9",
"dayjs": "^1.11.13",
"echarts": "^5.5.1",
"file2md5": "^1.3.0",
@@ -24,7 +24,7 @@
"mammoth": "^1.8.0",
"mitt": "^3.0.1",
"nprogress": "^0.2.0",
"pinia": "^2.2.6",
"pinia": "^2.3.0",
"pinyin-match": "^1.2.6",
"postcss-import": "^16.1.0",
"qs": "^6.13.1",
@@ -33,29 +33,28 @@
"vue-clipboard3": "^2.0.0",
"vue-color-kit": "^1.0.6",
"vue-echarts": "^7.0.3",
"vue-router": "^4.4.5",
"vue-router": "^4.5.0",
"vuedraggable": "^2.24.3"
},
"devDependencies": {
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.9.1",
"@types/node": "^22.10.1",
"@types/nprogress": "^0.2.3",
"@types/qs": "^6.9.17",
"@vitejs/plugin-vue": "^5.2.0",
"@vitejs/plugin-vue-jsx": "^4.1.0",
"@vitejs/plugin-vue": "^5.2.1",
"@vitejs/plugin-vue-jsx": "^4.1.1",
"@vue/babel-plugin-jsx": "^1.2.5",
"autoprefixer": "^10.4.20",
"browserslist": "^4.24.2",
"caniuse-lite": "^1.0.30001680",
"eslint": "^9.15.0",
"eslint-plugin-vue": "^9.31.0",
"less": "^4.2.0",
"eslint": "^9.16.0",
"eslint-plugin-vue": "^9.32.0",
"less": "^4.2.1",
"less-loader": "^12.2.0",
"postcss": "^8.4.49",
"prettier": "^3.3.3",
"prettier": "^3.4.2",
"rollup-plugin-visualizer": "^5.12.0",
"tailwindcss": "^3.4.15",
"typescript": "^5.6.3",
"vite": "^5.4.11"
"tailwindcss": "^3.4.16",
"typescript": "^5.7.2",
"vite": "^6.0.3"
}
}

View File

@@ -112,11 +112,88 @@ export default {
},
/**
*
* @returns 生成软硬件环境output_dir
* @returns 生成-静态测试环境说明
*/
createEnvironment(params = {}) {
createStaticEnvironment(params = {}) {
return request({
url: `/generate/create/environment`,
url: `/generate/create/static_env`,
method: "get",
params
})
},
/**
*
* @returns 生成-静态软件项文档片段
*/
createStaticSoft(params = {}) {
return request({
url: `/generate/create/static_soft`,
method: "get",
params
})
},
/**
*
* @returns 生成-静态硬件和固件项
*/
createStaticHard(params = {}) {
return request({
url: `/generate/create/static_hard`,
method: "get",
params
})
},
/**
*
* @returns 生成-动态测试环境说明
*/
createDynamicEnv(params = {}) {
return request({
url: `/generate/create/dynamic_env`,
method: "get",
params
})
},
/**
*
* @returns 生成-动态软件项
*/
createDynamicSoft(params = {}) {
return request({
url: `/generate/create/dynamic_soft`,
method: "get",
params
})
},
/**
*
* @returns 生成-动态硬件项
*/
createDynamicHard(params = {}) {
return request({
url: `/generate/create/dynamic_hard`,
method: "get",
params
})
},
/**
*
* @returns 生成-测试数据
*/
createTestData(params = {}) {
return request({
url: `/generate/create/test_data`,
method: "get",
params
})
},
/**
*
* @returns 生成-环境差异性分析
*/
createEnvDiff(params = {}) {
return request({
url: `/generate/create/env_diff`,
method: "get",
params
})

View File

@@ -12,11 +12,7 @@
</template>
<slot></slot>
<slot name="body"></slot>
<a-card
class="mt-2"
:hoverable="true"
v-for="info in layout"
>
<a-card class="mt-2" :hoverable="true" v-for="info in layout">
<ma-info
v-if="isArray(info?.child)"
:title="info.title"
@@ -24,16 +20,9 @@
:data="infoData"
ref="maInfoRefs"
></ma-info>
<a-descriptions
:title="info.title"
v-else
>
<component
:data="infoData"
:is="info?.component"
/>
<a-descriptions :title="info.title" v-else>
<component :data="infoData" :is="info?.component" />
</a-descriptions>
</a-card>
<ma-form
v-model="form"
@@ -46,12 +35,12 @@
</template>
<script setup>
import MaInfo from "../ma-info/index.vue";
import {getCurrentInstance, reactive, ref, watch} from "vue";
import {isArray, isFunction, isObject, isString} from "lodash-es";
import {isComponent} from "@arco-design/web-vue/es/_utils/vue-utils";
import {setModalSizeEvent} from "@/utils/common";
const emit = defineEmits(["visible", "validateError", "open", "cancel", "close"]);
import MaInfo from "../ma-info/index.vue"
import { getCurrentInstance, reactive, ref, watch } from "vue"
import { isArray, isFunction, isObject, isString } from "lodash-es"
import { isComponent } from "@arco-design/web-vue/es/_utils/vue-utils"
import { setModalSizeEvent } from "@/utils/common"
const emit = defineEmits(["visible", "validateError", "open", "cancel", "close"])
const app = getCurrentInstance().appContext.app
const maFormRef = ref()
const prop = defineProps({
@@ -65,7 +54,7 @@ const prop = defineProps({
layout: { type: Object, default: [] },
formOptions: { type: Object, default: {} }, // ma-form-options
formColumns: { type: Array, default: [] }
});
})
const isFull = ref(prop.isFull)
setModalSizeEvent((config) => {
isFull.value = config.isFull
@@ -76,23 +65,27 @@ const layout = ref([])
const infoData = ref({})
const form = ref({})
watch(() => prop.layout, val => {
watch(
() => prop.layout,
(val) => {
layout.value = val
},{
immediate: true,
})
},
{
immediate: true
}
)
let columnMap = {}
const init = async () => {
let column = prop.column
column.forEach(item => {
column.forEach((item) => {
columnMap[item.dataIndex] = item
})
if (layout.value.length > 0) {
layout.value.forEach((item) => {
if (item.component) {
app.component(item.component, item.child)
return;
return
}
item.child.forEach((child, index) => {
if (isString(child)) {
@@ -103,7 +96,7 @@ const init = async () => {
} else {
layout.value.push({
title: "",
child: column,
child: column
})
}
}
@@ -111,17 +104,17 @@ const init = async () => {
const modal = reactive({
visible: prop.default_visible,
open(data, formData = {}) {
modal.visible = true;
modal.visible = true
for (let [key, value] of Object.entries(data)) {
infoData.value[key] = value;
infoData.value[key] = value
}
for (let [key, value] of Object.entries(formData)) {
form.value[key] = value;
form.value[key] = value
}
emit("open", infoData);
emit("open", infoData)
},
close() {
modal.visible = false;
modal.visible = false
},
async submit() {
let validate = await maFormRef.value.validateForm()
@@ -132,19 +125,17 @@ const modal = reactive({
return prop.submit(form._rawValue)
},
cancel() {
emit("cancel");
},
});
emit("cancel")
}
})
init()
defineExpose({
open: modal.open,
close: modal.close,
data: infoData,
});
data: infoData
})
</script>
<style scoped>
</style>
<style scoped></style>

View File

@@ -13,12 +13,12 @@ const props = defineProps({
const checkResult = (verifyCode) => {
if (!verifyCode || verifyCode.length === 0) {
props.showError && Message.error(t("sys.verifyCode.notice"))
props.showError && Message.error("请输入验证码")
return false
}
if (verifyCode.toLowerCase() !== codeText.value.toLowerCase()) {
props.showError && Message.error(t("sys.verifyCode.error"))
props.showError && Message.error("验证码错误,请刷新后重试")
generateCode()
return false
} else {

View File

@@ -10,6 +10,7 @@ export default function useUser() {
await userStore.logout()
const currentRoute = router.currentRoute.value
Message.success('登出成功')
document.body.setAttribute("arco-theme", "light")
router.push({
name: logoutTo && typeof logoutTo === 'string' ? logoutTo : 'login',
query: {

View File

@@ -43,7 +43,16 @@ const useGenerateSecond = function () {
dgGenerateApi.createBaseInformation({ id }), // 生成被测软件基本信息 - 和大纲重复 - 可能会删除
dgGenerateApi.createYiju({ id }), // 生成标准类引用文档 - 和大纲重复 - 可能会删除
smGenerateApi.createSMTechyiju({ id }), // 生成技术类引用文档列表 -> 在大纲基础上添加《测评大纲》
dgGenerateApi.createEnvironment({ id }), // 生成软硬件环境(注意标题级别不一样,这个在最后处理)
// 拆分软硬件环境
dgGenerateApi.createStaticEnvironment({ id }), // 生成-静态测试环境说明
dgGenerateApi.createStaticSoft({ id }), // 生成-静态软件项
dgGenerateApi.createStaticHard({ id }), // 生成-静态硬件和固件项
dgGenerateApi.createDynamicEnv({ id }), // 生成-动态测试环境说明
dgGenerateApi.createDynamicSoft({ id }), // 生成-动态软件项
dgGenerateApi.createDynamicHard({ id }), // 生成-动态硬件和固件项
dgGenerateApi.createTestData({ id }), // 生成-测评数据
dgGenerateApi.createEnvDiff({ id }), // 生成-环境差异性分析
// ~~~
smGenerateApi.createSMCaseList({ id }), // 生成用例全
smGenerateApi.createSMCaseBreifList({ id }), // 生成用例列表-那个表格
smGenerateApi.createSMTrack({ id }) // 生成说明追踪
@@ -78,7 +87,16 @@ const useGenerateSecond = function () {
dgGenerateApi.createXqComparison({ id }), // 生成-需求规格说明-测试项对照表
dgGenerateApi.createFanXqComparison({ id }), // 生成-反向测试项-需求规格说明对照表
dgGenerateApi.createCodeQuality({ id }), // 生成-代码质量度量分析表
dgGenerateApi.createEnvironment({ id }), // 生成-软硬件环境
// 新增拆分接口
dgGenerateApi.createStaticEnvironment({ id }), // 生成-静态测试环境说明
dgGenerateApi.createStaticSoft({ id }), // 生成-静态软件项
dgGenerateApi.createStaticHard({ id }), // 生成-静态硬件和固件项
dgGenerateApi.createDynamicEnv({ id }), // 生成-动态测试环境说明
dgGenerateApi.createDynamicSoft({ id }), // 生成-动态软件项
dgGenerateApi.createDynamicHard({ id }), // 生成-动态硬件和固件项
dgGenerateApi.createTestData({ id }), // 生成-测评数据
dgGenerateApi.createEnvDiff({ id }), // 生成-环境差异性分析
// ~~~~~~~~~
dgGenerateApi.createMainTech({ id }) // 生成-主要战技指标
]).finally(() => {
isGenerating.value = false
@@ -105,7 +123,16 @@ const useGenerateSecond = function () {
bgGenerateApi.createBgQualityEvaluate({ id }),
bgGenerateApi.createBgEntire({ id }),
bgGenerateApi.createBgYzxqTrack({ id }),
bgGenerateApi.createBgProblemsSummary({ id })
bgGenerateApi.createBgProblemsSummary({ id }),
// 拆分软硬件环境
dgGenerateApi.createStaticEnvironment({ id }), // 生成-静态测试环境说明
dgGenerateApi.createStaticSoft({ id }), // 生成-静态软件项
dgGenerateApi.createStaticHard({ id }), // 生成-静态硬件和固件项
dgGenerateApi.createDynamicEnv({ id }), // 生成-动态测试环境说明
dgGenerateApi.createDynamicSoft({ id }), // 生成-动态软件项
dgGenerateApi.createDynamicHard({ id }), // 生成-动态硬件和固件项
dgGenerateApi.createTestData({ id }), // 生成-测评数据
dgGenerateApi.createEnvDiff({ id }) // 生成-环境差异性分析
]).finally(() => {
isGenerating.value = false
isBgLoading.value = false
@@ -126,7 +153,16 @@ const useGenerateSecond = function () {
hsmGenerateApi.createHdemand({ id }),
hsmGenerateApi.createCaseListDesc({ id }),
hsmGenerateApi.createCaseList({ id }),
hsmGenerateApi.createTrack({ id })
hsmGenerateApi.createTrack({ id }),
// 拆分大纲软硬件环境
dgGenerateApi.createStaticEnvironment({ id }), // 生成-静态测试环境说明
dgGenerateApi.createStaticSoft({ id }), // 生成-静态软件项
dgGenerateApi.createStaticHard({ id }), // 生成-静态硬件和固件项
dgGenerateApi.createDynamicEnv({ id }), // 生成-动态测试环境说明
dgGenerateApi.createDynamicSoft({ id }), // 生成-动态软件项
dgGenerateApi.createDynamicHard({ id }), // 生成-动态硬件和固件项
dgGenerateApi.createTestData({ id }), // 生成-测评数据
dgGenerateApi.createEnvDiff({ id }) // 生成-环境差异性分析
]).finally(() => {
isGenerating.value = false
ishsmLoading.value = false

File diff suppressed because one or more lines are too long