Crud表格的批量修改和替换
This commit is contained in:
418
cdTMP/package-lock.json
generated
418
cdTMP/package-lock.json
generated
@@ -10,9 +10,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@arco-design/color": "^0.4.0",
|
"@arco-design/color": "^0.4.0",
|
||||||
"@arco-design/web-vue": "^2.57.0",
|
"@arco-design/web-vue": "^2.57.0",
|
||||||
"@tanstack/vue-query": "^5.76.0",
|
"@tanstack/vue-query": "^5.77.2",
|
||||||
"@tinymce/tinymce-vue": "^6.1.0",
|
"@tinymce/tinymce-vue": "^6.1.0",
|
||||||
"@vueuse/core": "^13.2.0",
|
"@vueuse/core": "^13.3.0",
|
||||||
"axios": "^1.9.0",
|
"axios": "^1.9.0",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
@@ -30,10 +30,10 @@
|
|||||||
"tailwind-merge": "^3.3.0",
|
"tailwind-merge": "^3.3.0",
|
||||||
"tinymce": "^7.9.0",
|
"tinymce": "^7.9.0",
|
||||||
"tw-animate-css": "^1.3.0",
|
"tw-animate-css": "^1.3.0",
|
||||||
"vue": "^3.5.14",
|
"vue": "^3.5.15",
|
||||||
"vue-clipboard3": "^2.0.0",
|
"vue-clipboard3": "^2.0.0",
|
||||||
"vue-color-kit": "^1.0.6",
|
"vue-color-kit": "^1.0.6",
|
||||||
"vue-data-ui": "^2.6.51",
|
"vue-data-ui": "^2.7.6",
|
||||||
"vue-router": "^4.5.1",
|
"vue-router": "^4.5.1",
|
||||||
"vuedraggable": "^2.24.3"
|
"vuedraggable": "^2.24.3"
|
||||||
},
|
},
|
||||||
@@ -41,11 +41,11 @@
|
|||||||
"@tailwindcss/postcss": "^4.1.7",
|
"@tailwindcss/postcss": "^4.1.7",
|
||||||
"@tailwindcss/vite": "^4.1.7",
|
"@tailwindcss/vite": "^4.1.7",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/node": "^22.15.18",
|
"@types/node": "^22.15.23",
|
||||||
"@types/nprogress": "^0.2.3",
|
"@types/nprogress": "^0.2.3",
|
||||||
"@types/qs": "^6.14.0",
|
"@types/qs": "^6.14.0",
|
||||||
"@vitejs/plugin-vue": "^5.2.4",
|
"@vitejs/plugin-vue": "^5.2.4",
|
||||||
"@vitejs/plugin-vue-jsx": "^4.1.2",
|
"@vitejs/plugin-vue-jsx": "^4.2.0",
|
||||||
"@vue/babel-plugin-jsx": "^1.4.0",
|
"@vue/babel-plugin-jsx": "^1.4.0",
|
||||||
"browserslist": "^4.24.5",
|
"browserslist": "^4.24.5",
|
||||||
"eslint": "^9.27.0",
|
"eslint": "^9.27.0",
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
"less-loader": "^12.3.0",
|
"less-loader": "^12.3.0",
|
||||||
"postcss": "^8.5.3",
|
"postcss": "^8.5.3",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"rollup-plugin-visualizer": "^5.14.0",
|
"rollup-plugin-visualizer": "^6.0.1",
|
||||||
"tailwindcss": "^4.1.7",
|
"tailwindcss": "^4.1.7",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"vite": "^6.3.5",
|
"vite": "^6.3.5",
|
||||||
@@ -118,24 +118,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.26.2",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz",
|
||||||
"integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
|
"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-validator-identifier": "^7.25.9",
|
"@babel/helper-validator-identifier": "^7.27.1",
|
||||||
"js-tokens": "^4.0.0",
|
"js-tokens": "^4.0.0",
|
||||||
"picocolors": "^1.0.0"
|
"picocolors": "^1.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/compat-data": {
|
"node_modules/@babel/compat-data": {
|
||||||
"version": "7.26.8",
|
"version": "7.27.2",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.8.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.27.2.tgz",
|
||||||
"integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
|
"integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -143,22 +143,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/core": {
|
"node_modules/@babel/core": {
|
||||||
"version": "7.26.10",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.10.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.27.1.tgz",
|
||||||
"integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
|
"integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
"@babel/code-frame": "^7.26.2",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@babel/generator": "^7.26.10",
|
"@babel/generator": "^7.27.1",
|
||||||
"@babel/helper-compilation-targets": "^7.26.5",
|
"@babel/helper-compilation-targets": "^7.27.1",
|
||||||
"@babel/helper-module-transforms": "^7.26.0",
|
"@babel/helper-module-transforms": "^7.27.1",
|
||||||
"@babel/helpers": "^7.26.10",
|
"@babel/helpers": "^7.27.1",
|
||||||
"@babel/parser": "^7.26.10",
|
"@babel/parser": "^7.27.1",
|
||||||
"@babel/template": "^7.26.9",
|
"@babel/template": "^7.27.1",
|
||||||
"@babel/traverse": "^7.26.10",
|
"@babel/traverse": "^7.27.1",
|
||||||
"@babel/types": "^7.26.10",
|
"@babel/types": "^7.27.1",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.1.0",
|
||||||
"gensync": "^1.0.0-beta.2",
|
"gensync": "^1.0.0-beta.2",
|
||||||
@@ -174,14 +174,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/generator": {
|
"node_modules/@babel/generator": {
|
||||||
"version": "7.26.10",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.10.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.27.1.tgz",
|
||||||
"integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==",
|
"integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.26.10",
|
"@babel/parser": "^7.27.1",
|
||||||
"@babel/types": "^7.26.10",
|
"@babel/types": "^7.27.1",
|
||||||
"@jridgewell/gen-mapping": "^0.3.5",
|
"@jridgewell/gen-mapping": "^0.3.5",
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"jsesc": "^3.0.2"
|
"jsesc": "^3.0.2"
|
||||||
@@ -191,27 +191,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-annotate-as-pure": {
|
"node_modules/@babel/helper-annotate-as-pure": {
|
||||||
"version": "7.25.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz",
|
||||||
"integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
|
"integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.25.9"
|
"@babel/types": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-compilation-targets": {
|
"node_modules/@babel/helper-compilation-targets": {
|
||||||
"version": "7.26.5",
|
"version": "7.27.2",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
|
||||||
"integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
|
"integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/compat-data": "^7.26.5",
|
"@babel/compat-data": "^7.27.2",
|
||||||
"@babel/helper-validator-option": "^7.25.9",
|
"@babel/helper-validator-option": "^7.27.1",
|
||||||
"browserslist": "^4.24.0",
|
"browserslist": "^4.24.0",
|
||||||
"lru-cache": "^5.1.1",
|
"lru-cache": "^5.1.1",
|
||||||
"semver": "^6.3.1"
|
"semver": "^6.3.1"
|
||||||
@@ -221,18 +221,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-create-class-features-plugin": {
|
"node_modules/@babel/helper-create-class-features-plugin": {
|
||||||
"version": "7.26.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz",
|
||||||
"integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==",
|
"integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-annotate-as-pure": "^7.25.9",
|
"@babel/helper-annotate-as-pure": "^7.27.1",
|
||||||
"@babel/helper-member-expression-to-functions": "^7.25.9",
|
"@babel/helper-member-expression-to-functions": "^7.27.1",
|
||||||
"@babel/helper-optimise-call-expression": "^7.25.9",
|
"@babel/helper-optimise-call-expression": "^7.27.1",
|
||||||
"@babel/helper-replace-supers": "^7.26.5",
|
"@babel/helper-replace-supers": "^7.27.1",
|
||||||
"@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
|
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
|
||||||
"@babel/traverse": "^7.26.9",
|
"@babel/traverse": "^7.27.1",
|
||||||
"semver": "^6.3.1"
|
"semver": "^6.3.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -243,43 +243,43 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-member-expression-to-functions": {
|
"node_modules/@babel/helper-member-expression-to-functions": {
|
||||||
"version": "7.25.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
|
||||||
"integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
|
"integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/traverse": "^7.25.9",
|
"@babel/traverse": "^7.27.1",
|
||||||
"@babel/types": "^7.25.9"
|
"@babel/types": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-module-imports": {
|
"node_modules/@babel/helper-module-imports": {
|
||||||
"version": "7.25.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
|
||||||
"integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
|
"integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/traverse": "^7.25.9",
|
"@babel/traverse": "^7.27.1",
|
||||||
"@babel/types": "^7.25.9"
|
"@babel/types": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-module-transforms": {
|
"node_modules/@babel/helper-module-transforms": {
|
||||||
"version": "7.26.0",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz",
|
||||||
"integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
|
"integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-module-imports": "^7.25.9",
|
"@babel/helper-module-imports": "^7.27.1",
|
||||||
"@babel/helper-validator-identifier": "^7.25.9",
|
"@babel/helper-validator-identifier": "^7.27.1",
|
||||||
"@babel/traverse": "^7.25.9"
|
"@babel/traverse": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -289,22 +289,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-optimise-call-expression": {
|
"node_modules/@babel/helper-optimise-call-expression": {
|
||||||
"version": "7.25.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
|
||||||
"integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
|
"integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.25.9"
|
"@babel/types": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-plugin-utils": {
|
"node_modules/@babel/helper-plugin-utils": {
|
||||||
"version": "7.26.5",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
|
||||||
"integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
|
"integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -312,15 +312,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-replace-supers": {
|
"node_modules/@babel/helper-replace-supers": {
|
||||||
"version": "7.26.5",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
|
||||||
"integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==",
|
"integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-member-expression-to-functions": "^7.25.9",
|
"@babel/helper-member-expression-to-functions": "^7.27.1",
|
||||||
"@babel/helper-optimise-call-expression": "^7.25.9",
|
"@babel/helper-optimise-call-expression": "^7.27.1",
|
||||||
"@babel/traverse": "^7.26.5"
|
"@babel/traverse": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -330,14 +330,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
|
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
|
||||||
"version": "7.25.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
|
||||||
"integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
|
"integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/traverse": "^7.25.9",
|
"@babel/traverse": "^7.27.1",
|
||||||
"@babel/types": "^7.25.9"
|
"@babel/types": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -362,9 +362,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-validator-option": {
|
"node_modules/@babel/helper-validator-option": {
|
||||||
"version": "7.25.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
|
||||||
"integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
|
"integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -372,14 +372,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helpers": {
|
"node_modules/@babel/helpers": {
|
||||||
"version": "7.26.10",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.10.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.27.1.tgz",
|
||||||
"integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==",
|
"integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/template": "^7.26.9",
|
"@babel/template": "^7.27.1",
|
||||||
"@babel/types": "^7.26.10"
|
"@babel/types": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -417,13 +417,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-syntax-typescript": {
|
"node_modules/@babel/plugin-syntax-typescript": {
|
||||||
"version": "7.25.9",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz",
|
||||||
"integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==",
|
"integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": "^7.25.9"
|
"@babel/helper-plugin-utils": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -433,17 +433,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-typescript": {
|
"node_modules/@babel/plugin-transform-typescript": {
|
||||||
"version": "7.26.8",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz",
|
||||||
"integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==",
|
"integrity": "sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-annotate-as-pure": "^7.25.9",
|
"@babel/helper-annotate-as-pure": "^7.27.1",
|
||||||
"@babel/helper-create-class-features-plugin": "^7.25.9",
|
"@babel/helper-create-class-features-plugin": "^7.27.1",
|
||||||
"@babel/helper-plugin-utils": "^7.26.5",
|
"@babel/helper-plugin-utils": "^7.27.1",
|
||||||
"@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
|
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
|
||||||
"@babel/plugin-syntax-typescript": "^7.25.9"
|
"@babel/plugin-syntax-typescript": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -453,32 +453,32 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/template": {
|
"node_modules/@babel/template": {
|
||||||
"version": "7.26.9",
|
"version": "7.27.2",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.26.9.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz",
|
||||||
"integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==",
|
"integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.26.2",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@babel/parser": "^7.26.9",
|
"@babel/parser": "^7.27.2",
|
||||||
"@babel/types": "^7.26.9"
|
"@babel/types": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/traverse": {
|
"node_modules/@babel/traverse": {
|
||||||
"version": "7.26.10",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.10.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.27.1.tgz",
|
||||||
"integrity": "sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==",
|
"integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.26.2",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@babel/generator": "^7.26.10",
|
"@babel/generator": "^7.27.1",
|
||||||
"@babel/parser": "^7.26.10",
|
"@babel/parser": "^7.27.1",
|
||||||
"@babel/template": "^7.26.9",
|
"@babel/template": "^7.27.1",
|
||||||
"@babel/types": "^7.26.10",
|
"@babel/types": "^7.27.1",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"globals": "^11.1.0"
|
"globals": "^11.1.0"
|
||||||
},
|
},
|
||||||
@@ -1195,6 +1195,13 @@
|
|||||||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@rolldown/pluginutils": {
|
||||||
|
"version": "1.0.0-beta.9",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz",
|
||||||
|
"integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||||
"version": "4.40.0",
|
"version": "4.40.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz",
|
||||||
@@ -1783,9 +1790,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tanstack/query-core": {
|
"node_modules/@tanstack/query-core": {
|
||||||
"version": "5.76.0",
|
"version": "5.77.2",
|
||||||
"resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.76.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.77.2.tgz",
|
||||||
"integrity": "sha512-FN375hb8ctzfNAlex5gHI6+WDXTNpe0nbxp/d2YJtnP+IBM6OUm7zcaoCW6T63BawGOYZBbKC0iPvr41TteNVg==",
|
"integrity": "sha512-1lqJwPsR6GX6nZFw06erRt518O19tWU6Q+x0fJUygl4lxHCYF2nhzBPwLKk2NPjYOrpR0K567hxPc5K++xDe9Q==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -1793,13 +1800,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tanstack/vue-query": {
|
"node_modules/@tanstack/vue-query": {
|
||||||
"version": "5.76.0",
|
"version": "5.77.2",
|
||||||
"resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.76.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.77.2.tgz",
|
||||||
"integrity": "sha512-Ow1JPfAqjam/hH2WJj15Y+a7FT5LS/So2b4jMAI3lLKUcpIjVRLEOLQXdCYZ/29YbDrL66trwLPXjA9tYrHung==",
|
"integrity": "sha512-Neon9wds87Wo6T5qr+YxOnHYmt618IGnlYE2r6dpWDvhb/mJwlvoBw9TS2KzLfmOQuadBc4nWcpUomuDR4otKg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tanstack/match-sorter-utils": "^8.19.4",
|
"@tanstack/match-sorter-utils": "^8.19.4",
|
||||||
"@tanstack/query-core": "5.76.0",
|
"@tanstack/query-core": "5.77.2",
|
||||||
"@vue/devtools-api": "^6.6.3",
|
"@vue/devtools-api": "^6.6.3",
|
||||||
"vue-demi": "^0.14.10"
|
"vue-demi": "^0.14.10"
|
||||||
},
|
},
|
||||||
@@ -1914,9 +1921,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.15.18",
|
"version": "22.15.23",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/node/-/node-22.15.18.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/node/-/node-22.15.23.tgz",
|
||||||
"integrity": "sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==",
|
"integrity": "sha512-7Ec1zaFPF4RJ0eXu1YT/xgiebqwqoJz8rYPDi/O2BcZ++Wpt0Kq9cl0eg6NN6bYbPnR67ZLo7St5Q3UK0SnARw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -1958,15 +1965,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitejs/plugin-vue-jsx": {
|
"node_modules/@vitejs/plugin-vue-jsx": {
|
||||||
"version": "4.1.2",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-4.1.2.tgz",
|
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-4.2.0.tgz",
|
||||||
"integrity": "sha512-4Rk0GdE0QCdsIkuMmWeg11gmM4x8UmTnZR/LWPm7QJ7+BsK4tq08udrN0isrrWqz5heFy9HLV/7bOLgFS8hUjA==",
|
"integrity": "sha512-DSTrmrdLp+0LDNF77fqrKfx7X0ErRbOcUAgJL/HbSesqQwoUvUQ4uYQqaex+rovqgGcoPqVk+AwUh3v9CuiYIw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.26.7",
|
"@babel/core": "^7.27.1",
|
||||||
"@babel/plugin-transform-typescript": "^7.26.7",
|
"@babel/plugin-transform-typescript": "^7.27.1",
|
||||||
"@vue/babel-plugin-jsx": "^1.2.5"
|
"@rolldown/pluginutils": "^1.0.0-beta.9",
|
||||||
|
"@vue/babel-plugin-jsx": "^1.4.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.0.0 || >=20.0.0"
|
"node": "^18.0.0 || >=20.0.0"
|
||||||
@@ -2030,39 +2038,39 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-core": {
|
"node_modules/@vue/compiler-core": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.15.tgz",
|
||||||
"integrity": "sha512-k7qMHMbKvoCXIxPhquKQVw3Twid3Kg4s7+oYURxLGRd56LiuHJVrvFKI4fm2AM3c8apqODPfVJGoh8nePbXMRA==",
|
"integrity": "sha512-nGRc6YJg/kxNqbv/7Tg4juirPnjHvuVdhcmDvQWVZXlLHjouq7VsKmV1hIxM/8yKM0VUfwT/Uzc0lO510ltZqw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.27.2",
|
"@babel/parser": "^7.27.2",
|
||||||
"@vue/shared": "3.5.14",
|
"@vue/shared": "3.5.15",
|
||||||
"entities": "^4.5.0",
|
"entities": "^4.5.0",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"source-map-js": "^1.2.1"
|
"source-map-js": "^1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-dom": {
|
"node_modules/@vue/compiler-dom": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.15.tgz",
|
||||||
"integrity": "sha512-1aOCSqxGOea5I80U2hQJvXYpPm/aXo95xL/m/mMhgyPUsKe9jhjwWpziNAw7tYRnbz1I61rd9Mld4W9KmmRoug==",
|
"integrity": "sha512-ZelQd9n+O/UCBdL00rlwCrsArSak+YLZpBVuNDio1hN3+wrCshYZEDUO3khSLAzPbF1oQS2duEoMDUHScUlYjA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-core": "3.5.14",
|
"@vue/compiler-core": "3.5.15",
|
||||||
"@vue/shared": "3.5.14"
|
"@vue/shared": "3.5.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-sfc": {
|
"node_modules/@vue/compiler-sfc": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.15.tgz",
|
||||||
"integrity": "sha512-9T6m/9mMr81Lj58JpzsiSIjBgv2LiVoWjIVa7kuXHICUi8LiDSIotMpPRXYJsXKqyARrzjT24NAwttrMnMaCXA==",
|
"integrity": "sha512-3zndKbxMsOU6afQWer75Zot/aydjtxNj0T2KLg033rAFaQUn2PGuE32ZRe4iMhflbTcAxL0yEYsRWFxtPro8RQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.27.2",
|
"@babel/parser": "^7.27.2",
|
||||||
"@vue/compiler-core": "3.5.14",
|
"@vue/compiler-core": "3.5.15",
|
||||||
"@vue/compiler-dom": "3.5.14",
|
"@vue/compiler-dom": "3.5.15",
|
||||||
"@vue/compiler-ssr": "3.5.14",
|
"@vue/compiler-ssr": "3.5.15",
|
||||||
"@vue/shared": "3.5.14",
|
"@vue/shared": "3.5.15",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"magic-string": "^0.30.17",
|
"magic-string": "^0.30.17",
|
||||||
"postcss": "^8.5.3",
|
"postcss": "^8.5.3",
|
||||||
@@ -2070,13 +2078,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-ssr": {
|
"node_modules/@vue/compiler-ssr": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.15.tgz",
|
||||||
"integrity": "sha512-Y0G7PcBxr1yllnHuS/NxNCSPWnRGH4Ogrp0tsLA5QemDZuJLs99YjAKQ7KqkHE0vCg4QTKlQzXLKCMF7WPSl7Q==",
|
"integrity": "sha512-gShn8zRREZbrXqTtmLSCffgZXDWv8nHc/GhsW+mbwBfNZL5pI96e7IWcIq8XGQe1TLtVbu7EV9gFIVSmfyarPg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.5.14",
|
"@vue/compiler-dom": "3.5.15",
|
||||||
"@vue/shared": "3.5.14"
|
"@vue/shared": "3.5.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/devtools-api": {
|
"node_modules/@vue/devtools-api": {
|
||||||
@@ -2110,64 +2118,64 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/reactivity": {
|
"node_modules/@vue/reactivity": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.15.tgz",
|
||||||
"integrity": "sha512-7cK1Hp343Fu/SUCCO52vCabjvsYu7ZkOqyYu7bXV9P2yyfjUMUXHZafEbq244sP7gf+EZEz+77QixBTuEqkQQw==",
|
"integrity": "sha512-GaA5VUm30YWobCwpvcs9nvFKf27EdSLKDo2jA0IXzGS344oNpFNbEQ9z+Pp5ESDaxyS8FcH0vFN/XSe95BZtHQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/shared": "3.5.14"
|
"@vue/shared": "3.5.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-core": {
|
"node_modules/@vue/runtime-core": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.15.tgz",
|
||||||
"integrity": "sha512-w9JWEANwHXNgieAhxPpEpJa+0V5G0hz3NmjAZwlOebtfKyp2hKxKF0+qSh0Xs6/PhfGihuSdqMprMVcQU/E6ag==",
|
"integrity": "sha512-CZAlIOQ93nj0OPpWWOx4+QDLCMzBNY85IQR4Voe6vIID149yF8g9WQaWnw042f/6JfvLttK7dnyWlC1EVCRK8Q==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/reactivity": "3.5.14",
|
"@vue/reactivity": "3.5.15",
|
||||||
"@vue/shared": "3.5.14"
|
"@vue/shared": "3.5.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-dom": {
|
"node_modules/@vue/runtime-dom": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.15.tgz",
|
||||||
"integrity": "sha512-lCfR++IakeI35TVR80QgOelsUIdcKjd65rWAMfdSlCYnaEY5t3hYwru7vvcWaqmrK+LpI7ZDDYiGU5V3xjMacw==",
|
"integrity": "sha512-wFplHKzKO/v998up2iCW3RN9TNUeDMhdBcNYZgs5LOokHntrB48dyuZHspcahKZczKKh3v6i164gapMPxBTKNw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/reactivity": "3.5.14",
|
"@vue/reactivity": "3.5.15",
|
||||||
"@vue/runtime-core": "3.5.14",
|
"@vue/runtime-core": "3.5.15",
|
||||||
"@vue/shared": "3.5.14",
|
"@vue/shared": "3.5.15",
|
||||||
"csstype": "^3.1.3"
|
"csstype": "^3.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/server-renderer": {
|
"node_modules/@vue/server-renderer": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.15.tgz",
|
||||||
"integrity": "sha512-Rf/ISLqokIvcySIYnv3tNWq40PLpNLDLSJwwVWzG6MNtyIhfbcrAxo5ZL9nARJhqjZyWWa40oRb2IDuejeuv6w==",
|
"integrity": "sha512-Gehc693kVTYkLt6QSYEjGvqvdK2zZ/gf/D5zkgmvBdeB30dNnVZS8yY7+IlBmHRd1rR/zwaqeu06Ij04ZxBscg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-ssr": "3.5.14",
|
"@vue/compiler-ssr": "3.5.15",
|
||||||
"@vue/shared": "3.5.14"
|
"@vue/shared": "3.5.15"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "3.5.14"
|
"vue": "3.5.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/shared": {
|
"node_modules/@vue/shared": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.15.tgz",
|
||||||
"integrity": "sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==",
|
"integrity": "sha512-bKvgFJJL1ZX9KxMCTQY6xD9Dhe3nusd1OhyOb1cJYGqvAr0Vg8FIjHPMOEVbJ9GDT9HG+Bjdn4oS8ohKP8EvoA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@vueuse/core": {
|
"node_modules/@vueuse/core": {
|
||||||
"version": "13.2.0",
|
"version": "13.3.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-13.2.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-13.3.0.tgz",
|
||||||
"integrity": "sha512-n5TZoIAxbWAQ3PqdVPDzLgIRQOujFfMlatdI+f7ditSmoEeNpPBvp7h2zamzikCmrhFIePAwdEQB6ENccHr7Rg==",
|
"integrity": "sha512-uYRz5oEfebHCoRhK4moXFM3NSCd5vu2XMLOq/Riz5FdqZMy2RvBtazdtL3gEcmDyqkztDe9ZP/zymObMIbiYSg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/web-bluetooth": "^0.0.21",
|
"@types/web-bluetooth": "^0.0.21",
|
||||||
"@vueuse/metadata": "13.2.0",
|
"@vueuse/metadata": "13.3.0",
|
||||||
"@vueuse/shared": "13.2.0"
|
"@vueuse/shared": "13.3.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/antfu"
|
"url": "https://github.com/sponsors/antfu"
|
||||||
@@ -2177,18 +2185,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vueuse/metadata": {
|
"node_modules/@vueuse/metadata": {
|
||||||
"version": "13.2.0",
|
"version": "13.3.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-13.2.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-13.3.0.tgz",
|
||||||
"integrity": "sha512-kPpzuQCU0+D8DZCzK0iPpIcXI+6ufWSgwnjJ6//GNpEn+SHViaCtR+XurzORChSgvpHO9YC8gGM97Y1kB+UabA==",
|
"integrity": "sha512-42IzJIOYCKIb0Yjv1JfaKpx8JlCiTmtCWrPxt7Ja6Wzoq0h79+YVXmBV03N966KEmDEESTbp5R/qO3AB5BDnGw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/antfu"
|
"url": "https://github.com/sponsors/antfu"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vueuse/shared": {
|
"node_modules/@vueuse/shared": {
|
||||||
"version": "13.2.0",
|
"version": "13.3.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-13.2.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-13.3.0.tgz",
|
||||||
"integrity": "sha512-vx9ZPDF5HcU9up3Jgt3G62dMUfZEdk6tLyBAHYAG4F4n73vpaA7J5hdncDI/lS9Vm7GA/FPlbOmh9TrDZROTpg==",
|
"integrity": "sha512-L1QKsF0Eg9tiZSFXTgodYnu0Rsa2P0En2LuLrIs/jgrkyiDuJSsPZK+tx+wU0mMsYHUYEjNsuE41uqqkuR8VhA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/antfu"
|
"url": "https://github.com/sponsors/antfu"
|
||||||
@@ -5089,13 +5097,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup-plugin-visualizer": {
|
"node_modules/rollup-plugin-visualizer": {
|
||||||
"version": "5.14.0",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmmirror.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.14.0.tgz",
|
"resolved": "https://registry.npmmirror.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-6.0.1.tgz",
|
||||||
"integrity": "sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==",
|
"integrity": "sha512-NjlGElvLXCSZSAi3gNRZbfX3qlQbQcJ9TW97c5JpqfVwMhttj9YwEdPwcvbKj91RnMX2PWAjonvSEv6UEYtnRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"open": "^8.4.0",
|
"open": "^8.0.0",
|
||||||
"picomatch": "^4.0.2",
|
"picomatch": "^4.0.2",
|
||||||
"source-map": "^0.7.4",
|
"source-map": "^0.7.4",
|
||||||
"yargs": "^17.5.1"
|
"yargs": "^17.5.1"
|
||||||
@@ -5776,16 +5784,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue": {
|
"node_modules/vue": {
|
||||||
"version": "3.5.14",
|
"version": "3.5.15",
|
||||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.14.tgz",
|
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.15.tgz",
|
||||||
"integrity": "sha512-LbOm50/vZFG6Mhy6KscQYXZMQ0LMCC/y40HDJPPvGFQ+i/lUH+PJHR6C3assgOQiXdl6tAfsXHbXYVBZZu65ew==",
|
"integrity": "sha512-aD9zK4rB43JAMK/5BmS4LdPiEp8Fdh8P1Ve/XNuMF5YRf78fCyPE6FUbQwcaWQ5oZ1R2CD9NKE0FFOVpMR7gEQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.5.14",
|
"@vue/compiler-dom": "3.5.15",
|
||||||
"@vue/compiler-sfc": "3.5.14",
|
"@vue/compiler-sfc": "3.5.15",
|
||||||
"@vue/runtime-dom": "3.5.14",
|
"@vue/runtime-dom": "3.5.15",
|
||||||
"@vue/server-renderer": "3.5.14",
|
"@vue/server-renderer": "3.5.15",
|
||||||
"@vue/shared": "3.5.14"
|
"@vue/shared": "3.5.15"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": "*"
|
"typescript": "*"
|
||||||
@@ -5814,9 +5822,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue-data-ui": {
|
"node_modules/vue-data-ui": {
|
||||||
"version": "2.6.51",
|
"version": "2.7.6",
|
||||||
"resolved": "https://registry.npmmirror.com/vue-data-ui/-/vue-data-ui-2.6.51.tgz",
|
"resolved": "https://registry.npmmirror.com/vue-data-ui/-/vue-data-ui-2.7.6.tgz",
|
||||||
"integrity": "sha512-3fJBwQLDJVaUHuZydB4/+v55jVNjBX4Y8XYifsIr6i5Bd5Bh4x0G0TA+CtL333nr7AQPvx55QeiQiwfvV/+j9Q==",
|
"integrity": "sha512-hkH+Avcp0B5aT6Xm6C7Gb0un10pD/PM2HKJhOLJrWlKaVRrbcMBDGWYWXApnmIVeoYRkw/M0QWfoA//lT4Deow==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": ">=3.3.0"
|
"vue": ">=3.3.0"
|
||||||
|
|||||||
@@ -13,9 +13,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@arco-design/color": "^0.4.0",
|
"@arco-design/color": "^0.4.0",
|
||||||
"@arco-design/web-vue": "^2.57.0",
|
"@arco-design/web-vue": "^2.57.0",
|
||||||
"@tanstack/vue-query": "^5.76.0",
|
"@tanstack/vue-query": "^5.77.2",
|
||||||
"@tinymce/tinymce-vue": "^6.1.0",
|
"@tinymce/tinymce-vue": "^6.1.0",
|
||||||
"@vueuse/core": "^13.2.0",
|
"@vueuse/core": "^13.3.0",
|
||||||
"axios": "^1.9.0",
|
"axios": "^1.9.0",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
@@ -33,10 +33,10 @@
|
|||||||
"tailwind-merge": "^3.3.0",
|
"tailwind-merge": "^3.3.0",
|
||||||
"tinymce": "^7.9.0",
|
"tinymce": "^7.9.0",
|
||||||
"tw-animate-css": "^1.3.0",
|
"tw-animate-css": "^1.3.0",
|
||||||
"vue": "^3.5.14",
|
"vue": "^3.5.15",
|
||||||
"vue-clipboard3": "^2.0.0",
|
"vue-clipboard3": "^2.0.0",
|
||||||
"vue-color-kit": "^1.0.6",
|
"vue-color-kit": "^1.0.6",
|
||||||
"vue-data-ui": "^2.6.51",
|
"vue-data-ui": "^2.7.6",
|
||||||
"vue-router": "^4.5.1",
|
"vue-router": "^4.5.1",
|
||||||
"vuedraggable": "^2.24.3"
|
"vuedraggable": "^2.24.3"
|
||||||
},
|
},
|
||||||
@@ -44,11 +44,11 @@
|
|||||||
"@tailwindcss/postcss": "^4.1.7",
|
"@tailwindcss/postcss": "^4.1.7",
|
||||||
"@tailwindcss/vite": "^4.1.7",
|
"@tailwindcss/vite": "^4.1.7",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/node": "^22.15.18",
|
"@types/node": "^22.15.23",
|
||||||
"@types/nprogress": "^0.2.3",
|
"@types/nprogress": "^0.2.3",
|
||||||
"@types/qs": "^6.14.0",
|
"@types/qs": "^6.14.0",
|
||||||
"@vitejs/plugin-vue": "^5.2.4",
|
"@vitejs/plugin-vue": "^5.2.4",
|
||||||
"@vitejs/plugin-vue-jsx": "^4.1.2",
|
"@vitejs/plugin-vue-jsx": "^4.2.0",
|
||||||
"@vue/babel-plugin-jsx": "^1.4.0",
|
"@vue/babel-plugin-jsx": "^1.4.0",
|
||||||
"browserslist": "^4.24.5",
|
"browserslist": "^4.24.5",
|
||||||
"eslint": "^9.27.0",
|
"eslint": "^9.27.0",
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
"less-loader": "^12.3.0",
|
"less-loader": "^12.3.0",
|
||||||
"postcss": "^8.5.3",
|
"postcss": "^8.5.3",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"rollup-plugin-visualizer": "^5.14.0",
|
"rollup-plugin-visualizer": "^6.0.1",
|
||||||
"tailwindcss": "^4.1.7",
|
"tailwindcss": "^4.1.7",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"vite": "^6.3.5",
|
"vite": "^6.3.5",
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ const storageEvent = function (e: StorageEvent) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener("storage", storageEvent)
|
window.addEventListener("storage", storageEvent)
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
window.removeEventListener("storage", storageEvent)
|
window.removeEventListener("storage", storageEvent)
|
||||||
|
|||||||
@@ -119,5 +119,16 @@ export default {
|
|||||||
method: "post",
|
method: "post",
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 选择行后,批量修改“优先级”
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
priorityReplace(data = { selectRows: [], priority: "" }) {
|
||||||
|
return request({
|
||||||
|
url: "/project/testDemand/priorityReplace/",
|
||||||
|
method: "post",
|
||||||
|
data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,11 @@
|
|||||||
</a-space>
|
</a-space>
|
||||||
</div>
|
</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
|
<a-divider
|
||||||
|
:style="{
|
||||||
|
margin: '8px 0'
|
||||||
|
}"
|
||||||
|
></a-divider>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -279,7 +279,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import config from "@/config/crud"
|
import config from "@/config/crud"
|
||||||
import { ref, watch, provide, nextTick, onMounted, onUnmounted } from "vue"
|
import { ref, watch, provide, nextTick, onMounted, onUnmounted, computed } from "vue"
|
||||||
import defaultOptions from "./js/defaultOptions"
|
import defaultOptions from "./js/defaultOptions"
|
||||||
import { loadDict } from "@cps/ma-form/js/networkRequest.js"
|
import { loadDict } from "@cps/ma-form/js/networkRequest.js"
|
||||||
import ColumnService from "@cps/ma-form/js/columnService"
|
import ColumnService from "@cps/ma-form/js/columnService"
|
||||||
@@ -728,6 +728,11 @@ const setSelecteds = (key) => {
|
|||||||
selecteds.value = key
|
selecteds.value = key
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 修改源码,获取selected的值
|
||||||
|
const getSelecteds = () => {
|
||||||
|
return selecteds.value
|
||||||
|
}
|
||||||
|
|
||||||
const switchDataType = async () => {
|
const switchDataType = async () => {
|
||||||
isRecovery.value = !isRecovery.value
|
isRecovery.value = !isRecovery.value
|
||||||
currentApi.value =
|
currentApi.value =
|
||||||
@@ -929,7 +934,8 @@ defineExpose({
|
|||||||
crudSearchRef,
|
crudSearchRef,
|
||||||
crudImportRef,
|
crudImportRef,
|
||||||
crudSettingRef,
|
crudSettingRef,
|
||||||
setTableData
|
setTableData,
|
||||||
|
getSelecteds
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-modal v-model:visible="visible" width="1200px" :footer="false" :mask-closable="false" unmount-on-close>
|
<a-modal v-model:visible="visible" width="1200px" :footer="false" :mask-closable="false">
|
||||||
<template #title>{{ title }}</template>
|
<template #title>{{ title }}</template>
|
||||||
<!-- crud组件 -->
|
<!-- crud组件 -->
|
||||||
<div class="lg:w-full w-full">
|
<div class="lg:w-full w-full">
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
// 本组件位置:1.在右键轮次问题单 2.用例界面关联问题单
|
// 本组件位置:1.在右键轮次问题单 2.用例界面关联问题单
|
||||||
import { ref } from "vue"
|
import { nextTick, ref } from "vue"
|
||||||
import problemApi from "@/api/project/problem"
|
import problemApi from "@/api/project/problem"
|
||||||
import problemSingleApi from "@/api/project/singleProblem"
|
import problemSingleApi from "@/api/project/singleProblem"
|
||||||
import { Message, Notification } from "@arco-design/web-vue"
|
import { Message, Notification } from "@arco-design/web-vue"
|
||||||
@@ -102,25 +102,27 @@ const handleRelatedChange = async (record) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 数据定义
|
// 数据定义
|
||||||
const crudRef = ref()
|
const crudRef = ref(null)
|
||||||
const visible = ref(false)
|
const visible = ref(false)
|
||||||
const caseModalRef = ref()
|
const caseModalRef = ref(null)
|
||||||
|
|
||||||
// 定义open事件
|
// 定义open事件
|
||||||
const open = (row) => {
|
const open = (row) => {
|
||||||
if (props.hasRelated === "roundProblem") {
|
nextTick(() => {
|
||||||
const columnService = crudRef.value.getColumnService()
|
if (props.hasRelated === "roundProblem") {
|
||||||
columnService.get("related").setAttr("hide", true)
|
const columnService = crudRef.value.getColumnService()
|
||||||
crudRef.value.requestParams = { round_key: row }
|
columnService.get("related").setAttr("hide", true)
|
||||||
crudRef.value.requestData() // 这里要变化,请求的API变化
|
crudRef.value.requestParams = { round_key: row }
|
||||||
visible.value = true
|
crudRef.value.requestData() // 这里要变化,请求的API变化
|
||||||
}
|
visible.value = true
|
||||||
if (props.hasRelated === "relatedProblem") {
|
}
|
||||||
crudRef.value.requestData() // 手动请求数据
|
if (props.hasRelated === "relatedProblem") {
|
||||||
visible.value = true
|
crudRef.value.requestData() // 手动请求数据
|
||||||
// 打开时赋值caseInfo
|
visible.value = true
|
||||||
caseInfo.value = row
|
// 打开时赋值caseInfo
|
||||||
}
|
caseInfo.value = row
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
// crudOptions设置
|
// crudOptions设置
|
||||||
const crudOptions = ref({
|
const crudOptions = ref({
|
||||||
@@ -505,6 +507,7 @@ const columns = ref([
|
|||||||
// 暴露自己的open方法
|
// 暴露自己的open方法
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.alert {
|
.alert {
|
||||||
max-height: 32px;
|
max-height: 32px;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
:options="crudOptions"
|
:options="crudOptions"
|
||||||
:columns="crudColumns"
|
:columns="crudColumns"
|
||||||
ref="crudRef"
|
ref="crudRef"
|
||||||
|
id="basic-table-demand-normal"
|
||||||
@beforeCancel="handleBeforeCancel"
|
@beforeCancel="handleBeforeCancel"
|
||||||
:parent-key="route.query.key"
|
:parent-key="route.query.key"
|
||||||
>
|
>
|
||||||
@@ -14,12 +15,18 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 表格前置扩展槽:添加关联按钮 -->
|
<!-- 表格前置扩展槽:添加关联按钮 -->
|
||||||
<template #tableAfterButtons>
|
<template #tableAfterButtons>
|
||||||
<a-button type="outline" status="warning" @click="handleOpenRelationCSX">
|
<a-space>
|
||||||
<template #icon>
|
<a-button type="outline" status="warning" @click="handleOpenRelationCSX">
|
||||||
<icon-tags />
|
<template #icon>
|
||||||
</template>
|
<icon-tags />
|
||||||
关联测试项
|
</template>
|
||||||
</a-button>
|
关联测试项
|
||||||
|
</a-button>
|
||||||
|
<a-divider direction="vertical" type="double" />
|
||||||
|
<a-button type="outline" @click="handleReplaceClick">批量替换</a-button>
|
||||||
|
<a-divider direction="vertical" type="double" />
|
||||||
|
<a-button type="outline" @click="handleOpenReplacePriority">批量修改优先级</a-button>
|
||||||
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
<!-- 版本字段的插槽 -->
|
<!-- 版本字段的插槽 -->
|
||||||
<template #inputPrepend-ident> XQ_XX_ </template>
|
<template #inputPrepend-ident> XQ_XX_ </template>
|
||||||
@@ -44,6 +51,21 @@
|
|||||||
v-model:model-value="relatedData"
|
v-model:model-value="relatedData"
|
||||||
/>
|
/>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
<ReplaceModel
|
||||||
|
ref="replaceModal"
|
||||||
|
:api="demandApi.replace"
|
||||||
|
:columns="[
|
||||||
|
{ dataIndex: 'ident', title: '标识' },
|
||||||
|
{ dataIndex: 'name', title: '名称' },
|
||||||
|
{ dataIndex: 'testDesciption', title: '测试描述' },
|
||||||
|
{ dataIndex: 'testContent', title: '测试子项' }
|
||||||
|
]"
|
||||||
|
key="modal-demand-normal"
|
||||||
|
popup-key="demand-normal"
|
||||||
|
@replaceSuccess="replaceSuccessHandle"
|
||||||
|
/>
|
||||||
|
<!-- 批量修改优先级 -->
|
||||||
|
<ReplacePriority @modifySuccess="crudRef.refresh()" ref="replacePriorityRef" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -51,14 +73,36 @@
|
|||||||
import { ref } from "vue"
|
import { ref } from "vue"
|
||||||
import commonApi from "@/api/common"
|
import commonApi from "@/api/common"
|
||||||
import { useRoute } from "vue-router"
|
import { useRoute } from "vue-router"
|
||||||
|
import { Message } from "@arco-design/web-vue"
|
||||||
// hooks
|
// hooks
|
||||||
import useCrudOpMore from "./hooks/useCrudOpMore"
|
import useCrudOpMore from "./hooks/useCrudOpMore"
|
||||||
import useColumn from "./hooks/useColumns"
|
import useColumn from "./hooks/useColumns"
|
||||||
import useRalateDemand from "./hooks/useRalateDemand"
|
import useRalateDemand from "./hooks/useRalateDemand"
|
||||||
|
import demandApi from "@/api/project/testDemand"
|
||||||
|
import ReplaceModel from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
|
||||||
|
import ReplacePriority from "@/views/project/opeSets/components/DemandTable/ReplacePriority.vue"
|
||||||
// inits
|
// inits
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
// refs
|
// refs
|
||||||
const crudRef = ref(null)
|
const crudRef = ref(null)
|
||||||
|
|
||||||
|
// 2025年5月新增
|
||||||
|
const replaceModal = ref()
|
||||||
|
const handleReplaceClick = () => {
|
||||||
|
replaceModal.value?.open(crudRef.value.getSelecteds) // 把获取选中行的函数给传递给替换组件
|
||||||
|
}
|
||||||
|
const replaceSuccessHandle = async (count) => {
|
||||||
|
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
||||||
|
// 批量更新后刷新表格
|
||||||
|
crudRef.value.refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2025-05新增-批量修改优先级
|
||||||
|
const replacePriorityRef = ref(null)
|
||||||
|
const handleOpenReplacePriority = () => {
|
||||||
|
replacePriorityRef.value?.open(crudRef.value.getSelecteds)
|
||||||
|
}
|
||||||
|
|
||||||
// 根据传参获取key,分别为轮次、设计需求的key
|
// 根据传参获取key,分别为轮次、设计需求的key
|
||||||
const { projectId, crudOptions, handleBeforeCancel } = useCrudOpMore(crudRef)
|
const { projectId, crudOptions, handleBeforeCancel } = useCrudOpMore(crudRef)
|
||||||
const crudColumns = useColumn(crudRef)
|
const crudColumns = useColumn(crudRef)
|
||||||
@@ -97,4 +141,11 @@ defineOptions({
|
|||||||
.ol-reset {
|
.ol-reset {
|
||||||
list-style: auto;
|
list-style: auto;
|
||||||
}
|
}
|
||||||
|
/* 下面让modal的蒙层不交互,让用户可以复制table的文字 */
|
||||||
|
div:deep(.arco-modal-container) {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
:deep(.arco-modal.arco-modal-draggable) {
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -2,17 +2,32 @@
|
|||||||
<div class="ma-content-block lg:flex justify-between p-4">
|
<div class="ma-content-block lg:flex justify-between p-4">
|
||||||
<div class="lg:w-full w-full lg:ml-4 mt-5 lg:mt-0">
|
<div class="lg:w-full w-full lg:ml-4 mt-5 lg:mt-0">
|
||||||
<!-- CRUD组件 -->
|
<!-- CRUD组件 -->
|
||||||
<ma-crud :options="crudOptions" :columns="crudColumns" ref="crudRef" :parent-key="route.query.key">
|
<ma-crud
|
||||||
|
id="basic-table-design-normal"
|
||||||
|
:options="crudOptions"
|
||||||
|
:columns="crudColumns"
|
||||||
|
ref="crudRef"
|
||||||
|
:parent-key="route.query.key"
|
||||||
|
>
|
||||||
<template #ident="{ record }">
|
<template #ident="{ record }">
|
||||||
{{ showType(record) }}
|
{{ showType(record) }}
|
||||||
</template>
|
</template>
|
||||||
<template #tableAfterButtons>
|
<template #tableAfterButtons>
|
||||||
<a-button status="success" type="outline" @click="handleAddFileInputDemand" v-if="isXQ === 'XQ'">
|
<a-space>
|
||||||
<template #icon>
|
<a-button
|
||||||
<icon-plus />
|
status="success"
|
||||||
</template>
|
type="outline"
|
||||||
上传需求规格说明快捷录入
|
@click="handleAddFileInputDemand"
|
||||||
</a-button>
|
v-if="isXQ === 'XQ'"
|
||||||
|
>
|
||||||
|
<template #icon>
|
||||||
|
<icon-plus />
|
||||||
|
</template>
|
||||||
|
上传需求规格说明快捷录入
|
||||||
|
</a-button>
|
||||||
|
<a-divider direction="vertical" type="double" />
|
||||||
|
<a-button type="outline" @click="handleReplaceClick">批量替换</a-button>
|
||||||
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
<!-- 字段的前缀后缀的插槽 -->
|
<!-- 字段的前缀后缀的插槽 -->
|
||||||
<!-- 版本字段的插槽 -->
|
<!-- 版本字段的插槽 -->
|
||||||
@@ -20,6 +35,20 @@
|
|||||||
</ma-crud>
|
</ma-crud>
|
||||||
</div>
|
</div>
|
||||||
<file-input-modal ref="fileInputRef" @enterFinish="crudRef.refresh()"></file-input-modal>
|
<file-input-modal ref="fileInputRef" @enterFinish="crudRef.refresh()"></file-input-modal>
|
||||||
|
<!-- 批量替换组件 -->
|
||||||
|
<ReplaceModel
|
||||||
|
ref="replaceModal"
|
||||||
|
:api="designApi.replace"
|
||||||
|
:columns="[
|
||||||
|
{ dataIndex: 'ident', title: '标识' },
|
||||||
|
{ dataIndex: 'name', title: '名称' },
|
||||||
|
{ dataIndex: 'chapter', title: '章节号' },
|
||||||
|
{ dataIndex: 'description', title: '需求描述' }
|
||||||
|
]"
|
||||||
|
key="modal-design-normal"
|
||||||
|
popup-key="design-normal"
|
||||||
|
@replaceSuccess="replaceSuccessHandle"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -27,13 +56,31 @@
|
|||||||
import { ref } from "vue"
|
import { ref } from "vue"
|
||||||
import useCrudOptions from "@/views/project/dut/hooks/useCrudOptions"
|
import useCrudOptions from "@/views/project/dut/hooks/useCrudOptions"
|
||||||
import useColumns from "./hooks/useColumns"
|
import useColumns from "./hooks/useColumns"
|
||||||
|
import { Message } from "@arco-design/web-vue"
|
||||||
import { useRoute } from "vue-router"
|
import { useRoute } from "vue-router"
|
||||||
import dutApi from "@/api/project/dut"
|
import dutApi from "@/api/project/dut"
|
||||||
|
import designApi from "@/api/project/designDemand"
|
||||||
import commonApi from "@/api/common"
|
import commonApi from "@/api/common"
|
||||||
import FileInputModal from "./components/FileInputModal/index.vue"
|
import FileInputModal from "./components/FileInputModal/index.vue"
|
||||||
|
import ReplaceModel from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const crudRef = ref()
|
const crudRef = ref()
|
||||||
const projectId = ref(route.query.id)
|
const projectId = ref(route.query.id)
|
||||||
|
|
||||||
|
// 5月28日新增功能:替换
|
||||||
|
const replaceModal = ref()
|
||||||
|
|
||||||
|
const handleReplaceClick = () => {
|
||||||
|
replaceModal.value?.open(crudRef.value.getSelecteds) // 把获取选中行的函数给传递给替换组件
|
||||||
|
}
|
||||||
|
|
||||||
|
const replaceSuccessHandle = async (count) => {
|
||||||
|
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
||||||
|
// 批量更新后刷新表格
|
||||||
|
crudRef.value.refresh()
|
||||||
|
}
|
||||||
|
|
||||||
// 5月8日修改设计需求标识就按SJ-FT-设计需求标识来
|
// 5月8日修改设计需求标识就按SJ-FT-设计需求标识来
|
||||||
const demandTypeDict = ref([])
|
const demandTypeDict = ref([])
|
||||||
;(function () {
|
;(function () {
|
||||||
@@ -62,6 +109,7 @@ const showType = (record) => {
|
|||||||
// crud组件
|
// crud组件
|
||||||
const crudOptions = useCrudOptions(crudRef)
|
const crudOptions = useCrudOptions(crudRef)
|
||||||
const crudColumns = useColumns(crudRef)
|
const crudColumns = useColumns(crudRef)
|
||||||
|
|
||||||
// ~~~大功能打开ma-form-modal~~~
|
// ~~~大功能打开ma-form-modal~~~
|
||||||
const fileInputRef = ref(null)
|
const fileInputRef = ref(null)
|
||||||
const handleAddFileInputDemand = () => {
|
const handleAddFileInputDemand = () => {
|
||||||
@@ -78,4 +126,12 @@ defineOptions({
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped></style>
|
<style lang="less" scoped>
|
||||||
|
/* 下面让modal的蒙层不交互,让用户可以复制table的文字 */
|
||||||
|
div:deep(.arco-modal-container) {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
:deep(.arco-modal.arco-modal-draggable) {
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -30,8 +30,13 @@ import caseApi from "@/api/project/case"
|
|||||||
const visible = ref(false)
|
const visible = ref(false)
|
||||||
const formData = ref({})
|
const formData = ref({})
|
||||||
const exetime = ref("")
|
const exetime = ref("")
|
||||||
|
const getSelectedsFunc = ref<any>(() => [])
|
||||||
|
|
||||||
// props
|
// props
|
||||||
const { selectRows } = defineProps<{ selectRows: any }>()
|
const { selectRows } = defineProps<{ selectRows?: any }>()
|
||||||
|
|
||||||
|
// emits
|
||||||
|
const emit = defineEmits(["modifySuccess"])
|
||||||
|
|
||||||
// 2.异步执行替换操作,返回boolean-true则关闭弹窗
|
// 2.异步执行替换操作,返回boolean-true则关闭弹窗
|
||||||
const submitReplace = async () => {
|
const submitReplace = async () => {
|
||||||
@@ -40,13 +45,15 @@ const submitReplace = async () => {
|
|||||||
Message.error("请选择时间后,进行替换操作")
|
Message.error("请选择时间后,进行替换操作")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (selectRows.length && selectRows.length > 0) {
|
const selecteds = selectRows || getSelectedsFunc.value() || []
|
||||||
|
if (selecteds.length && selecteds.length > 0) {
|
||||||
// 判断是否选择了行
|
// 判断是否选择了行
|
||||||
// 请求后台执行
|
// 请求后台执行
|
||||||
await caseApi.exetimeReplace({
|
await caseApi.exetimeReplace({
|
||||||
selectRows: selectRows,
|
selectRows: selecteds,
|
||||||
exetime: exetime.value
|
exetime: exetime.value
|
||||||
})
|
})
|
||||||
|
emit("modifySuccess")
|
||||||
Message.success("批量替换成功...")
|
Message.success("批量替换成功...")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@@ -55,7 +62,8 @@ const submitReplace = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 其他:打开modal
|
// 其他:打开modal
|
||||||
const open = () => {
|
const open = (getFunc: (() => number[]) | undefined) => {
|
||||||
|
if (getFunc) getSelectedsFunc.value = getFunc
|
||||||
exetime.value = ""
|
exetime.value = ""
|
||||||
visible.value = true
|
visible.value = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,9 +56,14 @@ const formData = ref({})
|
|||||||
const designPerson = ref("不替换")
|
const designPerson = ref("不替换")
|
||||||
const testPerson = ref("不替换")
|
const testPerson = ref("不替换")
|
||||||
const monitorPerson = ref("不替换")
|
const monitorPerson = ref("不替换")
|
||||||
|
const getSelectedsFunc = ref<any>(() => [])
|
||||||
|
|
||||||
// props
|
// props
|
||||||
const { selectRows } = defineProps<{ selectRows: any }>()
|
const { selectRows } = defineProps<{ selectRows: any }>()
|
||||||
|
|
||||||
|
// emits
|
||||||
|
const emit = defineEmits(["modifySuccess"])
|
||||||
|
|
||||||
// 1.在created时候直接请求后端项目人员信息
|
// 1.在created时候直接请求后端项目人员信息
|
||||||
const persons = ref([])
|
const persons = ref([])
|
||||||
async function fetchPersonByProject() {
|
async function fetchPersonByProject() {
|
||||||
@@ -74,15 +79,17 @@ const submitReplace = async () => {
|
|||||||
Message.error("至少选择一项替换")
|
Message.error("至少选择一项替换")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (selectRows.length && selectRows.length > 0) {
|
const selecteds = selectRows || getSelectedsFunc.value() || []
|
||||||
|
if (selecteds.length && selecteds.length > 0) {
|
||||||
// 判断是否选择了行
|
// 判断是否选择了行
|
||||||
// 请求后台执行
|
// 请求后台执行
|
||||||
await caseApi.personReplace({
|
await caseApi.personReplace({
|
||||||
selectRows: selectRows,
|
selectRows: selecteds,
|
||||||
designPerson: designPerson.value,
|
designPerson: designPerson.value,
|
||||||
testPerson: testPerson.value,
|
testPerson: testPerson.value,
|
||||||
monitorPerson: monitorPerson.value
|
monitorPerson: monitorPerson.value
|
||||||
})
|
})
|
||||||
|
emit("modifySuccess")
|
||||||
Message.success("批量替换成功...")
|
Message.success("批量替换成功...")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@@ -91,7 +98,8 @@ const submitReplace = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 其他:打开modal
|
// 其他:打开modal
|
||||||
const open = () => {
|
const open = (getFunc: (() => number[]) | undefined) => {
|
||||||
|
if (getFunc) getSelectedsFunc.value = getFunc
|
||||||
designPerson.value = "不替换"
|
designPerson.value = "不替换"
|
||||||
testPerson.value = "不替换"
|
testPerson.value = "不替换"
|
||||||
monitorPerson.value = "不替换"
|
monitorPerson.value = "不替换"
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
<template #icon><icon-swap /></template>
|
<template #icon><icon-swap /></template>
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-divider direction="vertical"></a-divider>
|
<a-divider direction="vertical"></a-divider>
|
||||||
<a-button type="primary" @click="handlePerpleModal">批量修改人员</a-button>
|
<a-button type="outline" @click="handlePerpleModal">批量修改人员</a-button>
|
||||||
<a-button type="primary" @click="handleExetimeModal">批量修改时间</a-button>
|
<a-button type="outline" @click="handleExetimeModal">批量修改时间</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-space class="lg:mt-0 mt-2">
|
<a-space class="lg:mt-0 mt-2">
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
ref="replaceModal"
|
ref="replaceModal"
|
||||||
:selectRows="selecteds"
|
:selectRows="selecteds"
|
||||||
:api="caseApi.replace"
|
:api="caseApi.replace"
|
||||||
:columns="columns"
|
:columns="columns.filter((it) => it.dataIndex !== 'ident')"
|
||||||
key="modal-case"
|
key="modal-case"
|
||||||
popup-key="case"
|
popup-key="case"
|
||||||
@replaceSuccess="replaceSuccessHandle"
|
@replaceSuccess="replaceSuccessHandle"
|
||||||
@@ -152,8 +152,8 @@ import useDelete from "@/views/project/opeSets/components/DesignTable/useDelete"
|
|||||||
import { Message } from "@arco-design/web-vue"
|
import { Message } from "@arco-design/web-vue"
|
||||||
import ReplaceModal from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
|
import ReplaceModal from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
|
||||||
// case专属组件
|
// case专属组件
|
||||||
import ReplacePerson from "./ReplacePerson.vue"
|
import ReplacePerson from "@/views/project/opeSets/components/CaseTable/ReplacePerson.vue"
|
||||||
import ReplaceExetime from "./ReplaceExetime.vue"
|
import ReplaceExetime from "@/views/project/opeSets/components/CaseTable/ReplaceExetime.vue"
|
||||||
|
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
{
|
||||||
@@ -224,7 +224,7 @@ const { deletesMultipleAction } = useDelete(caseApi.delete, fetchData, selecteds
|
|||||||
// 7.2.批量替换相关
|
// 7.2.批量替换相关
|
||||||
const replaceModal = ref<InstanceType<typeof ReplaceModal> | null>(null)
|
const replaceModal = ref<InstanceType<typeof ReplaceModal> | null>(null)
|
||||||
const handleOpenReplaceModal = () => {
|
const handleOpenReplaceModal = () => {
|
||||||
replaceModal.value?.open()
|
replaceModal.value?.open(undefined)
|
||||||
}
|
}
|
||||||
const replaceSuccessHandle = async (count: number) => {
|
const replaceSuccessHandle = async (count: number) => {
|
||||||
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
||||||
@@ -242,13 +242,13 @@ const searchSubmit = (data: ISearchFormCase) => {
|
|||||||
// 9.批量修改人员
|
// 9.批量修改人员
|
||||||
const replacePersonModalRef = ref<InstanceType<typeof ReplacePerson>>()
|
const replacePersonModalRef = ref<InstanceType<typeof ReplacePerson>>()
|
||||||
const handlePerpleModal = () => {
|
const handlePerpleModal = () => {
|
||||||
replacePersonModalRef.value!.open()
|
replacePersonModalRef.value!.open(undefined)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 10.批量修改事件
|
// 10.批量修改时间
|
||||||
const replaceExetimeModalRef = ref<InstanceType<typeof ReplacePerson>>()
|
const replaceExetimeModalRef = ref<InstanceType<typeof ReplacePerson>>()
|
||||||
const handleExetimeModal = () => {
|
const handleExetimeModal = () => {
|
||||||
replaceExetimeModalRef.value!.open()
|
replaceExetimeModalRef.value!.open(undefined)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,91 @@
|
|||||||
|
<template>
|
||||||
|
<div class="replace-priority-container">
|
||||||
|
<modalDom />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="tsx">
|
||||||
|
import { ref } from "vue"
|
||||||
|
import { Modal, Form, FormItem, Select, Option, Message } from "@arco-design/web-vue"
|
||||||
|
import demandApi from "@/api/project/testDemand"
|
||||||
|
// props
|
||||||
|
const { selectedRows = undefined } = defineProps<{
|
||||||
|
selectedRows?: number[]
|
||||||
|
}>()
|
||||||
|
|
||||||
|
// refs
|
||||||
|
const visible = ref(false)
|
||||||
|
const formData = ref({})
|
||||||
|
const priority = ref("")
|
||||||
|
const getSelectedsFunc = ref<() => number[]>(() => [])
|
||||||
|
|
||||||
|
// emits
|
||||||
|
const emit = defineEmits(["modifySuccess"])
|
||||||
|
|
||||||
|
// 异步提交修改
|
||||||
|
const submitReplace = async () => {
|
||||||
|
// 不再非受控验证,手动验证
|
||||||
|
if (priority.value === "") {
|
||||||
|
Message.error("请选择优先级后进行提交")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
const selecteds = selectedRows || getSelectedsFunc.value() || []
|
||||||
|
if (selecteds.length && selecteds.length > 0) {
|
||||||
|
// 判断是否选择了行
|
||||||
|
// 请求后台执行
|
||||||
|
await demandApi.priorityReplace({
|
||||||
|
selectRows: selecteds as any,
|
||||||
|
priority: priority.value
|
||||||
|
})
|
||||||
|
emit("modifySuccess")
|
||||||
|
Message.success("批量替换成功...")
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
Message.error("请在表格中选择行...")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 弹窗主DOM
|
||||||
|
const modalDom = () => {
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
v-model={[visible.value, "visible"]}
|
||||||
|
width="40%"
|
||||||
|
cancel-text="关闭"
|
||||||
|
ok-text="确认修改"
|
||||||
|
unmount-on-close
|
||||||
|
draggable
|
||||||
|
on-before-ok={submitReplace}
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
title: () => "批量修改优先级",
|
||||||
|
default: () => (
|
||||||
|
<div class="content-container">
|
||||||
|
<Form model={formData.value} scroll-to-first-error>
|
||||||
|
<FormItem field="priority" label="优先级">
|
||||||
|
<Select placeholder="请选择要修改成为的优先级" v-model={priority.value}>
|
||||||
|
<Option value="1">高</Option>
|
||||||
|
<Option value="2">中</Option>
|
||||||
|
<Option value="3">低</Option>
|
||||||
|
</Select>
|
||||||
|
</FormItem>
|
||||||
|
</Form>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
</Modal>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// open expose
|
||||||
|
const open = (getFunc: (() => number[]) | undefined) => {
|
||||||
|
if (getFunc) getSelectedsFunc.value = getFunc
|
||||||
|
visible.value = true
|
||||||
|
}
|
||||||
|
defineExpose({ open })
|
||||||
|
|
||||||
|
// component options
|
||||||
|
defineOptions({ name: "ReplacePriority" })
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped></style>
|
||||||
@@ -17,6 +17,8 @@
|
|||||||
批量替换
|
批量替换
|
||||||
<template #icon><icon-swap /></template>
|
<template #icon><icon-swap /></template>
|
||||||
</a-button>
|
</a-button>
|
||||||
|
<a-divider direction="vertical"></a-divider>
|
||||||
|
<a-button type="outline" @click="handleOpenReplacePriority">批量修改优先级</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-space class="lg:mt-0 mt-2">
|
<a-space class="lg:mt-0 mt-2">
|
||||||
@@ -136,11 +138,13 @@
|
|||||||
ref="replaceModal"
|
ref="replaceModal"
|
||||||
:selectRows="selecteds"
|
:selectRows="selecteds"
|
||||||
:api="demandApi.replace"
|
:api="demandApi.replace"
|
||||||
:columns="columns"
|
:columns="columns.filter((it) => it.dataIndex !== 'priority' && it.dataIndex !== 'testType')"
|
||||||
key="modal-demand"
|
key="modal-demand"
|
||||||
popup-key="demand"
|
popup-key="demand"
|
||||||
@replaceSuccess="replaceSuccessHandle"
|
@replaceSuccess="replaceSuccessHandle"
|
||||||
/>
|
/>
|
||||||
|
<!-- 批量修改优先级 -->
|
||||||
|
<ReplacePriority ref="replacePriorityRef" @modifySuccess="fetchData()" :selected-rows="selecteds" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -157,6 +161,7 @@ import Trigger from "./Trigger.vue"
|
|||||||
import Search from "@/views/project/opeSets/components/DesignTable/Search.vue"
|
import Search from "@/views/project/opeSets/components/DesignTable/Search.vue"
|
||||||
import useDelete from "@/views/project/opeSets/components/DesignTable/useDelete"
|
import useDelete from "@/views/project/opeSets/components/DesignTable/useDelete"
|
||||||
import ReplaceModal from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
|
import ReplaceModal from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
|
||||||
|
import ReplacePriority from "@/views/project/opeSets/components/DemandTable/ReplacePriority.vue"
|
||||||
import { Message } from "@arco-design/web-vue"
|
import { Message } from "@arco-design/web-vue"
|
||||||
|
|
||||||
// 0.[不同]定义列字段
|
// 0.[不同]定义列字段
|
||||||
@@ -262,7 +267,7 @@ const { deletesMultipleAction } = useDelete(demandApi.delete, fetchData, selecte
|
|||||||
// 7.2.批量替换相关
|
// 7.2.批量替换相关
|
||||||
const replaceModal = ref<InstanceType<typeof ReplaceModal> | null>(null)
|
const replaceModal = ref<InstanceType<typeof ReplaceModal> | null>(null)
|
||||||
const handleOpenReplaceModal = () => {
|
const handleOpenReplaceModal = () => {
|
||||||
replaceModal.value?.open()
|
replaceModal.value?.open(undefined)
|
||||||
}
|
}
|
||||||
const replaceSuccessHandle = async (count: number) => {
|
const replaceSuccessHandle = async (count: number) => {
|
||||||
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
||||||
@@ -276,6 +281,12 @@ const searchSubmit = (data: ISearchFormDemand) => {
|
|||||||
searchParams.value = { ...data }
|
searchParams.value = { ...data }
|
||||||
fetchData(true)
|
fetchData(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 9.批量修改优先级-priority
|
||||||
|
const replacePriorityRef = ref<InstanceType<typeof ReplacePriority> | null>(null)
|
||||||
|
const handleOpenReplacePriority = () => {
|
||||||
|
replacePriorityRef.value?.open(undefined)
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
|||||||
@@ -63,14 +63,21 @@ import { useRoute } from "vue-router"
|
|||||||
// refs
|
// refs
|
||||||
const visible = ref(false)
|
const visible = ref(false)
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
// 保存获取选择行的函数
|
||||||
|
const selectedGetFunc = ref<() => number[] | undefined>(() => [])
|
||||||
|
|
||||||
// ref
|
// ref
|
||||||
const formRef = ref<InstanceType<typeof Form>>(null)
|
const formRef = ref<InstanceType<typeof Form>>()
|
||||||
|
|
||||||
// props
|
// props
|
||||||
/// 已选择的行数据的id列表
|
/// 已选择的行数据的id列表
|
||||||
const { selectRows, columns, api, popupKey } = defineProps<{
|
const {
|
||||||
selectRows: number[]
|
selectRows = undefined,
|
||||||
|
columns,
|
||||||
|
api,
|
||||||
|
popupKey
|
||||||
|
} = defineProps<{
|
||||||
|
selectRows?: number[]
|
||||||
columns: any[]
|
columns: any[]
|
||||||
api: Function
|
api: Function
|
||||||
popupKey: string
|
popupKey: string
|
||||||
@@ -94,18 +101,27 @@ const submitReplace = async () => {
|
|||||||
// 验证表单
|
// 验证表单
|
||||||
const validate = await formRef.value.validate()
|
const validate = await formRef.value.validate()
|
||||||
if (!validate) {
|
if (!validate) {
|
||||||
|
// 判断使用selectedRows还是selectedOpenIn
|
||||||
|
let selecteds = selectRows || selectedGetFunc.value!() || []
|
||||||
// 进入这里表示验证通过,手动验证是否选择了行
|
// 进入这里表示验证通过,手动验证是否选择了行
|
||||||
if (selectRows.length < 1) {
|
if (selecteds.length < 1) {
|
||||||
// 提示用户需要先选择table的行
|
// 提示用户需要先选择table的行
|
||||||
Message.error("请先在表格中选择行进行替换")
|
Message.error("您还未选择行...")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
// 都验证后提交给后端操作
|
// 都验证后提交给后端操作
|
||||||
try {
|
try {
|
||||||
|
// 首先该组件两个地方使用,需要处理key的问题
|
||||||
|
const round_key = {
|
||||||
|
key: route.query.key as string
|
||||||
|
}
|
||||||
|
if (round_key.key && round_key.key.split("-").length > 1) {
|
||||||
|
round_key.key = round_key.key.split("-")[0]
|
||||||
|
}
|
||||||
const res = await api({
|
const res = await api({
|
||||||
project_id: route.query.id,
|
project_id: route.query.id,
|
||||||
round_key: route.query.key,
|
round_key: round_key.key,
|
||||||
selectRows,
|
selectRows: selecteds,
|
||||||
...formData.value
|
...formData.value
|
||||||
})
|
})
|
||||||
// 批量修改成功放出信号给父组件更新表格
|
// 批量修改成功放出信号给父组件更新表格
|
||||||
@@ -119,7 +135,11 @@ const submitReplace = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// expose functions
|
// expose functions
|
||||||
const open = () => {
|
const open = (selectedIdsGetFunc: (() => number[]) | undefined) => {
|
||||||
|
// 保存获取用户选择行的函数, 可能是undefined
|
||||||
|
if (selectedIdsGetFunc) {
|
||||||
|
selectedGetFunc.value = selectedIdsGetFunc
|
||||||
|
}
|
||||||
// 每次打开初始化表单数据
|
// 每次打开初始化表单数据
|
||||||
formData.value = {
|
formData.value = {
|
||||||
...initialFormData
|
...initialFormData
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ const { deletesMultipleAction } = useDelete(designApi.delete, fetchData, selecte
|
|||||||
// 7.2.批量替换相关
|
// 7.2.批量替换相关
|
||||||
const replaceModal = ref<InstanceType<typeof ReplaceModal> | null>(null)
|
const replaceModal = ref<InstanceType<typeof ReplaceModal> | null>(null)
|
||||||
const handleOpenReplaceModal = () => {
|
const handleOpenReplaceModal = () => {
|
||||||
replaceModal.value?.open()
|
replaceModal.value?.open(undefined)
|
||||||
}
|
}
|
||||||
const replaceSuccessHandle = async (count: number) => {
|
const replaceSuccessHandle = async (count: number) => {
|
||||||
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
||||||
|
|||||||
@@ -6,15 +6,50 @@
|
|||||||
:options="crudOptions"
|
:options="crudOptions"
|
||||||
:columns="crudColumns"
|
:columns="crudColumns"
|
||||||
ref="crudRef"
|
ref="crudRef"
|
||||||
|
id="basic-table-case-normal"
|
||||||
@beforeCancel="handleBeforeCancel"
|
@beforeCancel="handleBeforeCancel"
|
||||||
:parent-key="route.query.key"
|
:parent-key="route.query.key"
|
||||||
>
|
>
|
||||||
<template #ident="{ record }">
|
<template #ident="{ record }">
|
||||||
{{ showType(record) }}
|
{{ showType(record) }}
|
||||||
</template>
|
</template>
|
||||||
|
<!-- 表格前置扩展槽:添加关联按钮 -->
|
||||||
|
<template #tableAfterButtons>
|
||||||
|
<a-space>
|
||||||
|
<a-divider direction="vertical" type="double" />
|
||||||
|
<a-button type="outline" @click="handleReplaceClick">批量替换</a-button>
|
||||||
|
<a-divider direction="vertical" type="double" />
|
||||||
|
<a-button type="outline" @click="handlePerpleModal">批量修改人员</a-button>
|
||||||
|
<a-button type="outline" @click="handleExetimeModal">批量修改时间</a-button>
|
||||||
|
</a-space>
|
||||||
|
</template>
|
||||||
</ma-crud>
|
</ma-crud>
|
||||||
</div>
|
</div>
|
||||||
<problem-form ref="problemFormRef" :title="title"></problem-form>
|
<problem-form ref="problemFormRef" :title="title"></problem-form>
|
||||||
|
<ReplaceModel
|
||||||
|
ref="replaceModal"
|
||||||
|
:api="caseApi.replace"
|
||||||
|
:columns="[
|
||||||
|
{ dataIndex: 'name', title: '名称' },
|
||||||
|
{ dataIndex: 'summarize', title: '用例综述' },
|
||||||
|
{ dataIndex: 'testStep', title: '测试步骤' }
|
||||||
|
]"
|
||||||
|
key="modal-case-normal"
|
||||||
|
popup-key="case-normal"
|
||||||
|
@replaceSuccess="replaceSuccessHandle"
|
||||||
|
/>
|
||||||
|
<!-- 批量替换人员组件 -->
|
||||||
|
<replace-person
|
||||||
|
:selectRows="undefined"
|
||||||
|
@modify-success="crudRef.refresh()"
|
||||||
|
ref="replacePersonModalRef"
|
||||||
|
/>
|
||||||
|
<!-- 批量替换时间 -->
|
||||||
|
<replace-exetime
|
||||||
|
:selectRows="undefined"
|
||||||
|
@modify-success="crudRef.refresh()"
|
||||||
|
ref="replaceExetimeModalRef"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -23,11 +58,43 @@ import { ref } from "vue"
|
|||||||
import ProblemForm from "@/views/project/case/components/ProblemForm.vue"
|
import ProblemForm from "@/views/project/case/components/ProblemForm.vue"
|
||||||
import useCrudOpMore from "./hooks/useCrudOpMore"
|
import useCrudOpMore from "./hooks/useCrudOpMore"
|
||||||
import useColumn from "./hooks/useColumn"
|
import useColumn from "./hooks/useColumn"
|
||||||
|
import { Message } from "@arco-design/web-vue"
|
||||||
|
import caseApi from "@/api/project/case"
|
||||||
import { useRoute } from "vue-router"
|
import { useRoute } from "vue-router"
|
||||||
|
import ReplaceModel from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
|
||||||
|
// 批量修改人员
|
||||||
|
import ReplacePerson from "@/views/project/opeSets/components/CaseTable/ReplacePerson.vue"
|
||||||
|
// 批量修改时间
|
||||||
|
import ReplaceExetime from "@/views/project/opeSets/components/CaseTable/ReplaceExetime.vue"
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const problemFormRef = ref(null)
|
const problemFormRef = ref(null)
|
||||||
const title = ref("问题单表单")
|
const title = ref("问题单表单")
|
||||||
const crudRef = ref()
|
const crudRef = ref()
|
||||||
|
|
||||||
|
// 2025年5月新增
|
||||||
|
const replaceModal = ref()
|
||||||
|
const handleReplaceClick = () => {
|
||||||
|
replaceModal.value?.open(crudRef.value.getSelecteds) // 把获取选中行的函数给传递给替换组件
|
||||||
|
}
|
||||||
|
const replaceSuccessHandle = async (count) => {
|
||||||
|
Message.success(`批量更新成功,尝试更新行数:${count}`)
|
||||||
|
// 批量更新后刷新表格
|
||||||
|
crudRef.value.refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 批量修改人员
|
||||||
|
const replacePersonModalRef = ref()
|
||||||
|
const handlePerpleModal = () => {
|
||||||
|
replacePersonModalRef.value.open(crudRef.value.getSelecteds)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 批量修改时间
|
||||||
|
const replaceExetimeModalRef = ref()
|
||||||
|
const handleExetimeModal = () => {
|
||||||
|
replaceExetimeModalRef.value.open(crudRef.value.getSelecteds)
|
||||||
|
}
|
||||||
|
|
||||||
// 标识重新定义
|
// 标识重新定义
|
||||||
const showType = (record) => {
|
const showType = (record) => {
|
||||||
let key_string = parseInt(record.key.substring(record.key.lastIndexOf("-") + 1)) + 1
|
let key_string = parseInt(record.key.substring(record.key.lastIndexOf("-") + 1)) + 1
|
||||||
@@ -48,4 +115,12 @@ defineOptions({
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped></style>
|
<style lang="less" scoped>
|
||||||
|
/* 下面让modal的蒙层不交互,让用户可以复制table的文字 */
|
||||||
|
div:deep(.arco-modal-container) {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
:deep(.arco-modal.arco-modal-draggable) {
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ const useCrudInit = function () {
|
|||||||
{
|
{
|
||||||
formType: "grid",
|
formType: "grid",
|
||||||
cols: [
|
cols: [
|
||||||
{ span: 4, formList: [{ dataIndex: "ident" }] },
|
{ span: 8, formList: [{ dataIndex: "ident" }] },
|
||||||
{ span: 8, formList: [{ dataIndex: "name" }] }
|
{ span: 8, formList: [{ dataIndex: "name" }] }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user