diff --git a/cdTMP/package-lock.json b/cdTMP/package-lock.json index d920f0a..1c77435 100644 --- a/cdTMP/package-lock.json +++ b/cdTMP/package-lock.json @@ -1,19 +1,19 @@ { "name": "testplant", - "version": "1.0.1", + "version": "0.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "testplant", - "version": "1.0.1", + "version": "0.1.1", "dependencies": { "@arco-design/color": "^0.4.0", - "@arco-design/web-vue": "^2.57.0", - "@tanstack/vue-query": "^5.99.0", + "@arco-design/web-vue": "^2.58.0", + "@tanstack/vue-query": "^5.99.2", "@tinymce/tinymce-vue": "^6.3.0", "@vueuse/core": "^14.2.1", - "axios": "^1.15.0", + "axios": "^1.15.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dayjs": "^1.11.20", @@ -47,7 +47,7 @@ "@vitejs/plugin-vue-jsx": "^5.1.5", "@vue/babel-plugin-jsx": "^2.0.1", "browserslist": "^4.28.2", - "eslint": "^10.2.0", + "eslint": "^10.2.1", "eslint-plugin-vue": "^10.8.0", "less": "^4.6.4", "less-loader": "^12.3.2", @@ -55,7 +55,7 @@ "prettier": "^3.8.3", "rollup-plugin-visualizer": "^7.0.1", "tailwindcss": "^4.2.2", - "typescript": "^6.0.2", + "typescript": "^6.0.3", "vite": "^8.0.8", "vue-eslint-parser": "^10.4.0" } @@ -83,9 +83,9 @@ } }, "node_modules/@arco-design/web-vue": { - "version": "2.57.0", - "resolved": "https://registry.npmmirror.com/@arco-design/web-vue/-/web-vue-2.57.0.tgz", - "integrity": "sha512-R5YReC3C2sG3Jv0+YuR3B7kzkq2KdhhQNCGXD8T11xAoa0zMt6SWTP1xJQOdZcM9du+q3z6tk5mRvh4qkieRJw==", + "version": "2.58.0", + "resolved": "https://registry.npmmirror.com/@arco-design/web-vue/-/web-vue-2.58.0.tgz", + "integrity": "sha512-b1vdPYOmjG5VAkVa7jlVwCb+WynBK+rnKN8zH3yKohpZObZbostRd3HgYNtjjZjGVU3OqR0Yy2FX7ftgF0bcOw==", "license": "MIT", "dependencies": { "@arco-design/color": "^0.4.0", @@ -99,7 +99,7 @@ "vue": "^3.1.0" }, "peerDependencies": { - "vue": "^3.1.0" + "vue": ">=3.1.0" } }, "node_modules/@babel/code-frame": { @@ -570,13 +570,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.23.4", - "resolved": "https://registry.npmmirror.com/@eslint/config-array/-/config-array-0.23.4.tgz", - "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", + "version": "0.23.5", + "resolved": "https://registry.npmmirror.com/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^3.0.4", + "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", "minimatch": "^10.2.4" }, @@ -585,22 +585,22 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.5.4", - "resolved": "https://registry.npmmirror.com/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", - "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", + "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^1.2.0" + "@eslint/core": "^1.2.1" }, "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/core": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@eslint/core/-/core-1.2.0.tgz", - "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -611,9 +611,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@eslint/object-schema/-/object-schema-3.0.4.tgz", - "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -621,13 +621,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.7.0", - "resolved": "https://registry.npmmirror.com/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", - "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", + "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^1.2.0", + "@eslint/core": "^1.2.1", "levn": "^0.4.1" }, "engines": { @@ -1371,9 +1371,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.99.0", - "resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.99.0.tgz", - "integrity": "sha512-3Jv3WQG0BCcH7G+7lf/bP8QyBfJOXeY+T08Rin3GZ1bshvwlbPt7NrDHMEzGdKIOmOzvIQmxjk28YEQX60k7pQ==", + "version": "5.99.2", + "resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.99.2.tgz", + "integrity": "sha512-1HunU0bXVsR1ZJMZbcOPE6VtaBJxsW809RE9xPe4Gz7MlB0GWwQvuTPhMoEmQ/hIzFKJ/DWAuttIe7BOaWx0tA==", "license": "MIT", "funding": { "type": "github", @@ -1381,13 +1381,13 @@ } }, "node_modules/@tanstack/vue-query": { - "version": "5.99.0", - "resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.99.0.tgz", - "integrity": "sha512-okrHNkouasL5cjo7O8hUxul22DiIL335KUQus/cfoAdCOUytF/OIv3BpNDevfqE6zHqqJ651Fb9OkUJPUCL0ZQ==", + "version": "5.99.2", + "resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.99.2.tgz", + "integrity": "sha512-ll7dzgeM/3/ckNsp+J0ZrUuvJEZan3RlOrb1T4M47CJPM0rS0WNanSYQWPgK0A+Eu/ihwm/kEBmAZOA7toHP8g==", "license": "MIT", "dependencies": { "@tanstack/match-sorter-utils": "^8.19.4", - "@tanstack/query-core": "5.99.0", + "@tanstack/query-core": "5.99.2", "@vue/devtools-api": "^6.6.3", "vue-demi": "^0.14.10" }, @@ -1924,9 +1924,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.15.0", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.15.0.tgz", - "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "version": "1.15.1", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.15.1.tgz", + "integrity": "sha512-WOG+Jj8ZOvR0a3rAn+Tuf1UQJRxw5venr6DgdbJzngJE3qG7X0kL83CZGpdHMxEm+ZK3seAbvFsw4FfOfP9vxg==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", @@ -2559,18 +2559,18 @@ } }, "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmmirror.com/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", + "version": "10.2.1", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-10.2.1.tgz", + "integrity": "sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.5.5", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -5010,9 +5010,9 @@ } }, "node_modules/typescript": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/typescript/-/typescript-6.0.2.tgz", - "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "devOptional": true, "license": "Apache-2.0", "bin": { diff --git a/cdTMP/package.json b/cdTMP/package.json index 21e6c22..5dbcd7c 100644 --- a/cdTMP/package.json +++ b/cdTMP/package.json @@ -1,7 +1,7 @@ { "name": "testplant", "private": true, - "version": "1.0.1", + "version": "0.1.1", "type": "module", "scripts": { "dev": "vite", @@ -12,11 +12,11 @@ }, "dependencies": { "@arco-design/color": "^0.4.0", - "@arco-design/web-vue": "^2.57.0", - "@tanstack/vue-query": "^5.99.0", + "@arco-design/web-vue": "^2.58.0", + "@tanstack/vue-query": "^5.99.2", "@tinymce/tinymce-vue": "^6.3.0", "@vueuse/core": "^14.2.1", - "axios": "^1.15.0", + "axios": "^1.15.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dayjs": "^1.11.20", @@ -50,7 +50,7 @@ "@vitejs/plugin-vue-jsx": "^5.1.5", "@vue/babel-plugin-jsx": "^2.0.1", "browserslist": "^4.28.2", - "eslint": "^10.2.0", + "eslint": "^10.2.1", "eslint-plugin-vue": "^10.8.0", "less": "^4.6.4", "less-loader": "^12.3.2", @@ -58,7 +58,7 @@ "prettier": "^3.8.3", "rollup-plugin-visualizer": "^7.0.1", "tailwindcss": "^4.2.2", - "typescript": "^6.0.2", + "typescript": "^6.0.3", "vite": "^8.0.8", "vue-eslint-parser": "^10.4.0" } diff --git a/cdTMP/src/components/ma-crud/components/form.vue b/cdTMP/src/components/ma-crud/components/form.vue index f649fa5..59ff53e 100644 --- a/cdTMP/src/components/ma-crud/components/form.vue +++ b/cdTMP/src/components/ma-crud/components/form.vue @@ -21,13 +21,7 @@ - + @@ -88,12 +82,17 @@ const submit = async () => { if (isFunction(options.beforeAdd) && !(await options.beforeAdd(formData))) { return false } - // 修改源码添加parameters参数 - if (!options.parameters) { - response = await options.add.api(formData) - } else { - response = await options.add.api({ ...formData, ...options.parameters }) + try { + if (!options.parameters) { + response = await options.add.api(formData) + } else { + response = await options.add.api({ ...formData, ...options.parameters }) + } + } catch (error) { + console.error("标识重复") + return false } + // 修改源码添加parameters参数 isFunction(options.afterAdd) && (await options.afterAdd(response, formData)) } else { if (isFunction(options.beforeEdit) && !(await options.beforeEdit(formData))) { diff --git a/cdTMP/src/components/ma-crud/components/searchFormItem/form-picker.vue b/cdTMP/src/components/ma-crud/components/searchFormItem/form-picker.vue index 0f62fa8..0a005e3 100644 --- a/cdTMP/src/components/ma-crud/components/searchFormItem/form-picker.vue +++ b/cdTMP/src/components/ma-crud/components/searchFormItem/form-picker.vue @@ -1,16 +1,8 @@ - - - - - + + + + + diff --git a/cdTMP/src/layout/components/projectInfoOther/StaticDynamicTable.vue b/cdTMP/src/layout/components/projectInfoOther/StaticDynamicTable.vue index c52c492..f02500e 100644 --- a/cdTMP/src/layout/components/projectInfoOther/StaticDynamicTable.vue +++ b/cdTMP/src/layout/components/projectInfoOther/StaticDynamicTable.vue @@ -1,95 +1,95 @@ - - - - - + + + + + diff --git a/cdTMP/src/layout/components/projectInfoOther/TextAndTable.vue b/cdTMP/src/layout/components/projectInfoOther/TextAndTable.vue index 7c03acf..f89600d 100644 --- a/cdTMP/src/layout/components/projectInfoOther/TextAndTable.vue +++ b/cdTMP/src/layout/components/projectInfoOther/TextAndTable.vue @@ -1,107 +1,107 @@ - - - - - + + + + + diff --git a/cdTMP/src/layout/components/projectInfoOther/projectModal/ImageInput/index.vue b/cdTMP/src/layout/components/projectInfoOther/projectModal/ImageInput/index.vue index 3b3bb0f..b57b680 100644 --- a/cdTMP/src/layout/components/projectInfoOther/projectModal/ImageInput/index.vue +++ b/cdTMP/src/layout/components/projectInfoOther/projectModal/ImageInput/index.vue @@ -1,95 +1,114 @@ - - - - - + + + + + diff --git a/cdTMP/src/layout/components/projectInfoOther/projectModal/wordLikeTable/index.vue b/cdTMP/src/layout/components/projectInfoOther/projectModal/wordLikeTable/index.vue index 5857709..a9e9d5b 100644 --- a/cdTMP/src/layout/components/projectInfoOther/projectModal/wordLikeTable/index.vue +++ b/cdTMP/src/layout/components/projectInfoOther/projectModal/wordLikeTable/index.vue @@ -1,122 +1,123 @@ - - - - - + + + + + diff --git a/cdTMP/src/views/project/case/components/ProblemChoose.vue b/cdTMP/src/views/project/case/components/ProblemChoose.vue index 9f10f29..ad3408a 100644 --- a/cdTMP/src/views/project/case/components/ProblemChoose.vue +++ b/cdTMP/src/views/project/case/components/ProblemChoose.vue @@ -70,7 +70,8 @@ const handleRelatedChange = async (record) => { // 因为switch绑定了record.related所以可以动态改变 loading.value = true // 判断该用例是否是未通过,如果未执行或已通过则不允许关联问题单 - if (!caseIsPassed(caseInfo.value)) { + // 修改:当用户取消关联时应该不判断是否caseIsPassed + if (record.related && !caseIsPassed(caseInfo.value)) { Message.error("该用例没有缓存或无未通过步骤,请切换页面或设置未通过步骤后添加问题单!") loading.value = false record.related = !record.related @@ -90,7 +91,7 @@ const handleRelatedChange = async (record) => { }) if (res) { if (!res.data.isOK) { - // 后台说没关联成功则保持不变 + // 后端返回失败则回退switch状态 record.related = !record.related loading.value = false } diff --git a/cdTMP/src/views/project/design-demand/AiModal.vue b/cdTMP/src/views/project/design-demand/AiModal.vue index 8d19a71..4086df9 100644 --- a/cdTMP/src/views/project/design-demand/AiModal.vue +++ b/cdTMP/src/views/project/design-demand/AiModal.vue @@ -1,349 +1,348 @@ - - - - - + + + + + diff --git a/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts b/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts index c056f39..9fe162b 100644 --- a/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts +++ b/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts @@ -5,7 +5,7 @@ import caseApi from "@/api/project/case" import { useTreeDataStore } from "@/store" import { isEqual, cloneDeep } from "lodash-es" /** - * Dut被测件的crud选项 + * 用例的Crud Init */ export default function (crudRef: Ref>) { // globals @@ -24,7 +24,6 @@ export default function (crudRef: Ref>) { if (!beforeFormStep) { return } - crudRef.value.getFormData().testStep const iuEqualValue = isEqual(crudRef.value.getFormData().testStep, beforeFormStep) !iuEqualValue && app.$modal.confirm({ diff --git a/cdTMP/src/views/project/testDemand/index.vue b/cdTMP/src/views/project/testDemand/index.vue index 8d1933d..2d0b175 100644 --- a/cdTMP/src/views/project/testDemand/index.vue +++ b/cdTMP/src/views/project/testDemand/index.vue @@ -39,17 +39,9 @@ @replaceSuccess="replaceSuccessHandle" /> - + - + diff --git a/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts b/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts index 5ef6c1d..923fe99 100644 --- a/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts +++ b/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts @@ -214,6 +214,8 @@ const useCrudInit = function () { hide: true, search: false, formType: "select", + maxTagCount: 4, + multiple: true, allowCreate: true, createInfo: { title: "运行环境" @@ -259,6 +261,8 @@ const useCrudInit = function () { hide: true, search: false, formType: "select", + multiple:true, + maxTagCount: 4, allowCreate: true, createInfo: { title: "开发环境" diff --git a/cdTMP/src/views/testmanage/projmanage/index.vue b/cdTMP/src/views/testmanage/projmanage/index.vue index 19a509a..4169efb 100644 --- a/cdTMP/src/views/testmanage/projmanage/index.vue +++ b/cdTMP/src/views/testmanage/projmanage/index.vue @@ -26,9 +26,7 @@ - - 工作区 - + 工作区 预览 片段 看板