From 665c18b68a5dedba63e00f89f763539967fb7f08 Mon Sep 17 00:00:00 2001 From: 曹睿 <360930172@qq.com> Date: 星期二, 03 六月 2025 16:20:36 +0800 Subject: [PATCH] feat: 拉丝添加报工,铝杆支持扫码输入 --- src/pages/production/wire/report/wireForm.vue | 104 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 82 insertions(+), 22 deletions(-) diff --git a/src/pages/production/wire/report/wireForm.vue b/src/pages/production/wire/report/wireForm.vue index b248788..b2c4b74 100644 --- a/src/pages/production/wire/report/wireForm.vue +++ b/src/pages/production/wire/report/wireForm.vue @@ -6,9 +6,12 @@ label="棰嗙敤鏉嗗彿" label-width="100px" prop="poleNumber" - clearable placeholder="璇疯緭鍏ラ鐢ㄦ潌鍙�" - /> + > + <template #suffix> + <wd-icon name="scan" @click="openScan" /> + </template> + </wd-input> <wd-input v-model="model.poleWeight" label="鏉嗛噸" @@ -18,12 +21,12 @@ placeholder="璇疯緭鍏ユ潌閲�" /> <wd-input - v-model="model.monofilamentNumber" - label="鍗曚笣鐩樺彿" + v-model="model.poleModel" + label="鏉嗗瀷鍙�" label-width="100px" - prop="monofilamentNumber" + prop="poleModel" clearable - placeholder="璇疯緭鍏ユ満鍙�" + placeholder="璇疯緭鍏ユ潌鍨嬪彿" /> <wd-input v-model="model.model" @@ -34,31 +37,60 @@ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" /> <wd-input - v-model="model.ontLength" - label="鐩橀暱" + v-model="model.oneLength" + label="鐩橀暱(m)" label-width="100px" - prop="ontLength" + prop="oneLength" clearable placeholder="璇疯緭鍏ョ洏闀�" /> <wd-input - v-model="model.theoryWeight" - label="鐞嗚閲嶉噺" + v-model="model.polePackageNumber" label-width="100px" - prop="theoryWeight" + prop="polePackageNumber" clearable - placeholder="璇疯緭鍏ョ悊璁洪噸閲�" - /> + placeholder="璇疯緭鍏ユ潌鍖呭彿" + > + <template #label> + <span style="color: #F56C6C">鏉嗗寘鍙�</span> + </template> + </wd-input> + <wd-input + v-model="model.dishModel" + label-width="100px" + prop="dishModel" + clearable + placeholder="璇疯緭鍏ョ洏鍨嬪彿" + > + <template #label> + <span style="color: #F56C6C">鐩樺瀷鍙�</span> + </template> + </wd-input> + <wd-input + v-model="model.actuallyLength" + label-width="100px" + prop="actuallyLength" + clearable + placeholder="璇疯緭鍏ュ疄闄呴暱搴�" + > + <template #label> + <span style="color: #F56C6C">瀹為檯闀垮害(m)</span> + </template> + </wd-input> <wd-input v-model="model.actuallyWeight" - label="瀹為檯閲嶉噺" label-width="100px" prop="actuallyWeight" clearable placeholder="璇疯緭鍏ュ疄闄呴噸閲�" - /> + > + <template #label> + <span style="color: #F56C6C">瀹為檯閲嶉噺(kg)</span> + </template> + </wd-input> </wd-cell-group> <wd-toast /> + <Scan ref="scanRef" /> </wd-form> </template> @@ -66,16 +98,21 @@ import useFormData from "@/hooks/useFormData"; import { useToast } from "wot-design-uni"; import WireApi from "@/api/product/wire"; +import Scan from "@/components/scan/index.vue"; const paramsId = ref(); +const scanRef = ref(); const toast = useToast(); -const { form: model } = useFormData({ +const { form: model, resetForm } = useFormData({ poleNumber: undefined, // 棰嗙敤鏉嗗彿 - poleWeight: undefined, // 瀹㈡埛鍚嶇О - monofilamentNumber: undefined, // 鍗曚笣鐩樺彿 + poleWeight: undefined, // 鏉嗛噸 + poleModel: undefined, // 鏉嗗瀷鍙� model: undefined, // 瑙勬牸鍨嬪彿 + polePackageNumber: undefined, // 鏉嗗寘鍙� + dishModel: undefined, // 鐩樺瀷鍙� oneLength: undefined, // 鐩橀暱 - singleDisc: undefined, // 鍗曚笣鐩橀暱 + actuallyLength: undefined, // 瀹為檯闀垮害 + actuallyWeight: undefined, // 瀹為檯閲嶉噺 }); const submit = async () => { @@ -86,6 +123,7 @@ }); if (code == 200) { toast.success("鎻愪氦鎴愬姛"); + resetForm() return true; } else { toast.error("鎻愪氦澶辫触"); @@ -93,8 +131,32 @@ } }; +const openScan = () => { + scanRef.value.triggerScan(); +}; + +// 鐩戝惉鎵爜 +const getScanCode = (code: any) => { + console.log("鑷畾涔夋壂鎻忕殑缁撴灉鍥炶皟鍑芥暟:", code.code); + // console.log("鑷畾涔夋壂鎻忕殑缁撴灉鍥炶皟鍑芥暟", JSON.parse(code)); + const arr = code.code.split(","); + model.poleNumber = arr[3]; // 棰嗙敤鏉嗗彿 + model.poleWeight = arr[4]; // 鏉嗛噸 + model.poleModel = '桅' + arr[1].slice(2); // 鏉嗗瀷鍙� +}; + onLoad((options: any) => { paramsId.value = options.id; + model.model = options.model; + console.log("options", options); + model.oneLength = options.oneLength; + // 寮�鍚箍鎾洃鍚簨浠� + uni.$on("scan", getScanCode); +}); + +onUnload(() => { + // 寮�鍚箍鎾洃鍚簨浠� + uni.$off("scan", getScanCode); }); defineExpose({ @@ -103,8 +165,6 @@ </script> <style lang="scss" scoped> -.form_box { -} .submit_btn { position: absolute; bottom: 0; -- Gitblit v1.9.3