123
This commit is contained in:
181
cdTMP/package-lock.json
generated
181
cdTMP/package-lock.json
generated
@@ -10,7 +10,7 @@
|
|||||||
"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.69.0",
|
"@tanstack/vue-query": "^5.71.1",
|
||||||
"@tinymce/tinymce-vue": "^6.1.0",
|
"@tinymce/tinymce-vue": "^6.1.0",
|
||||||
"@vueuse/core": "^13.0.0",
|
"@vueuse/core": "^13.0.0",
|
||||||
"axios": "^1.8.4",
|
"axios": "^1.8.4",
|
||||||
@@ -28,15 +28,15 @@
|
|||||||
"vue": "^3.5.13",
|
"vue": "^3.5.13",
|
||||||
"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.24",
|
"vue-data-ui": "^2.6.27",
|
||||||
"vue-router": "^4.5.0",
|
"vue-router": "^4.5.0",
|
||||||
"vuedraggable": "^2.24.3"
|
"vuedraggable": "^2.24.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/postcss": "^4.0.15",
|
"@tailwindcss/postcss": "^4.1.0",
|
||||||
"@tailwindcss/vite": "^4.0.15",
|
"@tailwindcss/vite": "^4.1.0",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/node": "^22.13.13",
|
"@types/node": "^22.13.17",
|
||||||
"@types/nprogress": "^0.2.3",
|
"@types/nprogress": "^0.2.3",
|
||||||
"@types/qs": "^6.9.18",
|
"@types/qs": "^6.9.18",
|
||||||
"@vitejs/plugin-vue": "^5.2.3",
|
"@vitejs/plugin-vue": "^5.2.3",
|
||||||
@@ -50,9 +50,9 @@
|
|||||||
"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": "^5.14.0",
|
||||||
"tailwindcss": "^4.0.15",
|
"tailwindcss": "^4.1.0",
|
||||||
"typescript": "^5.8.2",
|
"typescript": "^5.8.2",
|
||||||
"vite": "^6.2.3",
|
"vite": "^6.2.4",
|
||||||
"vue-eslint-parser": "^10.1.1"
|
"vue-eslint-parser": "^10.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1440,44 +1440,45 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/node": {
|
"node_modules/@tailwindcss/node": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/node/-/node-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/node/-/node-4.1.0.tgz",
|
||||||
"integrity": "sha512-IODaJjNmiasfZX3IoS+4Em3iu0fD2HS0/tgrnkYfW4hyUor01Smnr5eY3jc4rRgaTDrJlDmBTHbFO0ETTDaxWA==",
|
"integrity": "sha512-mfgxGxFaxbsUbaGwKIAQXUSm7Qoojw53FftpoKwo4ANwr9wnDaByz4vi1gMti/xfJvmQ5lzA1DvPiX5yCHtBkQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"enhanced-resolve": "^5.18.1",
|
"enhanced-resolve": "^5.18.1",
|
||||||
"jiti": "^2.4.2",
|
"jiti": "^2.4.2",
|
||||||
"tailwindcss": "4.0.15"
|
"lightningcss": "1.29.2",
|
||||||
|
"tailwindcss": "4.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide": {
|
"node_modules/@tailwindcss/oxide": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide/-/oxide-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide/-/oxide-4.1.0.tgz",
|
||||||
"integrity": "sha512-e0uHrKfPu7JJGMfjwVNyt5M0u+OP8kUmhACwIRlM+JNBuReDVQ63yAD1NWe5DwJtdaHjugNBil76j+ks3zlk6g==",
|
"integrity": "sha512-A33oyZKpPFH08d7xkl13Dc8OTsbPhsuls0z9gUCxIHvn8c1BsUACddQxL6HwaeJR1fSYyXZUw8bdWcD8bVawpQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 10"
|
"node": ">= 10"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@tailwindcss/oxide-android-arm64": "4.0.15",
|
"@tailwindcss/oxide-android-arm64": "4.1.0",
|
||||||
"@tailwindcss/oxide-darwin-arm64": "4.0.15",
|
"@tailwindcss/oxide-darwin-arm64": "4.1.0",
|
||||||
"@tailwindcss/oxide-darwin-x64": "4.0.15",
|
"@tailwindcss/oxide-darwin-x64": "4.1.0",
|
||||||
"@tailwindcss/oxide-freebsd-x64": "4.0.15",
|
"@tailwindcss/oxide-freebsd-x64": "4.1.0",
|
||||||
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.15",
|
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.0",
|
||||||
"@tailwindcss/oxide-linux-arm64-gnu": "4.0.15",
|
"@tailwindcss/oxide-linux-arm64-gnu": "4.1.0",
|
||||||
"@tailwindcss/oxide-linux-arm64-musl": "4.0.15",
|
"@tailwindcss/oxide-linux-arm64-musl": "4.1.0",
|
||||||
"@tailwindcss/oxide-linux-x64-gnu": "4.0.15",
|
"@tailwindcss/oxide-linux-x64-gnu": "4.1.0",
|
||||||
"@tailwindcss/oxide-linux-x64-musl": "4.0.15",
|
"@tailwindcss/oxide-linux-x64-musl": "4.1.0",
|
||||||
"@tailwindcss/oxide-win32-arm64-msvc": "4.0.15",
|
"@tailwindcss/oxide-win32-arm64-msvc": "4.1.0",
|
||||||
"@tailwindcss/oxide-win32-x64-msvc": "4.0.15"
|
"@tailwindcss/oxide-win32-x64-msvc": "4.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-android-arm64": {
|
"node_modules/@tailwindcss/oxide-android-arm64": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.0.tgz",
|
||||||
"integrity": "sha512-EBuyfSKkom7N+CB3A+7c0m4+qzKuiN0WCvzPvj5ZoRu4NlQadg/mthc1tl5k9b5ffRGsbDvP4k21azU4VwVk3Q==",
|
"integrity": "sha512-UredFljuHey2Kh5qyYfQVBr0Xfq70ZE5Df6i5IubNYQGs2JXXT4VL0SIUjwzHx5W9T6t7dT7banunlV6lthGPQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1492,9 +1493,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-darwin-arm64": {
|
"node_modules/@tailwindcss/oxide-darwin-arm64": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.0.tgz",
|
||||||
"integrity": "sha512-ObVAnEpLepMhV9VoO0JSit66jiN5C4YCqW3TflsE9boo2Z7FIjV80RFbgeL2opBhtxbaNEDa6D0/hq/EP03kgQ==",
|
"integrity": "sha512-QHQ/46lRVwH9zEBNiRk8AJ3Af4pMq6DuZAI//q323qrPOXjsRdrhLsH9LUO3mqBfHr5EZNUxN3Am5vpO89sntw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1509,9 +1510,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-darwin-x64": {
|
"node_modules/@tailwindcss/oxide-darwin-x64": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.0.tgz",
|
||||||
"integrity": "sha512-IElwoFhUinOr9MyKmGTPNi1Rwdh68JReFgYWibPWTGuevkHkLWKEflZc2jtI5lWZ5U9JjUnUfnY43I4fEXrc4g==",
|
"integrity": "sha512-lEMgYHCvQQ6x2KOZ4FwnPprwfnc+UnjzwXRqEYIhB/NlYvXQD1QMf7oKEDRqy94DiZaYox9ZRfG2YJOBgM0UkA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1526,9 +1527,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-freebsd-x64": {
|
"node_modules/@tailwindcss/oxide-freebsd-x64": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.0.tgz",
|
||||||
"integrity": "sha512-6BLLqyx7SIYRBOnTZ8wgfXANLJV5TQd3PevRJZp0vn42eO58A2LykRKdvL1qyPfdpmEVtF+uVOEZ4QTMqDRAWA==",
|
"integrity": "sha512-9fdImTc+2lA5yHqJ61oeTXfCtzylNOzJVFhyWwVQAJESJJbVCPnj6f+b+Zf/AYAdKQfS6FCThbPEahkQrDCgLQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1543,9 +1544,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
|
"node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.0.tgz",
|
||||||
"integrity": "sha512-Zy63EVqO9241Pfg6G0IlRIWyY5vNcWrL5dd2WAKVJZRQVeolXEf1KfjkyeAAlErDj72cnyXObEZjMoPEKHpdNw==",
|
"integrity": "sha512-HB0bTkUOuTLLSdadyRhKE9yps4/ZBjrojbHTPMSvvf/8yBLZRPpWb+A6IgW5R+2A2AL4KhVPgLwWfoXsErxJFg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -1560,9 +1561,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
|
"node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.0.tgz",
|
||||||
"integrity": "sha512-2NemGQeaTbtIp1Z2wyerbVEJZTkAWhMDOhhR5z/zJ75yMNf8yLnE+sAlyf6yGDNr+1RqvWrRhhCFt7i0CIxe4Q==",
|
"integrity": "sha512-+QtYCwvKLjC46h6RikKkpELJWrpiMMtgyK0aaqhwPLEx1icGgIhwz8dqrkAiqbFRE0KiRrE2aenhYoEkplyRmA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1577,9 +1578,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-linux-arm64-musl": {
|
"node_modules/@tailwindcss/oxide-linux-arm64-musl": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.0.tgz",
|
||||||
"integrity": "sha512-342GVnhH/6PkVgKtEzvNVuQ4D+Q7B7qplvuH20Cfz9qEtydG6IQczTZ5IT4JPlh931MG1NUCVxg+CIorr1WJyw==",
|
"integrity": "sha512-nApadFKM9GauzuPZPlt6TKfELavMHqJ0gVd+GYkYBTwr2t9KhgCAb2sKiFDDIhs1a7gOjsU7P1lEauv3iKFp+Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1594,9 +1595,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-linux-x64-gnu": {
|
"node_modules/@tailwindcss/oxide-linux-x64-gnu": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.0.tgz",
|
||||||
"integrity": "sha512-g76GxlKH124RuGqacCEFc2nbzRl7bBrlC8qDQMiUABkiifDRHOIUjgKbLNG4RuR9hQAD/MKsqZ7A8L08zsoBrw==",
|
"integrity": "sha512-cp0Rf9Wit2kZHhrV8HIoDFD8dxU2+ZTCFCFbDj3a07pGyyPwLCJm5H5VipKXgYrBaLmlYu73ERidW0S5sdEXEg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1611,9 +1612,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-linux-x64-musl": {
|
"node_modules/@tailwindcss/oxide-linux-x64-musl": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.0.tgz",
|
||||||
"integrity": "sha512-Gg/Y1XrKEvKpq6WeNt2h8rMIKOBj/W3mNa5NMvkQgMC7iO0+UNLrYmt6zgZufht66HozNpn+tJMbbkZ5a3LczA==",
|
"integrity": "sha512-4/wf42XWBJGXsOS6BhgPhdQbg/qyfdZ1nZvTL9sJoxYN+Ah+cfY5Dd7R0smzI8hmgCRt3TD1lYb72ChTyIA59w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1628,9 +1629,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
|
"node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.0.tgz",
|
||||||
"integrity": "sha512-7QtSSJwYZ7ZK1phVgcNZpuf7c7gaCj8Wb0xjliligT5qCGCp79OV2n3SJummVZdw4fbTNKUOYMO7m1GinppZyA==",
|
"integrity": "sha512-caXJJ0G6NwGbcoxEYdH3MZYN84C3PldaMdAEPMU6bjJXURQlKdSlQ/Ecis7/nSgBkMkicZyhqWmb36Tw/BFSIw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1645,9 +1646,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/oxide-win32-x64-msvc": {
|
"node_modules/@tailwindcss/oxide-win32-x64-msvc": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.0.tgz",
|
||||||
"integrity": "sha512-JQ5H+5MLhOjpgNp6KomouE0ZuKmk3hO5h7/ClMNAQ8gZI2zkli3IH8ZqLbd2DVfXDbdxN2xvooIEeIlkIoSCqw==",
|
"integrity": "sha512-ZHXRXRxB7HBmkUE8U13nmkGGYfR1I2vsuhiYjeDDUFIYpk1BL6caU8hvzkSlL/X5CAQNdIUUJRGom5I0ZyfJOA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1662,31 +1663,29 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/postcss": {
|
"node_modules/@tailwindcss/postcss": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/postcss/-/postcss-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/postcss/-/postcss-4.1.0.tgz",
|
||||||
"integrity": "sha512-qyrpoDKIO7wzkRbKCvGLo7gXRjT9/Njf7ZJiJhG4njrfZkvOhjwnaHpYbpxYeDysEg+9pB1R4jcd+vQ7ZUDsmQ==",
|
"integrity": "sha512-b2NWFAFfLXY7960jLY5QkKbuYKrQUULx60XU3BCzyaUQpU/7lLf3n2CiHibZPdBq5CIXrUp10wdxhV0EI0Js2g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alloc/quick-lru": "^5.2.0",
|
"@alloc/quick-lru": "^5.2.0",
|
||||||
"@tailwindcss/node": "4.0.15",
|
"@tailwindcss/node": "4.1.0",
|
||||||
"@tailwindcss/oxide": "4.0.15",
|
"@tailwindcss/oxide": "4.1.0",
|
||||||
"lightningcss": "1.29.2",
|
|
||||||
"postcss": "^8.4.41",
|
"postcss": "^8.4.41",
|
||||||
"tailwindcss": "4.0.15"
|
"tailwindcss": "4.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/vite": {
|
"node_modules/@tailwindcss/vite": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@tailwindcss/vite/-/vite-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@tailwindcss/vite/-/vite-4.1.0.tgz",
|
||||||
"integrity": "sha512-JRexava80NijI8cTcLXNM3nQL5A0ptTHI8oJLLe8z1MpNB6p5J4WCdJJP8RoyHu8/eB1JzEdbpH86eGfbuaezQ==",
|
"integrity": "sha512-IszG0h/o8jOGheY0f7v41a9qyDymZ5eU8qm4koTypMKagBhaQA06Keip13wch6sz7rG3cvIG7A3/ytdfRh2BUw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tailwindcss/node": "4.0.15",
|
"@tailwindcss/node": "4.1.0",
|
||||||
"@tailwindcss/oxide": "4.0.15",
|
"@tailwindcss/oxide": "4.1.0",
|
||||||
"lightningcss": "1.29.2",
|
"tailwindcss": "4.1.0"
|
||||||
"tailwindcss": "4.0.15"
|
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vite": "^5.2.0 || ^6"
|
"vite": "^5.2.0 || ^6"
|
||||||
@@ -1709,9 +1708,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tanstack/query-core": {
|
"node_modules/@tanstack/query-core": {
|
||||||
"version": "5.69.0",
|
"version": "5.71.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.69.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.71.1.tgz",
|
||||||
"integrity": "sha512-Kn410jq6vs1P8Nm+ZsRj9H+U3C0kjuEkYLxbiCyn3MDEiYor1j2DGVULqAz62SLZtUZ/e9Xt6xMXiJ3NJ65WyQ==",
|
"integrity": "sha512-4+ZswCHOfJX+ikhXNoocamTUmJcHtB+Ljjz/oJkC7/eKB5IrzEwR4vEwZUENiPi+wISucJHR5TUbuuJ26w3kdQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -1719,13 +1718,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tanstack/vue-query": {
|
"node_modules/@tanstack/vue-query": {
|
||||||
"version": "5.69.0",
|
"version": "5.71.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.69.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.71.1.tgz",
|
||||||
"integrity": "sha512-JZecDd0b+hZChqV5O1wXBfKoxlEj3aGvRj7upuqWei+oGrT+ERuOU4uQn7/DDVA5TouIt88G3oMFBjE2wKO/6A==",
|
"integrity": "sha512-vP8GLlI9ojjg3owElCk+IFdNtdvG5w+wsh/MLY2JlyY5JaoFQb4zP1aerMHPIKV5d8pX4USz4lMq3ele9QPb3g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tanstack/match-sorter-utils": "^8.19.4",
|
"@tanstack/match-sorter-utils": "^8.19.4",
|
||||||
"@tanstack/query-core": "5.69.0",
|
"@tanstack/query-core": "5.71.1",
|
||||||
"@vue/devtools-api": "^6.6.3",
|
"@vue/devtools-api": "^6.6.3",
|
||||||
"vue-demi": "^0.14.10"
|
"vue-demi": "^0.14.10"
|
||||||
},
|
},
|
||||||
@@ -1840,9 +1839,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.13.13",
|
"version": "22.13.17",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.13.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.17.tgz",
|
||||||
"integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==",
|
"integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -5287,9 +5286,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tailwindcss": {
|
"node_modules/tailwindcss": {
|
||||||
"version": "4.0.15",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-4.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-4.1.0.tgz",
|
||||||
"integrity": "sha512-6ZMg+hHdMJpjpeCCFasX7K+U615U9D+7k5/cDK/iRwl6GptF24+I/AbKgOnXhVKePzrEyIXutLv36n4cRsq3Sg==",
|
"integrity": "sha512-vBYstoFnvUZCDxaauNGQQEvJNQgCd1vSMDRYuZZMH1xRRcTboOk1rJrW5yFkEabU9X6Yx1C4LQ+QvPOvQj4Daw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
@@ -5464,9 +5463,9 @@
|
|||||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "6.2.3",
|
"version": "6.2.4",
|
||||||
"resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.3.tgz",
|
"resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.4.tgz",
|
||||||
"integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==",
|
"integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -5574,9 +5573,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue-data-ui": {
|
"node_modules/vue-data-ui": {
|
||||||
"version": "2.6.24",
|
"version": "2.6.27",
|
||||||
"resolved": "https://registry.npmmirror.com/vue-data-ui/-/vue-data-ui-2.6.24.tgz",
|
"resolved": "https://registry.npmmirror.com/vue-data-ui/-/vue-data-ui-2.6.27.tgz",
|
||||||
"integrity": "sha512-KL7EWsY3Zcuz13BNWfRMv1ancpeu12mTga2Fm+5SJYuz1BuNxUZEvTXgGKifvqZ5+GZ/H6YHZHwEB/mHedUcyQ==",
|
"integrity": "sha512-GCg2cmyABpyttECRFcYXdzygdFk7S1k1MfuEkBgvsLvD2rJVkQKZbqK9jjvrYtzDSZ5bBAhIjyvTKJoKbt02bw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": ">=3.3.0"
|
"vue": ">=3.3.0"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"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.69.0",
|
"@tanstack/vue-query": "^5.71.1",
|
||||||
"@tinymce/tinymce-vue": "^6.1.0",
|
"@tinymce/tinymce-vue": "^6.1.0",
|
||||||
"@vueuse/core": "^13.0.0",
|
"@vueuse/core": "^13.0.0",
|
||||||
"axios": "^1.8.4",
|
"axios": "^1.8.4",
|
||||||
@@ -31,15 +31,15 @@
|
|||||||
"vue": "^3.5.13",
|
"vue": "^3.5.13",
|
||||||
"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.24",
|
"vue-data-ui": "^2.6.27",
|
||||||
"vue-router": "^4.5.0",
|
"vue-router": "^4.5.0",
|
||||||
"vuedraggable": "^2.24.3"
|
"vuedraggable": "^2.24.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/postcss": "^4.0.15",
|
"@tailwindcss/postcss": "^4.1.0",
|
||||||
"@tailwindcss/vite": "^4.0.15",
|
"@tailwindcss/vite": "^4.1.0",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/node": "^22.13.13",
|
"@types/node": "^22.13.17",
|
||||||
"@types/nprogress": "^0.2.3",
|
"@types/nprogress": "^0.2.3",
|
||||||
"@types/qs": "^6.9.18",
|
"@types/qs": "^6.9.18",
|
||||||
"@vitejs/plugin-vue": "^5.2.3",
|
"@vitejs/plugin-vue": "^5.2.3",
|
||||||
@@ -53,9 +53,9 @@
|
|||||||
"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": "^5.14.0",
|
||||||
"tailwindcss": "^4.0.15",
|
"tailwindcss": "^4.1.0",
|
||||||
"typescript": "^5.8.2",
|
"typescript": "^5.8.2",
|
||||||
"vite": "^6.2.3",
|
"vite": "^6.2.4",
|
||||||
"vue-eslint-parser": "^10.1.1"
|
"vue-eslint-parser": "^10.1.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 添加字典Item数据
|
* 添加dictItem数据
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
saveDictItem(data = {}) {
|
saveDictItem(data = {}) {
|
||||||
@@ -99,5 +99,27 @@ export default {
|
|||||||
method: "delete",
|
method: "delete",
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 快速新增字典项(非字典)
|
||||||
|
* @returns 成功或失败
|
||||||
|
*/
|
||||||
|
createDictItemFast(data = {}) {
|
||||||
|
return request({
|
||||||
|
url: "system/dataDict/fastSave",
|
||||||
|
method: "post",
|
||||||
|
data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 快速新增依据标准字典项(非字典)
|
||||||
|
* @returns 成功或失败
|
||||||
|
*/
|
||||||
|
createDictItemStdFast(data = {}) {
|
||||||
|
return request({
|
||||||
|
url: "system/dataDict/saveStdItem",
|
||||||
|
method: "post",
|
||||||
|
data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
<!--
|
|
||||||
- @Author XXX
|
|
||||||
- @Link XXX
|
|
||||||
-->
|
|
||||||
<template>
|
<template>
|
||||||
<a-spin :loading="searchLoading" :tip="options.searchLoadingText" v-if="showSearch">
|
<a-spin :loading="searchLoading" :tip="options.searchLoadingText" v-if="showSearch">
|
||||||
<a-form
|
<a-form
|
||||||
@@ -28,7 +24,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center mt-5 w-full" v-if="searchColumns.length > 0">
|
<div class="text-center mt-2 w-full" v-if="searchColumns.length > 0">
|
||||||
<a-space size="medium">
|
<a-space size="medium">
|
||||||
<slot name="searchBeforeButtons" />
|
<slot name="searchBeforeButtons" />
|
||||||
<slot name="searchButtons">
|
<slot name="searchButtons">
|
||||||
|
|||||||
@@ -25,9 +25,9 @@
|
|||||||
</a-space>
|
</a-space>
|
||||||
|
|
||||||
<a-alert type="warning" class="mt-2"
|
<a-alert type="warning" class="mt-2"
|
||||||
>排序:本页是指当前页排序;服务器是指后台排序,若自定义服务器排序可用
|
>排序:本页是指当前页排序,服务器是指后台排序,后台排序暂无
|
||||||
<a-tag>@sorterChange</a-tag> 事件来实现</a-alert
|
<!-- <a-tag>@sorterChange</a-tag> 事件来实现 -->
|
||||||
>
|
</a-alert>
|
||||||
<a-table
|
<a-table
|
||||||
:data="allowShowColumns"
|
:data="allowShowColumns"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-layout-content class="flex flex-col lg:h-full relative w-full">
|
<a-layout-content class="flex flex-col lg:h-full relative w-full">
|
||||||
<div class="_crud-header flex flex-col mb-2" ref="crudHeaderRef">
|
<div class="_crud-header flex flex-col mb-1" ref="crudHeaderRef">
|
||||||
<a-tabs
|
<a-tabs
|
||||||
v-if="isArray(options.tabs.data) && options.tabs.data.length > 0"
|
v-if="isArray(options.tabs.data) && options.tabs.data.length > 0"
|
||||||
v-model:active-key="options.tabs.defaultKey"
|
v-model:active-key="options.tabs.defaultKey"
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
<!--
|
|
||||||
- @Author XXX
|
|
||||||
- @Link XXX
|
|
||||||
-->
|
|
||||||
<template>
|
<template>
|
||||||
<ma-form-item
|
<ma-form-item
|
||||||
v-if="typeof props.component.display == 'undefined' || props.component.display === true"
|
v-if="typeof props.component.display == 'undefined' || props.component.display === true"
|
||||||
@@ -130,6 +126,87 @@
|
|||||||
</a-pagination>
|
</a-pagination>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<!-- 改动1、2、3:下面template都是改动内容 -->
|
||||||
|
<template #footer v-else-if="component.allowCreate">
|
||||||
|
<div style="padding: 6px 0; text-align: center">
|
||||||
|
<!-- 新增columns属性:onCreate -->
|
||||||
|
<a-popover
|
||||||
|
:title="component.createInfo ? component.createInfo.title : '无标题'"
|
||||||
|
trigger="click"
|
||||||
|
>
|
||||||
|
<a-button size="small" type="primary">点击新增</a-button>
|
||||||
|
<template #content>
|
||||||
|
<a-row :wrap="false">
|
||||||
|
<a-input
|
||||||
|
:style="{ width: '320px' }"
|
||||||
|
:placeholder="`请输入新增的${component.createInfo.title}`"
|
||||||
|
allow-clear
|
||||||
|
v-model="createItem"
|
||||||
|
/>
|
||||||
|
<a-button
|
||||||
|
type="primary"
|
||||||
|
@click="handleCreteSubmit(component.onCreate)"
|
||||||
|
:loading="createLoading"
|
||||||
|
>提交</a-button
|
||||||
|
>
|
||||||
|
</a-row>
|
||||||
|
</template>
|
||||||
|
</a-popover>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #footer v-else-if="component.allowNew && !component.allowCreate">
|
||||||
|
<div style="padding: 6px 0; text-align: center">
|
||||||
|
<a-popover :title="component.newInfo ? component.newInfo.title : '无标题'" trigger="click">
|
||||||
|
<a-button size="small" type="primary">快速新增</a-button>
|
||||||
|
<template #content>
|
||||||
|
<ma-form
|
||||||
|
@submit="handleContactFormSubmit"
|
||||||
|
v-model="contactFormData"
|
||||||
|
:columns="contactFormOptions"
|
||||||
|
ref="contactForm"
|
||||||
|
></ma-form>
|
||||||
|
</template>
|
||||||
|
</a-popover>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #footer v-else-if="component.allowAbbrNew && !component.allowCreate && !component.allowNew">
|
||||||
|
<div style="padding: 6px 0; text-align: center">
|
||||||
|
<a-popover
|
||||||
|
:title="component.abbrNewInfo ? component.abbrNewInfo.title : '无标题'"
|
||||||
|
trigger="click"
|
||||||
|
>
|
||||||
|
<a-button size="small" type="primary">快速新增缩略语</a-button>
|
||||||
|
<template #content>
|
||||||
|
<ma-form
|
||||||
|
@submit="handleAbbrFormSubmit"
|
||||||
|
v-model="abbrFormData"
|
||||||
|
:columns="abbrFormOptions"
|
||||||
|
ref="abbrForm"
|
||||||
|
></ma-form>
|
||||||
|
</template>
|
||||||
|
</a-popover>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template
|
||||||
|
#footer
|
||||||
|
v-else-if="
|
||||||
|
component.allowStd && !component.allowAbbrNew && !component.allowCreate && !component.allowNew
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div style="padding: 6px 0; text-align: center">
|
||||||
|
<a-popover :title="component.stdInfo ? component.stdInfo.title : '无标题'" trigger="click">
|
||||||
|
<a-button size="small" type="primary">快速新增依据标准</a-button>
|
||||||
|
<template #content>
|
||||||
|
<ma-form
|
||||||
|
@submit="handleStdFormSubmit"
|
||||||
|
v-model="stdFormData"
|
||||||
|
:columns="stdFormOptions"
|
||||||
|
ref="stdForm"
|
||||||
|
></ma-form>
|
||||||
|
</template>
|
||||||
|
</a-popover>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
</a-select>
|
</a-select>
|
||||||
</slot>
|
</slot>
|
||||||
</ma-form-item>
|
</ma-form-item>
|
||||||
@@ -141,6 +218,138 @@ import MaFormItem from "./form-item.vue"
|
|||||||
import { get, isUndefined, set, xor, isObject, isBoolean } from "lodash-es"
|
import { get, isUndefined, set, xor, isObject, isBoolean } from "lodash-es"
|
||||||
import { runEvent } from "../js/event.js"
|
import { runEvent } from "../js/event.js"
|
||||||
import { handlerCascader, loadDict } from "../js/networkRequest.js"
|
import { handlerCascader, loadDict } from "../js/networkRequest.js"
|
||||||
|
import { Message, Notification } from "@arco-design/web-vue"
|
||||||
|
|
||||||
|
// 改动2:快速新增联系单位信息[耦合内容] - start
|
||||||
|
import { columnsOptions as contactColumnOption } from "@/views/datamanage/projContact/crudColumns"
|
||||||
|
import { columnsOptions as abbrColumnOption } from "@/views/datamanage/abbreviation/columnsOptions"
|
||||||
|
import useDictItemCrud from "@/views/datamanage/dictmanage/DataList/useCrudRef.ts"
|
||||||
|
import tool from "@/utils/tool"
|
||||||
|
import contactApi from "@/api/system/contact"
|
||||||
|
import abbrApi from "@/api/system/abbreviation"
|
||||||
|
import dictApi from "@/api/system/dict"
|
||||||
|
//// 1. 处理快速新增单位
|
||||||
|
const contactFormOptions = ref(
|
||||||
|
tool.renameKeyInArray(
|
||||||
|
contactColumnOption.filter((it) => it.dataIndex !== "id"),
|
||||||
|
"commonRules",
|
||||||
|
"rules"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
const contactFormData = ref({})
|
||||||
|
const handleContactFormSubmit = async (data, done) => {
|
||||||
|
done(true)
|
||||||
|
try {
|
||||||
|
const res = await contactApi.save(data)
|
||||||
|
// 更新当前select的选项
|
||||||
|
const newInfo = {
|
||||||
|
label: res.data.name,
|
||||||
|
value: res.data.name,
|
||||||
|
disabled: false,
|
||||||
|
indeterminate: false
|
||||||
|
}
|
||||||
|
dictList.value["entrust_unit"].push(newInfo)
|
||||||
|
dictList.value["test_unit"].push(newInfo)
|
||||||
|
dictList.value["dev_unit"].push(newInfo)
|
||||||
|
// 清空当前数据
|
||||||
|
contactFormData.value = {}
|
||||||
|
Notification.success("添加成功,请回到输入框进行选择")
|
||||||
|
} catch (err) {
|
||||||
|
Notification.error("请求错误,请重试或在数据管理页面添加")
|
||||||
|
} finally {
|
||||||
|
done(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//// 2. 处理快速新增缩略语
|
||||||
|
const abbrFormOptions = ref(
|
||||||
|
tool.renameKeyInArray(
|
||||||
|
abbrColumnOption.filter((it) => it.dataIndex !== "id"),
|
||||||
|
"commonRules",
|
||||||
|
"rules"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
const abbrFormData = ref({})
|
||||||
|
const handleAbbrFormSubmit = async (data, done) => {
|
||||||
|
done(true)
|
||||||
|
try {
|
||||||
|
const res = await abbrApi.save(data)
|
||||||
|
// 更新当前select的选项
|
||||||
|
const newInfo = {
|
||||||
|
label: res.data.title,
|
||||||
|
value: res.data.title,
|
||||||
|
disabled: false,
|
||||||
|
indeterminate: false
|
||||||
|
}
|
||||||
|
dictList.value["abbreviation"].push(newInfo)
|
||||||
|
// 清空当前数据
|
||||||
|
abbrFormData.value = {}
|
||||||
|
Notification.success("添加成功,请回到输入框进行选择")
|
||||||
|
} catch (err) {
|
||||||
|
Notification.error("请求错误,请重试或在数据管理页面添加")
|
||||||
|
} finally {
|
||||||
|
done(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//// 3. 处理快速依据标准
|
||||||
|
const { columns: dictColumnOptions } = useDictItemCrud()
|
||||||
|
const initStdFormData = {
|
||||||
|
status: "1",
|
||||||
|
code: "standard",
|
||||||
|
sort: 1
|
||||||
|
}
|
||||||
|
const stdFormData = ref(initStdFormData)
|
||||||
|
const stdFormOptions = computed(() => {
|
||||||
|
const options = tool.renameKeyInArray(
|
||||||
|
dictColumnOptions.value.filter(
|
||||||
|
(it) => it.dataIndex !== "id" && it.dataIndex !== "update_datetime" && it.dataIndex !== "key"
|
||||||
|
),
|
||||||
|
"commonRules",
|
||||||
|
"rules"
|
||||||
|
)
|
||||||
|
return options.map((it) => {
|
||||||
|
if (it.dataIndex === "doc_name") {
|
||||||
|
return {
|
||||||
|
...it,
|
||||||
|
rules: [{ required: true, message: "文档名称必填" }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (it.dataIndex === "publish_date") {
|
||||||
|
return {
|
||||||
|
...it,
|
||||||
|
rules: [{ required: true, message: "发布日期必填" }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (it.dataIndex === "source") {
|
||||||
|
return {
|
||||||
|
...it,
|
||||||
|
rules: [{ required: true, message: "来源机构必填" }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return it
|
||||||
|
})
|
||||||
|
})
|
||||||
|
const handleStdFormSubmit = async (data, done) => {
|
||||||
|
done(true)
|
||||||
|
try {
|
||||||
|
const res = await dictApi.createDictItemStdFast(data)
|
||||||
|
// 更新当前select的选项
|
||||||
|
const newInfo = {
|
||||||
|
label: res.data.doc_name,
|
||||||
|
value: res.data.key,
|
||||||
|
disabled: false,
|
||||||
|
indeterminate: false
|
||||||
|
}
|
||||||
|
dictList.value["standard"].push(newInfo)
|
||||||
|
// 清空当前数据
|
||||||
|
stdFormData.value = initStdFormData
|
||||||
|
Notification.success("添加成功,请回到输入框进行选择")
|
||||||
|
} catch (err) {
|
||||||
|
Notification.error("请求错误,请重试或在数据管理页面添加")
|
||||||
|
} finally {
|
||||||
|
done(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 改动2结束 - end
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
component: Object,
|
component: Object,
|
||||||
@@ -159,8 +368,9 @@ const dictList = inject("dictList")
|
|||||||
const formLoading = inject("formLoading")
|
const formLoading = inject("formLoading")
|
||||||
const columns = inject("columns")
|
const columns = inject("columns")
|
||||||
const getColumnService = inject("getColumnService")
|
const getColumnService = inject("getColumnService")
|
||||||
const rv = async (ev, value = "") =>
|
const rv = async (ev, value = "") => {
|
||||||
await runEvent(props.component, ev, { formModel, getColumnService, columns }, value)
|
await runEvent(props.component, ev, { formModel, getColumnService, columns }, value)
|
||||||
|
}
|
||||||
|
|
||||||
const index = props.customField ?? props.component.dataIndex
|
const index = props.customField ?? props.component.dataIndex
|
||||||
const dictIndex = index.match(/^(\w+\.)\d+\./)
|
const dictIndex = index.match(/^(\w+\.)\d+\./)
|
||||||
@@ -172,6 +382,38 @@ const loading = ref(false)
|
|||||||
const optionMap = ref({})
|
const optionMap = ref({})
|
||||||
const keyword = ref("")
|
const keyword = ref("")
|
||||||
|
|
||||||
|
// 改动1:新增按钮处理
|
||||||
|
const createItem = ref("") // 新增string
|
||||||
|
const createLoading = ref(false) // 新增loading状态
|
||||||
|
const handleCreteSubmit = async (onCreate) => {
|
||||||
|
// 判断是否为空
|
||||||
|
if (!createItem.value.trim()) {
|
||||||
|
Message.error("请填写新增内容")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
createLoading.value = true
|
||||||
|
try {
|
||||||
|
const code = await onCreate(createItem.value)
|
||||||
|
// 处理回显内容-更新当前select的选项
|
||||||
|
const optionList = dictList.value[code]
|
||||||
|
const new_dict_item = {
|
||||||
|
label: createItem.value,
|
||||||
|
value: (optionList.length + 1).toString(),
|
||||||
|
disabled: false,
|
||||||
|
indeterminate: false
|
||||||
|
}
|
||||||
|
optionList.push(new_dict_item)
|
||||||
|
} catch (err) {
|
||||||
|
// 弹出错误
|
||||||
|
Message.error("新增出错")
|
||||||
|
} finally {
|
||||||
|
createItem.value = ""
|
||||||
|
createLoading.value = false
|
||||||
|
Notification.success("新增成功,请重新选择新增内容")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 改动1结束
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => get(formModel.value, index),
|
() => get(formModel.value, index),
|
||||||
(vl) => (value.value = vl)
|
(vl) => (value.value = vl)
|
||||||
@@ -271,6 +513,7 @@ const handlePage = async (page) => {
|
|||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 搜索当前字典内容
|
||||||
const handlerFallback = (key) => {
|
const handlerFallback = (key) => {
|
||||||
return optionMap.value[key] || key
|
return optionMap.value[key] || key
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
:allow-clear="props.component.allowClear ?? true"
|
:allow-clear="props.component.allowClear ?? true"
|
||||||
:disabled="props.component.disabled"
|
:disabled="props.component.disabled"
|
||||||
:readonly="props.component.readonly"
|
:readonly="props.component.readonly"
|
||||||
:auto-size="props.component.autoSize"
|
:auto-size="props.component.autoSize || true"
|
||||||
:error="props.component.error"
|
:error="props.component.error"
|
||||||
:placeholder="props.component.placeholder ?? `请输入${props.component.title}`"
|
:placeholder="props.component.placeholder ?? `请输入${props.component.title}`"
|
||||||
:max-length="props.component.maxLength"
|
:max-length="props.component.maxLength"
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ app.use(ArcoVueIcon)
|
|||||||
app.use(router)
|
app.use(router)
|
||||||
app.use(pinia)
|
app.use(pinia)
|
||||||
app.use(globalComponents)
|
app.use(globalComponents)
|
||||||
|
|
||||||
// 使用服务端请求数据管理库
|
// 使用服务端请求数据管理库
|
||||||
import { VueQueryPlugin } from "@tanstack/vue-query"
|
import { VueQueryPlugin } from "@tanstack/vue-query"
|
||||||
app.use(VueQueryPlugin)
|
app.use(VueQueryPlugin)
|
||||||
|
|||||||
@@ -13,3 +13,22 @@ body {
|
|||||||
--border-radius-medium: 0px;
|
--border-radius-medium: 0px;
|
||||||
--border-radius-large: 0px;
|
--border-radius-large: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 覆盖arco表单行间距为3px,原来为20px
|
||||||
|
.arco-form-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
justify-content: flex-start;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 覆盖card组件actions的margin-top,原来为20px
|
||||||
|
.arco-card-actions{
|
||||||
|
margin-top: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 覆盖card组件,padding原来为16px
|
||||||
|
.arco-card-body{
|
||||||
|
padding: 8px !important;
|
||||||
|
}
|
||||||
@@ -105,4 +105,7 @@ defineOptions({
|
|||||||
.top-box {
|
.top-box {
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
}
|
}
|
||||||
|
:deep(.arco-form-item) {
|
||||||
|
margin-bottom: 20px; /* 覆盖默认样式 */
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ const crudOptions = reactive({
|
|||||||
// 是否显示操作列
|
// 是否显示操作列
|
||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
operationWidth: 200,
|
operationWidth: 200,
|
||||||
showTools: false,
|
|
||||||
// 设置列表数据API
|
// 设置列表数据API
|
||||||
api: userApi.getPageList,
|
api: userApi.getPageList,
|
||||||
// 设置新增接口-show为true则显示按钮
|
// 设置新增接口-show为true则显示按钮
|
||||||
|
|||||||
19
cdTMP/src/views/datamanage/abbreviation/columnsOptions.ts
Normal file
19
cdTMP/src/views/datamanage/abbreviation/columnsOptions.ts
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
export const columnsOptions = [
|
||||||
|
{ title: "ID", dataIndex: "id", addDisplay: false, editDisplay: false, width: 50, hide: true },
|
||||||
|
{
|
||||||
|
title: "缩略语",
|
||||||
|
align: "center",
|
||||||
|
width: 200,
|
||||||
|
dataIndex: "title",
|
||||||
|
search: true,
|
||||||
|
commonRules: [{ required: true, message: "缩略语必填" }]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "全称",
|
||||||
|
align: "center",
|
||||||
|
dataIndex: "des",
|
||||||
|
search: true,
|
||||||
|
ellipsis: true,
|
||||||
|
commonRules: [{ required: true, message: "全称和描述必填" }]
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -10,6 +10,7 @@
|
|||||||
<script lang="jsx" setup>
|
<script lang="jsx" setup>
|
||||||
import { ref } from "vue"
|
import { ref } from "vue"
|
||||||
import abbreviationApi from "@/api/system/abbreviation"
|
import abbreviationApi from "@/api/system/abbreviation"
|
||||||
|
import { columnsOptions } from "./columnsOptions.ts"
|
||||||
|
|
||||||
const crudRef = ref()
|
const crudRef = ref()
|
||||||
const crudOptions = ref({
|
const crudOptions = ref({
|
||||||
@@ -29,25 +30,7 @@ const crudOptions = ref({
|
|||||||
crudRef.value.tableRef.selectAll(false)
|
crudRef.value.tableRef.selectAll(false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const crudColumns = ref([
|
const crudColumns = ref(columnsOptions)
|
||||||
{ title: "ID", dataIndex: "id", addDisplay: false, editDisplay: false, width: 50, hide: true },
|
|
||||||
{
|
|
||||||
title: "缩略语",
|
|
||||||
align: "center",
|
|
||||||
width: 200,
|
|
||||||
dataIndex: "title",
|
|
||||||
search: true,
|
|
||||||
commonRules: [{ required: true, message: "缩略语必填" }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "全称",
|
|
||||||
align: "center",
|
|
||||||
dataIndex: "des",
|
|
||||||
search: true,
|
|
||||||
ellipsis: true,
|
|
||||||
commonRules: [{ required: true, message: "全称和描述必填" }]
|
|
||||||
}
|
|
||||||
])
|
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: "abbreviation"
|
name: "abbreviation"
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ export default function useCrudRef(currentRow: Ref<{ id: number | string; name:
|
|||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
operationWidth: 160,
|
operationWidth: 160,
|
||||||
operationColumnAlign: "center",
|
operationColumnAlign: "center",
|
||||||
showTools: false,
|
|
||||||
beforeAdd: (form: any) => {
|
beforeAdd: (form: any) => {
|
||||||
form.id = currentRow.value?.id
|
form.id = currentRow.value?.id
|
||||||
return true
|
return true
|
||||||
@@ -95,21 +94,22 @@ export default function useCrudRef(currentRow: Ref<{ id: number | string; name:
|
|||||||
dataIndex: "doc_name",
|
dataIndex: "doc_name",
|
||||||
align: "center",
|
align: "center",
|
||||||
search: false,
|
search: false,
|
||||||
placeholder: "如果不是标准则不填"
|
placeholder: "不是标准则不填"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "发布日期",
|
title: "发布日期",
|
||||||
dataIndex: "publish_date",
|
dataIndex: "publish_date",
|
||||||
align: "center",
|
align: "center",
|
||||||
search: false,
|
search: false,
|
||||||
placeholder: "如果不是标准则不填"
|
placeholder: "不是标准则不填,该文档发布日期",
|
||||||
|
formType: "date"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "标准来源",
|
title: "标准来源",
|
||||||
dataIndex: "source",
|
dataIndex: "source",
|
||||||
align: "center",
|
align: "center",
|
||||||
search: false,
|
search: false,
|
||||||
placeholder: "如果不是标准则不填"
|
placeholder: "不是标准则不填,文档发布机构"
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ export default function useDictCrud() {
|
|||||||
searchColNumber: 4,
|
searchColNumber: 4,
|
||||||
tablePagination: false,
|
tablePagination: false,
|
||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
showTools: false,
|
|
||||||
afterDelete() {
|
afterDelete() {
|
||||||
crudRef.value.tableRef.selectAll(false)
|
crudRef.value.tableRef.selectAll(false)
|
||||||
}
|
}
|
||||||
|
|||||||
34
cdTMP/src/views/datamanage/projContact/crudColumns.ts
Normal file
34
cdTMP/src/views/datamanage/projContact/crudColumns.ts
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
export const columnsOptions = [
|
||||||
|
{ title: "ID", dataIndex: "id", addDisplay: false, editDisplay: false, width: 50, hide: true },
|
||||||
|
{ title: "公司编号", align: "center", dataIndex: "key", search: true, width: 70, formType: "input-number" },
|
||||||
|
{
|
||||||
|
title: "名称",
|
||||||
|
align: "center",
|
||||||
|
dataIndex: "name",
|
||||||
|
search: true,
|
||||||
|
commonRules: [{ required: true, message: "名称必填" }]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "简称",
|
||||||
|
align: "center",
|
||||||
|
dataIndex: "refer_name",
|
||||||
|
width: 200,
|
||||||
|
search: true,
|
||||||
|
commonRules: [{ required: true, message: "简称必填" }]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "法人",
|
||||||
|
align: "center",
|
||||||
|
dataIndex: "entrust_person",
|
||||||
|
search: true,
|
||||||
|
width: 90,
|
||||||
|
commonRules: [{ required: true, message: "法人必填" }]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "地址",
|
||||||
|
align: "center",
|
||||||
|
dataIndex: "addr",
|
||||||
|
search: true,
|
||||||
|
commonRules: [{ required: true, message: "公司地址必填" }]
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -10,6 +10,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from "vue"
|
import { ref } from "vue"
|
||||||
import contactApi from "@/api/system/contact"
|
import contactApi from "@/api/system/contact"
|
||||||
|
import { columnsOptions } from "./crudColumns"
|
||||||
|
|
||||||
const crudRef = ref()
|
const crudRef = ref()
|
||||||
const crudOptions = ref({
|
const crudOptions = ref({
|
||||||
@@ -25,45 +26,11 @@ const crudOptions = ref({
|
|||||||
searchColNumber: 3,
|
searchColNumber: 3,
|
||||||
tablePagination: false,
|
tablePagination: false,
|
||||||
rowSelection: { showCheckedAll: true },
|
rowSelection: { showCheckedAll: true },
|
||||||
showTools: false,
|
|
||||||
afterDelete() {
|
afterDelete() {
|
||||||
crudRef.value.tableRef.selectAll(false)
|
crudRef.value.tableRef.selectAll(false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const crudColumns = ref([
|
const crudColumns = ref(columnsOptions)
|
||||||
{ title: "ID", dataIndex: "id", addDisplay: false, editDisplay: false, width: 50, hide: true },
|
|
||||||
{ title: "公司编号", align: "center", dataIndex: "key", search: true, width: 70, formType: "input-number" },
|
|
||||||
{
|
|
||||||
title: "名称",
|
|
||||||
align: "center",
|
|
||||||
dataIndex: "name",
|
|
||||||
search: true,
|
|
||||||
commonRules: [{ required: true, message: "名称必填" }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "简称",
|
|
||||||
align: "center",
|
|
||||||
dataIndex: "refer_name",
|
|
||||||
width: 200,
|
|
||||||
search: true,
|
|
||||||
commonRules: [{ required: true, message: "简称必填" }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "法人",
|
|
||||||
align: "center",
|
|
||||||
dataIndex: "entrust_person",
|
|
||||||
search: true,
|
|
||||||
width: 90,
|
|
||||||
commonRules: [{ required: true, message: "法人必填" }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "地址",
|
|
||||||
align: "center",
|
|
||||||
dataIndex: "addr",
|
|
||||||
search: true,
|
|
||||||
commonRules: [{ required: true, message: "公司地址必填" }]
|
|
||||||
}
|
|
||||||
])
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped></style>
|
<style lang="less" scoped></style>
|
||||||
|
|||||||
@@ -8,7 +8,10 @@
|
|||||||
<img src="@/assets/img/wxwx-logo.svg" width="45" /><span>{{ $title }}</span>
|
<img src="@/assets/img/wxwx-logo.svg" width="45" /><span>{{ $title }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="slogan flex justify-end">
|
<div class="slogan flex justify-end">
|
||||||
<span class="font-extrabold bg-clip-text text-transparent bg-gradient-to-r from-blue-500 to-purple-600">---- 为测评服务,打造测评高地</span>
|
<span
|
||||||
|
class="font-extrabold bg-clip-text text-transparent bg-gradient-to-r from-blue-500 to-purple-600"
|
||||||
|
>---- 为测评服务,打造测评高地</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -228,4 +231,8 @@ const handleSubmit = async ({ values, errors }) => {
|
|||||||
background: #f3ce2b;
|
background: #f3ce2b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:deep(.arco-form-item) {
|
||||||
|
margin-bottom: 20px; /* 覆盖默认样式 */
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ const crudOptions = ref({
|
|||||||
api: logApi.getLoginLogs,
|
api: logApi.getLoginLogs,
|
||||||
edit: { api: editClick, text: "查看操作日志信息", show: false },
|
edit: { api: editClick, text: "查看操作日志信息", show: false },
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
showTools: false,
|
|
||||||
pageLayout: "fixed",
|
pageLayout: "fixed",
|
||||||
tablePagination: false,
|
tablePagination: false,
|
||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ const crudOptions = reactive({
|
|||||||
api: operationApi.getOperationsLogs,
|
api: operationApi.getOperationsLogs,
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
pageLayout: "fixed",
|
pageLayout: "fixed",
|
||||||
showTools: false,
|
|
||||||
tablePagination: false,
|
tablePagination: false,
|
||||||
bordered: { wrapper: true, cell: true },
|
bordered: { wrapper: true, cell: true },
|
||||||
afterDelete(response) {
|
afterDelete(response) {
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ const crudOptions = ref({
|
|||||||
api: logApi.getOperations,
|
api: logApi.getOperations,
|
||||||
edit: { api: editClick, text: "查看操作日志信息", show: false },
|
edit: { api: editClick, text: "查看操作日志信息", show: false },
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
showTools: false,
|
|
||||||
pageLayout: "fixed",
|
pageLayout: "fixed",
|
||||||
tablePagination: false,
|
tablePagination: false,
|
||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
|
|||||||
@@ -137,7 +137,6 @@ const crudOptions = ref({
|
|||||||
projectId: route.query.id,
|
projectId: route.query.id,
|
||||||
key: route.query.key
|
key: route.query.key
|
||||||
},
|
},
|
||||||
showTools: false, // 不显示工具栏
|
|
||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
operationColumnAlign: "center", // 操作列居中
|
operationColumnAlign: "center", // 操作列居中
|
||||||
isDbClickEdit: false, // 双击不编辑当前列
|
isDbClickEdit: false, // 双击不编辑当前列
|
||||||
|
|||||||
@@ -124,7 +124,6 @@ const crudOptions = ref({
|
|||||||
return tableData
|
return tableData
|
||||||
},
|
},
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
showTools: false,
|
|
||||||
operationColumnAlign: "center",
|
operationColumnAlign: "center",
|
||||||
rowSelection: { showCheckedAll: true },
|
rowSelection: { showCheckedAll: true },
|
||||||
searchColNumber: 3,
|
searchColNumber: 3,
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ export default function (crudRef: Ref<InstanceType<typeof MaCrud>>) {
|
|||||||
add: { show: true, api: testDemandApi.save, text: "新增测试项" },
|
add: { show: true, api: testDemandApi.save, text: "新增测试项" },
|
||||||
edit: { show: true, api: testDemandApi.update, text: "修改测试项" },
|
edit: { show: true, api: testDemandApi.update, text: "修改测试项" },
|
||||||
delete: { show: true, api: testDemandApi.delete },
|
delete: { show: true, api: testDemandApi.delete },
|
||||||
showTools: false,
|
|
||||||
beforeOpenAdd: function () {
|
beforeOpenAdd: function () {
|
||||||
// 1.新增则将form的content数据变为undifined以便判断
|
// 1.新增则将form的content数据变为undifined以便判断
|
||||||
beforeFormContent = undefined
|
beforeFormContent = undefined
|
||||||
|
|||||||
@@ -68,7 +68,6 @@ export default function (crudRef: Ref<InstanceType<typeof MaCrud>>) {
|
|||||||
formOption: {
|
formOption: {
|
||||||
width: 1200
|
width: 1200
|
||||||
},
|
},
|
||||||
showTools: false
|
|
||||||
})
|
})
|
||||||
return crudOptions
|
return crudOptions
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ export default function (crudRef: Ref<InstanceType<typeof MaCrud>>) {
|
|||||||
},
|
},
|
||||||
operationWidth: 500,
|
operationWidth: 500,
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
showTools: false,
|
|
||||||
rowSelection: { showCheckedAll: true },
|
rowSelection: { showCheckedAll: true },
|
||||||
searchColNumber: 3,
|
searchColNumber: 3,
|
||||||
tablePagination: false,
|
tablePagination: false,
|
||||||
|
|||||||
@@ -106,7 +106,6 @@ export default function (crudRef: Ref<InstanceType<typeof MaCrud>>) {
|
|||||||
testDemand: testDemandNumber
|
testDemand: testDemandNumber
|
||||||
},
|
},
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
showTools: false,
|
|
||||||
rowSelection: { showCheckedAll: true },
|
rowSelection: { showCheckedAll: true },
|
||||||
searchColNumber: 3,
|
searchColNumber: 3,
|
||||||
tablePagination: false,
|
tablePagination: false,
|
||||||
|
|||||||
@@ -98,7 +98,6 @@ const useCrudOption = () => {
|
|||||||
afterDelete(response: any) {
|
afterDelete(response: any) {
|
||||||
crudRef.value.tableRef.selectAll(false)
|
crudRef.value.tableRef.selectAll(false)
|
||||||
},
|
},
|
||||||
showTools: false,
|
|
||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
operationColumnWidth: 180,
|
operationColumnWidth: 180,
|
||||||
operationColumnAlign: "center",
|
operationColumnAlign: "center",
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { ref } from "vue"
|
|||||||
import { validateBlank, validateWindowFileNameInput } from "@/utils/extensions/arcoValidator"
|
import { validateBlank, validateWindowFileNameInput } from "@/utils/extensions/arcoValidator"
|
||||||
import textInfo from "@/config/textInfo"
|
import textInfo from "@/config/textInfo"
|
||||||
import projectApi from "@/api/testmanage/project"
|
import projectApi from "@/api/testmanage/project"
|
||||||
|
import dictApi from "@/api/system/dict"
|
||||||
|
|
||||||
const useCrudInit = function () {
|
const useCrudInit = function () {
|
||||||
const crudRef = ref()
|
const crudRef = ref()
|
||||||
@@ -16,7 +17,6 @@ const useCrudInit = function () {
|
|||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
operationWidth: 500,
|
operationWidth: 500,
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
showTools: false,
|
|
||||||
operationColumnWidth: 280, // 操作列宽度
|
operationColumnWidth: 280, // 操作列宽度
|
||||||
operationColumnAlign: "center", // 操作列对齐方式
|
operationColumnAlign: "center", // 操作列对齐方式
|
||||||
afterDelete(response: any) {
|
afterDelete(response: any) {
|
||||||
@@ -225,6 +225,14 @@ const useCrudInit = function () {
|
|||||||
hide: true,
|
hide: true,
|
||||||
search: false,
|
search: false,
|
||||||
formType: "select",
|
formType: "select",
|
||||||
|
allowCreate: true,
|
||||||
|
createInfo: {
|
||||||
|
title: "运行环境"
|
||||||
|
},
|
||||||
|
onCreate: async (value: any) => {
|
||||||
|
await dictApi.createDictItemFast({ code: "runtime", title: value })
|
||||||
|
return "runtime"
|
||||||
|
},
|
||||||
dict: { name: "runtime", props: { label: "title", value: "key" } }
|
dict: { name: "runtime", props: { label: "title", value: "key" } }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -233,6 +241,8 @@ const useCrudInit = function () {
|
|||||||
hide: true,
|
hide: true,
|
||||||
search: true,
|
search: true,
|
||||||
formType: "select",
|
formType: "select",
|
||||||
|
// 多选最大标签数量
|
||||||
|
maxTagCount: 7,
|
||||||
multiple: true,
|
multiple: true,
|
||||||
dict: { url: "system/user/list", props: { label: "name", value: "name" }, translation: true },
|
dict: { url: "system/user/list", props: { label: "name", value: "name" }, translation: true },
|
||||||
commonRules: [{ required: true, message: "成员至少选择一个" }]
|
commonRules: [{ required: true, message: "成员至少选择一个" }]
|
||||||
@@ -261,12 +271,24 @@ const useCrudInit = function () {
|
|||||||
search: false,
|
search: false,
|
||||||
formType: "select",
|
formType: "select",
|
||||||
allowCreate: true,
|
allowCreate: true,
|
||||||
|
createInfo: {
|
||||||
|
title: "开发环境"
|
||||||
|
},
|
||||||
|
onCreate: async (value: any) => {
|
||||||
|
await dictApi.createDictItemFast({ code: "devplant", title: value })
|
||||||
|
return "devplant"
|
||||||
|
},
|
||||||
dict: { name: "devplant", props: { label: "title", value: "key" } }
|
dict: { name: "devplant", props: { label: "title", value: "key" } }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "缩略语",
|
title: "缩略语",
|
||||||
dataIndex: "abbreviation",
|
dataIndex: "abbreviation",
|
||||||
hide: true,
|
hide: true,
|
||||||
|
// 快速新增缩略语内容
|
||||||
|
allowAbbrNew: true,
|
||||||
|
abbrNewInfo: {
|
||||||
|
title: "新增缩略语"
|
||||||
|
},
|
||||||
search: false,
|
search: false,
|
||||||
formType: "select",
|
formType: "select",
|
||||||
multiple: true,
|
multiple: true,
|
||||||
@@ -339,6 +361,7 @@ const useCrudInit = function () {
|
|||||||
title: "编程语言",
|
title: "编程语言",
|
||||||
dataIndex: "language",
|
dataIndex: "language",
|
||||||
addDefaultValue: ["1"],
|
addDefaultValue: ["1"],
|
||||||
|
maxTagCount: 4,
|
||||||
commonRules: [{ required: true, message: "请至少选择一个" }],
|
commonRules: [{ required: true, message: "请至少选择一个" }],
|
||||||
hide: true,
|
hide: true,
|
||||||
formType: "select",
|
formType: "select",
|
||||||
@@ -349,16 +372,27 @@ const useCrudInit = function () {
|
|||||||
title: "依据标准",
|
title: "依据标准",
|
||||||
dataIndex: "standard",
|
dataIndex: "standard",
|
||||||
addDefaultValue: ["1", "2", "3", "4", "9"],
|
addDefaultValue: ["1", "2", "3", "4", "9"],
|
||||||
|
maxTagCount: 20,
|
||||||
commonRules: [{ required: true, message: "请至少选择一个" }],
|
commonRules: [{ required: true, message: "请至少选择一个" }],
|
||||||
hide: true,
|
hide: true,
|
||||||
multiple: true,
|
multiple: true,
|
||||||
formType: "select",
|
formType: "select",
|
||||||
dict: { name: "standard", props: { label: "title", value: "key" } }
|
dict: { name: "standard", props: { label: "title", value: "key" } },
|
||||||
|
// 新增select选项
|
||||||
|
allowStd: true,
|
||||||
|
stdInfo: {
|
||||||
|
title: "新增标准"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "单位",
|
title: "单位",
|
||||||
dataIndex: "entrust_unit",
|
dataIndex: "entrust_unit",
|
||||||
hide: true,
|
hide: true,
|
||||||
|
// 快速新增单位内容
|
||||||
|
allowNew: true,
|
||||||
|
newInfo: {
|
||||||
|
title: "新增单位信息"
|
||||||
|
},
|
||||||
commonRules: [{ required: true, message: "单位必选" }],
|
commonRules: [{ required: true, message: "单位必选" }],
|
||||||
formType: "select",
|
formType: "select",
|
||||||
dict: { url: "system/contact/index", props: { label: "name", value: "name" }, translation: true }
|
dict: { url: "system/contact/index", props: { label: "name", value: "name" }, translation: true }
|
||||||
@@ -393,6 +427,11 @@ const useCrudInit = function () {
|
|||||||
{
|
{
|
||||||
title: "单位",
|
title: "单位",
|
||||||
dataIndex: "dev_unit",
|
dataIndex: "dev_unit",
|
||||||
|
// 快速新增单位内容
|
||||||
|
allowNew: true,
|
||||||
|
newInfo: {
|
||||||
|
title: "新增单位信息"
|
||||||
|
},
|
||||||
hide: true,
|
hide: true,
|
||||||
commonRules: [{ required: true, message: "单位必选" }],
|
commonRules: [{ required: true, message: "单位必选" }],
|
||||||
formType: "select",
|
formType: "select",
|
||||||
@@ -429,6 +468,11 @@ const useCrudInit = function () {
|
|||||||
title: "单位",
|
title: "单位",
|
||||||
dataIndex: "test_unit",
|
dataIndex: "test_unit",
|
||||||
hide: true,
|
hide: true,
|
||||||
|
// 快速新增单位内容
|
||||||
|
allowNew: true,
|
||||||
|
newInfo: {
|
||||||
|
title: "新增单位信息"
|
||||||
|
},
|
||||||
addDefaultValue: textInfo.testUnitAddDefaultText,
|
addDefaultValue: textInfo.testUnitAddDefaultText,
|
||||||
commonRules: [{ required: true, message: "单位必选" }],
|
commonRules: [{ required: true, message: "单位必选" }],
|
||||||
formType: "select",
|
formType: "select",
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="jsx" setup>
|
<script setup lang="jsx">
|
||||||
import { ref } from "vue"
|
import { ref } from "vue"
|
||||||
import { useRouter } from "vue-router"
|
import { useRouter } from "vue-router"
|
||||||
import preview from "./cpns/preview.vue"
|
import preview from "./cpns/preview.vue"
|
||||||
|
|||||||
Reference in New Issue
Block a user