From f6237bd7410b5d63c40b33db700b61c8fc47c97f Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Thu, 12 Dec 2024 15:30:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E9=A1=B5=E9=9D=A2=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env/.env.dev | 4 +- package.json | 1 + pnpm-lock.yaml | 207 +++++++++++++ src/http/api/repair-manage/index.ts | 22 ++ src/http/api/tag-manage/index.ts | 22 ++ src/layout/header.vue | 2 +- src/main.ts | 4 +- src/router/index.ts | 13 +- src/views/user/index.vue | 1 + src/views/user/lessor/repair-manage/index.vue | 45 ++- .../lessor/tag-manage/components/index.vue | 18 ++ src/views/user/lessor/tag-manage/index.vue | 292 ++++-------------- 12 files changed, 370 insertions(+), 261 deletions(-) create mode 100644 src/http/api/repair-manage/index.ts create mode 100644 src/http/api/tag-manage/index.ts create mode 100644 src/views/user/lessor/tag-manage/components/index.vue diff --git a/env/.env.dev b/env/.env.dev index 07b1fab..7729bb7 100644 --- a/env/.env.dev +++ b/env/.env.dev @@ -8,10 +8,10 @@ VITE_API_URL = '/proxyApi' # VITE_proxyTarget = 'http://10.40.92.74:8080' #盛旭 # VITE_proxyTarget = 'http://192.168.2.246:28080' # 马帅 -# VITE_proxyTarget = 'http://192.168.2.127:28080' # 梁超 +VITE_proxyTarget = 'http://192.168.2.127:28080' # 梁超 # VITE_proxyTarget = 'http://36.33.26.201:17788/proxyApi' # 测试服务 # VITE_proxyTarget = 'http://192.168.0.244:28580' # 测试服务 -VITE_proxyTarget = 'http://192.168.2.72:28080' # 盛旭 +# VITE_proxyTarget = 'http://192.168.2.72:28080' # 盛旭 # VITE_proxyTarget = 'http://10.40.92.185:9206' # 赵福海 ( 设备类型) # VITE_proxyTarget = 'http://10.40.92.16:9502' # 牛 (个人中心 基础信息企业申请认证) diff --git a/package.json b/package.json index 4fcb0a3..0e7fcd4 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "vite-plugin-html": "^3.2.0", "vite-plugin-zip-file": "^2.2.0", "vue": "^3.3.4", + "vue-qrcode": "^2.2.2", "vue-router": "^4.2.5" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 844030d..399b739 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,6 +50,9 @@ importers: vue: specifier: ^3.3.4 version: 3.3.4 + vue-qrcode: + specifier: ^2.2.2 + version: 2.2.2(qrcode@1.5.4)(vue@3.3.4) vue-router: specifier: ^4.2.5 version: 4.2.5(vue@3.3.4) @@ -581,6 +584,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -640,6 +647,10 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} @@ -663,6 +674,9 @@ packages: resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} engines: {node: '>= 10.0'} + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -735,10 +749,17 @@ packages: supports-color: optional: true + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} @@ -776,6 +797,9 @@ packages: peerDependencies: vue: ^3.2.0 + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} @@ -822,6 +846,10 @@ packages: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + follow-redirects@1.15.3: resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} @@ -851,6 +879,10 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -914,6 +946,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -977,6 +1013,10 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} @@ -1093,6 +1133,18 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -1109,6 +1161,10 @@ packages: path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -1159,6 +1215,10 @@ packages: pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -1169,6 +1229,11 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + qrcode@1.5.4: + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} + engines: {node: '>=10.13.0'} + hasBin: true + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1187,6 +1252,13 @@ packages: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -1223,6 +1295,9 @@ packages: engines: {node: '>=10'} hasBin: true + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -1260,9 +1335,17 @@ packages: spdx-license-ids@3.0.16: resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + strip-literal@1.3.0: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} @@ -1418,6 +1501,12 @@ packages: '@vue/composition-api': optional: true + vue-qrcode@2.2.2: + resolution: {integrity: sha512-SbrXq/mSb1g2tbDyXPe9gy9KiMYsvxWKRErlpij1BqiFoHwQckheZV63CTw6yRLLUVG2RXAVlX+APkpdCK7SQQ==} + peerDependencies: + qrcode: ^1.0.0 + vue: ^2.7.0 || ^3.0.0 + vue-router@4.2.5: resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: @@ -1442,17 +1531,35 @@ packages: webpack-virtual-modules@0.6.1: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + snapshots: '@ampproject/remapping@2.2.1': @@ -1983,6 +2090,8 @@ snapshots: acorn@8.11.2: {} + ansi-regex@5.0.1: {} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -2045,6 +2154,8 @@ snapshots: pascal-case: 3.1.2 tslib: 2.6.2 + camelcase@5.3.1: {} + camelcase@6.3.0: {} caniuse-lite@1.0.30001565: {} @@ -2076,6 +2187,12 @@ snapshots: dependencies: source-map: 0.6.1 + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -2134,8 +2251,12 @@ snapshots: dependencies: ms: 2.1.2 + decamelize@1.2.0: {} + delayed-stream@1.0.0: {} + dijkstrajs@1.0.3: {} + dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 @@ -2190,6 +2311,8 @@ snapshots: transitivePeerDependencies: - '@vue/composition-api' + emoji-regex@8.0.0: {} + entities@2.2.0: {} error-ex@1.3.2: @@ -2253,6 +2376,11 @@ snapshots: dependencies: to-regex-range: 5.0.1 + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + follow-redirects@1.15.3: {} form-data@4.0.0: @@ -2274,6 +2402,8 @@ snapshots: gensync@1.0.0-beta.2: {} + get-caller-file@2.0.5: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -2326,6 +2456,8 @@ snapshots: is-extglob@2.1.1: {} + is-fullwidth-code-point@3.0.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -2381,6 +2513,10 @@ snapshots: mlly: 1.4.2 pkg-types: 1.0.3 + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + lodash-es@4.17.21: {} lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21): @@ -2494,6 +2630,16 @@ snapshots: dependencies: boolbase: 1.0.0 + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-try@2.2.0: {} + pako@1.0.11: {} param-case@3.0.4: @@ -2516,6 +2662,8 @@ snapshots: path-browserify@1.0.1: {} + path-exists@4.0.0: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -2550,6 +2698,8 @@ snapshots: mlly: 1.4.2 pathe: 1.1.1 + pngjs@5.0.0: {} + postcss@8.4.31: dependencies: nanoid: 3.3.7 @@ -2560,6 +2710,12 @@ snapshots: proxy-from-env@1.1.0: {} + qrcode@1.5.4: + dependencies: + dijkstrajs: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + queue-microtask@1.2.3: {} read-pkg@8.1.0: @@ -2585,6 +2741,10 @@ snapshots: relateurl@0.2.7: {} + require-directory@2.1.1: {} + + require-main-filename@2.0.0: {} + resolve@1.22.8: dependencies: is-core-module: 2.13.1 @@ -2617,6 +2777,8 @@ snapshots: dependencies: lru-cache: 6.0.0 + set-blocking@2.0.0: {} + setimmediate@1.0.5: {} shebang-command@2.0.0: @@ -2650,10 +2812,20 @@ snapshots: spdx-license-ids@3.0.16: {} + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + strip-literal@1.3.0: dependencies: acorn: 8.11.2 @@ -2804,6 +2976,12 @@ snapshots: dependencies: vue: 3.3.4 + vue-qrcode@2.2.2(qrcode@1.5.4)(vue@3.3.4): + dependencies: + qrcode: 1.5.4 + tslib: 2.6.2 + vue: 3.3.4 + vue-router@4.2.5(vue@3.3.4): dependencies: '@vue/devtools-api': 6.5.1 @@ -2833,10 +3011,39 @@ snapshots: webpack-virtual-modules@0.6.1: {} + which-module@2.0.1: {} + which@2.0.2: dependencies: isexe: 2.0.0 + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + y18n@4.0.3: {} + yallist@3.1.1: {} yallist@4.0.0: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 diff --git a/src/http/api/repair-manage/index.ts b/src/http/api/repair-manage/index.ts new file mode 100644 index 0000000..7080db3 --- /dev/null +++ b/src/http/api/repair-manage/index.ts @@ -0,0 +1,22 @@ +import { get, post } from '../../index' + +// 获取维修列表 +export const getRepairListApi = (data: any = {}) => { + return get('/material-mall/ma_rm/list', data) +} +// 新增维修保养数据 +export const addRepairDataApi = (data: any = {}) => { + return post('/material-mall/ma_rm/add', data) +} +// 全证书列表 +export const getSafeBookByMaIdListApi = (data: any = {}) => { + return get('/material-mall/safeBook/getSafeBookByMaId', data) +} +// 安全证书编辑 +export const editSafeBookApi = (data: any = {}) => { + return post('/material-mall/safeBook/editSafeBook', data) +} +// 安全证书列表删除 +export const delSafeBookByIdApi = (data: any = {}) => { + return post('/material-mall/safeBook/delSafeBook', data) +} \ No newline at end of file diff --git a/src/http/api/tag-manage/index.ts b/src/http/api/tag-manage/index.ts new file mode 100644 index 0000000..02c0a98 --- /dev/null +++ b/src/http/api/tag-manage/index.ts @@ -0,0 +1,22 @@ +import { get, post } from '../../index' + +// 获取标签列表 +export const getTagDevListApi = (data: any = {}) => { + return get('/material-mall/tag/getTagDevList', data) +} +// 新增安全证书 +export const addSafeBookApi = (data: any = {}) => { + return post('/material-mall/safeBook/addSafeBook', data) +} +// 全证书列表 +export const getSafeBookByMaIdListApi = (data: any = {}) => { + return get('/material-mall/safeBook/getSafeBookByMaId', data) +} +// 安全证书编辑 +export const editSafeBookApi = (data: any = {}) => { + return post('/material-mall/safeBook/editSafeBook', data) +} +// 安全证书列表删除 +export const delSafeBookByIdApi = (data: any = {}) => { + return post('/material-mall/safeBook/delSafeBook', data) +} \ No newline at end of file diff --git a/src/layout/header.vue b/src/layout/header.vue index d0cf26e..09ae145 100644 --- a/src/layout/header.vue +++ b/src/layout/header.vue @@ -329,7 +329,7 @@ const onJumpUser = () => { class="left-check-box" @click=" () => { - searchCheckVisible = true + searchCheckVisible = !searchCheckVisible } " > diff --git a/src/main.ts b/src/main.ts index 2e5d17d..51bfd55 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,8 +3,6 @@ import * as ElementPlusIconsVue from '@element-plus/icons-vue' import { createApp } from 'vue' -// import { createPinia } from 'pinia' - import App from './App.vue' import pinia from "./store" import router from './router' @@ -13,6 +11,7 @@ import './style/css/reset.css' import './assets/font/iconfont.js' import ElementPlus from 'element-plus' import zhCn from 'element-plus/es/locale/lang/zh-cn' +import VueQrcode from 'vue-qrcode' import registerDirectives from 'utils/directive' @@ -21,6 +20,7 @@ const app = createApp(App) for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) + app.component('vue-qr-code', VueQrcode) } diff --git a/src/router/index.ts b/src/router/index.ts index bde97f0..10ebd53 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -296,7 +296,18 @@ const routes: Array = [ name: 'tag-manage', component: () => import('views/user/lessor/tag-manage/index.vue'), meta: { - title: '标签', + title: '标签管理', + keepAlive: true, + AuthFlag: false, + isLogin: true + }, + }, + { + path: '/repair-manage', + name: 'repair-manage', + component: () => import('views/user/lessor/repair-manage/index.vue'), + meta: { + title: '维修保养管理', keepAlive: true, AuthFlag: false, isLogin: true diff --git a/src/views/user/index.vue b/src/views/user/index.vue index 5f85b38..860f329 100644 --- a/src/views/user/index.vue +++ b/src/views/user/index.vue @@ -30,6 +30,7 @@ const allList = [ { title: '质检管理', name: 'quality-manage', permission: ['1'] }, { title: '安全证书管理', name: 'security-certificate', permission: ['1'] }, { title: '标签管理', name: 'tag-manage', permission: ['1'] }, + { title: '维修保养管理', name: 'repair-manage', permission: ['1'] }, { title: '需求管理', name: 'sourcingNeed', permission: ['2'] }, { title: '订单管理', name: 'orderManagement', permission: ['2'] }, { title: '合同管理', name: 'contract-manage', permission: ['1'] }, diff --git a/src/views/user/lessor/repair-manage/index.vue b/src/views/user/lessor/repair-manage/index.vue index 9b914dd..7c090e2 100644 --- a/src/views/user/lessor/repair-manage/index.vue +++ b/src/views/user/lessor/repair-manage/index.vue @@ -26,7 +26,7 @@ inputmode="numeric" v-model="searchParams.minNum" style="width: 100%" - placeholder="质检次数" + placeholder="维修保养次数" /> @@ -37,7 +37,7 @@ inputmode="numeric" v-model.trim="searchParams.maxNum" style="width: 100%" - placeholder="质检次数" + placeholder="维修保养次数" /> @@ -76,7 +76,7 @@ @click=" () => { isRepublish = true - dialogTitle = '质检新增' + dialogTitle = '新建维修保养' addOrEditDialogVisible = true } " @@ -191,7 +191,7 @@ - + + - - - - - - - - + @@ -234,7 +224,7 @@ - + ({ maId: '', - qcName: '', - qcUser: '', - qcTime: '', + rmName: '', + rmUser: '', + rmTime: '', fileInfoList: [], fileInfoTempList: [], }) @@ -469,9 +461,9 @@ const checkMaxNum = (rule: any, value: any, callback: any) => { const addOrEditFormRules = reactive({ maId: [{ required: true, message: '请选择关联装备', trigger: 'change' }], - qcName: [{ required: true, message: '请输入质检名称', trigger: 'blur' }], - qcUser: [{ required: true, message: '请输入质检员', trigger: 'change' }], - qcTime: [{ required: true, message: '请选择质检日期', trigger: 'change' }], + rmName: [{ required: true, message: '请输入质检名称', trigger: 'blur' }], + rmUser: [{ required: true, message: '请输入质检员', trigger: 'change' }], + rmTime: [{ required: true, message: '请选择质检日期', trigger: 'change' }], fileInfoList: [{ required: true, message: '请上传质检附件', trigger: 'blur' }], }) const searchFormRules = reactive({ @@ -509,7 +501,8 @@ const getLeaseListData = async () => { searchParams.createStartTime = createTime.value[0] searchParams.createEndTime = createTime.value[1] } - const { data: res }: any = await getQualityListApi(searchParams) + const { data: res }: any = await getRepairListApi() + console.log(res, '维修列表') qualityLis.value = res.rows total.value = res.total } diff --git a/src/views/user/lessor/tag-manage/components/index.vue b/src/views/user/lessor/tag-manage/components/index.vue new file mode 100644 index 0000000..a3eee3f --- /dev/null +++ b/src/views/user/lessor/tag-manage/components/index.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/src/views/user/lessor/tag-manage/index.vue b/src/views/user/lessor/tag-manage/index.vue index 11dfd29..89b91fe 100644 --- a/src/views/user/lessor/tag-manage/index.vue +++ b/src/views/user/lessor/tag-manage/index.vue @@ -21,32 +21,32 @@ - + - + - + @@ -61,11 +61,22 @@ style="width: 100%" range-separator="-" value-format="YYYY-MM-DD" - start-placeholder="上传开始日期" - end-placeholder="上传结束日期" + start-placeholder="上传日期" + end-placeholder="上传日期" /> + + + + + 查询 + + + 重置 + + + @@ -79,46 +90,22 @@ }" > - + - - - + + + @@ -133,172 +120,59 @@ /> - - - - - - - - - - - - 下载标签 - - - - +
+ + + 下载标签 + +
@@ -446,11 +271,20 @@ onMounted(() => { max-height: 100vh !important; .el-dialog__body { flex: 1; + padding: 0 10px 20px; overflow-y: scroll !important; } .dialog-content { padding: 20px; } + + .qr-code-container { + width: 100%; + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + } } }