From cc544282be1b8816e40ef2de44c5452b01e8a123 Mon Sep 17 00:00:00 2001 From: raofuzi <2641346316@qq.com> Date: Sat, 30 Mar 2024 21:17:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 2 +- package.json | 3 + pnpm-lock.yaml | 182 ++++++++++++++++-- src/api/home/main.ts | 14 ++ src/assets/icons/down-line.svg | 32 +++ src/assets/icons/top-line.svg | 32 +++ src/layout/components/Header/index.vue | 7 +- src/store/modules/asideConfig.ts | 28 +++ src/views/home/aside/Aside.vue | 48 ++++- src/views/home/aside/comp/Search.vue | 8 +- src/views/home/aside/comp/Upload.vue | 7 +- .../home/aside/comp/items/PictureDownload.vue | 4 + .../home/aside/comp/items/Similarity.vue | 5 +- .../aside/comp/modals/CustomFilterModal.vue | 16 +- src/views/home/content/Content.vue | 165 ++++++++++++++-- .../home/content/modal/CheckingTaskModal.vue | 12 +- .../home/content/modal/FinishPackageModal.vue | 102 +++++++++- .../content/modal/FinishPackageModalTwo.vue | 82 ++++++++ .../content/modal/PackageSettingsModal.vue | 22 ++- .../content/modal/QueryRepeatedTasksModal.vue | 16 +- src/views/worksheet/aside/Aside.vue | 2 + 21 files changed, 718 insertions(+), 71 deletions(-) create mode 100644 src/assets/icons/down-line.svg create mode 100644 src/assets/icons/top-line.svg create mode 100644 src/views/home/content/modal/FinishPackageModalTwo.vue diff --git a/components.d.ts b/components.d.ts index 2e87e2e..e07d992 100644 --- a/components.d.ts +++ b/components.d.ts @@ -28,7 +28,6 @@ declare module 'vue' { NGi: typeof import('naive-ui')['NGi'] NGrid: typeof import('naive-ui')['NGrid'] NGridItem: typeof import('naive-ui')['NGridItem'] - NIcon: typeof import('naive-ui')['NIcon'] NImage: typeof import('naive-ui')['NImage'] NInput: typeof import('naive-ui')['NInput'] NMessageProvider: typeof import('naive-ui')['NMessageProvider'] @@ -37,6 +36,7 @@ declare module 'vue' { NotPassed: typeof import('./src/components/NotPassed.vue')['default'] NPopover: typeof import('naive-ui')['NPopover'] NPopselect: typeof import('naive-ui')['NPopselect'] + NProgress: typeof import('naive-ui')['NProgress'] NScrollbar: typeof import('naive-ui')['NScrollbar'] NSelect: typeof import('naive-ui')['NSelect'] NSlider: typeof import('naive-ui')['NSlider'] diff --git a/package.json b/package.json index 36a4b15..6ed43e6 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,9 @@ "postinstall": "patch-package" }, "dependencies": { + "@vicons/ionicons5": "^0.12.0", + "@vicons/tabler": "^0.12.0", + "@vicons/utils": "^0.1.4", "@vueup/vue-quill": "^1.2.0", "@vueuse/core": "10.9.0", "axios": "^1.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d92ef5c..3dde4d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,15 @@ settings: excludeLinksFromLockfile: false dependencies: + '@vicons/ionicons5': + specifier: ^0.12.0 + version: 0.12.0 + '@vicons/tabler': + specifier: ^0.12.0 + version: 0.12.0 + '@vicons/utils': + specifier: ^0.1.4 + version: 0.1.4(vue@3.3.10) '@vueup/vue-quill': specifier: ^1.2.0 version: 1.2.0(vue@3.3.10) @@ -17,6 +26,9 @@ dependencies: date-fns: specifier: ^2.30.0 version: 2.30.0 + dayjs: + specifier: ^1.11.10 + version: 1.11.10 esno: specifier: ^0.16.3 version: 0.16.3 @@ -41,6 +53,9 @@ dependencies: naive-ui: specifier: ^2.38.1 version: 2.38.1(vue@3.3.10) + patch-package: + specifier: ^8.0.0 + version: 8.0.0 pinia: specifier: ^2.0.33 version: 2.1.7(typescript@4.9.5)(vue@3.3.10) @@ -1333,6 +1348,10 @@ packages: resolution: {integrity: sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g==} dev: true + /@types/node@14.14.45: + resolution: {integrity: sha512-DssMqTV9UnnoxDWu959sDLZzfvqCF0qDNRjaWeYSui9xkFe61kKo4l1TWNTQONpuXEm+gLMRvdlzvNHBamzmEw==} + dev: false + /@types/node@18.19.2: resolution: {integrity: sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==} dependencies: @@ -1503,6 +1522,23 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true + /@vicons/ionicons5@0.12.0: + resolution: {integrity: sha512-Iy1EUVRpX0WWxeu1VIReR1zsZLMc4fqpt223czR+Rpnrwu7pt46nbnC2ycO7ItI/uqDLJxnbcMC7FujKs9IfFA==} + dev: false + + /@vicons/tabler@0.12.0: + resolution: {integrity: sha512-3+wUFuxb7e8OzZ8Wryct1pzfA2vyoF4lwW98O9s27ZrfCGaJGNmqG+q8A7vQ92Mf+COCgxpK+rhNPTtTvaU6qw==} + dev: false + + /@vicons/utils@0.1.4(vue@3.3.10): + resolution: {integrity: sha512-OHI19qVNN6i+uPQ+Y3f2s0dUxwsYnOCcKBW7XOU4yXXO1aU3ZoKpblCc3+4N0qmgoJs5rWKRAaMisipqEXJwAg==} + peerDependencies: + vue: ^3.0.6 + dependencies: + '@xicons/utils': 0.1.4 + vue: 3.3.10(typescript@4.9.5) + dev: false + /@vitejs/plugin-vue@4.5.1(vite@5.0.5)(vue@3.3.10): resolution: {integrity: sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1771,6 +1807,12 @@ packages: '@xtuc/long': 4.2.2 dev: true + /@xicons/utils@0.1.4: + resolution: {integrity: sha512-uXxKDLz9abr80yJC05XSTq6wlyFcdW+N/1IYJkeHjzzXVc4VQ0sEYMoMMTjAH7HQBOyOkzOB4pf5NGF72lwa8Q==} + dependencies: + css-render: 0.13.9 + dev: false + /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true @@ -1779,6 +1821,10 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true + /@yarnpkg/lockfile@1.1.0: + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + dev: false + /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -1987,6 +2033,11 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: false + /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} @@ -2087,7 +2138,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true /browserslist@4.22.2: resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} @@ -2270,7 +2320,6 @@ packages: /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true /class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} @@ -2537,6 +2586,14 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /css-render@0.13.9: + resolution: {integrity: sha512-n3C4ZH59rveBrUlAD7n0Ze9/gUMKa4dlH1C9CWKpGcIHR/xRcIVXzBGy1iw8WWq2ySmn2/ZqOpySQNAK5Pb6sw==} + dependencies: + '@emotion/hash': 0.8.0 + '@types/node': 14.14.45 + csstype: 3.0.11 + dev: false + /css-render@0.15.12: resolution: {integrity: sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw==} dependencies: @@ -2611,6 +2668,10 @@ packages: '@babel/runtime': 7.23.5 dev: false + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: false + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true @@ -3887,7 +3948,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /finalhandler@1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} @@ -3920,6 +3980,12 @@ packages: path-exists: 4.0.0 dev: true + /find-yarn-workspace-root@2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + dependencies: + micromatch: 4.0.5 + dev: false + /fizzy-ui-utils@2.0.7: resolution: {integrity: sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==} dependencies: @@ -3995,6 +4061,16 @@ packages: universalify: 2.0.1 dev: true + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4147,7 +4223,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -4465,6 +4540,12 @@ packages: is-data-descriptor: 1.0.1 dev: true + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: false + /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -4510,7 +4591,6 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -4573,10 +4653,21 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: false + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: false + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -4671,6 +4762,16 @@ packages: /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + /json-stable-stringify@1.1.1: + resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + isarray: 2.0.5 + jsonify: 0.0.1 + object-keys: 1.1.1 + dev: false + /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -4698,7 +4799,10 @@ packages: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: true + + /jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + dev: false /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -4734,6 +4838,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /klaw-sync@6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + dependencies: + graceful-fs: 4.2.11 + dev: false + /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -5100,7 +5210,6 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -5172,7 +5281,6 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true /minipass@4.2.8: resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} @@ -5453,6 +5561,14 @@ packages: mimic-fn: 4.0.0 dev: true + /open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: false + /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -5464,6 +5580,11 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: false + /outlayer@2.1.1: resolution: {integrity: sha512-+GplXsCQ3VrbGujAeHEzP9SXsBmJxzn/YdDSQZL0xqBmAWBmortu2Y9Gwdp9J0bgDQ8/YNIPMoBM13nTwZfAhw==} dependencies: @@ -5570,6 +5691,28 @@ packages: engines: {node: '>=0.10.0'} dev: true + /patch-package@8.0.0: + resolution: {integrity: sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==} + engines: {node: '>=14', npm: '>5'} + hasBin: true + dependencies: + '@yarnpkg/lockfile': 1.1.0 + chalk: 4.1.2 + ci-info: 3.9.0 + cross-spawn: 7.0.3 + find-yarn-workspace-root: 2.0.0 + fs-extra: 9.1.0 + json-stable-stringify: 1.1.1 + klaw-sync: 6.0.0 + minimist: 1.2.8 + open: 7.4.2 + rimraf: 2.7.1 + semver: 7.5.4 + slash: 2.0.0 + tmp: 0.0.33 + yaml: 2.3.4 + dev: false + /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true @@ -5634,7 +5777,6 @@ packages: /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} @@ -6072,6 +6214,13 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -6243,6 +6392,11 @@ packages: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true + /slash@2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -6688,6 +6842,13 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: false + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -6712,7 +6873,6 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /to-regex@3.0.2: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} @@ -6827,7 +6987,6 @@ packages: /universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - dev: true /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} @@ -7377,7 +7536,6 @@ packages: /yaml@2.3.4: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} - dev: true /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} diff --git a/src/api/home/main.ts b/src/api/home/main.ts index bd661e2..7028557 100644 --- a/src/api/home/main.ts +++ b/src/api/home/main.ts @@ -250,3 +250,17 @@ export async function getPictureList(params: any): Promise { total, } } + +/** + * 获取需要过滤的搜索条件框列表 + * @param + * @returns + */ +export async function getFilterList(params) { + + return http.request({ + url: `/ocr/ocrUsersearch/querySearchCondition`, + method: 'get', + params + }) +} \ No newline at end of file diff --git a/src/assets/icons/down-line.svg b/src/assets/icons/down-line.svg new file mode 100644 index 0000000..7a1b4e2 --- /dev/null +++ b/src/assets/icons/down-line.svg @@ -0,0 +1,32 @@ + + + 编组 13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/top-line.svg b/src/assets/icons/top-line.svg new file mode 100644 index 0000000..aa3653a --- /dev/null +++ b/src/assets/icons/top-line.svg @@ -0,0 +1,32 @@ + + + 编组 13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/layout/components/Header/index.vue b/src/layout/components/Header/index.vue index a6f42c2..947969d 100644 --- a/src/layout/components/Header/index.vue +++ b/src/layout/components/Header/index.vue @@ -11,6 +11,7 @@ import { msgPolling } from '@/api/message/message' import { getImgUrl } from '@/utils/urlUtils' import { useUser } from '@/store/modules/user' import { useTaskStore } from '@/store/modules/task' +import defaultAvatar from '@/assets/icons/avatar.svg'; const taskStore = useTaskStore() export default defineComponent({ @@ -164,6 +165,8 @@ export default defineComponent({ mousetrap.bind('m m', searchHandler) }) + const defaultAvatarSrc = ref(defaultAvatar); + return { ...toRefs(state), iconList, @@ -183,6 +186,7 @@ export default defineComponent({ getMessage, handleDragOver, handleDragLeave, + defaultAvatarSrc, } }, }) @@ -216,7 +220,8 @@ export default defineComponent({
- + +
diff --git a/src/store/modules/asideConfig.ts b/src/store/modules/asideConfig.ts index 721eb2a..e91108a 100644 --- a/src/store/modules/asideConfig.ts +++ b/src/store/modules/asideConfig.ts @@ -9,6 +9,9 @@ export interface ConfigState { systemConfig: AsideConfig | null customConfig: string[] | null asideValue: any + searchValue: string + isAllowDownload: boolean + timeNum: number } export const useAsideConfigStore = defineStore({ @@ -17,6 +20,9 @@ export const useAsideConfigStore = defineStore({ systemConfig: null, customConfig: null, asideValue: null, + searchValue: "", + isAllowDownload: true, + timeNum: 0, }), getters: { getConfig(): AsideConfig | null { @@ -28,6 +34,15 @@ export const useAsideConfigStore = defineStore({ getAsideValue(): any { return this.asideValue }, + getSearchValue(): any { + return this.searchValue + }, + getIsAllowDownload(): any { + return this.isAllowDownload + }, + getTimeNum(): any { + return this.timeNum + }, }, actions: { setConfig(config: AsideConfig) { @@ -36,6 +51,19 @@ export const useAsideConfigStore = defineStore({ setAsideValue(value) { this.asideValue = value }, + setSearchValue(value) { + this.searchValue = value + }, + setIsAllowDownload(value) { + this.isAllowDownload = value + }, + setTimeNum(value) { + this.timeNum = value + }, + // 设置个性化配置 + setCustomConfig(value) { + this.customConfig = value + }, // 获取系统配置信息 async fetchConfig() { const response = await getConfig() diff --git a/src/views/home/aside/Aside.vue b/src/views/home/aside/Aside.vue index fa2c43c..b5e764e 100644 --- a/src/views/home/aside/Aside.vue +++ b/src/views/home/aside/Aside.vue @@ -11,6 +11,7 @@ import type { AsideEntity } from '@/config/aside' import { asideMap } from '@/config/aside' import type { AsideConfig } from '/#/api' import emitter from '@/utils/mitt' +import { getFilterList } from '@/api/home/main' const configStore = useConfig() @@ -30,6 +31,7 @@ Object.keys(asideMap).forEach((key) => { const filterModalRef = ref(null) const newFilterModalRef = ref(null) const customModalRef = ref(null) +const customObjRef = ref(null) // 获取高级筛选获取的值 function showModal(modalRef: any) { const modal = unref(modalRef)! as any @@ -86,16 +88,32 @@ configStore.$subscribe(() => { if (config == null || customConfig == null) return - - const showKeys = [...customConfig].filter(key => !asideMap[key].isDefaultFilter) - const defaultKeys = Object.keys(asideMap).filter(key => asideMap[key].isDefaultFilter) + // console.log("config", config, "customConfig", customConfig); + /* rao + const showKeys = [...customConfig].filter(key => !asideMap[key].isDefaultFilter)// 获取customConfig 非isDefaultFilter的选项 + const defaultKeys = Object.keys(asideMap).filter(key => asideMap[key].isDefaultFilter)// 获取asideMap isDefaultFilter的选项 showKeys.unshift(...defaultKeys) + */ + + const showKeys = [...customConfig]; Object.keys(config).forEach((key) => { if (key.startsWith('iz') && asideMap[key] !== undefined) asideVisible[key] = (showKeys.includes(key) || asideMap[key].isDefaultFilter) && config[key] === 'Y' }) - + if(customObjRef.value) {// 赋值 + Object.keys(customObjRef.value).map(key => { + if(asideMap.hasOwnProperty(key)) { + const str = key.toLowerCase() + if(str == "izsimilarity" && typeof customObjRef.value[str] == "string") { + customObjRef.value[str] = customObjRef.value[str].split(','); + } + // asideMap[str].defaultValue = customObjRef.value[str];// 赋值 + asideValue[key] = customObjRef.value[str];// 赋值 + } + }); + } + // console.log("showKeys", showKeys); const items = showKeys.reduce((acc, key) => { const { render } = asideMap[key] @@ -112,7 +130,7 @@ configStore.$subscribe(() => { return acc } }, []) - + // console.log("items", items); showItems.value = items }) @@ -134,9 +152,23 @@ function scrollHandler(key: string) { element?.scrollIntoView(true) } -// 选择某个过滤配置,刷新图片墙 -function filterHandler(searchId: string) { - emitter.emit('filter', searchId) +// 选择某个过滤配置,刷新图片墙 -> 筛选搜索条件 +async function filterHandler(searchId: string) { + // emitter.emit('filter', searchId) + const res = await getFilterList({userSearchId: searchId}); + // console.log("顾虑结果", res); + if(res.code == "OK") { + let obj = res.data; + customObjRef.value = res.data; + let showKeys: any[] = []; + Object.keys(obj).map(key => { + if(asideMap.hasOwnProperty(key)) { + showKeys.push(key); + } + }); + // console.log(showKeys); + configStore.setCustomConfig(showKeys); + } } function editFilter(filter: any) { diff --git a/src/views/home/aside/comp/Search.vue b/src/views/home/aside/comp/Search.vue index 97d2472..ba057e6 100644 --- a/src/views/home/aside/comp/Search.vue +++ b/src/views/home/aside/comp/Search.vue @@ -48,6 +48,12 @@ function selectHandler(item: SearchEntity) { (popover.value as any).setShow(false) emit('select', item.key) } + +// 模糊搜索 +const searchName = () => { + configStore.setSearchValue(searchKeyword.value); +} +