From 5fa4b560a7b47e64ab0e8f2fa5b0708838ebe3f4 Mon Sep 17 00:00:00 2001 From: bb_pan Date: Sun, 27 Jul 2025 19:34:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=90=E6=96=99=E5=91=98=E7=A1=AE=E8=AE=A4+?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E7=BB=84=E4=BB=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 28 ++++ package.json | 1 + src/main.js | 3 + src/pages.json | 18 ++- src/pages/back/backCode.vue | 2 +- src/pages/back/backCodeAdd.vue | 2 +- src/pages/dateUpdate/index.vue | 2 +- src/pages/devicesSearch/ScanQrCode.vue | 28 +++- src/pages/devicesSearch/ScanQrCodeBox.vue | 24 ++- src/pages/devicesSearch/qrSearch.vue | 4 +- src/pages/inventoryBinding/index.vue | 2 +- src/pages/materialsStation/index/index.vue | 1 + .../materialClerkConfirms/confirmDetails.vue | 153 ++++++++++++++++++ .../materialClerkConfirms/detailsList.vue | 93 +++++++++++ .../materialClerkConfirms.vue | 142 ++++++++++++++++ .../materialsStation/toolsLease/codeOut.vue | 2 +- src/pages/nameplateUpdate/index.vue | 2 +- src/pages/new-purchase/bind/coding-scan.vue | 2 +- src/pages/new-purchase/entry/code-inbound.vue | 4 +- src/pages/new-purchase/entry/index.vue | 2 +- src/pages/picking/outbound/code-outbound.vue | 6 +- src/pages/picking/outbound/numCodeSelect.vue | 4 +- src/pages/repair/testedInBound/codeList.vue | 2 +- src/pages/repair/testedInBound/codeScan.vue | 4 +- src/pages/standardBox/addBox.vue | 2 +- src/pages/standardBox/boxList.vue | 2 +- src/pages/standardBox/codeEntering.vue | 2 +- src/pages/standardBox/codeList.vue | 2 +- src/pages/standardBox/infoRecord.vue | 2 +- src/services/materialsStation.js | 36 +++++ 30 files changed, 550 insertions(+), 27 deletions(-) create mode 100644 src/pages/materialsStation/materialClerkConfirms/confirmDetails.vue create mode 100644 src/pages/materialsStation/materialClerkConfirms/detailsList.vue create mode 100644 src/pages/materialsStation/materialClerkConfirms/materialClerkConfirms.vue diff --git a/package-lock.json b/package-lock.json index 5d6e511..7a6ee19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,7 @@ "sass": "^1.32.13", "sass-loader": "^16.0.3", "sm-crypto": "^0.3.13", + "vconsole": "^3.15.1", "vue": "^3.5.13", "vue-i18n": "^9.14.1" }, @@ -6733,6 +6734,17 @@ "dev": true, "license": "MIT" }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/core-js": { "version": "3.42.0", "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.42.0.tgz", @@ -10112,6 +10124,11 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/mutation-observer": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz", + "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==" + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", @@ -12611,6 +12628,17 @@ "node": ">= 0.8" } }, + "node_modules/vconsole": { + "version": "3.15.1", + "resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz", + "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==", + "dependencies": { + "@babel/runtime": "^7.17.2", + "copy-text-to-clipboard": "^3.0.1", + "core-js": "^3.11.0", + "mutation-observer": "^1.0.3" + } + }, "node_modules/vite": { "version": "5.2.8", "resolved": "https://registry.npmmirror.com/vite/-/vite-5.2.8.tgz", diff --git a/package.json b/package.json index cadfb60..d51a973 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "sass": "^1.32.13", "sass-loader": "^16.0.3", "sm-crypto": "^0.3.13", + "vconsole": "^3.15.1", "vue": "^3.5.13", "vue-i18n": "^9.14.1" }, diff --git a/src/main.js b/src/main.js index 4e3f367..9c4ad99 100644 --- a/src/main.js +++ b/src/main.js @@ -1,6 +1,9 @@ import { createSSRApp } from 'vue' import App from './App.vue' import pinia from './stores/index' +import VConsole from 'vconsole' + +new VConsole() import '@/styles/reset.css' import '@/styles/common.scss' diff --git a/src/pages.json b/src/pages.json index a8dfea8..0a27d3b 100644 --- a/src/pages.json +++ b/src/pages.json @@ -821,10 +821,24 @@ } }, // 项目部授权书 + + // 材料员确认 { - "path": "pages/materialsStation/authorizeSignature/authorizeSignature", + "path": "pages/materialsStation/materialClerkConfirms/materialClerkConfirms", "style": { - "navigationStyle": "custom" + "navigationBarTitleText": "材料员确认" + } + }, + { + "path": "pages/materialsStation/materialClerkConfirms/detailsList", + "style": { + "navigationBarTitleText": "材料员确认" + } + }, + { + "path": "pages/materialsStation/materialClerkConfirms/confirmDetails", + "style": { + "navigationBarTitleText": "材料员确认" } } // 材料站 end diff --git a/src/pages/back/backCode.vue b/src/pages/back/backCode.vue index 5255be4..2d544b8 100644 --- a/src/pages/back/backCode.vue +++ b/src/pages/back/backCode.vue @@ -303,7 +303,7 @@ const scanStart = async () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCode.value = result?.text?.split('?qrcode=')[1] || result?.text + qrCode.value = result?.data?.split('?qrcode=')[1] || result?.data if (qrCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/back/backCodeAdd.vue b/src/pages/back/backCodeAdd.vue index 8c13ad0..dc1347e 100644 --- a/src/pages/back/backCodeAdd.vue +++ b/src/pages/back/backCodeAdd.vue @@ -305,7 +305,7 @@ const uploadImg = () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCode.value = result?.text?.split('?qrcode=')[1] || result?.text + qrCode.value = result?.data?.split('?qrcode=')[1] || result?.data if (qrCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/dateUpdate/index.vue b/src/pages/dateUpdate/index.vue index 377c9e5..4bab40b 100644 --- a/src/pages/dateUpdate/index.vue +++ b/src/pages/dateUpdate/index.vue @@ -146,7 +146,7 @@ // 处理扫描成功事件 const handleScanSuccess = (result) => { - keyWord.value = result?.text?.split('?qrcode=')[1] || result?.text + keyWord.value = result?.data?.split('?qrcode=')[1] || result?.data if (keyWord.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/devicesSearch/ScanQrCode.vue b/src/pages/devicesSearch/ScanQrCode.vue index 4dc951d..847786f 100644 --- a/src/pages/devicesSearch/ScanQrCode.vue +++ b/src/pages/devicesSearch/ScanQrCode.vue @@ -5,6 +5,11 @@ + + diff --git a/src/pages/materialsStation/materialClerkConfirms/detailsList.vue b/src/pages/materialsStation/materialClerkConfirms/detailsList.vue new file mode 100644 index 0000000..554553a --- /dev/null +++ b/src/pages/materialsStation/materialClerkConfirms/detailsList.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/pages/materialsStation/materialClerkConfirms/materialClerkConfirms.vue b/src/pages/materialsStation/materialClerkConfirms/materialClerkConfirms.vue new file mode 100644 index 0000000..23d5ba2 --- /dev/null +++ b/src/pages/materialsStation/materialClerkConfirms/materialClerkConfirms.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/pages/materialsStation/toolsLease/codeOut.vue b/src/pages/materialsStation/toolsLease/codeOut.vue index 5fe6ef6..29aca45 100644 --- a/src/pages/materialsStation/toolsLease/codeOut.vue +++ b/src/pages/materialsStation/toolsLease/codeOut.vue @@ -433,7 +433,7 @@ const handleRfid = () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCodeScan.value = result?.text?.split('?qrcode=')[1] || result?.text + qrCodeScan.value = result?.data?.split('?qrcode=')[1] || result?.data if (qrCodeScan.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/nameplateUpdate/index.vue b/src/pages/nameplateUpdate/index.vue index b39a7b1..00a5c4a 100644 --- a/src/pages/nameplateUpdate/index.vue +++ b/src/pages/nameplateUpdate/index.vue @@ -251,7 +251,7 @@ const handleCheck = (item) => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCode.value = result?.text?.split('?qrcode=')[1] || result?.text + qrCode.value = result?.data?.split('?qrcode=')[1] || result?.data if (qrCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/new-purchase/bind/coding-scan.vue b/src/pages/new-purchase/bind/coding-scan.vue index bb6481a..bc993b1 100644 --- a/src/pages/new-purchase/bind/coding-scan.vue +++ b/src/pages/new-purchase/bind/coding-scan.vue @@ -136,7 +136,7 @@ const scanStart = () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { formData.value.qrCode = '' - formData.value.qrCode = result?.text.split('qrcode=')[1] || '' + formData.value.qrCode = result?.data.split('qrcode=')[1] || '' if (formData.value.qrCode === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/new-purchase/entry/code-inbound.vue b/src/pages/new-purchase/entry/code-inbound.vue index f2e6f7d..b0726d8 100644 --- a/src/pages/new-purchase/entry/code-inbound.vue +++ b/src/pages/new-purchase/entry/code-inbound.vue @@ -167,7 +167,7 @@ const codeScan = async () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { qrCode.value = '' - qrCode.value = result?.text.split('qrcode=')[1] || '' + qrCode.value = result?.data.split('qrcode=')[1] || '' if (qrCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { @@ -278,7 +278,7 @@ const boxScan = async () => { // 处理扫描成功事件 const handleScanSuccessBox = (result) => { - boxCode.value = result?.text || '' + boxCode.value = result?.data || '' if (boxCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/new-purchase/entry/index.vue b/src/pages/new-purchase/entry/index.vue index c20be0e..c391822 100644 --- a/src/pages/new-purchase/entry/index.vue +++ b/src/pages/new-purchase/entry/index.vue @@ -138,7 +138,7 @@ const rightClick = () => { // 处理扫描成功事件 const handleScanSuccessBox = (result) => { - boxCode.value = result?.text || '' + boxCode.value = result?.data || '' if (boxCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/picking/outbound/code-outbound.vue b/src/pages/picking/outbound/code-outbound.vue index 34490b6..9a7a031 100644 --- a/src/pages/picking/outbound/code-outbound.vue +++ b/src/pages/picking/outbound/code-outbound.vue @@ -414,7 +414,7 @@ const boxScan = async () => { // 处理扫描成功事件 const handleScanSuccessBox = (result) => { - boxCode.value = result?.text || '' + boxCode.value = result?.data || '' if (boxCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { @@ -567,7 +567,9 @@ const scanStart = () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCodeScan.value = result?.text?.split('?qrcode=')[1] || result?.text + console.log('🚀 ~ handleScanSuccess ~ result:', result) + qrCodeScan.value = result?.data?.split('?qrcode=')[1] || result?.data + console.log('🚀 ~ handleScanSuccess ~ qrCodeScan.value:', qrCodeScan.value) if (qrCodeScan.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/picking/outbound/numCodeSelect.vue b/src/pages/picking/outbound/numCodeSelect.vue index cd45dfa..9217d95 100644 --- a/src/pages/picking/outbound/numCodeSelect.vue +++ b/src/pages/picking/outbound/numCodeSelect.vue @@ -314,7 +314,7 @@ const boxScan = async () => { // 处理扫描成功事件 const handleScanSuccessBox = (result) => { - boxCode.value = result?.text || '' + boxCode.value = result?.data || '' if (boxCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { @@ -364,7 +364,7 @@ const scanStart = () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCodeScan.value = result?.text?.split('?qrcode=')[1] || result?.text + qrCodeScan.value = result?.data?.split('?qrcode=')[1] || result?.data if (qrCodeScan.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/repair/testedInBound/codeList.vue b/src/pages/repair/testedInBound/codeList.vue index bad97c3..ebabf42 100644 --- a/src/pages/repair/testedInBound/codeList.vue +++ b/src/pages/repair/testedInBound/codeList.vue @@ -166,7 +166,7 @@ const codeScan = async () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCode.value = result?.text?.split('?qrcode=')[1] || result?.text + qrCode.value = result?.data?.split('?qrcode=')[1] || result?.data if (qrCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/repair/testedInBound/codeScan.vue b/src/pages/repair/testedInBound/codeScan.vue index 1764994..11cb36b 100644 --- a/src/pages/repair/testedInBound/codeScan.vue +++ b/src/pages/repair/testedInBound/codeScan.vue @@ -126,7 +126,7 @@ const codeScan = () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - qrCode.value = result?.text?.split('?qrcode=')[1] || result?.text + qrCode.value = result?.data?.split('?qrcode=')[1] || result?.data if (qrCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { @@ -215,7 +215,7 @@ const boxScan = async () => { // 处理扫描成功事件 const handleScanSuccessBox = (result) => { - boxCode.value = result?.text || '' + boxCode.value = result?.data || '' if (boxCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/standardBox/addBox.vue b/src/pages/standardBox/addBox.vue index b076713..3139c28 100644 --- a/src/pages/standardBox/addBox.vue +++ b/src/pages/standardBox/addBox.vue @@ -67,7 +67,7 @@ const scanStart = () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - formData.value.boxCode = result?.text || '' + formData.value.boxCode = result?.data || '' if (formData.value.boxCode === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } diff --git a/src/pages/standardBox/boxList.vue b/src/pages/standardBox/boxList.vue index 983bd3a..3801e09 100644 --- a/src/pages/standardBox/boxList.vue +++ b/src/pages/standardBox/boxList.vue @@ -299,7 +299,7 @@ const rightClick = () => { } // 处理扫描成功事件 const handleScanSuccessBox = async (result) => { - boxCode.value = result?.text || '' + boxCode.value = result?.data || '' if (boxCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/standardBox/codeEntering.vue b/src/pages/standardBox/codeEntering.vue index 4ddefab..e739bf8 100644 --- a/src/pages/standardBox/codeEntering.vue +++ b/src/pages/standardBox/codeEntering.vue @@ -138,7 +138,7 @@ const scanStart = async () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - searchValue.value = result?.text?.split('?qrcode=')[1] || result?.text + searchValue.value = result?.data?.split('?qrcode=')[1] || result?.data if (searchValue.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/standardBox/codeList.vue b/src/pages/standardBox/codeList.vue index e648547..eeecb5b 100644 --- a/src/pages/standardBox/codeList.vue +++ b/src/pages/standardBox/codeList.vue @@ -175,7 +175,7 @@ const scanStart = async () => { // 处理扫描成功事件 const handleScanSuccess = (result) => { - const qrCode = result?.text || ''; + const qrCode = result?.data || ''; if (qrCode === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/pages/standardBox/infoRecord.vue b/src/pages/standardBox/infoRecord.vue index 1de39d2..edc62cb 100644 --- a/src/pages/standardBox/infoRecord.vue +++ b/src/pages/standardBox/infoRecord.vue @@ -50,7 +50,7 @@ onMounted(() => { }) // 处理扫描成功事件 const handleScanSuccessBox = (result) => { - boxCode.value = result?.text || '' + boxCode.value = result?.data || '' if (boxCode.value === '') { uni.showToast({ title: '扫码识别失败', icon: 'none' }) } else { diff --git a/src/services/materialsStation.js b/src/services/materialsStation.js index 7d8d6bd..d10f418 100644 --- a/src/services/materialsStation.js +++ b/src/services/materialsStation.js @@ -309,3 +309,39 @@ export const getListByIdCardApi = (data) => { data, }) } + +// 材料员确认-列表 +export const getCompleteOutTaskListApi = (data) => { + return http({ + method: 'GET', + url: '/material/lease_apply_info/getCompleteOutTaskList', + data, + }) +} + +// 确认详情列表 +export const getInfoByIdApi = (data) => { + return http({ + method: 'GET', + url: '/material/lease_apply_info/getInfoById', + data, + }) +} + +// 确认详情 +export const getLeaseRequestVoApi = (data) => { + return http({ + method: 'GET', + url: '/material/lease_apply_info/getLeaseRequestVo', + data, + }) +} + +// 材料员确认 +export const confirmMaterialApi = (data) => { + return http({ + method: 'POST', + url: '/material/lease_apply_info/confirmMaterial', + data, + }) +} \ No newline at end of file