From 879dc8c749db895139ebb07bd4cf7700d07adffb Mon Sep 17 00:00:00 2001 From: ljx120 <10717296+ljx120@user.noreply.gitee.com> Date: Sat, 21 Dec 2024 11:51:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=9D=99=E6=80=81=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 144 +++++++++++++++++- package.json | 7 +- src/components/BarScan.vue | 189 ++++++++++++++++++++++++ src/components/HelloWorld.vue | 41 ----- src/components/TheWelcome.vue | 90 ----------- src/components/WelcomeItem.vue | 87 ----------- src/router/index.ts | 45 ++++-- src/utils/date.ts | 17 +++ src/views/AboutView.vue | 11 +- src/views/lecher/l-quality.vue | 3 +- src/views/whiteEmbryo/scanCode.vue | 59 ++++++++ src/views/whiteEmbryo/w-level.vue | 129 ++++++++++++++++ src/views/whiteEmbryo/w-suppliers.vue | 142 ++++++++++++++++++ src/views/whiteEmbryo/w-warehousing.vue | 157 ++++++++++++++++++++ 14 files changed, 878 insertions(+), 243 deletions(-) create mode 100644 src/components/BarScan.vue delete mode 100644 src/components/HelloWorld.vue delete mode 100644 src/components/TheWelcome.vue delete mode 100644 src/components/WelcomeItem.vue create mode 100644 src/utils/date.ts create mode 100644 src/views/whiteEmbryo/scanCode.vue create mode 100644 src/views/whiteEmbryo/w-level.vue create mode 100644 src/views/whiteEmbryo/w-suppliers.vue create mode 100644 src/views/whiteEmbryo/w-warehousing.vue diff --git a/package-lock.json b/package-lock.json index 42aed38..2616b41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,12 @@ "version": "0.0.0", "dependencies": { "pinia": "^2.2.6", - "vant": "^4.9.14", + "vant": "^4.9.15", "vue": "^3.5.13", - "vue-router": "^4.4.5" + "vue-qrcode-reader": "^5.6.0", + "vue-router": "^4.4.5", + "vue3-qr-reader": "^1.0.0", + "vue3-qrcode-reader": "^0.0.1" }, "devDependencies": { "@tsconfig/node22": "^22.0.0", @@ -1553,6 +1556,16 @@ "integrity": "sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==", "dev": true }, + "node_modules/@types/dom-webcodecs": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/@types/dom-webcodecs/-/dom-webcodecs-0.1.13.tgz", + "integrity": "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==" + }, + "node_modules/@types/emscripten": { + "version": "1.39.13", + "resolved": "https://registry.npmmirror.com/@types/emscripten/-/emscripten-1.39.13.tgz", + "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", @@ -2364,6 +2377,15 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/barcode-detector": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/barcode-detector/-/barcode-detector-2.2.2.tgz", + "integrity": "sha512-JcSekql+EV93evfzF9zBr+Y6aRfkR+QFvgyzbwQ0dbymZXoAI9+WgT7H1E429f+3RKNncHz2CW98VQtaaKpmfQ==", + "dependencies": { + "@types/dom-webcodecs": "^0.1.11", + "zxing-wasm": "1.1.3" + } + }, "node_modules/birpc": { "version": "0.2.19", "resolved": "https://registry.npmmirror.com/birpc/-/birpc-0.2.19.tgz", @@ -2462,6 +2484,11 @@ "node": ">=8" } }, + "node_modules/callforth": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/callforth/-/callforth-0.3.1.tgz", + "integrity": "sha512-Q2zPfqnwoKsb1DTVCr4lmhe49wKNBsMmNlbudjleu3/co+Nw1pOqFHYJHrW3VZ253ou9AAr+xauQR0C55NPdzA==" + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", @@ -2614,6 +2641,16 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/core-js": { + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -3945,6 +3982,11 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsqr": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/jsqr/-/jsqr-1.4.0.tgz", + "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", @@ -4719,6 +4761,23 @@ "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", "dev": true }, + "node_modules/rtcpeerconnection-shim": { + "version": "1.2.15", + "resolved": "https://registry.npmmirror.com/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz", + "integrity": "sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw==", + "dependencies": { + "sdp": "^2.6.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, + "node_modules/rtcpeerconnection-shim/node_modules/sdp": { + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/sdp/-/sdp-2.12.0.tgz", + "integrity": "sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==" + }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.0.0.tgz", @@ -5160,6 +5219,11 @@ "node": ">=v12.22.7" } }, + "node_modules/sdp": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/sdp/-/sdp-3.2.0.tgz", + "integrity": "sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==" + }, "node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz", @@ -5711,10 +5775,9 @@ "dev": true }, "node_modules/vant": { - "version": "4.9.14", - "resolved": "https://registry.npmmirror.com/vant/-/vant-4.9.14.tgz", - "integrity": "sha512-sWov3CZ6555Mb0y4j7wjR0JIpKhPZwAIYLJT9/4p823uqSdPU96bL7VgJS75cSiATIODz4QGgZrSh6sa15jJGA==", - "hasInstallScript": true, + "version": "4.9.15", + "resolved": "https://registry.npmmirror.com/vant/-/vant-4.9.15.tgz", + "integrity": "sha512-XyIAnoGu2P/dc5R2NnjIJgKwfOTTVM2FJW/8WpsZA0FUBL6Lu+KHBaAY/x3IduwbowkaCIUUPViUopI2JSjbug==", "dependencies": { "@vant/popperjs": "^1.3.0", "@vant/use": "^1.6.0", @@ -7051,6 +7114,18 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/vue-qrcode-reader": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/vue-qrcode-reader/-/vue-qrcode-reader-5.6.0.tgz", + "integrity": "sha512-uvaJqMRgR/1tt7XWAqaRBQf0mo3gudu5fXqZmtoq+87lvmM4dublJ7StO6ssNO3FaJqssG72hPhXWoBoYWJIeg==", + "dependencies": { + "barcode-detector": "2.2.2", + "webrtc-adapter": "8.2.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/vue-router": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.0.tgz", @@ -7082,6 +7157,43 @@ "typescript": ">=5.0.0" } }, + "node_modules/vue3-qr-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/vue3-qr-reader/-/vue3-qr-reader-1.0.0.tgz", + "integrity": "sha512-BRgmR+lDPkNwgL6skSaEOGFg4Aup/FLYnOGFCV0knYHxfbAnliJN/+wr//iqD2G3EOBrXw4TPGNfj/5Wxl7wwQ==", + "dependencies": { + "jsqr": "^1.4.0" + } + }, + "node_modules/vue3-qrcode-reader": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/vue3-qrcode-reader/-/vue3-qrcode-reader-0.0.1.tgz", + "integrity": "sha512-rTZRO2WiBrGRT6pYGMkySNMnEwD9sVlzl9kwPxQ4C0n7I4SXVu60eq8ZQHQTMJAbDTTkbuuW/5reSf+TYFJ5pQ==", + "dependencies": { + "callforth": "^0.3.1", + "core-js": "^3.6.5", + "vue": "^3.0.0", + "webrtc-adapter": "7.7.0" + } + }, + "node_modules/vue3-qrcode-reader/node_modules/sdp": { + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/sdp/-/sdp-2.12.0.tgz", + "integrity": "sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==" + }, + "node_modules/vue3-qrcode-reader/node_modules/webrtc-adapter": { + "version": "7.7.0", + "resolved": "https://registry.npmmirror.com/webrtc-adapter/-/webrtc-adapter-7.7.0.tgz", + "integrity": "sha512-7Bp9OBnx642oJRkom1tNAbeJjUadAq2rh5xLL9YXPw5hVyt2h4hHr5bcoPYDs1stp/mZHSPSQA34YISdnr0DBQ==", + "dependencies": { + "rtcpeerconnection-shim": "^1.2.15", + "sdp": "^2.12.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", @@ -7112,6 +7224,18 @@ "node": ">=12" } }, + "node_modules/webrtc-adapter": { + "version": "8.2.3", + "resolved": "https://registry.npmmirror.com/webrtc-adapter/-/webrtc-adapter-8.2.3.tgz", + "integrity": "sha512-gnmRz++suzmvxtp3ehQts6s2JtAGPuDPjA1F3a9ckNpG1kYdYuHWYpazoAnL9FS5/B21tKlhkorbdCXat0+4xQ==", + "dependencies": { + "sdp": "^3.2.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, "node_modules/whatwg-encoding": { "version": "3.1.1", "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", @@ -7339,6 +7463,14 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zxing-wasm": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/zxing-wasm/-/zxing-wasm-1.1.3.tgz", + "integrity": "sha512-MYm9k/5YVs4ZOTIFwlRjfFKD0crhefgbnt1+6TEpmKUDFp3E2uwqGSKwQOd2hOIsta/7Usq4hnpNRYTLoljnfA==", + "dependencies": { + "@types/emscripten": "^1.39.10" + } } } } diff --git a/package.json b/package.json index fd1a282..e79d36f 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,12 @@ }, "dependencies": { "pinia": "^2.2.6", - "vant": "^4.9.14", + "vant": "^4.9.15", "vue": "^3.5.13", - "vue-router": "^4.4.5" + "vue-qrcode-reader": "^5.6.0", + "vue-router": "^4.4.5", + "vue3-qr-reader": "^1.0.0", + "vue3-qrcode-reader": "^0.0.1" }, "devDependencies": { "@tsconfig/node22": "^22.0.0", diff --git a/src/components/BarScan.vue b/src/components/BarScan.vue new file mode 100644 index 0000000..3360380 --- /dev/null +++ b/src/components/BarScan.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index d174cf8..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/src/components/TheWelcome.vue b/src/components/TheWelcome.vue deleted file mode 100644 index 3d4eecd..0000000 --- a/src/components/TheWelcome.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - diff --git a/src/components/WelcomeItem.vue b/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086a..0000000 --- a/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/src/router/index.ts b/src/router/index.ts index 9e37c1c..4c7892a 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -11,47 +11,66 @@ const router = createRouter({ children:[ { path: '/process', - name: 'process', + name: '工序项维护', component: () => import('../views/maintenance/m-process.vue'), }, { path: '/requirements', - name: 'requirements', + name: '工艺要求维护', component: () => import('../views/maintenance/m-requirements.vue'), }, { path: '/factory', - name: 'factory', + name: '工厂维护', component: () => import('../views/maintenance/m-factory.vue'), }, { path: '/other', - name: 'other', + name: '其他要求项维护', component: () => import('../views/maintenance/m-other.vue'), }, { path: '/quality', - name: 'quality', + name: '色胚质检项维护', component: () => import('../views/lecher/l-quality.vue'), }, { path: '/flaws', - name: 'flaws', + name: '色胚质检瑕疵维护', component: () => import('../views/lecher/l-flaws.vue'), }, { - path: '/', - name: 'about', - component: () => import('../views/AboutView.vue'), + path: '/warehousing', + name: '白胚入库', + component: () => import('../views/whiteEmbryo/w-warehousing.vue'), }, { - path: '/detail', - name: 'detail', - component: () => import('../views/maintenance/p-details.vue'), + path: '/level', + name: '白胚等级维护', + component: () => import('../views/whiteEmbryo/w-level.vue'), + }, + { + path: '/suppliers', + name: '供应商维护', + component: () => import('../views/whiteEmbryo/w-suppliers.vue'), + }, + { + path: '/scanCode', + name: '扫一扫', + component: () => import('../views/whiteEmbryo/scanCode.vue'), }, ] }, - + { + path: '/detail', + name: 'detail', + component: () => import('../views/maintenance/p-details.vue'), + }, + { + path: '/', + name: 'about', + component: () => import('../views/AboutView.vue'), + }, { path: "/:catchAll(.*)", name: "404", diff --git a/src/utils/date.ts b/src/utils/date.ts new file mode 100644 index 0000000..4332455 --- /dev/null +++ b/src/utils/date.ts @@ -0,0 +1,17 @@ +export function formatDate(time:Date|string,separator='-'){ + time=new Date(time); + let year=time.getFullYear(), + month=time.getMonth()+ 1, + date=time.getDate(); + return year+separator+(month<10?'0'+month:month)+separator+(date<10?'0'+date:date); +} + +//时间格式化 +export function formatTime(time:Date,separator1='-',seperator2=':'){ + time=new Date(time); + let date=formatDate(time,separator1), + hours=time.getHours(), + minutes=time.getMinutes(), + seconds=time.getSeconds(); + return date+' '+(hours<10?'0'+hours:hours)+seperator2+(minutes<10?'0'+minutes:minutes)+seperator2+(seconds<10?'0'+seconds:seconds); +} \ No newline at end of file diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue index 7ebbb15..a4805e1 100644 --- a/src/views/AboutView.vue +++ b/src/views/AboutView.vue @@ -5,9 +5,14 @@ import router from '@/router' const ListData =ref([] as any[]) onMounted(() => { - ListData.value=[{name:'工序项维护',url:'/process'},{name:'工艺要求维护',url:'/requirements'}, - {name:'工厂维护',url:'/factory'},{name:'其他要求项维护',url:'/other'},{name:'色胚质检项维护',url:'/quality'},{name:'色胚质检瑕疵维护',url:'/flaws'} - ] + const rout=router.getRoutes() + rout.forEach((l:any)=>{ + if(l.name==='home'){ + l.children.forEach((m:any)=>{ + ListData.value.push({name:m.name,url:m.path}) + }) + } + }) }) const gotoLink = (item: any) => { diff --git a/src/views/lecher/l-quality.vue b/src/views/lecher/l-quality.vue index c60c0ef..a668533 100644 --- a/src/views/lecher/l-quality.vue +++ b/src/views/lecher/l-quality.vue @@ -1,10 +1,11 @@ + + + + diff --git a/src/views/whiteEmbryo/w-level.vue b/src/views/whiteEmbryo/w-level.vue new file mode 100644 index 0000000..d3cc80d --- /dev/null +++ b/src/views/whiteEmbryo/w-level.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/src/views/whiteEmbryo/w-suppliers.vue b/src/views/whiteEmbryo/w-suppliers.vue new file mode 100644 index 0000000..f0642dc --- /dev/null +++ b/src/views/whiteEmbryo/w-suppliers.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/views/whiteEmbryo/w-warehousing.vue b/src/views/whiteEmbryo/w-warehousing.vue new file mode 100644 index 0000000..4b7bda7 --- /dev/null +++ b/src/views/whiteEmbryo/w-warehousing.vue @@ -0,0 +1,157 @@ + + + + +