diff --git a/components.d.ts b/components.d.ts index 8ee84d4dcd89224dcb9e2d47f4deb4fdd90796a1..93fddf8c107e9d0be7d6feec12478b24c252bd54 100644 --- a/components.d.ts +++ b/components.d.ts @@ -21,6 +21,7 @@ declare module 'vue' { ADescriptions: typeof import('ant-design-vue/es')['Descriptions'] ADescriptionsItem: typeof import('ant-design-vue/es')['DescriptionsItem'] ADivider: typeof import('ant-design-vue/es')['Divider'] + ADropdown: typeof import('ant-design-vue/es')['Dropdown'] AEmpty: typeof import('ant-design-vue/es')['Empty'] AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] @@ -64,14 +65,19 @@ declare module 'vue' { ATooltip: typeof import('ant-design-vue/es')['Tooltip'] AUpload: typeof import('ant-design-vue/es')['Upload'] CaretRightOutlined: typeof import('@ant-design/icons-vue')['CaretRightOutlined'] + CarryOutOutlined: typeof import('@ant-design/icons-vue')['CarryOutOutlined'] DeleteOutlined: typeof import('@ant-design/icons-vue')['DeleteOutlined'] EditOutlined: typeof import('@ant-design/icons-vue')['EditOutlined'] EyeOutlined: typeof import('@ant-design/icons-vue')['EyeOutlined'] GlobalNotification: typeof import('./src/components/GlobalNotification.vue')['default'] GlobalOutlined: typeof import('@ant-design/icons-vue')['GlobalOutlined'] + HomeOutlined: typeof import('@ant-design/icons-vue')['HomeOutlined'] + ImportOutlined: typeof import('@ant-design/icons-vue')['ImportOutlined'] + InteractionOutlined: typeof import('@ant-design/icons-vue')['InteractionOutlined'] LinkOutlined: typeof import('@ant-design/icons-vue')['LinkOutlined'] ListFilter: typeof import('./src/components/common/ListFilter.vue')['default'] LoadingOutlined: typeof import('@ant-design/icons-vue')['LoadingOutlined'] + MoneyCollectOutlined: typeof import('@ant-design/icons-vue')['MoneyCollectOutlined'] PlusOutlined: typeof import('@ant-design/icons-vue')['PlusOutlined'] ReloadOutlined: typeof import('@ant-design/icons-vue')['ReloadOutlined'] RetweetOutlined: typeof import('@ant-design/icons-vue')['RetweetOutlined'] @@ -82,6 +88,7 @@ declare module 'vue' { SaveOutlined: typeof import('@ant-design/icons-vue')['SaveOutlined'] SearchOutlined: typeof import('@ant-design/icons-vue')['SearchOutlined'] StopOutlined: typeof import('@ant-design/icons-vue')['StopOutlined'] + SwapOutlined: typeof import('@ant-design/icons-vue')['SwapOutlined'] SycnOutlined: typeof import('@ant-design/icons-vue')['SycnOutlined'] SyncOutlined: typeof import('@ant-design/icons-vue')['SyncOutlined'] UndoOutlined: typeof import('@ant-design/icons-vue')['UndoOutlined'] diff --git a/package-lock.json b/package-lock.json index 4c6993a43c13ffcfa7c2f8c9bc89cdbb96b0a11e..35efb4785bd8142d860b28a435849b9a8569a096 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "topsky-hotel-management-system-vue3", - "version": "0.0.0", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "topsky-hotel-management-system-vue3", - "version": "0.0.0", + "version": "1.0.0", "dependencies": { "@akashrajpurohit/snowflake-id": "^2.0.0", "@vueuse/core": "^13.1.0", @@ -26,7 +26,7 @@ }, "devDependencies": { "@ant-design/icons-vue": "^7.0.1", - "@vitejs/plugin-vue": "^5.2.1", + "@vitejs/plugin-vue": "^6.0.3", "@vue/eslint-config-prettier": "^9.0.0", "eslint": "^8.57.0", "eslint-plugin-vue": "^9.26.0", @@ -90,12 +90,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.28.6", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -105,18 +105,18 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "version": "7.28.6", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.28.6", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -590,9 +590,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -691,13 +691,13 @@ "license": "BSD-3-Clause" }, "node_modules/@intlify/core-base": { - "version": "9.14.5", - "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.14.5.tgz", - "integrity": "sha512-5ah5FqZG4pOoHjkvs8mjtv+gPKYU0zCISaYNjBNNqYiaITxW8ZtVih3GS/oTOqN8d9/mDLyrjD46GBApNxmlsA==", + "version": "9.14.4", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.14.4.tgz", + "integrity": "sha512-vtZCt7NqWhKEtHa3SD/322DlgP5uR9MqWxnE0y8Q0tjDs9H5Lxhss+b5wv8rmuXRoHKLESNgw9d+EN9ybBbj9g==", "license": "MIT", "dependencies": { - "@intlify/message-compiler": "9.14.5", - "@intlify/shared": "9.14.5" + "@intlify/message-compiler": "9.14.4", + "@intlify/shared": "9.14.4" }, "engines": { "node": ">= 16" @@ -707,12 +707,12 @@ } }, "node_modules/@intlify/message-compiler": { - "version": "9.14.5", - "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.14.5.tgz", - "integrity": "sha512-IHzgEu61/YIpQV5Pc3aRWScDcnFKWvQA9kigcINcCBXN8mbW+vk9SK+lDxA6STzKQsVJxUPg9ACC52pKKo3SVQ==", + "version": "9.14.4", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.14.4.tgz", + "integrity": "sha512-vcyCLiVRN628U38c3PbahrhbbXrckrM9zpy0KZVlDk2Z0OnGwv8uQNNXP3twwGtfLsCf4gu3ci6FMIZnPaqZsw==", "license": "MIT", "dependencies": { - "@intlify/shared": "9.14.5", + "@intlify/shared": "9.14.4", "source-map-js": "^1.0.2" }, "engines": { @@ -723,9 +723,9 @@ } }, "node_modules/@intlify/shared": { - "version": "9.14.5", - "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.14.5.tgz", - "integrity": "sha512-9gB+E53BYuAEMhbCAxVgG38EZrk59sxBtv3jSizNL2hEWlgjBjAw1AwpLHtNaeda12pe6W20OGEa0TwuMSRbyQ==", + "version": "9.14.4", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.14.4.tgz", + "integrity": "sha512-P9zv6i1WvMc9qDBWvIgKkymjY2ptIiQ065PjDv7z7fDqH3J/HBRBN5IoiR46r/ujRcU7hCuSIZWvCAFCyuOYZA==", "license": "MIT", "engines": { "node": ">= 16" @@ -845,10 +845,17 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", - "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.56.0.tgz", + "integrity": "sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==", "cpu": [ "arm" ], @@ -860,9 +867,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", - "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.56.0.tgz", + "integrity": "sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==", "cpu": [ "arm64" ], @@ -874,9 +881,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", - "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.56.0.tgz", + "integrity": "sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==", "cpu": [ "arm64" ], @@ -888,9 +895,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", - "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.56.0.tgz", + "integrity": "sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==", "cpu": [ "x64" ], @@ -902,9 +909,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", - "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.56.0.tgz", + "integrity": "sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==", "cpu": [ "arm64" ], @@ -916,9 +923,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", - "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.56.0.tgz", + "integrity": "sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==", "cpu": [ "x64" ], @@ -930,9 +937,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", - "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.56.0.tgz", + "integrity": "sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==", "cpu": [ "arm" ], @@ -944,9 +951,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", - "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.56.0.tgz", + "integrity": "sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==", "cpu": [ "arm" ], @@ -958,9 +965,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", - "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.56.0.tgz", + "integrity": "sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==", "cpu": [ "arm64" ], @@ -972,9 +979,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", - "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.56.0.tgz", + "integrity": "sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==", "cpu": [ "arm64" ], @@ -986,9 +993,23 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", - "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.56.0.tgz", + "integrity": "sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.56.0.tgz", + "integrity": "sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==", "cpu": [ "loong64" ], @@ -1000,9 +1021,23 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", - "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.56.0.tgz", + "integrity": "sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.56.0.tgz", + "integrity": "sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==", "cpu": [ "ppc64" ], @@ -1014,9 +1049,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", - "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.56.0.tgz", + "integrity": "sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==", "cpu": [ "riscv64" ], @@ -1028,9 +1063,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", - "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.56.0.tgz", + "integrity": "sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==", "cpu": [ "riscv64" ], @@ -1042,9 +1077,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", - "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.56.0.tgz", + "integrity": "sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==", "cpu": [ "s390x" ], @@ -1056,9 +1091,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", - "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.56.0.tgz", + "integrity": "sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==", "cpu": [ "x64" ], @@ -1070,9 +1105,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", - "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.56.0.tgz", + "integrity": "sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==", "cpu": [ "x64" ], @@ -1083,10 +1118,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.56.0.tgz", + "integrity": "sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", - "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.56.0.tgz", + "integrity": "sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==", "cpu": [ "arm64" ], @@ -1098,9 +1147,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", - "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.56.0.tgz", + "integrity": "sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==", "cpu": [ "arm64" ], @@ -1112,9 +1161,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", - "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.56.0.tgz", + "integrity": "sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==", "cpu": [ "ia32" ], @@ -1126,9 +1175,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", - "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.56.0.tgz", + "integrity": "sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==", "cpu": [ "x64" ], @@ -1140,9 +1189,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", - "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.56.0.tgz", + "integrity": "sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==", "cpu": [ "x64" ], @@ -1184,67 +1233,70 @@ "license": "ISC" }, "node_modules/@vitejs/plugin-vue": { - "version": "5.2.4", - "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", - "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-6.0.3.tgz", + "integrity": "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==", "dev": true, "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.53" + }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "vue": "^3.2.25" } }, "node_modules/@vue/compiler-core": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.22.tgz", - "integrity": "sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.27.tgz", + "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.4", - "@vue/shared": "3.5.22", - "entities": "^4.5.0", + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.27", + "entities": "^7.0.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.22.tgz", - "integrity": "sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz", + "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.22", - "@vue/shared": "3.5.22" + "@vue/compiler-core": "3.5.27", + "@vue/shared": "3.5.27" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.22.tgz", - "integrity": "sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz", + "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.4", - "@vue/compiler-core": "3.5.22", - "@vue/compiler-dom": "3.5.22", - "@vue/compiler-ssr": "3.5.22", - "@vue/shared": "3.5.22", + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.27", + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27", "estree-walker": "^2.0.2", - "magic-string": "^0.30.19", + "magic-string": "^0.30.21", "postcss": "^8.5.6", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.22.tgz", - "integrity": "sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz", + "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.22", - "@vue/shared": "3.5.22" + "@vue/compiler-dom": "3.5.27", + "@vue/shared": "3.5.27" } }, "node_modules/@vue/devtools-api": { @@ -1269,53 +1321,53 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.22.tgz", - "integrity": "sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.27.tgz", + "integrity": "sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==", "license": "MIT", "dependencies": { - "@vue/shared": "3.5.22" + "@vue/shared": "3.5.27" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.22.tgz", - "integrity": "sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.27.tgz", + "integrity": "sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.22", - "@vue/shared": "3.5.22" + "@vue/reactivity": "3.5.27", + "@vue/shared": "3.5.27" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.22.tgz", - "integrity": "sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.27.tgz", + "integrity": "sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.22", - "@vue/runtime-core": "3.5.22", - "@vue/shared": "3.5.22", - "csstype": "^3.1.3" + "@vue/reactivity": "3.5.27", + "@vue/runtime-core": "3.5.27", + "@vue/shared": "3.5.27", + "csstype": "^3.2.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.22.tgz", - "integrity": "sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.27.tgz", + "integrity": "sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==", "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.22", - "@vue/shared": "3.5.22" + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27" }, "peerDependencies": { - "vue": "3.5.22" + "vue": "3.5.27" } }, "node_modules/@vue/shared": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.22.tgz", - "integrity": "sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.27.tgz", + "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==", "license": "MIT" }, "node_modules/@vueuse/core": { @@ -1720,9 +1772,9 @@ } }, "node_modules/core-js": { - "version": "3.46.0", - "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.46.0.tgz", - "integrity": "sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==", + "version": "3.48.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.48.0.tgz", + "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", "hasInstallScript": true, "license": "MIT", "funding": { @@ -1759,9 +1811,9 @@ } }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "license": "MIT" }, "node_modules/dayjs": { @@ -1854,9 +1906,9 @@ } }, "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -2056,14 +2108,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.5.4", - "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", - "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", + "version": "5.5.5", + "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", + "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.11.7" + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.12" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -2158,9 +2210,9 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2210,9 +2262,9 @@ } }, "node_modules/exsolve": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.7.tgz", - "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", "dev": true, "license": "MIT" }, @@ -2275,9 +2327,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "dev": true, "license": "ISC", "dependencies": { @@ -2370,9 +2422,9 @@ } }, "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -2755,9 +2807,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -2808,9 +2860,10 @@ } }, "node_modules/less": { - "version": "4.4.2", - "resolved": "https://registry.npmmirror.com/less/-/less-4.4.2.tgz", - "integrity": "sha512-j1n1IuTX1VQjIy3tT7cyGbX7nvQOsFLoIqobZv4ttI5axP923gA44zUj6miiA6R5Aoms4sEGVIIcucXUbRI14g==", + "version": "4.5.1", + "resolved": "https://registry.npmmirror.com/less/-/less-4.5.1.tgz", + "integrity": "sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==", + "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "copy-anything": "^2.0.1", @@ -2882,15 +2935,15 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", "license": "MIT" }, "node_modules/lodash.merge": { @@ -3354,9 +3407,9 @@ } }, "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "version": "3.8.1", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", "bin": { @@ -3370,9 +3423,9 @@ } }, "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", "dev": true, "license": "MIT", "dependencies": { @@ -3501,9 +3554,9 @@ } }, "node_modules/rollup": { - "version": "4.52.5", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.52.5.tgz", - "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", + "version": "4.56.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.56.0.tgz", + "integrity": "sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==", "dev": true, "license": "MIT", "dependencies": { @@ -3517,28 +3570,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.5", - "@rollup/rollup-android-arm64": "4.52.5", - "@rollup/rollup-darwin-arm64": "4.52.5", - "@rollup/rollup-darwin-x64": "4.52.5", - "@rollup/rollup-freebsd-arm64": "4.52.5", - "@rollup/rollup-freebsd-x64": "4.52.5", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", - "@rollup/rollup-linux-arm-musleabihf": "4.52.5", - "@rollup/rollup-linux-arm64-gnu": "4.52.5", - "@rollup/rollup-linux-arm64-musl": "4.52.5", - "@rollup/rollup-linux-loong64-gnu": "4.52.5", - "@rollup/rollup-linux-ppc64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-musl": "4.52.5", - "@rollup/rollup-linux-s390x-gnu": "4.52.5", - "@rollup/rollup-linux-x64-gnu": "4.52.5", - "@rollup/rollup-linux-x64-musl": "4.52.5", - "@rollup/rollup-openharmony-arm64": "4.52.5", - "@rollup/rollup-win32-arm64-msvc": "4.52.5", - "@rollup/rollup-win32-ia32-msvc": "4.52.5", - "@rollup/rollup-win32-x64-gnu": "4.52.5", - "@rollup/rollup-win32-x64-msvc": "4.52.5", + "@rollup/rollup-android-arm-eabi": "4.56.0", + "@rollup/rollup-android-arm64": "4.56.0", + "@rollup/rollup-darwin-arm64": "4.56.0", + "@rollup/rollup-darwin-x64": "4.56.0", + "@rollup/rollup-freebsd-arm64": "4.56.0", + "@rollup/rollup-freebsd-x64": "4.56.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.56.0", + "@rollup/rollup-linux-arm-musleabihf": "4.56.0", + "@rollup/rollup-linux-arm64-gnu": "4.56.0", + "@rollup/rollup-linux-arm64-musl": "4.56.0", + "@rollup/rollup-linux-loong64-gnu": "4.56.0", + "@rollup/rollup-linux-loong64-musl": "4.56.0", + "@rollup/rollup-linux-ppc64-gnu": "4.56.0", + "@rollup/rollup-linux-ppc64-musl": "4.56.0", + "@rollup/rollup-linux-riscv64-gnu": "4.56.0", + "@rollup/rollup-linux-riscv64-musl": "4.56.0", + "@rollup/rollup-linux-s390x-gnu": "4.56.0", + "@rollup/rollup-linux-x64-gnu": "4.56.0", + "@rollup/rollup-linux-x64-musl": "4.56.0", + "@rollup/rollup-openbsd-x64": "4.56.0", + "@rollup/rollup-openharmony-arm64": "4.56.0", + "@rollup/rollup-win32-arm64-msvc": "4.56.0", + "@rollup/rollup-win32-ia32-msvc": "4.56.0", + "@rollup/rollup-win32-x64-gnu": "4.56.0", + "@rollup/rollup-win32-x64-msvc": "4.56.0", "fsevents": "~2.3.2" } }, @@ -3574,11 +3630,14 @@ "optional": true }, "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "license": "ISC", - "optional": true + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "optional": true, + "engines": { + "node": ">=11.0.0" + } }, "node_modules/scroll-into-view-if-needed": { "version": "2.2.31", @@ -3707,9 +3766,9 @@ } }, "node_modules/synckit": { - "version": "0.11.11", - "resolved": "https://registry.npmmirror.com/synckit/-/synckit-0.11.11.tgz", - "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", + "version": "0.11.12", + "resolved": "https://registry.npmmirror.com/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3723,9 +3782,9 @@ } }, "node_modules/terser": { - "version": "5.44.1", - "resolved": "https://registry.npmmirror.com/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "version": "5.46.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -3851,16 +3910,16 @@ } }, "node_modules/ufo": { - "version": "1.6.1", - "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.1.tgz", - "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", "dev": true, "license": "MIT" }, "node_modules/unplugin": { - "version": "2.3.10", - "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-2.3.10.tgz", - "integrity": "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==", + "version": "2.3.11", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-2.3.11.tgz", + "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", "dev": true, "license": "MIT", "dependencies": { @@ -3970,9 +4029,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "7.3.0", - "resolved": "https://registry.npmmirror.com/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", "dependencies": { @@ -4101,16 +4160,16 @@ } }, "node_modules/vue": { - "version": "3.5.22", - "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.22.tgz", - "integrity": "sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==", + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.27.tgz", + "integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.22", - "@vue/compiler-sfc": "3.5.22", - "@vue/runtime-dom": "3.5.22", - "@vue/server-renderer": "3.5.22", - "@vue/shared": "3.5.22" + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-sfc": "3.5.27", + "@vue/runtime-dom": "3.5.27", + "@vue/server-renderer": "3.5.27", + "@vue/shared": "3.5.27" }, "peerDependencies": { "typescript": "*" @@ -4192,13 +4251,13 @@ } }, "node_modules/vue-i18n": { - "version": "9.14.5", - "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.14.5.tgz", - "integrity": "sha512-0jQ9Em3ymWngyiIkj0+c/k7WgaPO+TNzjKSNq9BvBQaKJECqn9cd9fL4tkDhB5G1QBskGl9YxxbDAhgbFtpe2g==", + "version": "9.14.4", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.14.4.tgz", + "integrity": "sha512-B934C8yUyWLT0EMud3DySrwSUJI7ZNiWYsEEz2gknTthqKiG4dzWE/WSa8AzCuSQzwBEv4HtG1jZDhgzPfWSKQ==", "license": "MIT", "dependencies": { - "@intlify/core-base": "9.14.5", - "@intlify/shared": "9.14.5", + "@intlify/core-base": "9.14.4", + "@intlify/shared": "9.14.4", "@vue/devtools-api": "^6.5.0" }, "engines": { @@ -4212,9 +4271,9 @@ } }, "node_modules/vue-router": { - "version": "4.6.3", - "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.3.tgz", - "integrity": "sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==", + "version": "4.6.4", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.6.4" diff --git a/package.json b/package.json index 0ede05180a4c335dc520b18e4494da2218895866..1af3b100c704a8886a3eca0a45d4fe9a1445b17c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "topsky-hotel-management-system-vue3", "private": true, - "version": "0.0.0", + "version": "1.0.0", "type": "module", "scripts": { "dev": "vite", @@ -30,7 +30,7 @@ }, "devDependencies": { "@ant-design/icons-vue": "^7.0.1", - "@vitejs/plugin-vue": "^5.2.1", + "@vitejs/plugin-vue": "^6.0.3", "@vue/eslint-config-prettier": "^9.0.0", "eslint": "^8.57.0", "eslint-plugin-vue": "^9.26.0", diff --git a/src/api/departmentapi.js b/src/api/departmentapi.js index b2b6cc257dc236f9ba1b96036a58f906b6af825a..060545a433fe638a4aca844e6c510695a27dc894 100644 --- a/src/api/departmentapi.js +++ b/src/api/departmentapi.js @@ -33,7 +33,7 @@ export const updateDepartment = async (data) => { // 删除部门 export const deleteDepartment = async (data) => { try { - const response = await api.post(`/Base/DelDept`, data); + const response = await api.post(`/Base/DelDept`, { data }); return response.data; } catch (error) { throw error; diff --git a/src/api/index.js b/src/api/index.js index 0719d54b491c5076558f4eea492acdcb9ac79ca7..23922dd61aa71509376cc02de255c490cb7f1879 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -5,7 +5,7 @@ import { handleApiError, handleHttpError } from "@/common/errorHandler"; const api = axios.create({ baseURL: import.meta.env.VITE_API_URL, - timeout: 10000, + timeout: 30000, withCredentials: true, }); diff --git a/src/common/errorHandler.js b/src/common/errorHandler.js index 93c2e1f8ec65de0c7aa1d74aba574c379642e586..8b43ae2076131879af914aaada8877ab2fc17390 100644 --- a/src/common/errorHandler.js +++ b/src/common/errorHandler.js @@ -1,4 +1,3 @@ -import router from "@/router"; import i18n from "@/i18n"; import { showErrorNotification, showWarningNotification } from "@/utils"; import { redirectToLogin, handleLogout } from "@/utils/auth"; @@ -121,6 +120,18 @@ export function handleApiError(resData, response) { // 处理网络或 HTTP 层错误 export function handleHttpError(error) { + if (import.meta.env.DEV) { + // eslint-disable-next-line no-console + console.error("[HTTP Error]", { + code: error?.code, + message: error?.message, + url: error?.config?.url, + method: error?.config?.method, + status: error?.response?.status, + params: error?.config?.params, + }); + } + if (error && error.response) { const status = error.response.status; const resData = error.response.data; @@ -171,18 +182,26 @@ export function handleHttpError(error) { } // 网络或其他错误 - // 清理敏感信息并跳转登录作为兜底 - localStorage.removeItem("token"); - localStorage.removeItem("username"); - localStorage.removeItem("account"); - showErrorNotification( - i18n.global.t("message.networkError") || "网络连接异常,请检查网络", - ); - router.push("/signin"); + // 网络异常时不强制退出或跳转,仅提示错误 + const isTimeout = + error?.code === "ECONNABORTED" || + (typeof error?.message === "string" && + error.message.toLowerCase().includes("timeout")); + const fallbackMessage = isTimeout + ? "请求超时,请稍后重试" + : "网络连接异常,请检查网络"; + const displayMessage = isTimeout + ? i18n.global.te("message.requestTimeout") + ? i18n.global.t("message.requestTimeout") + : fallbackMessage + : i18n.global.te("message.networkError") + ? i18n.global.t("message.networkError") + : fallbackMessage; + showErrorNotification(displayMessage); return Promise.reject({ success: false, - code: 9001, - message: i18n.global.t("message.networkError") || "网络连接错误", + code: isTimeout ? 9002 : 9001, + message: displayMessage, }); } diff --git a/src/entities/administrator.entity.js b/src/entities/administrator.entity.js index 9afa557a90e151c52f947b0cd1d13589f6f2900d..eceaf8e6b019c8f096234c3a3677c217fe9d7ae3 100644 --- a/src/entities/administrator.entity.js +++ b/src/entities/administrator.entity.js @@ -34,6 +34,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.adminNumber"), dataIndex: AdministratorFields.NUMBER, @@ -82,10 +93,6 @@ export const getColumns = (t) => [ dataIndex: AdministratorFields.ISSUPERADMINDESCRIPTION, key: AdministratorFields.ISSUPERADMINDESCRIPTION, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t, isEditMode = false) => ({ diff --git a/src/entities/administratortype.entity.js b/src/entities/administratortype.entity.js index 9627e537819e89d57c33a6da39c71311cb908a90..634e342a968843869fc935f6ef4ac24eaa4031b6 100644 --- a/src/entities/administratortype.entity.js +++ b/src/entities/administratortype.entity.js @@ -17,6 +17,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.adminTypeNumber"), dataIndex: AdministratorTypeFields.NUMBER, @@ -36,10 +47,6 @@ export const getColumns = (t) => [ b[AdministratorTypeFields.NAME], ), }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/common.entity.js b/src/entities/common.entity.js index 5f55dd48c4c0b3c943ffb3d9248f42979b570f21..c0fc0e17ba6b7adad1cb6fd7db43f1ec6c2aec14 100644 --- a/src/entities/common.entity.js +++ b/src/entities/common.entity.js @@ -6,7 +6,8 @@ export const BaseFields = { MODIFYSTATUS: "ModifyStatus", PAGE: "Page", PAGE_SIZE: "PageSize", - VERSION: "RowVersion", + ROWVERSION: "RowVersion", + SELECTED: "selected", }; export const BaseInitialValues = { @@ -17,5 +18,5 @@ export const BaseInitialValues = { [BaseFields.MODIFYSTATUS]: "", [BaseFields.PAGE]: 1, [BaseFields.PAGE_SIZE]: 15, - [BaseFields.VERSION]: 0, + [BaseFields.ROWVERSION]: 0, }; diff --git a/src/entities/customer.entity.js b/src/entities/customer.entity.js index bed94054550e4feaa02501c8e5b3db9e00c58e56..d417803df98557970a669fe63f7befda7c3e0fd2 100644 --- a/src/entities/customer.entity.js +++ b/src/entities/customer.entity.js @@ -48,6 +48,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.customerNo"), dataIndex: CustomerFields.NUMBER, @@ -64,7 +75,7 @@ export const getColumns = (t) => [ a[CustomerFields.NAME].localeCompare(b[CustomerFields.NAME]), }, { - title: t("message.customerSex"), + title: t("message.customerGender"), dataIndex: CustomerFields.GENDER_NAME, key: CustomerFields.GENDER_NAME, }, @@ -114,10 +125,6 @@ export const getColumns = (t) => [ dataIndex: CustomerFields.ADDRESS, key: CustomerFields.ADDRESS, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ @@ -134,8 +141,8 @@ export const getFormRules = (t) => ({ [CustomerFields.GENDER]: [ { required: true, - message: t("message.pleaseInputCustomerSex", { - field: t("message.customerSex"), + message: t("message.pleaseInputCustomerGender", { + field: t("message.customerGender"), }), trigger: "change", }, diff --git a/src/entities/customertype.entity.js b/src/entities/customertype.entity.js index 3d6241650830feb539f3383db26f95c377c91000..724844f91f88b5573dcd0702fde7899a774fd3ed 100644 --- a/src/entities/customertype.entity.js +++ b/src/entities/customertype.entity.js @@ -19,6 +19,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.customerTypeNo"), dataIndex: CustomerTypeFields.NUMBER, @@ -40,10 +51,6 @@ export const getColumns = (t) => [ dataIndex: CustomerTypeFields.DISCOUNT, key: CustomerTypeFields.DISCOUNT, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/department.entity.js b/src/entities/department.entity.js index 704861a0a4046a12c64f6bedc9b49a90aa81049a..8f4b1bb18543b933af2e7a31128bcfd97c7e6519 100644 --- a/src/entities/department.entity.js +++ b/src/entities/department.entity.js @@ -34,13 +34,24 @@ export const initialFormValues = { }, }; -export const getColumns = (t) => [ +export const getColumns = (t, handleView) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.departmentNo"), dataIndex: DepartmentFields.NUMBER, key: DepartmentFields.NUMBER, sorter: (a, b) => - a[DepartmentFields.NUMBER].localeCompare(b[DepartmentFields.NUMBER]), + a[DepartmentFields.NUMBER]?.localeCompare(b[DepartmentFields.NUMBER]), defaultSortOrder: "ascend", }, { @@ -68,10 +79,6 @@ export const getColumns = (t) => [ dataIndex: DepartmentFields.CREATIONDATE, key: DepartmentFields.CREATIONDATE, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/employee.entity.js b/src/entities/employee.entity.js index 36b3479942ec61ea393f879a3b65bcb30b019561..0d6099ea38642940a31b674ec951e4a4bd98e460 100644 --- a/src/entities/employee.entity.js +++ b/src/entities/employee.entity.js @@ -70,6 +70,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.staffId"), dataIndex: EmployeeFields.NUMBER, @@ -84,13 +95,13 @@ export const getColumns = (t) => [ key: EmployeeFields.NAME, }, { - title: t("message.staffSex"), + title: t("message.staffGender"), dataIndex: EmployeeFields.GENDER, key: EmployeeFields.GENDER, hidden: true, }, { - title: t("message.staffSex"), + title: t("message.staffGender"), dataIndex: EmployeeFields.GENDERNAME, key: EmployeeFields.GENDERNAME, }, @@ -176,10 +187,6 @@ export const getColumns = (t) => [ dataIndex: EmployeeFields.ISENABLE, key: EmployeeFields.ISENABLE, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ @@ -193,7 +200,7 @@ export const getFormRules = (t) => ({ [EmployeeFields.GENDER]: [ { required: true, - message: t("message.pleaseInputStaffSex"), + message: t("message.pleaseInputStaffGender"), trigger: "blur", }, ], diff --git a/src/entities/energymanagement.entity.js b/src/entities/energymanagement.entity.js index 6bcb5436e1948d86786823221686ac601e4bceeb..4fa867ed172c659ef10d877cb4425660146c7d82 100644 --- a/src/entities/energymanagement.entity.js +++ b/src/entities/energymanagement.entity.js @@ -30,6 +30,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.wtiNo"), dataIndex: [EnergyManagementFields.NUMBER], @@ -74,10 +85,6 @@ export const getColumns = (t) => [ dataIndex: [EnergyManagementFields.RECORDER], key: [EnergyManagementFields.RECORDER], }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/goods.entity.js b/src/entities/goods.entity.js index 628856805b830e7158d2b031e7f7599671b57024..20a2d61846eab5a0d75713a15abd74fdc815fa2c 100644 --- a/src/entities/goods.entity.js +++ b/src/entities/goods.entity.js @@ -23,6 +23,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.goodsNumber"), dataIndex: GoodsFields.NUMBER, @@ -52,10 +63,6 @@ export const getColumns = (t) => [ dataIndex: GoodsFields.STOCK, key: GoodsFields.STOCK, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/internalfinance.entity.js b/src/entities/internalfinance.entity.js index d4c492f31b4e2d1f1c4b4544c03a52c54a0579e6..9c66ee7eed36d2c9f61f47a6450413e124086c76 100644 --- a/src/entities/internalfinance.entity.js +++ b/src/entities/internalfinance.entity.js @@ -33,6 +33,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.internalfinanceNo"), dataIndex: InternalFinanceFields.NUMBER, @@ -91,10 +102,6 @@ export const getColumns = (t) => [ dataIndex: InternalFinanceFields.ACQUIREDBYEMPLOYEENAME, key: InternalFinanceFields.ACQUIREDBYEMPLOYEENAME, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/log.entity.js b/src/entities/log.entity.js index 5566bcbb384a2e4724f1af25be21d1c8ddc56c74..a9e832b9fbb8c89ed76e39ace5cd3836c3b92963 100644 --- a/src/entities/log.entity.js +++ b/src/entities/log.entity.js @@ -39,6 +39,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.operationTime"), dataIndex: LogFields.TIME, @@ -76,10 +87,6 @@ export const getColumns = (t) => [ dataIndex: LogFields.IPADDRESS, key: LogFields.IPADDRESS, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/menu.entity.js b/src/entities/menu.entity.js index 3affa4cba5a52bb1493416d31847c0edfeab58eb..3a93831e4f2be9aee21daaadede13618110ac56f 100644 --- a/src/entities/menu.entity.js +++ b/src/entities/menu.entity.js @@ -23,6 +23,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.menuId"), dataIndex: MenuFields.ID, @@ -53,10 +64,6 @@ export const getColumns = (t) => [ dataIndex: MenuFields.ICON, key: MenuFields.ICON, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/nation.entity.js b/src/entities/nation.entity.js index ebec18db758cf9f2e2bcd795d92efc80deba4ade..072cee8998189b7e2ade5b3126c5c70c3bab1419 100644 --- a/src/entities/nation.entity.js +++ b/src/entities/nation.entity.js @@ -17,6 +17,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.nationNo"), dataIndex: NationFields.NUMBER, @@ -30,10 +41,6 @@ export const getColumns = (t) => [ dataIndex: NationFields.NAME, key: NationFields.NAME, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/noticetype.entity.js b/src/entities/noticetype.entity.js index 47c147a900035caebfb06e6121e8116267ec8246..8ca721ce19d08937f1c96b1e4af4ed4bdb4aaa5b 100644 --- a/src/entities/noticetype.entity.js +++ b/src/entities/noticetype.entity.js @@ -17,6 +17,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.noticeTypeNumber"), dataIndex: NoticeTypeFields.NUMBER, @@ -28,10 +39,6 @@ export const getColumns = (t) => [ dataIndex: NoticeTypeFields.NAME, key: NoticeTypeFields.NAME, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/passport.entity.js b/src/entities/passport.entity.js index 063351769c74168e7d33b039b17953c9f3b55a78..29e9562437034c1c4e475252d48f49ace509eb03 100644 --- a/src/entities/passport.entity.js +++ b/src/entities/passport.entity.js @@ -17,6 +17,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.passportNo"), dataIndex: PassportFields.NUMBER, @@ -33,10 +44,6 @@ export const getColumns = (t) => [ dataIndex: PassportFields.NAME, key: PassportFields.NAME, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/position.entity.js b/src/entities/position.entity.js index f8da492c129c01c232e87426dac013908a155157..1d98564c7e89d176eea799576e0155f740f2efde 100644 --- a/src/entities/position.entity.js +++ b/src/entities/position.entity.js @@ -17,6 +17,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.positionNo"), dataIndex: PositionFields.NUMBER, @@ -30,10 +41,6 @@ export const getColumns = (t) => [ dataIndex: PositionFields.NAME, key: PositionFields.NAME, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/promotioncontent.entity.js b/src/entities/promotioncontent.entity.js index c1a8c5a65e8cb7a893d431a037cbef1da614593a..175638ad341bd77df704fac9a7ee99d8e0259c23 100644 --- a/src/entities/promotioncontent.entity.js +++ b/src/entities/promotioncontent.entity.js @@ -17,6 +17,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.id"), dataIndex: PromotionContentFields.ID, @@ -32,10 +43,6 @@ export const getColumns = (t) => [ dataIndex: PromotionContentFields.MESSAGE, key: PromotionContentFields.MESSAGE, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/qualification.entity.js b/src/entities/qualification.entity.js index a41f81b1b6bee3537340ec8853f1a6726abbdd42..4bcb907d4d67a43b1e6345b2fc92ebce2859a494 100644 --- a/src/entities/qualification.entity.js +++ b/src/entities/qualification.entity.js @@ -17,6 +17,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.qualificationNo"), dataIndex: EducationFields.NUMBER, @@ -30,10 +41,6 @@ export const getColumns = (t) => [ dataIndex: EducationFields.NAME, key: EducationFields.NAME, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/reser.entity.js b/src/entities/reser.entity.js index 1c4ff2dad0c1bd1d4e56a51321b5c00ca679b336..2f78aa5780987ba385dcce5b510e3c781eea0b01 100644 --- a/src/entities/reser.entity.js +++ b/src/entities/reser.entity.js @@ -28,6 +28,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.reserNo"), dataIndex: ReserFields.NUMBER, @@ -72,10 +83,6 @@ export const getColumns = (t) => [ dataIndex: ReserFields.ENDDATE, key: ReserFields.ENDDATE, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/role.entity.js b/src/entities/role.entity.js index b2af952b0941cdebf42c3253c279e4359fe4aa21..caaa0396387539ae17f426bfc09759d86880f8af 100644 --- a/src/entities/role.entity.js +++ b/src/entities/role.entity.js @@ -19,6 +19,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.roleNumber"), dataIndex: RoleFields.NUMBER, @@ -36,10 +47,6 @@ export const getColumns = (t) => [ dataIndex: RoleFields.DESCRIPTION, key: RoleFields.DESCRIPTION, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/room.entity.js b/src/entities/room.entity.js index c698bd06c40660c666e1cb9217f7a37c67f8e339..34054c35b12791546016536d1a18556b0c809385 100644 --- a/src/entities/room.entity.js +++ b/src/entities/room.entity.js @@ -51,6 +51,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.roomNo"), dataIndex: RoomFields.NO, @@ -95,10 +106,6 @@ export const getColumns = (t) => [ dataIndex: RoomFields.POSITION, key: RoomFields.POSITION, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/roomconfig.entity.js b/src/entities/roomconfig.entity.js index a0e30febceebfe6a42df0b40e558e853d6837f54..67e31a88500027100f5face1b140f47157d8723a 100644 --- a/src/entities/roomconfig.entity.js +++ b/src/entities/roomconfig.entity.js @@ -21,6 +21,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.roomTypeCode"), dataIndex: RoomConfigFields.NO, @@ -44,10 +55,6 @@ export const getColumns = (t) => [ dataIndex: RoomConfigFields.DEPOSIT, key: RoomConfigFields.DEPOSIT, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/spendinfo.entity.js b/src/entities/spendinfo.entity.js index 25ce35354a83c932a99d13c949fc5ded7ffc6bbd..86a2629145f254ae635370b3219675531768ace6 100644 --- a/src/entities/spendinfo.entity.js +++ b/src/entities/spendinfo.entity.js @@ -53,6 +53,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.spendNumber"), dataIndex: SpendInfoFields.NUMBER, @@ -120,11 +131,6 @@ export const getColumns = (t) => [ key: SpendInfoFields.STATE, width: 100, }, - { - title: t("message.operation"), - key: "operation", - width: 120, - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/supervision.entity.js b/src/entities/supervision.entity.js index 7c8b3e8864cc29d92086e7b8ed6e42791a6ec15b..97e3bc65ff3d54546bb1650389ca4549dfbab7c6 100644 --- a/src/entities/supervision.entity.js +++ b/src/entities/supervision.entity.js @@ -28,6 +28,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.checkNo"), dataIndex: SupervisionFields.CHECK_NO, @@ -74,10 +85,6 @@ export const getColumns = (t) => [ dataIndex: SupervisionFields.CHECK_ADVICE, key: SupervisionFields.CHECK_ADVICE, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/entities/viprule.entity.js b/src/entities/viprule.entity.js index c996ece353630a998bbc7c195b583111a8ea5e8a..2524ffbc3c532016e715c652a66579f5f45ee75b 100644 --- a/src/entities/viprule.entity.js +++ b/src/entities/viprule.entity.js @@ -22,6 +22,17 @@ export const initialFormValues = { }; export const getColumns = (t) => [ + { + title: "", + dataIndex: "selection", + key: "selection", + width: 50, + }, + { + title: t("message.action"), + key: "action", + width: 100, + }, { title: t("message.vipRuleId"), dataIndex: VipRuleFields.NUMBER, @@ -48,10 +59,6 @@ export const getColumns = (t) => [ dataIndex: VipRuleFields.CUSTOMER_TYPE_NAME, key: VipRuleFields.CUSTOMER_TYPE_NAME, }, - { - title: t("message.operation"), - key: "operation", - }, ]; export const getFormRules = (t) => ({ diff --git a/src/filters/administatortype.filter.config.js b/src/filters/administatortype.filter.config.js new file mode 100644 index 0000000000000000000000000000000000000000..c785ee833427c6648c5b39975e5ba392160f7177 --- /dev/null +++ b/src/filters/administatortype.filter.config.js @@ -0,0 +1,15 @@ +import { AdministratorTypeFields } from "@/entities/administratortype.entity"; + +export const getAdminTypeFilterConfig = (t) => { + return { + title: t("message.adminTypeFilter"), + fields: [ + { + name: AdministratorTypeFields.NAME, + type: "text", + label: t("message.adminTypeName"), + placeholder: t("message.pleaseInputAdminTypeName"), + }, + ], + }; +}; diff --git a/src/filters/administrator.filter.config.js b/src/filters/administrator.filter.config.js new file mode 100644 index 0000000000000000000000000000000000000000..8d774d96bb293f44f958c1c2a348de56e15cf50b --- /dev/null +++ b/src/filters/administrator.filter.config.js @@ -0,0 +1,28 @@ +import { AdministratorFields } from "@/entities/administrator.entity"; + +export const getAdministratorFilterConfig = (t, adminTypeOptions) => { + return { + title: t("message.administratorFilter"), + fields: [ + { + name: AdministratorFields.ACCOUNT, + type: "text", + label: t("message.adminAccount"), + placeholder: t("message.pleaseInputAdminAccount"), + }, + { + name: AdministratorFields.NAME, + type: "text", + label: t("message.adminName"), + placeholder: t("message.pleaseInputAdminName"), + }, + { + name: AdministratorFields.TYPE, + type: "select", + label: t("message.adminType"), + placeholder: t("message.pleaseInputAdminType"), + options: adminTypeOptions, + }, + ], + }; +}; diff --git a/src/filters/customer.filter.config.js b/src/filters/customer.filter.config.js index df1d79b32ab60abd207bec87486f0fcbe75d9502..8602f456fca8753527b3259672588d936f316664 100644 --- a/src/filters/customer.filter.config.js +++ b/src/filters/customer.filter.config.js @@ -32,7 +32,7 @@ export const getCustomerFilterConfig = (t, customerTypeOptions) => { { name: CustomerFields.GENDER, type: "select", - label: t("message.customerSex"), + label: t("message.customerGender"), placeholder: t("message.pleaseSelect"), options: [ { value: 0, label: t("message.female") }, diff --git a/src/filters/employee.filter.config.js b/src/filters/employee.filter.config.js index 7cd3c0d8d7110ef050db8afe22077c1ea34b9620..0964cb241fe1e2fb3171b594f311240c48ca3054 100644 --- a/src/filters/employee.filter.config.js +++ b/src/filters/employee.filter.config.js @@ -5,6 +5,7 @@ export const getEmployeeFilterConfig = ( t, departmentOptions, positionOptions, + educationOptions, ) => { return { title: t("message.employeeFilter"), @@ -35,6 +36,13 @@ export const getEmployeeFilterConfig = ( placeholder: t("message.pleaseSelect"), options: positionOptions, }, + { + name: EmployeeFields.EDUCATIONLEVEL, + type: "select", + label: t("message.staffEducation"), + placeholder: t("message.pleaseSelect"), + options: educationOptions, + }, { name: EmployeeFields.GENDER, type: "select", diff --git a/src/filters/menu.filter.config.js b/src/filters/menu.filter.config.js new file mode 100644 index 0000000000000000000000000000000000000000..2d65bafb8e3eba10f816af11d07f6b0f9916ddff --- /dev/null +++ b/src/filters/menu.filter.config.js @@ -0,0 +1,15 @@ +import { MenuFields } from "@/entities/menu.entity"; + +export const getMenuFilterConfig = (t) => { + return { + title: t("message.menuFilter"), + fields: [ + { + name: MenuFields.TITLE, + type: "text", + label: t("message.menuTitle"), + placeholder: t("message.pleaseInputMenuTitle"), + }, + ], + }; +}; diff --git a/src/filters/role.filter.config.js b/src/filters/role.filter.config.js new file mode 100644 index 0000000000000000000000000000000000000000..8dd2bdb7ad0a38459e137a4eaf3698ef7bb9c2c2 --- /dev/null +++ b/src/filters/role.filter.config.js @@ -0,0 +1,21 @@ +import { RoleFields } from "@/entities/role.entity"; + +export const getRoleFilterConfig = (t) => { + return { + title: t("message.roleFilter"), + fields: [ + { + name: RoleFields.NUMBER, + type: "text", + label: t("message.roleNumber"), + placeholder: t("message.pleaseInputRoleNumber"), + }, + { + name: RoleFields.NAME, + type: "text", + label: t("message.roleName"), + placeholder: t("message.pleaseInputRoleName"), + }, + ], + }; +}; diff --git a/src/filters/supervision.filter.config.js b/src/filters/supervision.filter.config.js new file mode 100644 index 0000000000000000000000000000000000000000..da0e923b9d7ae6bb2a528acb30271c39bc309601 --- /dev/null +++ b/src/filters/supervision.filter.config.js @@ -0,0 +1,40 @@ +import { SupervisionFields } from "@/entities/supervision.entity"; + +export const getSupervisionFilterConfig = (t, departmentOptions) => { + return { + title: t("message.supervisionFilter"), + fields: [ + { + name: SupervisionFields.CHECK_NO, + type: "text", + label: t("message.checkNo"), + placeholder: t("message.pleaseInputCheckNo"), + }, + { + name: SupervisionFields.CHECK_CLUB, + type: "select", + label: t("message.checkDepartment"), + placeholder: t("message.pleaseSelect"), + options: departmentOptions, + }, + { + name: SupervisionFields.CHECK_PROGRES, + type: "text", + label: t("message.checkProgres"), + placeholder: t("message.pleaseInputCheckProgres"), + }, + { + name: SupervisionFields.CHECK_PERSON, + type: "text", + label: t("message.checkPerson"), + placeholder: t("message.pleaseInputCheckPerson"), + }, + { + name: SupervisionFields.CHECK_ADVICE, + type: "text", + label: t("message.checkAdvice"), + placeholder: t("message.pleaseInputCheckAdvice"), + }, + ], + }; +}; diff --git a/src/i18n.js b/src/i18n.js index 615a6b0d5681e582cfcbf22f9787d3d8594f3d49..cb0915ace2e56d273a034d473dddc1a273e8c53a 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -19,6 +19,7 @@ const messages = { view: "View", disabled: "Disabled", enabled: "Enabled", + disableEnable: "Disable/Enable", yes: "Yes", no: "No", ok: "OK", @@ -34,6 +35,7 @@ const messages = { changeAvatar: "Change Avatar", uploadFailed: "Upload Failed", avatarUpdateSuccess: "Avatar Update Success", + selectedRecordNotFound: "Selected record not found", uploadImageOnly: "Only image format is supported", imageSizeLimit: "Image size cannot exceed 1MB", loading: "Loading...", @@ -41,6 +43,7 @@ const messages = { loginExpired: "Login Expired, please login again", uploading: "Uploading...", uploadSuccess: "Upload Success", + batchDeleteSuccess: "Batch Delete Success", resetPassword: "Reset Password", selectYourLang: "Please choose your language", refreshData: "Refresh Data", @@ -48,6 +51,7 @@ const messages = { updateSuccess: "Update Success", deleteSuccess: "Delete Success", restoreSuccess: "Restore Success", + operationSuccess: "Operation Success", restore: "Restore", operationFailed: "Operation Failed", deleteFailed: "Delete Failed", @@ -65,6 +69,9 @@ const messages = { backToHome: "Back to Home Page", isDeleted: "Is Deleted?", areYouSureToDeleteRecord: "Are you sure to delete this record?", + areYouSureToDeleteSelectedRecords: + "Are you sure to delete selected records?", + action: "Action", areYouSureToRestoreRecord: "Are you sure to restore this record?", checkUsernameAndPassword: "Please check username and password", fetchDataFailed: "Fetch Data Failed", @@ -150,6 +157,8 @@ const messages = { department: "Department Management", insertDepartment: "Create Department", updateDepartment: "Edit Department", + viewDepartment: "View Department", + deleteDepartment: "Delete Department", pleaseInputDepartmentName: "Please input department name", pleaseInputDepartmentNo: "Please input department no", pleaseInputDepartmentLeader: "Please select department leader", @@ -164,6 +173,8 @@ const messages = { nation: "Nation Management", insertNation: "Create Nation", updateNation: "Edit Nation", + deleteNation: "Delete Nation", + viewNation: "View Nation", pleaseInputNationName: "Please input nation name", pleaseInputNationNo: "Please input nation no", nationNo: "Nation No", @@ -172,6 +183,8 @@ const messages = { position: "Position Management", insertPosition: "Create Position", updatePosition: "Edit Position", + deletePosition: "Delete Position", + viewPosition: "View Position", pleaseInputPositionName: "Please input position name", pleaseInputPositionNo: "Please input position no", positionNo: "Position No", @@ -180,6 +193,8 @@ const messages = { qualification: "Qualification Management", insertQualification: "Create Qualification", updateQualification: "Edit Qualification", + viewQualification: "View Qualification", + deleteQualification: "Delete Qualification", pleaseInputQualificationName: "Please input qualification name", pleaseInputQualificationNo: "Please input qualification no", qualificationNo: "Qualification No", @@ -188,6 +203,8 @@ const messages = { passport: "Passport Management", insertPassport: "Create Passport", updatePassport: "Edit Passport", + viewPassport: "View Passport", + deletePassport: "Delete Passport", pleaseInputPassportName: "Please input passport name", pleaseInputPassportNo: "Please input passport no", passportNo: "Passport No", @@ -196,6 +213,8 @@ const messages = { noticetype: "Notice Type Management", insertNoticeType: "Create Notice Type", updateNoticeType: "Edit Notice Type", + viewNoticeType: "View Notice Type", + deleteNoticeType: "Delete Notice Type", pleaseInputNoticeTypeName: "Please input notice type name", pleaseInputNoticeTypeNumber: "Please input notice type number", noticeTypeNumber: "Notice Type No", @@ -204,6 +223,8 @@ const messages = { internalfinance: "Internal Finance Bill", insertInternalFinance: "Create Internal Finance", updateInternalFinance: "Edit Internal Finance", + viewInternalFinance: "View Internal Finance", + deleteInternalFinance: "Delete Internal Finance", pleaseInputInternalFinanceName: "Please input internal finance name", pleaseInputInternalFinanceNo: "Please input internal finance no", pleaseInputInternalFinancePrice: "Please input internal finance price", @@ -221,6 +242,7 @@ const messages = { internalfinancePerson: "Internal Finance Person", hydroelectricity: "Hydroelectricity Management", + viewHydroelectricity: "View Hydroelectricity", updateHydroelectricity: "Edit Hydroelectricity", pleaseInputWaterUse: "Please input Hydroelectricity Use Date", pleaseInputPowerUse: "Please input Hydroelectricity End Date", @@ -240,6 +262,9 @@ const messages = { supervisioninfo: "Supervision Information", insertSupervisionInfo: "Create SupervisionInfo", updateSupervisionInfo: "Edit SupervisionInfo", + viewSupervisionInfo: "View SupervisionInfo", + deleteSupervisionInfo: "Delete SupervisionInfo", + pleaseInputCheckNo: "Please input SupervisionInfo Check No", pleaseInputCheckDepartment: "Please input SupervisionInfo Check Department", pleaseInputCheckProgres: "Please input SupervisionInfo Check Progress", @@ -248,7 +273,7 @@ const messages = { pleaseInputCheckPerson: "Please input SupervisionInfo Check Person", pleaseInputCheckAdvice: "Please input SupervisionInfo Check Advice", checkNo: "SupervisionInfo No", - checkDepartment: "Check Depeartment", + checkDepartment: "Check Department", checkProgres: "Check Progress", checkCash: "Check Cash", checkScore: "Check Score", @@ -261,6 +286,8 @@ const messages = { roommanagement: "Room Management", insertRoom: "Create Room", updateRoom: "Edit Room", + viewRoom: "View Room", + deleteRoom: "Delete Room", pleaseInputRoomNo: "Please input Room No", pleaseInputRoomType: "Please input Room Type", pleaseInputCustoNo: "Please input Room Customer", @@ -280,6 +307,8 @@ const messages = { roomconfig: "Room Configuration", insertRoomConfig: "Create Room Configuration", updateRoomConfig: "Edit Room Configuration", + viewRoomConfig: "View Room Configuration", + deleteRoomConfig: "Delete Room Configuration", pleaseInputRoomTypeCode: "Please input Room Type Code", pleaseInputRoomTypeName: "Please input Room Type Name", roomTypeCode: "Room Type Code", @@ -289,6 +318,8 @@ const messages = { viprule: "Vip Rule Management", insertVipRule: "Create Vip Rule", updateVipRule: "Edit Vip Rule", + viewVipRule: "View Vip Rule", + deleteVipRule: "Delete Vip Rule", pleaseInputVipRuleId: "Please input Vip Rule ID", pleaseInputVipRuleName: "Please input Vip Rule Name", pleaseInputVipRuleValue: "Please input Vip Rule Value", @@ -301,9 +332,11 @@ const messages = { customermanagement: "Customer Management", insertCustomer: "Create Customer", updateCustomer: "Edit Customer", + viewCustomer: "View Customer", + deleteCustomer: "Delete Customer", pleaseInputCustomerNo: "Please input customer no", pleaseInputCustomerName: "Please input customer name", - pleaseInputCustomerSex: "Please input customer sex", + pleaseInputCustomerGender: "Please input customer Gender", pleaseInputCustomerTel: "Please input customer telephone number", pleaseInputCustomerPassportType: "Please input customer passport type", pleaseInputCustomerPassportID: "Please input customer passport ID", @@ -314,7 +347,7 @@ const messages = { invalidIdNumber: "Invalid ID Number", customerNo: "Customer No", customerName: "Customer Name", - customerSex: "Customer Sex", + customerGender: "Customer Gender", customerTel: "Customer Telephone Number", customerPassportType: "Customer Passport Type", customerPassportID: "Customer Passport ID", @@ -326,6 +359,8 @@ const messages = { customertype: "Customer Type Management", insertCustomerType: "Create Customer Type", updateCustomerType: "Edit Customer Type", + viewCustomerType: "View Customer Type", + deleteCustomerType: "Delete Customer Type", pleaseInputCustomerTypeNo: "Please input customer type number", pleaseInputCustomerTypeName: "Please input customer type name", pleaseInputCustomerTypeDiscount: "Please input customer type discount", @@ -338,8 +373,10 @@ const messages = { customerspend: "Customer Spending Bill", insertSpend: "Create Spending Bill", updateSpend: "Edit Spending Bill", + viewSpend: "View Spending Bill", + deleteSpend: "Delete Spending Bill", pleaseInputSpendName: "Please input customer name", - pleaseInputSpendAmount: "Please input customer sex", + pleaseInputSpendAmount: "Please input customer Gender", pleaseInputSpendPrice: "Please input customer telephone number", pleaseInputSpendMoney: "Please input customer passport type", pleaseInputSpendTime: "Please input customer passport ID", @@ -355,12 +392,13 @@ const messages = { insertStaff: "Create Staff", updateStaff: "Edit Staff", + viewStaff: "View Staff", pleaseInputStaffName: "Please input staff name", pleaseInputEmployeeName: "Please input employee name", pleaseInputPhoneNumber: "Please input phone number", pleaseInputHireDate: "Please select hire date", pleaseInputStaffBirthday: "Please input staff birthday", - pleaseInputStaffSex: "Please input staff sex", + pleaseInputStaffGender: "Please input staff gender", pleaseInputStaffNation: "Please input staff nation", pleaseInputStaffTel: "Please input staff telephone number", pleaseInputStaffDepartment: "Please input staff department", @@ -379,7 +417,7 @@ const messages = { phoneNumber: "Phone Number", hireDate: "Hire Date", staffBirthday: "Staff Birthday", - staffSex: "Staff Sex", + staffGender: "Staff Gender", staffNation: "Staff Nation", staffTel: "Telephone Number", staffDepartment: "Staff Department", @@ -419,6 +457,8 @@ const messages = { insertGoods: "Create Goods", updateGoods: "Edit Goods", + viewGoods: "View Goods", + deleteGoods: "Delete Goods", pleaseInputGoodsNumber: "Please input goods number", pleaseInputGoodsName: "Please input goods name", pleaseInputGoodsPrice: "Please input goods price", @@ -436,6 +476,8 @@ const messages = { resermanagement: "Reser Management", insertReser: "Create Reser", updateReser: "Edit Reser", + viewReser: "View Reser", + deleteReser: "Delete Reser", pleaseInputReserNumber: "Please input reservation number", pleaseInputReserPhoneNumberName: "Please input phone number", pleaseInputReserCustomerName: "Please input customer name", @@ -455,6 +497,8 @@ const messages = { administratormanagement: "Administrator Management", insertAdministrator: "Create Administrator", updateAdministrator: "Edit Administrator", + viewAdministrator: "View Administrator", + deleteAdministrator: "Delete Administrator", pleaseInputAdminNumber: "Please input administrator number", pleaseInputAdminAccount: "Please input administrator account", pleaseInputAdminName: "Please input administrator name", @@ -467,28 +511,37 @@ const messages = { adminType: "Administrator Type", adminPassword: "Administrator Password", isSuperAdminFlag: "Super Administrator Flag", + administratorFilter: "Administrator Filter", admintypemanagement: "Administrator Type Management", insertAdminType: "Create Administrator Type", updateAdminType: "Edit Administrator Type", + viewAdminType: "View Administrator Type", + deleteAdminType: "Delete Administrator Type", pleaseInputAdminTypeNumber: "Please input administrator type number", pleaseInputAdminTypeName: "Please input administrator type name", adminTypeNumber: "Administrator Type Number", adminTypeName: "Administrator Type Name", + adminTypeFilter: "Administrator Type Filter", rolemanagement: "Role Management", insertRole: "Create Role", updateRole: "Edit Role", + viewRole: "View Role", + deleteRole: "Delete Role", pleaseInputRoleNumber: "Please input role number", pleaseInputRoleName: "Please input role name", pleaseInputRoleDescription: "Please input role description", roleNumber: "Role Number", roleName: "Role Name", roleDescription: "Role Description", + roleFilter: "Role Filter", menumanagement: "Menu Management", insertMenu: "Create Menu", updateMenu: "Edit Menu", + viewMenu: "View Menu", + deleteMenu: "Delete Menu", pleaseInputMenuKey: "Please input menu key", pleaseInputMenuTitle: "Please input menu title", pleaseInputMenuPath: "Please input menu path", @@ -503,10 +556,13 @@ const messages = { menuIcon: "Menu Icon", permissionNumber: "Permission Number", permissionName: "Permission Name", + menuFilter: "Menu Filter", promotioncontent: "Promotion Content Management", insertPromotionContent: "Create Promotion Content", updatePromotionContent: "Edit Promotion Content", + viewPromotionContent: "View Promotion Content", + deletePromotionContent: "Delete Promotion Content", pleaseInputPromotionContentNumber: "Please input promotion content number", pleaseInputPromotionContentMessage: @@ -514,6 +570,7 @@ const messages = { promotionContentNumber: "Promotion Content Number", promotionContentMessage: "Promotion Content Message", + viewLog: "View Log", operationTime: "Operation Time", logContent: "Log Content", operator: "Operator", @@ -527,6 +584,7 @@ const messages = { selectLogLevel: "Select Log Level", confirmDeleteLog: "Are you sure to delete this log?", deleteLogBySevenDays: "Delete logs older than 7 days", + deleteLog: "Delete Log", path: "Path", method: "Method", @@ -558,6 +616,12 @@ const messages = { normal: "INFO", error: "CRITICAL", warning: "WARNING", + reserve: "Reserve", + checkIn: "Check In", + transferRoom: "Transfer Room", + checkOut: "Check Out", + changeRoomState: "Change Room State", + viewCustomerInfo: "View Customer Info", roomOverview: "Room Overview", roomStatusDistribution: "Room Status Distribution", @@ -636,6 +700,7 @@ const messages = { view: "查看", disabled: "禁用", enabled: "启用", + disableEnable: "禁用/启用", yes: "是", no: "否", ok: "确定", @@ -649,6 +714,7 @@ const messages = { changeAvatar: "更换头像", uploadFailed: "上传失败", avatarUpdateSuccess: "头像更新成功", + selectedRecordNotFound: "选中的记录未找到", uploadImageOnly: "仅支持图片格式", imageSizeLimit: "图片大小不能超过 1MB", loading: "加载中...", @@ -656,6 +722,7 @@ const messages = { loginExpired: "登录已过期,请重新登录", uploading: "上传中...", uploadSuccess: "上传成功", + batchDeleteSuccess: "批量删除成功", resetPassword: "重置密码", selectYourLang: "请选择您的语言", refreshData: "刷新数据", @@ -663,6 +730,7 @@ const messages = { updateSuccess: "更新成功", deleteSuccess: "删除成功", restoreSuccess: "恢复成功", + operationSuccess: "操作成功", restore: "恢复", operationFailed: "操作失败", deleteFailed: "删除失败", @@ -681,6 +749,8 @@ const messages = { isDeleted: "已删除?", undefined: "未定义", areYouSureToDeleteRecord: "确定要删除这条记录吗?", + areYouSureToDeleteSelectedRecords: "确定要删除选中的记录吗?", + action: "操作", areYouSureToRestoreRecord: "确定要恢复这条记录吗?", checkUsernameAndPassword: "请检查用户名和密码", fetchDataFailed: "获取数据失败", @@ -769,6 +839,8 @@ const messages = { department: "部门管理", insertDepartment: "添加部门", updateDepartment: "编辑部门", + viewDepartment: "查看部门", + deleteDepartment: "删除部门", pleaseInputDepartmentName: "请输入部门名称", pleaseInputDepartmentNo: "请输入部门编号", pleaseInputDepartmentLeader: "请输入部门主管", @@ -783,6 +855,8 @@ const messages = { nation: "民族管理", insertNation: "添加民族", updateNation: "编辑民族", + deleteNation: "删除民族", + viewNation: "查看民族", areYouSureToDeleteNation: "确定要删除这个民族吗?", pleaseInputNationName: "请输入民族名称", pleaseInputNationNo: "请输入民族编号", @@ -792,6 +866,8 @@ const messages = { position: "职位管理", insertPosition: "添加职位", updatePosition: "编辑职位", + deletePosition: "删除职位", + viewPosition: "查看职位", pleaseInputPositionName: "请输入职位名称", pleaseInputPositionNo: "请输入职位编号", positionNo: "职位编号", @@ -800,6 +876,8 @@ const messages = { qualification: "学历管理", insertQualification: "添加学历", updateQualification: "编辑学历", + viewQualification: "查看学历", + deleteQualification: "删除学历", pleaseInputQualificationName: "请输入学历名称", pleaseInputQualificationNo: "请输入学历编号", qualificationNo: "学历编号", @@ -808,6 +886,8 @@ const messages = { passport: "证件管理", insertPassport: "添加证件", updatePassport: "编辑证件", + viewPassport: "查看证件", + deletePassport: "删除证件", pleaseInputPassportName: "请输入证件名称", pleaseInputPassportNo: "请输入证件编号", passportNo: "证件编号", @@ -816,6 +896,8 @@ const messages = { noticetype: "公告类型管理", insertNoticeType: "添加公告类型", updateNoticeType: "编辑公告类型", + viewNoticeType: "查看公告类型", + deleteNoticeType: "删除公告类型", pleaseInputNoticeTypeName: "请输入公告类型名称", pleaseInputNoticeTypeNumber: "请输入公告类型编号", noticeTypeNumber: "公告类型编号", @@ -824,6 +906,8 @@ const messages = { internalfinance: "内部资产管理", insertInternalFinance: "添加内部资产", updateInternalFinance: "编辑内部资产", + viewInternalFinance: "查看内部资产", + deleteInternalFinance: "删除内部资产", pleaseInputInternalFinanceName: "请输入内部资产名称", pleaseInputInternalFinanceNo: "请输入内部资产编号", pleaseInputInternalFinancePrice: "请输入内部资产价格", @@ -840,6 +924,7 @@ const messages = { internalfinancePerson: "内部资产经办人", hydroelectricity: "水电信息管理", + viewHydroelectricity: "查看水电信息", updateHydroelectricity: "编辑水电信息", pleaseInputWaterUse: "请输入水资源用量", pleaseInputPowerUse: "请输入电资源用量", @@ -859,6 +944,9 @@ const messages = { supervisioninfo: "监管情况", insertSupervisionInfo: "添加监管情况", updateSupervisionInfo: "编辑监管情况", + viewSupervisionInfo: "查看监管情况", + deleteSupervisionInfo: "删除监管情况", + pleaseInputCheckNo: "请输入本次监管情况编号", pleaseInputCheckDepartment: "请输入本次受监管部门", pleaseInputCheckProgres: "请输入本次监管进度", pleaseInputCheckCash: "请输入本次监管损失", @@ -879,6 +967,8 @@ const messages = { roommanagement: "房间管理", insertRoom: "添加房间", updateRoom: "编辑房间", + viewRoom: "查看房间", + deleteRoom: "删除房间", pleaseInputRoomNo: "请输入房间编号", pleaseInputRoomType: "请输入房间类型", pleaseInputRoomState: "请输入房间状态", @@ -893,6 +983,8 @@ const messages = { roomconfig: "客房配置", insertRoomConfig: "添加客房配置", updateRoomConfig: "编辑客房配置", + viewRoomConfig: "查看客房配置", + deleteRoomConfig: "删除客房配置", pleaseInputRoomTypeCode: "请输入客房类型代码", pleaseInputRoomTypeName: "请输入客房类型名称", roomTypeCode: "客房类型代码", @@ -904,6 +996,8 @@ const messages = { viprule: "会员规则", insertVipRule: "添加会员规则", updateVipRule: "编辑会员规则", + viewVipRule: "查看会员规则", + deleteVipRule: "删除会员规则", pleaseInputVipRuleId: "请输入会员规则 ID", pleaseInputVipRuleName: "请输入会员规则名称", pleaseInputVipRuleValue: "请输入会员规则值", @@ -916,9 +1010,11 @@ const messages = { customermanagement: "客户管理", insertCustomer: "添加客户", updateCustomer: "编辑客户", + viewCustomer: "查看客户", + deleteCustomer: "删除客户", pleaseInputCustomerNo: "请输入客户编号", pleaseInputCustomerName: "请输入客户姓名", - pleaseInputCustomerSex: "请输入客户性别", + pleaseInputCustomerGender: "请输入客户性别", pleaseInputCustomerTel: "请输入客户电话号码", pleaseInputCustomerPassportType: "请输入客户证件类型", pleaseInputCustomerPassportID: "请输入客户证件号码", @@ -929,7 +1025,7 @@ const messages = { invalidIdNumber: "无效的身份证号码", customerNo: "客户编号", customerName: "客户姓名", - customerSex: "客户性别", + customerGender: "客户性别", customerTel: "客户电话号码", customerPassportType: "证件类型", customerPassportID: "证件号码", @@ -941,6 +1037,8 @@ const messages = { customertype: "客户类型管理", insertCustomerType: "添加客户类型", updateCustomerType: "编辑客户类型", + viewCustomerType: "查看客户类型", + deleteCustomerType: "删除客户类型", pleaseInputCustomerTypeNo: "请输入客户类型编号", pleaseInputCustomerTypeName: "请输入客户类型名称", pleaseInputCustomerTypeDiscount: "请输入客户类型折扣", @@ -953,6 +1051,8 @@ const messages = { customerspend: "客户消费记录", insertSpend: "添加消费记录", updateSpend: "编辑消费记录", + viewSpend: "查看消费记录", + deleteSpend: "删除消费记录", pleaseInputSpendName: "请输入商品名称", pleaseInputSpendAmount: "请输入商品数量", pleaseInputSpendPrice: "请输入单价", @@ -970,12 +1070,13 @@ const messages = { insertStaff: "添加员工", updateStaff: "编辑员工", + viewStaff: "查看员工", pleaseInputStaffName: "请输入员工姓名", pleaseInputEmployeeName: "请输入员工姓名", pleaseInputPhoneNumber: "请输入电话号码", pleaseInputHireDate: "请选择入职日期", pleaseInputStaffBirthday: "请选择员工出生日期", - pleaseInputStaffSex: "请选择员工性别", + pleaseInputStaffGender: "请选择员工性别", pleaseInputStaffNation: "请输入员工民族", pleaseInputStaffTel: "请输入员工电话号码", pleaseInputStaffDepartment: "请输入员工部门", @@ -993,7 +1094,7 @@ const messages = { phoneNumber: "电话号码", hireDate: "入职日期", staffBirthday: "出生日期", - staffSex: "性别", + staffGender: "性别", staffNation: "民族", staffTel: "电话号码", staffDepartment: "部门", @@ -1033,6 +1134,8 @@ const messages = { insertGoods: "创建商品", updateGoods: "编辑商品", + viewGoods: "查看商品", + deleteGoods: "删除商品", pleaseInputGoodsNumber: "请输入商品编号", pleaseInputGoodsName: "请输入商品名称", pleaseInputGoodsPrice: "请输入商品价格", @@ -1050,6 +1153,8 @@ const messages = { resermanagement: "预约管理", insertReser: "创建预约", updateReser: "编辑预约", + viewReser: "查看预约", + deleteReser: "删除预约", pleaseInputReserNumber: "请输入预约编号", pleaseInputReserPhoneNumberName: "请输入电话号码", pleaseInputReserCustomerName: "请输入客户姓名", @@ -1069,6 +1174,8 @@ const messages = { administratormanagement: "管理员管理", insertAdministrator: "创建管理员", updateAdministrator: "编辑管理员", + viewAdministrator: "查看管理员", + deleteAdministrator: "删除管理员", pleaseInputAdminNumber: "请输入管理员编号", pleaseInputAdminAccount: "请输入管理员账号", pleaseInputAdminName: "请输入管理员姓名", @@ -1081,28 +1188,37 @@ const messages = { adminType: "管理员类型", adminPassword: "管理员密码", isSuperAdminFlag: "超级管理员标志", + administratorFilter: "管理员筛选", admintypemanagement: "管理员类型管理", insertAdminType: "创建管理员类型", updateAdminType: "编辑管理员类型", + viewAdminType: "查看管理员类型", + deleteAdminType: "删除管理员类型", pleaseInputAdminTypeNumber: "请输入管理员类型编号", pleaseInputAdminTypeName: "请输入管理员类型名称", adminTypeNumber: "管理员类型编号", adminTypeName: "管理员类型名称", + adminTypeFilter: "管理员类型筛选", rolemanagement: "角色管理", insertRole: "创建角色", updateRole: "编辑角色", + viewRole: "查看角色", + deleteRole: "删除角色", pleaseInputRoleNumber: "请输入角色编号", pleaseInputRoleName: "请输入角色名称", pleaseInputRoleDescription: "请输入角色描述", roleNumber: "角色编号", roleName: "角色名称", roleDescription: "角色描述", + roleFilter: "角色筛选", menumanagement: "菜单管理", insertMenu: "创建菜单", updateMenu: "编辑菜单", + viewMenu: "查看菜单", + deleteMenu: "删除菜单", pleaseInputMenuKey: "请输入菜单键值", pleaseInputMenuTitle: "请输入菜单标题", pleaseInputMenuPath: "请输入菜单路径", @@ -1117,15 +1233,19 @@ const messages = { menuIcon: "菜单图标", permissionNumber: "权限编码", permissionName: "权限名称", + menuFilter: "菜单筛选", promotioncontent: "宣传联动内容管理", insertPromotionContent: "创建宣传联动内容", updatePromotionContent: "编辑宣传联动内容", + viewPromotionContent: "查看宣传联动内容", + deletePromotionContent: "删除宣传联动内容", pleaseInputPromotionContentNumber: "请输入宣传联动内容编号", pleaseInputPromotionContentMessage: "请输入宣传联动内容", promotionContentNumber: "宣传联动内容编号", promotionContentMessage: "宣传联动内容", + viewLog: "查看日志", operationTime: "操作时间", logContent: "日志内容", operator: "操作人", @@ -1139,6 +1259,7 @@ const messages = { selectLogLevel: "请选择日志级别", confirmDeleteLog: "确定要删除操作日志吗?", deleteLogBySevenDays: "删除7天前的日志", + deleteLog: "删除日志", path: "请求路径", method: "请求方法", @@ -1170,6 +1291,12 @@ const messages = { normal: "常规操作", error: "严重操作", warning: "敏感操作", + reserve: "预约", + checkIn: "入住", + transferRoom: "转房", + checkOut: "退房", + changeRoomState: "更改房间状态", + viewCustomerInfo: "查看客户信息", roomOverview: "客房概览", roomStatusDistribution: "房间状态分布", @@ -1228,6 +1355,47 @@ const messages = { pleaseInputPath: "请输入请求路径", pleaseInputUserName: "请输入用户名", + roomStatusDistribution: "房间状态分布", + roomTypeInventory: "房型库存", + reservationAlerts: "预约预警", + businessOverview: "商务概览", + customerGender: "客户性别", + memberDistribution: "会员分布", + consumptionStats: "消费统计", + todayConsumption: "当日消费", + weeklyConsumption: "本周消费", + logisticsOverview: "后勤概览", + totalProducts: "商品总数", + lowStock: "低库存商品", + recentRecords: "最近出入库", + inbound: "入库", + outbound: "出库", + hrOverview: "人事概览", + totalEmployees: "员工总数", + totalDepartments: "部门总数", + monthlyAttendance: "本月考勤", + alerts: "暂无预警信息", + genders: "暂无性别数据", + members: "暂无会员数据", + inventory: "暂无库存数据", + records: "暂无出入库记录", + attendance: "暂无考勤数据", + quantity: "数量", + totalRooms: "总房数", + availableRooms: "可用房数", + roomTypeInventory: "房型库存分布", + unknownGuest: "未知客户", + unknownPhoneNo: "未知电话号码", + settled: "已结算", + yearConsumption: "年度消费", + consumptionTrend: "消费趋势分析", + settledAmount: "已结算金额", + dailyAttendance: "日常考勤", + morningPresent: "早班打卡", + eveningPresent: "晚班打卡", + present: "正常", + late: "迟到", + absent: "旷工", }, }, }; diff --git a/src/utils/icons.js b/src/utils/icons.js index c99383ffbf87b5616c72cfa4977baac7d3834e55..1db31c16ac4204c65cb87515578c134f9960ab29 100644 --- a/src/utils/icons.js +++ b/src/utils/icons.js @@ -48,6 +48,11 @@ import { SafetyOutlined, UndoOutlined, GlobalOutlined, + CarryOutOutlined, + MoneyCollectOutlined, + ImportOutlined, + SwapOutlined, + InteractionOutlined, } from "@ant-design/icons-vue"; export function registerAntdIcons(app) { @@ -99,4 +104,9 @@ export function registerAntdIcons(app) { app.component("SafetyOutlined", SafetyOutlined); app.component("UndoOutlined", UndoOutlined); app.component("GlobalOutlined", GlobalOutlined); + app.component("CarryOutOutlined", CarryOutOutlined); + app.component("MoneyCollectOutlined", MoneyCollectOutlined); + app.component("ImportOutlined", ImportOutlined); + app.component("SwapOutlined", SwapOutlined); + app.component("InteractionOutlined", InteractionOutlined); } diff --git a/src/utils/index.js b/src/utils/index.js index 74c250b429a5e14943a758e789d6d8d510b76be4..925039d28de3af9d65b4aab807c729a75250cbc3 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -3,6 +3,21 @@ import dayjs from "dayjs"; import { dateFieldConfig } from "@/config/dateFields"; import i18n from "@/i18n"; +const normalizeNotificationDescription = (description) => { + if (description === null || description === undefined) return ""; + if (typeof description === "string") return description; + if (description instanceof Error) return description.message || String(description); + if (typeof description === "object" && description.message) { + return String(description.message); + } + return String(description); +}; + +const buildNotificationKey = (type, description) => { + const normalized = normalizeNotificationDescription(description).trim(); + return `${type}:${normalized}`; +}; + export const utcToChinaTime = (utcDate) => { if (!utcDate) return ""; const utc = new Date(utcDate); @@ -19,9 +34,11 @@ export const showWarningNotification = (description) => { }; export const showErrorNotification = (description) => { + const normalizedDescription = normalizeNotificationDescription(description); notification["error"]({ + key: buildNotificationKey("error", normalizedDescription), message: i18n.global.t("message.operationTitle"), - description: description, + description: normalizedDescription, duration: 3, }); }; diff --git a/src/views/base/DepartmentView.vue b/src/views/base/DepartmentView.vue index 0882e067bf22d39b2274fe42913224d6cc3f0d2e..6748cdb5bb88a882f1e9ece78b9eac3648466c74 100644 --- a/src/views/base/DepartmentView.vue +++ b/src/views/base/DepartmentView.vue @@ -1,18 +1,44 @@