diff --git a/.DS_Store b/.DS_Store index cca4566..ba064f9 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..b58b603 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/policeManagement/components.d.ts b/policeManagement/components.d.ts index 6c45d91..4c56a83 100644 --- a/policeManagement/components.d.ts +++ b/policeManagement/components.d.ts @@ -12,7 +12,10 @@ declare module 'vue' { ACard: typeof import('ant-design-vue/es')['Card'] ACascader: typeof import('ant-design-vue/es')['Cascader'] ACheckbox: typeof import('ant-design-vue/es')['Checkbox'] + ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup'] + ACol: typeof import('ant-design-vue/es')['Col'] AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] + ADatePicker: typeof import('ant-design-vue/es')['DatePicker'] ADivider: typeof import('ant-design-vue/es')['Divider'] ADrawer: typeof import('ant-design-vue/es')['Drawer'] AForm: typeof import('ant-design-vue/es')['Form'] @@ -27,9 +30,13 @@ declare module 'vue' { AMenu: typeof import('ant-design-vue/es')['Menu'] AMenuItem: typeof import('ant-design-vue/es')['MenuItem'] AModal: typeof import('ant-design-vue/es')['Modal'] + APagination: typeof import('ant-design-vue/es')['Pagination'] APopconfirm: typeof import('ant-design-vue/es')['Popconfirm'] + APopover: typeof import('ant-design-vue/es')['Popover'] ARadio: typeof import('ant-design-vue/es')['Radio'] ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup'] + ARangePicker: typeof import('ant-design-vue/es')['RangePicker'] + ARow: typeof import('ant-design-vue/es')['Row'] ASelect: typeof import('ant-design-vue/es')['Select'] ASelectOption: typeof import('ant-design-vue/es')['SelectOption'] ASpace: typeof import('ant-design-vue/es')['Space'] @@ -39,7 +46,11 @@ declare module 'vue' { ATabPane: typeof import('ant-design-vue/es')['TabPane'] ATabs: typeof import('ant-design-vue/es')['Tabs'] ATag: typeof import('ant-design-vue/es')['Tag'] + ATextarea: typeof import('ant-design-vue/es')['Textarea'] + ATimePicker: typeof import('ant-design-vue/es')['TimePicker'] + ATimeRangePicker: typeof import('ant-design-vue/es')['TimeRangePicker'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] + ATreeSelect: typeof import('ant-design-vue/es')['TreeSelect'] FormProMax: typeof import('./src/components/form/FormProMax.vue')['default'] HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] IconFont: typeof import('./src/components/iconfont/IconFont.vue')['default'] diff --git a/policeManagement/global.d.ts b/policeManagement/global.d.ts new file mode 100644 index 0000000..19b32ff --- /dev/null +++ b/policeManagement/global.d.ts @@ -0,0 +1,101 @@ +declare const __APP_ENV: ImportMetaEnv; + +declare global { + /** + * 全局返回 + */ + interface JsonResult { + code: number; + message: string; + data?: T; + } + + + + export interface SecurityUnitPagerQueryParams { + /** 名称 **/ + name?: string; + /** 社会编码 **/ + socialCode?: string; + /** 行政区划编码 **/ + administrativeDivisionCodes?: string[]; + /** 是否启用 **/ + isEnable?: number; + /** 审核状态 **/ + checkStatus?: number; + } + interface BaseEnum { + value: T; + label: string + } + class TreeNodeVo> { + value: T; + parentValue: T; + label: string; + orderIndex?: number; + children?: TreeNodeVo[] + extData?: E; + } + declare interface Grid { + //栅格占据的列数 + span?: number; + //栅格左侧的间隔格数 + offset?: number; + //栅格向右移动格数 + push?: number; + //栅格向左移动格数 + pull?: number; + //<768px 响应式栅格数或者栅格属性对象 + xs?: number; + //≥768px 响应式栅格数或者栅格属性对象 + sm?: number; + //≥992px 响应式栅格数或者栅格属性对象 + md?: number; + //≥1200px 响应式栅格数或者栅格属性对象 + lg?: number; + //≥1920px 响应式栅格数或者栅格属性对象 + xl?: number; + } + interface dataStatus { + account: string; + password: string; + remark: string; + checkStatus: { + extData: { + color: string; + }; + label: string; + value: number; + }; + } + class SelectNodeVo> { + value: T; + label: string; + options?: SelectNodeVo[] + orderIndex?: number; + disabled?: boolean; + extData?: E + } + + interface ExtData { + color?: string; + } + + interface Option { + label: string; + value: string | number; + extData?: ExtData | null; + } + + interface OptionsResponse { + IsEnable: Option[]; + IsOrNot: Option[]; + Sex: Option[]; + CheckStatus: Option[]; + ServiceProjectType: Option[]; + DeleteFlag: Option[]; + } + + +} + diff --git a/policeManagement/package-lock.json b/policeManagement/package-lock.json index b74197e..97e0c12 100644 --- a/policeManagement/package-lock.json +++ b/policeManagement/package-lock.json @@ -608,114 +608,114 @@ } }, "@rollup/rollup-android-arm-eabi": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.1.tgz", - "integrity": "sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", "dev": true, "optional": true }, "@rollup/rollup-android-arm64": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.1.tgz", - "integrity": "sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", "dev": true, "optional": true }, "@rollup/rollup-darwin-arm64": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.1.tgz", - "integrity": "sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", "dev": true, "optional": true }, "@rollup/rollup-darwin-x64": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.1.tgz", - "integrity": "sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.1.tgz", - "integrity": "sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.1.tgz", - "integrity": "sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.1.tgz", - "integrity": "sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-musl": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.1.tgz", - "integrity": "sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", "dev": true, "optional": true }, "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.1.tgz", - "integrity": "sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.1.tgz", - "integrity": "sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", "dev": true, "optional": true }, "@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.1.tgz", - "integrity": "sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-gnu": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.1.tgz", - "integrity": "sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-musl": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.1.tgz", - "integrity": "sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", "dev": true, "optional": true }, "@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.1.tgz", - "integrity": "sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", "dev": true, "optional": true }, "@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.1.tgz", - "integrity": "sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-msvc": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.1.tgz", - "integrity": "sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", "dev": true, "optional": true }, @@ -750,9 +750,9 @@ } }, "@types/node": { - "version": "22.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz", - "integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==", + "version": "22.5.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", + "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", "dev": true, "requires": { "undici-types": "~6.19.2" @@ -781,27 +781,27 @@ } }, "@volar/language-core": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.1.tgz", - "integrity": "sha512-9AKhC7Qn2mQYxj7Dz3bVxeOk7gGJladhWixUYKef/o0o7Bm4an+A3XvmcTHVqZ8stE6lBVH++g050tBtJ4TZPQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.2.tgz", + "integrity": "sha512-sONt5RLvLL1SlBdhyUSthZzuKePbJ7DwFFB9zT0eyWpDl+v7GXGh/RkPxxWaR22bIhYtTzp4Ka1MWatl/53Riw==", "dev": true, "requires": { - "@volar/source-map": "2.4.1" + "@volar/source-map": "2.4.2" } }, "@volar/source-map": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.1.tgz", - "integrity": "sha512-Xq6ep3OZg9xUqN90jEgB9ztX5SsTz1yiV8wiQbcYNjWkek+Ie3dc8l7AVt3EhDm9mSIR58oWczHkzM2H6HIsmQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.2.tgz", + "integrity": "sha512-qiGfGgeZ5DEarPX3S+HcFktFCjfDrFPCXKeXNbrlB7v8cvtPRm8YVwoXOdGG1NhaL5rMlv5BZPVQyu4EdWWIvA==", "dev": true }, "@volar/typescript": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.1.tgz", - "integrity": "sha512-UoRzC0PXcwajFQTu8XxKSYNsWNBtVja6Y9gC8eLv7kYm+UEKJCcZ8g7dialsOYA0HKs3Vpg57MeCsawFLC6m9Q==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.2.tgz", + "integrity": "sha512-m2uZduhaHO1SZuagi30OsjI/X1gwkaEAC+9wT/nCNAtJ5FqXEkKvUncHmffG7ESDZPlFFUBK4vJ0D9Hfr+f2EA==", "dev": true, "requires": { - "@volar/language-core": "2.4.1", + "@volar/language-core": "2.4.2", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } @@ -867,49 +867,49 @@ } }, "@vue/compiler-core": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.38.tgz", - "integrity": "sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.3.tgz", + "integrity": "sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==", "requires": { - "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.38", + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.3", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "@vue/compiler-dom": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz", - "integrity": "sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.3.tgz", + "integrity": "sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==", "requires": { - "@vue/compiler-core": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-core": "3.5.3", + "@vue/shared": "3.5.3" } }, "@vue/compiler-sfc": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz", - "integrity": "sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.3.tgz", + "integrity": "sha512-P3uATLny2tfyvMB04OQFe7Sczteno7SLFxwrOA/dw01pBWQHB5HL15a8PosoNX2aG/EAMGqnXTu+1LnmzFhpTQ==", "requires": { - "@babel/parser": "^7.24.7", - "@vue/compiler-core": "3.4.38", - "@vue/compiler-dom": "3.4.38", - "@vue/compiler-ssr": "3.4.38", - "@vue/shared": "3.4.38", + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.3", + "@vue/compiler-dom": "3.5.3", + "@vue/compiler-ssr": "3.5.3", + "@vue/shared": "3.5.3", "estree-walker": "^2.0.2", - "magic-string": "^0.30.10", - "postcss": "^8.4.40", + "magic-string": "^0.30.11", + "postcss": "^8.4.44", "source-map-js": "^1.2.0" } }, "@vue/compiler-ssr": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz", - "integrity": "sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.3.tgz", + "integrity": "sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w==", "requires": { - "@vue/compiler-dom": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-dom": "3.5.3", + "@vue/shared": "3.5.3" } }, "@vue/compiler-vue2": { @@ -928,9 +928,9 @@ "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==" }, "@vue/language-core": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.2.tgz", - "integrity": "sha512-tt2J7C+l0J/T5PaLhJ0jvCCi0JNwu3e8azWTYxW3jmAW5B/dac0g5UxmI7l59CQgCGFotqUqI3tXjfZgoWNtog==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.6.tgz", + "integrity": "sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==", "dev": true, "requires": { "@volar/language-core": "~2.4.1", @@ -944,46 +944,46 @@ } }, "@vue/reactivity": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.38.tgz", - "integrity": "sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.3.tgz", + "integrity": "sha512-2w61UnRWTP7+rj1H/j6FH706gRBHdFVpIqEkSDAyIpafBXYH8xt4gttstbbCWdU3OlcSWO8/3mbKl/93/HSMpw==", "requires": { - "@vue/shared": "3.4.38" + "@vue/shared": "3.5.3" } }, "@vue/runtime-core": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.38.tgz", - "integrity": "sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.3.tgz", + "integrity": "sha512-5b2AQw5OZlmCzSsSBWYoZOsy75N4UdMWenTfDdI5bAzXnuVR7iR8Q4AOzQm2OGoA41xjk53VQKrqQhOz2ktWaw==", "requires": { - "@vue/reactivity": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/reactivity": "3.5.3", + "@vue/shared": "3.5.3" } }, "@vue/runtime-dom": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz", - "integrity": "sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.3.tgz", + "integrity": "sha512-wPR1DEGc3XnQ7yHbmkTt3GoY0cEnVGQnARRdAkDzZ8MbUKEs26gogCQo6AOvvgahfjIcnvWJzkZArQ1fmWjcSg==", "requires": { - "@vue/reactivity": "3.4.38", - "@vue/runtime-core": "3.4.38", - "@vue/shared": "3.4.38", + "@vue/reactivity": "3.5.3", + "@vue/runtime-core": "3.5.3", + "@vue/shared": "3.5.3", "csstype": "^3.1.3" } }, "@vue/server-renderer": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.38.tgz", - "integrity": "sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.3.tgz", + "integrity": "sha512-28volmaZVG2PGO3V3+gBPKoSHvLlE8FGfG/GKXKkjjfxLuj/50B/0OQGakM/g6ehQeqCrZYM4eHC4Ks48eig1Q==", "requires": { - "@vue/compiler-ssr": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-ssr": "3.5.3", + "@vue/shared": "3.5.3" } }, "@vue/shared": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.38.tgz", - "integrity": "sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==" + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.3.tgz", + "integrity": "sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA==" }, "acorn": { "version": "8.12.1", @@ -1086,9 +1086,9 @@ } }, "axios": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.5.tgz", - "integrity": "sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -1148,9 +1148,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001653", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", - "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", + "version": "1.0.30001658", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001658.tgz", + "integrity": "sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==", "dev": true }, "chalk": { @@ -1270,12 +1270,12 @@ "dev": true }, "debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } }, "delayed-stream": { @@ -1312,9 +1312,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", - "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "version": "1.5.16", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.16.tgz", + "integrity": "sha512-2gQpi2WYobXmz2q23FrOBYTLcI1O/P4heW3eqX+ldmPVDQELRqhiebV380EhlGG12NtnX1qbK/FHpN0ba+7bLA==", "dev": true }, "emoji-regex": { @@ -1407,9 +1407,9 @@ } }, "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" }, "foreground-child": { "version": "3.3.0", @@ -1719,9 +1719,9 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "muggle-string": { @@ -1829,9 +1829,9 @@ "dev": true }, "picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" }, "picomatch": { "version": "2.3.1", @@ -1876,9 +1876,9 @@ } }, "postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", "requires": { "nanoid": "^3.3.7", "picocolors": "^1.0.1", @@ -2004,27 +2004,27 @@ "dev": true }, "rollup": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.1.tgz", - "integrity": "sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", "dev": true, "requires": { - "@rollup/rollup-android-arm-eabi": "4.21.1", - "@rollup/rollup-android-arm64": "4.21.1", - "@rollup/rollup-darwin-arm64": "4.21.1", - "@rollup/rollup-darwin-x64": "4.21.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.1", - "@rollup/rollup-linux-arm-musleabihf": "4.21.1", - "@rollup/rollup-linux-arm64-gnu": "4.21.1", - "@rollup/rollup-linux-arm64-musl": "4.21.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.1", - "@rollup/rollup-linux-riscv64-gnu": "4.21.1", - "@rollup/rollup-linux-s390x-gnu": "4.21.1", - "@rollup/rollup-linux-x64-gnu": "4.21.1", - "@rollup/rollup-linux-x64-musl": "4.21.1", - "@rollup/rollup-win32-arm64-msvc": "4.21.1", - "@rollup/rollup-win32-ia32-msvc": "4.21.1", - "@rollup/rollup-win32-x64-msvc": "4.21.1", + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", "@types/estree": "1.0.5", "fsevents": "~2.3.2" } @@ -2039,9 +2039,9 @@ } }, "sass": { - "version": "1.77.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", - "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "version": "1.78.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.78.0.tgz", + "integrity": "sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==", "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -2307,14 +2307,12 @@ "dev": true }, "unplugin": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.12.2.tgz", - "integrity": "sha512-bEqQxeC7rxtxPZ3M5V4Djcc4lQqKPgGe3mAWZvxcSmX5jhGxll19NliaRzQSQPrk4xJZSGniK3puLWpRuZN7VQ==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.13.1.tgz", + "integrity": "sha512-6Kq1iSSwg7KyjcThRUks9LuqDAKvtnioxbL9iEtB9ctTyBA5OmrB8gZd/d225VJu1w3UpUsKV7eGrvf59J7+VA==", "dev": true, "requires": { "acorn": "^8.12.1", - "chokidar": "^3.6.0", - "webpack-sources": "^3.2.3", "webpack-virtual-modules": "^0.6.2" } }, @@ -2358,14 +2356,14 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "vite": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", - "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.3.tgz", + "integrity": "sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==", "dev": true, "requires": { "esbuild": "^0.21.3", "fsevents": "~2.3.3", - "postcss": "^8.4.41", + "postcss": "^8.4.43", "rollup": "^4.20.0" } }, @@ -2376,15 +2374,15 @@ "dev": true }, "vue": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz", - "integrity": "sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.3.tgz", + "integrity": "sha512-xvRbd0HpuLovYbOHXRHlSBsSvmUJbo0pzbkKTApWnQGf3/cu5Z39mQeA5cZdLRVIoNf3zI6MSoOgHUT5i2jO+Q==", "requires": { - "@vue/compiler-dom": "3.4.38", - "@vue/compiler-sfc": "3.4.38", - "@vue/runtime-dom": "3.4.38", - "@vue/server-renderer": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-dom": "3.5.3", + "@vue/compiler-sfc": "3.5.3", + "@vue/runtime-dom": "3.5.3", + "@vue/server-renderer": "3.5.3", + "@vue/shared": "3.5.3" } }, "vue-component-type-helpers": { @@ -2406,13 +2404,13 @@ } }, "vue-tsc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.2.tgz", - "integrity": "sha512-PH1BDxWT3eaPhl73elyZj6DV0nR3K4IFoUM1sGzMXXQneovVUwHQytdSyAHiED5MtEINGSHpL/Hs9ch+c/tDTw==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.6.tgz", + "integrity": "sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==", "dev": true, "requires": { "@volar/typescript": "~2.4.1", - "@vue/language-core": "2.1.2", + "@vue/language-core": "2.1.6", "semver": "^7.5.4" }, "dependencies": { @@ -2449,12 +2447,6 @@ "loose-envify": "^1.0.0" } }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, "webpack-virtual-modules": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", @@ -2565,9 +2557,9 @@ "dev": true }, "yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "dev": true } } diff --git a/policeManagement/src/components/form/FormProMax.vue b/policeManagement/src/components/form/FormProMax.vue index 29522b8..6bb72b9 100644 --- a/policeManagement/src/components/form/FormProMax.vue +++ b/policeManagement/src/components/form/FormProMax.vue @@ -147,7 +147,7 @@ const props = withDefaults(defineProps>(), { scrollToFirstError: undefined, validateOnRuleChange: undefined, }) - +console.log(props) const formProMaxRef = ref(null!) const getResponsive = (item: FormProMaxItemProps): Grid => { diff --git a/policeManagement/src/components/iconfont/IconFont.vue b/policeManagement/src/components/iconfont/IconFont.vue index fc208f1..e67e921 100644 --- a/policeManagement/src/components/iconfont/IconFont.vue +++ b/policeManagement/src/components/iconfont/IconFont.vue @@ -1,20 +1,17 @@ - + diff --git a/policeManagement/src/components/table/TableProMax.vue b/policeManagement/src/components/table/TableProMax.vue index fd5d1e3..29a68b7 100644 --- a/policeManagement/src/components/table/TableProMax.vue +++ b/policeManagement/src/components/table/TableProMax.vue @@ -1,15 +1,16 @@ @@ -69,13 +70,19 @@ + diff --git a/policeManagement/src/views/register.vue b/policeManagement/src/views/register.vue index e691b91..9da3a97 100644 --- a/policeManagement/src/views/register.vue +++ b/policeManagement/src/views/register.vue @@ -77,6 +77,7 @@ diff --git a/policeManagement/src/vite-env.d.ts b/policeManagement/src/vite-env.d.ts index 37fe0c3..afb3748 100644 --- a/policeManagement/src/vite-env.d.ts +++ b/policeManagement/src/vite-env.d.ts @@ -1,4 +1,20 @@ /// + +// vue3导入模块报红解决方案——找不到模块“./XXX.vue”或其相应的类型声明 +// 报错原因是:typescript 只能理解 .ts 文件,无法理解 .vue文件 +// 因此需要给.vue文件加上类型说明文件 +declare module '*.vue' { + import type { DefineComponent } from 'vue' + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} + + +declare module 'lodash-es' { + import { includes, isEmpty, ceil, divide } from 'lodash'; + export { includes, isEmpty, ceil, divide }; +} interface ImportMetaEnv { // 项目名称 readonly VITE_APP_NAME: string; @@ -15,13 +31,5 @@ interface ImportMetaEnv { readonly VITE_APP_RSA_PUBLIC_KEY: string; } -// vue3导入模块报红解决方案——找不到模块“./XXX.vue”或其相应的类型声明 -// 报错原因是:typescript 只能理解 .ts 文件,无法理解 .vue文件 -// // 因此需要给.vue文件加上类型说明文件 -declare module '*.vue' { - import type { DefineComponent } from 'vue' - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types - const component: DefineComponent<{}, {}, any> - export default component -} + diff --git a/policeManagement/tsconfig.app.json b/policeManagement/tsconfig.app.json index ac06e22..7c336d1 100644 --- a/policeManagement/tsconfig.app.json +++ b/policeManagement/tsconfig.app.json @@ -1,40 +1,82 @@ { "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": [ - "ES2020", - "DOM", - "DOM.Iterable" + "composite": true, // 标记为复合项目的一部分 [ty-reference](1) + "target": "ES2020", // 设置目标 JavaScript 语言标准版本 + "useDefineForClassFields": true, // 为类字段使用 `defineProperty`,以支持装饰器 + "module": "ESNext", // 设置模块系统 + "lib": [ // 指定要包含的类型库 + "ES2020", // 包含 ES2020 的类型定义 + "DOM", // 包含 DOM 类型定义 + "DOM.Iterable" // 包含 DOM 可迭代类型定义 ], - "skipLibCheck": true, + "skipLibCheck": true, // 忽略类型库的类型检查 /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "isolatedModules": true, - "moduleDetection": "force", - "noEmit": true, - "jsx": "preserve", - "jsxImportSource": "vue", + "moduleResolution": "bundler", // 设置模块解析策略为 bundler 模式 + "allowImportingTsExtensions": true, // 允许导入 TypeScript 扩展名 + "isolatedModules": true, // 将每个文件视为一个模块 + "moduleDetection": "force", // 强制将所有模块视为 ESM + "noEmit": false, // 允许发出文件 + "declaration": true, // 如果需要生成 .d.ts 文件 + "emitDeclarationOnly": true, // 只发出声明文件,而不生成 JS 文件 + "jsx": "preserve", // 保留 JSX 节点,不转换 + "jsxImportSource": "vue", // JSX 元素来自 Vue /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "baseUrl": "./", + "strict": false, // 开启所有严格类型检查选项 + "noUnusedLocals": true, // 报告未使用的局部变量 + "noUnusedParameters": true, // 报告未使用的参数 + "noFallthroughCasesInSwitch": true, // 报告 switch 语句中的 fallthrough 错误 + "baseUrl": "./", // 设置基础模块解析目录 /* 配置别名 */ - "paths": { - "@/*": [ - "src/*" + "paths": { // 设置路径映射 + "@/*": [ // 将 @/ 映射到 src/ 目录 + "./src/*" ] }, - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true // 允许默认导入 }, - "include": [ - "src/**/*.ts", - "src/**/*.d.ts", - "src/**/*.tsx", - "src/**/*.vue" + "include": [ // 指定包含的文件 + "src/**/*.ts", // 包括 src 目录下的所有 TypeScript 文件 + "src/**/*.d.ts", // 包括 src 目录下的所有类型声明文件 + "src/**/*.tsx", // 包括 src 目录下的所有 JSX 文件 + "src/**/*.vue", // 包括 src 目录下的所有 Vue 文件 + "global.d.ts" ] } +// // 脚手架自带 配置: +// { +// "compilerOptions": { +// "target": "ES2020", +// "useDefineForClassFields": true, +// "module": "ESNext", +// "lib": [ +// "ES2020", +// "DOM", +// "DOM.Iterable" +// ], +// "skipLibCheck": true, +// /* Bundler mode */ +// "moduleResolution": "bundler", +// "allowImportingTsExtensions": true, +// "isolatedModules": true, +// "moduleDetection": "force", +// "noEmit": true, +// "jsx": "preserve", +// /* Linting */ +// "strict": true, +// "noUnusedLocals": true, +// "noUnusedParameters": true, +// "noFallthroughCasesInSwitch": true, +// "baseUrl": "/", +// /* 配置别名 */ +// "paths": { +// "@/*": [ +// "./src/*" +// ] +// }, +// }, +// "include": [ +// "src/**/*.ts", +// "src/**/*.tsx", +// "src/**/*.vue" +// ] +// } \ No newline at end of file diff --git a/policeManagement/tsconfig.json b/policeManagement/tsconfig.json index 57488b8..80e1767 100644 --- a/policeManagement/tsconfig.json +++ b/policeManagement/tsconfig.json @@ -1,16 +1,40 @@ { - // "compilerOptions": { - // "paths": { - // "@/*": ["src/*"] - // } - // }, - "files": [], - "references": [ + "compilerOptions": { + "baseUrl": "/", // 确保相对路径从根目录开始 + "paths": { // 设置路径映射 + "@/*": [ // 将 @/ 映射到 src/ 目录 + "./src/*" + ] + } + }, + "files": [], // 可以留空,表示不显式指定任何文件 + "references": [ // 引用其他 tsconfig 文件 { - "path": "./tsconfig.app.json" + "path": "./tsconfig.app.json" // 引用 tsconfig.app.json }, { - "path": "./tsconfig.node.json" + "path": "./tsconfig.node.json" // 引用 tsconfig.node.json } + ], + "include": [ // 指定包含的文件 + "env.d.ts", // 包括环境类型的声明文件 + "src/vite-env.d.ts", // 包括 Vite 环境类型的声明文件 + "src/**/*.ts", // 包括 src 目录下的所有 TypeScript 文件 + "src/**/*.tsx", // 包括 src 目录下的所有 JSX 文件 + "src/**/*.vue", // 包括 src 目录下的所有 Vue 文件 + "global.d.ts", // 确保 global.d.ts 文件被包含 + "vite.config.ts" // Node 配置文件 ] -} \ No newline at end of file +} +// // 脚手架自带 配置: +// { +// "files": [], +// "references": [ +// { +// "path": "./tsconfig.app.json" +// }, +// { +// "path": "./tsconfig.node.json" +// } +// ] +// } \ No newline at end of file diff --git a/policeManagement/tsconfig.node.json b/policeManagement/tsconfig.node.json index 9dbaccb..2ce7ab2 100644 --- a/policeManagement/tsconfig.node.json +++ b/policeManagement/tsconfig.node.json @@ -1,24 +1,47 @@ { "compilerOptions": { - "target": "ES2022", - "lib": [ - "ES2023" + "composite": true, // 标记为复合项目的一部分 [ty-reference](1) + "target": "ES2022", // 设置目标 JavaScript 语言标准版本 + "lib": [ // 指定要包含的类型库 + "ES2023" // 包含 ES2023 的类型定义 ], - "module": "ESNext", - "skipLibCheck": true, + "module": "ESNext", // 设置模块系统 + "skipLibCheck": true, // 忽略类型库的类型检查 /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "isolatedModules": true, - "moduleDetection": "force", - "noEmit": true, - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "moduleResolution": "bundler", // 设置模块解析策略为 bundler 模式 + "allowImportingTsExtensions": true, // 允许导入 TypeScript 扩展名 + "isolatedModules": true, // 将每个文件视为一个模块 + "moduleDetection": "force", // 强制将所有模块视为 ESM + "noEmit": false, // 允许发出文件 + "declaration": true, // 如果需要生成 .d.ts 文件 + "emitDeclarationOnly": true, // 只发出声明文件,而不生成 JS 文件 + "strict": true, // 开启所有严格类型检查选项 + "noUnusedLocals": true, // 报告未使用的局部变量 + "noUnusedParameters": true, // 报告未使用的参数 + "noFallthroughCasesInSwitch": true // 报告 switch 语句中的 fallthrough 错误 }, - "include": [ - "vite.config.ts" + "include": [ // 指定包含的文件 + "vite.config.ts" // 包括 Vite 配置文件 ] } +// 脚手架自带 配置: +// { +// "compilerOptions": { +// "target": "ES2022", +// "lib": ["ES2023"], +// "module": "ESNext", +// "skipLibCheck": true, +// /* Bundler mode */ +// "moduleResolution": "bundler", +// "allowImportingTsExtensions": true, +// "isolatedModules": true, +// "moduleDetection": "force", +// "noEmit": true, +// /* Linting */ +// "strict": true, +// "noUnusedLocals": true, +// "noUnusedParameters": true, +// "noFallthroughCasesInSwitch": true +// }, +// "include": ["vite.config.ts"] +// } \ No newline at end of file diff --git a/policeManagement/vite.config.ts b/policeManagement/vite.config.ts index 2f67467..1ca70f5 100644 --- a/policeManagement/vite.config.ts +++ b/policeManagement/vite.config.ts @@ -5,7 +5,7 @@ import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; import * as path from "node:path"; import vueJsx from '@vitejs/plugin-vue-jsx' -const pathSrc = path.resolve(__dirname, 'src'); +// const pathSrc = path.resolve(__dirname, 'src'); // https://vitejs.dev/config/ export default defineConfig(({ mode }) => { @@ -26,7 +26,8 @@ export default defineConfig(({ mode }) => { ], resolve: { alias: { - '@': pathSrc, + "@": path.resolve(__dirname, './src') + // '@': pathSrc, // '@': '/src' } }, diff --git a/policeSecurityServer/.DS_Store b/policeSecurityServer/.DS_Store new file mode 100644 index 0000000..206f835 Binary files /dev/null and b/policeSecurityServer/.DS_Store differ diff --git a/securityManagement/src/assets/scss/myAntD.scss b/securityManagement/src/assets/scss/myAntD.scss index 1b055a3..6062db6 100644 --- a/securityManagement/src/assets/scss/myAntD.scss +++ b/securityManagement/src/assets/scss/myAntD.scss @@ -6,6 +6,7 @@ $--my-antd-important: !important; background-color: #F5222D; border-color: #F5222D; + &:hover, &:focus { color: #ffffff $--my-antd-important; background-color: #ff4d4f $--my-antd-important; diff --git a/securityManagement/src/components/form/FormProMax.vue b/securityManagement/src/components/form/FormProMax.vue index 8fd21b6..185a4ca 100644 --- a/securityManagement/src/components/form/FormProMax.vue +++ b/securityManagement/src/components/form/FormProMax.vue @@ -161,7 +161,7 @@ const props = withDefaults(defineProps>(), { labelCol: () => { return { style: { - width: '100px' + width: '120px' } } }, diff --git a/securityManagement/src/components/iconfont/IconFont.vue b/securityManagement/src/components/iconfont/IconFont.vue index fc208f1..12dbb31 100644 --- a/securityManagement/src/components/iconfont/IconFont.vue +++ b/securityManagement/src/components/iconfont/IconFont.vue @@ -9,7 +9,7 @@ import {IconFontProps} from "@/types/components/iconfont/IconFont"; withDefaults(defineProps(), { - size: 25, + size: 20, type: "svg" }); diff --git a/securityManagement/src/components/table/TableProMax.vue b/securityManagement/src/components/table/TableProMax.vue index c98ef55..75e0e94 100644 --- a/securityManagement/src/components/table/TableProMax.vue +++ b/securityManagement/src/components/table/TableProMax.vue @@ -154,7 +154,7 @@ const tableColumns = computed(() => { if (!(cols?.[0].dataIndex === 'index')) { cols?.unshift({ dataIndex: 'index', - width: 60, + width: 80, title: '序号', customRender: ({index}) => index + 1 }) diff --git a/securityManagement/src/config/dict.ts b/securityManagement/src/config/dict.ts index e27fe55..01bd579 100644 --- a/securityManagement/src/config/dict.ts +++ b/securityManagement/src/config/dict.ts @@ -6,6 +6,8 @@ type DictType = | 'IsEnable' | 'IsOrNot' | 'Sex' + | 'ServiceProjectType' + | 'MiniProgramUserIdentity' export const initEnums = () => { api.get[]>>('/common/enums').then(resp => { diff --git a/securityManagement/src/config/index.ts b/securityManagement/src/config/index.ts index f5c4938..2ab04cc 100644 --- a/securityManagement/src/config/index.ts +++ b/securityManagement/src/config/index.ts @@ -1,7 +1,7 @@ import {SystemMenu} from "@/types/config"; -export const ROUTER_WHITE_LIST: string[] = ['/login', '/test','/enterprise']; -export const CLIENT_TYPE:string = "MANAGEMENT_SECURITY"; +export const ROUTER_WHITE_LIST: string[] = ['/login', '/test', '/enterprise']; +export const CLIENT_TYPE: string = "MANAGEMENT_SECURITY"; export const UNIT_TYPE = { security: 'SECURITY_UNIT', @@ -12,27 +12,39 @@ export const SYSTEM_MENUS: SystemMenu[] = [ title: '首页', name: 'index', path: '/index', + icon: 'icon-shouye', type: "menu", component: () => import('@/views/index.vue') }, { title: '用户管理', name: 'userManagement', path: '/userManagement', + icon: 'icon-yonghuguanli_huaban', type: 'dir', children: [ { title: '后台管理', name: 'bgManagement', path: '/bgManagement', + icon:'icon-guanlianbaoan', type: 'menu', component: () => import('@/views/userManagement/bgManagement/index.vue') }, { title: '小程序管理', name: 'uniManagement', path: '/uniManagement', + icon:'icon-guanlianbaoan', type: 'menu', component: () => import('@/views/userManagement/uniManagement/index.vue') } ] + }, + { + title: '服务项目管理', + name: 'serviceManagement', + path: '/serviceManagement', + icon:'icon-xiangmuguanli-', + type: 'menu', + component: () => import('@/views/serviceManagement/index.vue') } ] diff --git a/securityManagement/src/global.d.ts b/securityManagement/src/global.d.ts index aac772f..49d4b5b 100644 --- a/securityManagement/src/global.d.ts +++ b/securityManagement/src/global.d.ts @@ -62,7 +62,10 @@ interface BaseEnum { label: string } - +interface TypeEnum { + value: string; + label: string +} interface dataStatus { account: string; password: string; diff --git a/securityManagement/src/types/views/bgManagement.ts b/securityManagement/src/types/views/bgManagement.ts index 8f6b7fa..8c0b28d 100644 --- a/securityManagement/src/types/views/bgManagement.ts +++ b/securityManagement/src/types/views/bgManagement.ts @@ -10,7 +10,7 @@ export interface BgManagementPagerQueryParams extends BaseTableRowRecord{ /** 是否启用 **/ isEnable?: BaseEnum; /** 审核状态 **/ - checkStatus?: number; + checkStatus?: BaseEnum; /** 账号 **/ account?:string, sex?:BaseEnum, diff --git a/securityManagement/src/types/views/serviceManagement.ts b/securityManagement/src/types/views/serviceManagement.ts new file mode 100644 index 0000000..285a344 --- /dev/null +++ b/securityManagement/src/types/views/serviceManagement.ts @@ -0,0 +1,25 @@ +import {BaseTableRowRecord} from "@/types/components/table"; + +export interface serviceProjectSaveOrUpdateParams extends BaseTableRowRecord { + snowFlakeId: string + enterprisesUnitId: string, + enterprisesUnitName: string, + projectManagerMiniProgramUserId: string, + projectManagerMiniProgramUserName: string, + name: string, + type: TypeEnum, + isRecruitSecurity: BaseEnum, + idNumber: string, + serviceArea: number, + buildingTotal: number, + houseTotal: number, + staffTotal: number, + securityUserTotal: number, + remark: string, + createUserName: string, + createTime: string, + enterprisesUnitAdministrativeDivisionCodes:Record +} + + + diff --git a/securityManagement/src/views/enterprise.vue b/securityManagement/src/views/enterprise.vue index b9bdb03..8c86b33 100644 --- a/securityManagement/src/views/enterprise.vue +++ b/securityManagement/src/views/enterprise.vue @@ -138,6 +138,7 @@ const rules: Record = { const DivisionTree = async ()=>{ const resp = await api.get[]>('/common/administrativeDivisionTree') administrativeDivisionTree.value = resp.data as TreeNodeVo[] + } // 可以进行搜索行政区划 2 diff --git a/securityManagement/src/views/serviceManagement/index.vue b/securityManagement/src/views/serviceManagement/index.vue index 84db465..d28a2e0 100644 --- a/securityManagement/src/views/serviceManagement/index.vue +++ b/securityManagement/src/views/serviceManagement/index.vue @@ -1,12 +1,420 @@ - - \ No newline at end of file + diff --git a/securityManagement/src/views/userManagement/bgManagement/index.vue b/securityManagement/src/views/userManagement/bgManagement/index.vue index 1e3030d..76f7b2e 100644 --- a/securityManagement/src/views/userManagement/bgManagement/index.vue +++ b/securityManagement/src/views/userManagement/bgManagement/index.vue @@ -91,19 +91,18 @@ const columns: TableProps['columns'] = [ return ( record.isAdmin.value === 1? - - { - const resp = await api.delete('/managementSecurityUnitUser/deleteById', { - managementSecurityUnitUserId: record.snowFlakeId, - }) - message.success(resp.message) - await tableRef.value?.requestGetTableData() - }}> - 删除 - - + { + const resp = await api.delete('/managementSecurityUnitUser/deleteById', { + managementSecurityUnitUserId: record.snowFlakeId, + }) + message.success(resp.message) + await tableRef.value?.requestGetTableData() + }}> + 删除 + { visible.value = true title.value = "编辑用户" @@ -118,7 +117,7 @@ const columns: TableProps['columns'] = [ : - +
超级管理员不能编辑
) } }, @@ -218,27 +217,24 @@ const submit = async () => { } const resp = await api.post('/managementSecurityUnitUser/saveOrUpdate', managementSecurityUnitUserSaveOrUpdateParams) message.success(resp.message) - close() -} -const close = () => { tableRef.value?.requestGetTableData() - visible.value = false closeModal() + } const closeModal = () => { formParams.value = { - name: '', - sex: 0, - telephone: '', - isEnable: 0, - remark: '' + name:'', + sex:0, + telephone:'', + isEnable:0, + remark:'' } visible.value = false + title.value = '新增用户' } //Form const addUserManagement = () => { visible.value = true - title.value = '' } diff --git a/securityManagement/src/views/userManagement/uniManagement/index.vue b/securityManagement/src/views/userManagement/uniManagement/index.vue index 902efdc..1a1d32e 100644 --- a/securityManagement/src/views/userManagement/uniManagement/index.vue +++ b/securityManagement/src/views/userManagement/uniManagement/index.vue @@ -1,11 +1,235 @@ - \ No newline at end of file + diff --git a/securityManagement/tsconfig.app.json b/securityManagement/tsconfig.app.json index 239e8eb..3dc5512 100644 --- a/securityManagement/tsconfig.app.json +++ b/securityManagement/tsconfig.app.json @@ -37,4 +37,4 @@ "src/**/*.tsx", "src/**/*.vue" ] -} +} \ No newline at end of file diff --git a/superManagement/.env.development b/superManagement/.env.development index 892c40f..5023a59 100644 --- a/superManagement/.env.development +++ b/superManagement/.env.development @@ -5,7 +5,8 @@ VITE_DROP_CONSOLE=false # axios VITE_APP_BASE_API=/api -VITE_APP_PROXY_URL=http://localhost:8765 +# VITE_APP_PROXY_URL=http://localhost:8765 +VITE_APP_PROXY_URL=http://172.10.10.93:8765 # rsa 公钥 VITE_APP_RSA_PUBLIC_KEY=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJps/EXxxSpEM1Ix4R0NWIOBciHCr7P7coDT8tNKfelgR7txcJOqHCO/MIWe7T04aHQTcpQxqx9hMca7dbqz8TZpz9jvLzE/6ZonVKxHsoFnNlHMp1/CPAJ9f6D9wYicum2KltJkmQ0g//D9W2zPCYoGOmSRFcZx/KEBa4EM53jQIDAQAB diff --git a/superManagement/src/config/index.ts b/superManagement/src/config/index.ts index afd0533..b8c0668 100644 --- a/superManagement/src/config/index.ts +++ b/superManagement/src/config/index.ts @@ -3,8 +3,8 @@ import {SystemMenu} from "@/types/config"; export const CLIENT_TYPE = "MANAGEMENT_SUPER"; export const ROUTER_WHITE_LIST: string[] = ['/login', '/test']; export const UNIT_TYPE = { - security: 'SECURITY_UNIT', - police: 'POLICE_UNIT' + security: 'SECURITY_UNIT', //安全 + police: 'POLICE_UNIT' //警察 } export const SYSTEM_MENUS: SystemMenu[] = [