From 39937a1602619c475fcb3bffe284cdcfcdd95e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=99=93=E9=B9=8F?= Date: Mon, 14 Apr 2025 16:04:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E8=8B=B1=E6=96=87=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 315 +++++++++++++++++- package.json | 2 + src/i18n/lang/en.ts | 2 +- src/i18n/pages/login/en.ts | 6 +- src/i18n/pages/materialReceiptNotice/en.ts | 110 +++--- src/i18n/pages/materialReceiptNotice/zh-cn.ts | 110 +++--- src/router/route.ts | 6 +- src/views/login/component/account.vue | 6 +- src/views/login/index.vue | 13 + src/views/login/logo.png | Bin 0 -> 42621 bytes src/views/materialReceiptNotice/barCode.vue | 81 +++++ src/views/materialReceiptNotice/index.vue | 92 +++-- src/views/mssPurchaseOrder/index.vue | 153 ++++++--- .../mssPurchaseOrder/purchaseDetails.vue | 77 ++++- 14 files changed, 733 insertions(+), 240 deletions(-) create mode 100644 src/views/login/logo.png create mode 100644 src/views/materialReceiptNotice/barCode.vue diff --git a/package-lock.json b/package-lock.json index 23d585c..3d6b981 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,8 @@ "html2canvas": "^1.4.1", "js-cookie": "^3.0.5", "js-table2excel": "^1.1.2", + "jsbarcode": "^3.11.6", + "jspdf": "^3.0.1", "jsplumb": "^2.15.6", "mitt": "^3.0.1", "nprogress": "^0.2.0", @@ -86,11 +88,12 @@ } }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.27.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" @@ -1099,6 +1102,13 @@ "integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==", "dev": true }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -1111,6 +1121,13 @@ "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==", "dev": true }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, "node_modules/@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", @@ -1787,6 +1804,18 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, "node_modules/axios": { "version": "1.6.8", "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", @@ -1853,6 +1882,18 @@ "node": ">=8" } }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -1880,6 +1921,33 @@ "node": ">=6" } }, + "node_modules/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/canvg/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "optional": true + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1990,6 +2058,18 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/core-js": { + "version": "3.41.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.41.0.tgz", + "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/countup.js": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz", @@ -2153,6 +2233,16 @@ "ssr-window": "^3.0.0-alpha.1" } }, + "node_modules/dompurify": { + "version": "3.2.5", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.2.5.tgz", + "integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/echarts": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", @@ -2578,6 +2668,12 @@ "reusify": "^1.0.4" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3087,6 +3183,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbarcode": { + "version": "3.11.6", + "resolved": "https://registry.npmmirror.com/jsbarcode/-/jsbarcode-3.11.6.tgz", + "integrity": "sha512-G5TKGyKY1zJo0ZQKFM1IIMfy0nF2rs92BLlCz+cU4/TazIc4ZH+X1GYeDRt7TKjrYqmPfTjwTBkU/QnQlsYiuA==", + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -3111,6 +3213,24 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jspdf": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-3.0.1.tgz", + "integrity": "sha512-qaGIxqxetdoNnFQQXxTKUD9/Z7AloLaw94fFsOiJMxbfYdBbrBuhWmbzI8TVjrw7s3jBY1PFHofBKMV/wZPapg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.7", + "atob": "^2.1.2", + "btoa": "^1.2.1", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.2.4", + "html2canvas": "^1.0.0-rc.5" + } + }, "node_modules/jsplumb": { "version": "2.15.6", "resolved": "https://registry.npmjs.org/jsplumb/-/jsplumb-2.15.6.tgz", @@ -3496,6 +3616,13 @@ "node": ">=8" } }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", + "optional": true + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -3678,6 +3805,16 @@ } ] }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -3691,9 +3828,10 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/resolve-from": { "version": "4.0.0", @@ -3714,6 +3852,16 @@ "node": ">=0.10.0" } }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -4010,6 +4158,16 @@ "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, "node_modules/string-split-by": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/string-split-by/-/string-split-by-1.0.0.tgz", @@ -4055,6 +4213,16 @@ "node": ">=8" } }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz", @@ -4561,11 +4729,11 @@ "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==" }, "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.27.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", "requires": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" } }, "@ctrl/tinycolor": { @@ -5169,6 +5337,12 @@ "integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==", "dev": true }, + "@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "optional": true + }, "@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -5181,6 +5355,12 @@ "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==", "dev": true }, + "@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "optional": true + }, "@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", @@ -5652,6 +5832,11 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, "axios": { "version": "1.6.8", "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", @@ -5708,6 +5893,11 @@ "fill-range": "^7.0.1" } }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, "call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -5726,6 +5916,30 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "optional": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "optional": true + } + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -5812,6 +6026,12 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "core-js": { + "version": "3.41.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.41.0.tgz", + "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==", + "optional": true + }, "countup.js": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz", @@ -5935,6 +6155,15 @@ "ssr-window": "^3.0.0-alpha.1" } }, + "dompurify": { + "version": "3.2.5", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.2.5.tgz", + "integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==", + "optional": true, + "requires": { + "@types/trusted-types": "^2.0.7" + } + }, "echarts": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", @@ -6276,6 +6505,11 @@ "reusify": "^1.0.4" } }, + "fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -6640,6 +6874,11 @@ "argparse": "^2.0.1" } }, + "jsbarcode": { + "version": "3.11.6", + "resolved": "https://registry.npmmirror.com/jsbarcode/-/jsbarcode-3.11.6.tgz", + "integrity": "sha512-G5TKGyKY1zJo0ZQKFM1IIMfy0nF2rs92BLlCz+cU4/TazIc4ZH+X1GYeDRt7TKjrYqmPfTjwTBkU/QnQlsYiuA==" + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -6662,6 +6901,21 @@ "universalify": "^2.0.0" } }, + "jspdf": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-3.0.1.tgz", + "integrity": "sha512-qaGIxqxetdoNnFQQXxTKUD9/Z7AloLaw94fFsOiJMxbfYdBbrBuhWmbzI8TVjrw7s3jBY1PFHofBKMV/wZPapg==", + "requires": { + "@babel/runtime": "^7.26.7", + "atob": "^2.1.2", + "btoa": "^1.2.1", + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.2.4", + "fflate": "^0.8.1", + "html2canvas": "^1.0.0-rc.5" + } + }, "jsplumb": { "version": "2.15.6", "resolved": "https://registry.npmjs.org/jsplumb/-/jsplumb-2.15.6.tgz", @@ -6957,6 +7211,12 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "optional": true + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -7054,6 +7314,15 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "optional": true, + "requires": { + "performance-now": "^2.1.0" + } + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -7064,9 +7333,9 @@ } }, "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "resolve-from": { "version": "4.0.0", @@ -7080,6 +7349,12 @@ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "optional": true + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -7268,6 +7543,12 @@ "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" }, + "stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "optional": true + }, "string-split-by": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/string-split-by/-/string-split-by-1.0.0.tgz", @@ -7300,6 +7581,12 @@ "has-flag": "^4.0.0" } }, + "svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "optional": true + }, "text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz", diff --git a/package.json b/package.json index d12838c..9f5a1d3 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,8 @@ "html2canvas": "^1.4.1", "js-cookie": "^3.0.5", "js-table2excel": "^1.1.2", + "jsbarcode": "^3.11.6", + "jspdf": "^3.0.1", "jsplumb": "^2.15.6", "mitt": "^3.0.1", "nprogress": "^0.2.0", diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts index 83d1129..a2fab25 100644 --- a/src/i18n/lang/en.ts +++ b/src/i18n/lang/en.ts @@ -104,7 +104,7 @@ export default { newDesc: 'No notice', logOutTitle: 'Tips', logOutMessage: 'This operation will log out. Do you want to continue?', - logOutConfirm: 'determine', + logOutConfirm: 'Confirm', logOutCancel: 'cancel', logOutExit: 'Exiting', }, diff --git a/src/i18n/pages/login/en.ts b/src/i18n/pages/login/en.ts index 2654a18..0f78cff 100644 --- a/src/i18n/pages/login/en.ts +++ b/src/i18n/pages/login/en.ts @@ -1,7 +1,7 @@ // 定义内容 export default { label: { - one1: 'User name login', + one1: 'Login', two2: 'Mobile number', }, link: { @@ -9,8 +9,8 @@ export default { two4: 'Links', }, account: { - accountPlaceholder1: 'The user name admin or not is common', - accountPlaceholder2: 'Password: 123456', + accountPlaceholder1: 'User name', + accountPlaceholder2: 'Password', accountPlaceholder3: 'Please enter the verification code', accountBtnText: 'Sign in', }, diff --git a/src/i18n/pages/materialReceiptNotice/en.ts b/src/i18n/pages/materialReceiptNotice/en.ts index acbca7f..8ac9f89 100644 --- a/src/i18n/pages/materialReceiptNotice/en.ts +++ b/src/i18n/pages/materialReceiptNotice/en.ts @@ -1,73 +1,49 @@ export default { - list:{ - PONumber: "PO Number", - SupplierCode: "Supplier Code", - SupplierName: "Supplier Name", - Buyer: "Buyer", - SettlementMode: "Settlement Mode", - Currency: "Currency", - PaymentTerms: "Payment Terms", - ExchangeRateType: "Exchange Rate Type", - ExchangeRate: "Exchange Rate", - OrderCreater: "Order Creater", - DocStatus: "Doc Status", - PurchaseDate: "Purchase Date", - Comments: "Comments", - MaterialCode: "Material Code", - MaterialName: "Material Name", - Specification: "Specification", - PurchaseUnit: "Purchase Unit", - QTY: "QTY", - UP: "U/P", - TaxInclusiveUP: "Tax Inclusive U/P", - TotalAmount: "Total Amount (Tax-exclusive)", - TotalAmountTaxInclusive: "Total Amount (Tax-inclusive)", - AccumulatedReceiptQTY: "Accumulated Receipt QTY", - DemondDate: "Demond Date", - TaxAmount: "Tax Amount", - CommittedDeliveryDate: "Committed Delivery Date", - LatestCommittedDeliveryDate: "Latest Committed Delivery Date", - Comments2: "Comments", + index:{ + POList:'PO List', + PODetails :'PO Details ', + DeliveryNoteList:'Delivery Note List', - // -- Part 2 -- - PONumber2: "PO Number", - SupplierCode2: "Supplier Code", - SupplierName2: "Supplier Name", - Buyer2: "Buyer", - ReceiveOrg: "Receive Org", - BusinessType: "Business Type", - OrderCreator: "Order Creator", - DocStatus2: "Doc Status", - ReceivingDate: "Receiving Date", - Comments3: "Comments", - MaterialCode2: "Material Code", - MaterialName2: "Material Name", - Specification2: "Specification", - PurchaseUnit2: "Purchase Unit", - ActualReceiptQTY: "Actual Receipt QTY", - DeliveryQTY: "Delivery QTY", - SupplierLotNumber: "Supplier Lot Number", - QualifiedQTY: "Qualified QTY", - MaxcesLotNumber: "Maxces Lot Number", - Comments4: "Comments", + DocNumber:'PO Number', + DocStatus:'PO Status', - // -- Part 3 -- - SourceDocNo: "Source Doc No.", - GoodReceivingNoticeNo: "Good Receiving Notice No.", - SupplierName3: "Supplier Name", - DeliveryDate2: "Delivery Date", - InvoiceNumber: "Invoice Number", - SN: "S/N", + normal:'Normal', + closed:'Closed', - // -- Other info -- - SupplierName4: "Supplier Name", - UserName: "User Name", - MobileNumber: "Mobile Number", - AccountStatus: "Account Status", - Description: "Description", - CreatedDate: "Created Date", - Operation: "Operation", - PurchaseOrder: "Purchase Order", - DeliveryNote: "Delivery Note" + StartDate:'Start Date', + EndDate:'End Date', + + search:'Search', + reset:'Reset', + + selected:'Selected', + items:'items', + proceed:'proceed', + + date:'Date', + status:'Status', + + unclosed:'Unclosed', + + partNumber:'Part Number', + + materialName:'Material Name', + + unit:'Unit', + + qty:'QTY', + + deliveryDate:'Delivery Date', + + receivedQTY:'Received QTY', + unreceivedQTY:'Unreceived QTY', + + earliestDeliveryDate:'Earliest Delivery Date', + latestDeliveryDate:'Latest Delivery Date', + + view:'view', + + batchUpdateEarliestDeliveryDate:'Batch update Earliest Delivery Date', + batchUpdateLatestDeliveryDate:'Batch update Latest Delivery Date', } }; diff --git a/src/i18n/pages/materialReceiptNotice/zh-cn.ts b/src/i18n/pages/materialReceiptNotice/zh-cn.ts index 5fbc26a..60888be 100644 --- a/src/i18n/pages/materialReceiptNotice/zh-cn.ts +++ b/src/i18n/pages/materialReceiptNotice/zh-cn.ts @@ -1,73 +1,49 @@ export default { - list:{ - PONumber: "单据编号", - SupplierCode: "供应商代码", - SupplierName: "供应商名称", - Buyer: "采购员", - SettlementMode: "结算方式", - Currency: "结算币别", - PaymentTerms: "付款条件", - ExchangeRateType: "汇率类型", - ExchangeRate: "汇率", - OrderCreater: "制单人", - DocStatus: "单据状态", - PurchaseDate: "采购日期", - Comments: "备注", - MaterialCode: "物料编码", - MaterialName: "物料名称", - Specification: "规格型号", - PurchaseUnit: "采购单位", - QTY: "数量", - UP: "单价", - TaxInclusiveUP: "含税单价", - TotalAmount: "金额(不含税)", - TotalAmountTaxInclusive: "价税合计(含税金额)", - AccumulatedReceiptQTY: "累计收料数量", - DemondDate: "交货日期", - TaxAmount: "税额", - CommittedDeliveryDate: "供应商承诺交期", - LatestCommittedDeliveryDate: "供应商承诺最新交期", - Comments2: "备注", + index:{ + POList:'采购管理列表', + PODetails :'采购订单明细', + DeliveryNoteList:'送货管理列表', - // -- 第二部分 -- - PONumber2: "单据编号", - SupplierCode2: "供应商代码", - SupplierName2: "供应商名称", - Buyer2: "采购员", - ReceiveOrg: "收料组织", - BusinessType: "单据类型", - OrderCreator: "制单人", - DocStatus2: "单据状态", - ReceivingDate: "发货日期", - Comments3: "备注", - MaterialCode2: "物料编码", - MaterialName2: "物料名称", - Specification2: "规格型号", - PurchaseUnit2: "收料单位", - ActualReceiptQTY: "实到数量", - DeliveryQTY: "交货数量", - SupplierLotNumber: "供应商批号", - QualifiedQTY: "合格数量", - MaxcesLotNumber: "批号", - Comments4: "备注", + DocNumber:'单据编号', + DocStatus:'业务状态', - // -- 第三部分 -- - SourceDocNo: "源单单号", - GoodReceivingNoticeNo: "收料通知单编号(送货单号)", - SupplierName3: "供应商名称", - DeliveryDate2: "送货日期", - InvoiceNumber: "发票号", - SN: "序号", + normal:'正常', + closed:'关闭', - // -- 其他信息 -- - SupplierName4: "公司名称", - UserName: "用户姓名", - MobileNumber: "手机号", - AccountStatus: "账号状态", - Description: "用户描述", - CreatedDate: "创建时间", - Operation: "操作", - PurchaseOrder: "采购管理", - DeliveryNote: "送货管理" + StartDate:'开始采购日期', + EndDate:'采购结束日期', + + search:'搜索', + reset:'重置', + + selected:'已选中', + items:'条数据', + proceed:'去查看', + + date:'采购日期', + status:'关闭状态', + + unclosed:'未关闭', + + PartNumber:'物料编码', + + materialName:'物料名称', + + unit:'采购单位', + + qty:'采购数量', + + deliveryDate:'交货日期', + + receivedQTY:'累计收料数量', + unreceivedQTY:'剩余收料数量', + + earliestDeliveryDate:'供应商承诺交期', + latestDeliveryDate:'供应商承诺交期', + + view:'查看', + + batchUpdateEarliestDeliveryDate:'批量修改选中承诺日期', + batchUpdateLatestDeliveryDate:'批量修改选中承诺最新交期', } }; diff --git a/src/router/route.ts b/src/router/route.ts index 58aaa05..88538ae 100644 --- a/src/router/route.ts +++ b/src/router/route.ts @@ -52,7 +52,7 @@ export const dynamicRoutes: Array = [ name: 'mssPurchaseOrderIndex', component: () => import('/@/views/mssPurchaseOrder/index.vue'), meta: { - title: '采购管理列表', + title: 'message.index.POList', isLink: '', isHide: false, isKeepAlive: true, @@ -67,7 +67,7 @@ export const dynamicRoutes: Array = [ name: 'purchaseDetails', component: () => import('/@/views/mssPurchaseOrder/purchaseDetails.vue'), meta: { - title: '采购订单明细', + title: 'message.index.PODetails', isLink: '', isHide: true, isKeepAlive: true, @@ -82,7 +82,7 @@ export const dynamicRoutes: Array = [ name: 'materialReceiptNotice', component: () => import('/@/views/materialReceiptNotice/index.vue'), meta: { - title: '送货管理列表', + title: 'message.index.DeliveryNoteList', isLink: '', isHide: false, isKeepAlive: true, diff --git a/src/views/login/component/account.vue b/src/views/login/component/account.vue index 0469baf..abb9861 100644 --- a/src/views/login/component/account.vue +++ b/src/views/login/component/account.vue @@ -58,9 +58,9 @@ const router = useRouter(); const state = reactive({ isShowPassword: false, ruleForm: { - userName: 'abc', - password: '123', - code: '1234', + userName: '', + password: '', + code: '', }, loading: { signIn: false, diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 26377fc..ec048ed 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -1,6 +1,9 @@ + - @@ -62,7 +78,7 @@ import { listApi } from '../../api/list/index'; import { ElMessage } from 'element-plus'; import { useI18n } from 'vue-i18n'; import SelectedData from '/@/views/materialReceiptNotice/selectedData.vue'; - +import barCode from './barCode.vue' const { t } = useI18n(); const crudRef = ref(); // 定义变量内容 @@ -85,7 +101,8 @@ const state = reactive({ searchMenuSpan: 3, addBtn: false, column: [ - { label: '', prop: 'checkboxBox',width: 35 }, + { label: '', prop: 'checkboxBox', width: 35 }, + { label: '送货日期', prop: 'deliveryDate' }, { label: '发货单号', prop: 'sheet', width: '135' }, { label: '美塞斯批号', prop: 'mssSupplierLot' }, { label: '供应商批号', prop: 'fSupplierLot' }, @@ -112,18 +129,45 @@ const state = reactive({ newChengNuoJiaoQiP: '', selectedDataShow: false, loading: false, + barCodeShow:false, + barCodeItem: {} }); -const selectionChange = () => { - let ids: any = []; - let arr: any = [] - state.data.forEach((item:any) => { - if(item.checkboxBox === '1'){ - arr.push(item) - } - }) - state.selectedData = arr +const elDatePickerFun = (val: any) => { + state.formData.fDateBegin = val[0]; + state.formData.fDateEmd = val[1]; }; - +const selectionChange = (row: any) => { + if (row.checkboxBox == '1') { + state.data.forEach((item: any) => { + if (item.id !== row.id) { + item.checkboxBox = '0'; + } + }); + listApi() + .invoiceOrderGetPageList({ + condition: { + sheet: row.sheet, + fDateBegin: '', + fDateEmd: '', + fmrpCloseStatus: '', + }, + pageSize: 1000000, + page: 1, + }) + .then((res: any) => { + state.loading = false; + if (res.resultCode === 0) { + state.selectedData = res.data.dataList; + } + }); + } else { + state.selectedData = []; + } +}; +const barCodeFunDataRow = (row) => { + state.barCodeItem = row + state.barCodeShow = true +} //接口数据处理 const selectFun = () => { state.page.currentPage = 1; @@ -159,9 +203,9 @@ const getList = () => { state.loading = false; if (res.resultCode === 0) { state.data = res.data.dataList; - state.data.forEach((item:any) => { - item.checkboxBox = '0' - }) + state.data.forEach((item: any) => { + item.checkboxBox = '0'; + }); state.page.total = res.data.total; } }); @@ -177,9 +221,11 @@ onMounted(() => {}); :deep(.el-checkbox--default):nth-child(0) { display: none !important; } -:deep(.el-checkbox){ - height: 15px !important; + +:deep(.el-checkbox) { + height: 15px !important; } + :deep(.cell) { padding: 0 8px !important; } diff --git a/src/views/mssPurchaseOrder/index.vue b/src/views/mssPurchaseOrder/index.vue index cd05ad9..a8de091 100644 --- a/src/views/mssPurchaseOrder/index.vue +++ b/src/views/mssPurchaseOrder/index.vue @@ -3,10 +3,10 @@
- +
- +
@@ -16,8 +16,8 @@ style="width: 25vw" type="daterange" range-separator="-" - start-placeholder="开始采购日期" - end-placeholder="采购结束日期" + :start-placeholder="t('message.index.StartDate')" + :end-placeholder="t('message.index.EndDate')" size="default" format="YYYY-MM-DD" value-format="YYYY-MM-DD" @@ -25,18 +25,18 @@ />
- 搜索 - 重置 + {{ t('message.index.search') }} + {{ t('message.index.reset') }}
- 已选中 {{ state.selectedData.length }} 条数据,去查看 + {{ t('message.index.selected') }} {{ state.selectedData.length }} {{ t('message.index.items') }},{{ t('message.index.proceed') }} + {{ row.fBillNo }} +