From fe35e7e9faa159a58b59a9f8085934ae60535856 Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期三, 23 四月 2025 14:30:54 +0800 Subject: [PATCH] feat: 单丝参数 --- src/pages/production/twist/receive/monofil.vue | 123 ++++++++++++++++++++++++++++++----------- 1 files changed, 90 insertions(+), 33 deletions(-) diff --git a/src/pages/production/twist/receive/monofil.vue b/src/pages/production/twist/receive/monofil.vue index 80d234f..9af78a5 100644 --- a/src/pages/production/twist/receive/monofil.vue +++ b/src/pages/production/twist/receive/monofil.vue @@ -1,59 +1,116 @@ <template> - <view class="page"> - <CardTitle title="鍗曚笣棰嗙敤" :hideAction="false"> - <template #action> - <wd-button type="icon" icon="scan" color="#0D867F" @click="scanCode"></wd-button> + <view class="list_box"> + <z-paging + ref="pagingRef" + v-model="cardList" + :fixed="false" + :auto-show-back-to-top="true" + @query="getList" + > + <template #top> + <CardTitle title="鍗曚笣棰嗙敤" :hideAction="false"> + <template #action> + <wd-button type="icon" icon="scan" color="#0D867F" @click="openScan"></wd-button> + </template> + </CardTitle> </template> - </CardTitle> - <view class="list_box"> - <MonofilCard v-for="(item, index) in 4" :key="index" /> - </view> - <scan /> + <MonofilCard v-for="(item, index) in cardList" :key="index" :data="item" /> + <template #bottom> + <view class="flex justify-center items-center"> + <wd-button block @click="save"> + <text class="text-[#fff]">淇濆瓨</text> + </wd-button> + </view> + </template> + </z-paging> + <Scan ref="scanRef" /> + <wd-toast /> </view> </template> <script setup lang="ts"> import CardTitle from "@/components/card-title/index.vue"; import MonofilCard from "../components/MonofilCard.vue"; -import scan from "@/components/scan/index.vue"; -import { onLoad, onUnload } from "@dcloudio/uni-app"; +import { useToast } from "wot-design-uni"; +import { onLoad, onUnload, onShow, onHide } from "@dcloudio/uni-app"; +import Scan from "@/components/scan/index.vue"; +import ManageApi from "@/api/product/manage"; +import TwistApi from "@/api/product/twist"; +import zPaging from "@/components/z-paging/z-paging.vue"; +// import { useZebraScan } from "@/hooks/useZebraScan"; +// const { init, start, stop, triggerScan } = useZebraScan(); +const paramsId = ref(); +const pagingRef = ref(); +const scanRef = ref(); const cardList = ref<any[]>([]); +const toast = useToast(); -const BroadcastScanningToObtainData = (res: any) => { - console.log("鑾峰彇娆℃暟", res.code); - let barcode = res.code; - console.log("鎵撳嵃鏁版嵁", barcode); -}; - -const scanCode = () => { - uni.scanCode({ - onlyFromCamera: true, - success: (res) => { - console.log("鏉$爜绫诲瀷锛�" + res.scanType); - console.log("鏉$爜鍐呭锛�" + res.result); - cardList.value.push(res.result); - }, +const getScanCode = async (code: any) => { + console.log("鑷畾涔夋壂鎻忕殑缁撴灉鍥炶皟鍑芥暟:", code); + // let parseData = code.trim(); + let codeArr = code.code.split(","); + console.log("sb:", codeArr); + const { data } = await TwistApi.getScarn({ + outPutId: codeArr[1], }); + const exists = cardList.value.some((item) => item.id === data.id); + if (!exists) { + const { id, outPutId, ...rest } = data; + + cardList.value.push({ + outPutId: id, + ...rest, + }); + pagingRef.value.complete(cardList.value); + } else { + toast.error("璇ュ崟涓濆凡棰嗙敤锛岃鍕块噸澶嶆壂鐮�"); + } }; -onLoad(() => { +const openScan = () => { + scanRef.value.triggerScan(); +}; + +const getList = async () => { + const { code, data } = await ManageApi.getStrandedWireDish({ + wireId: paramsId.value, + type: "鍗曚笣", + }); + if (code == 200) { + pagingRef.value.complete(data); + } +}; + +const save = async () => { + const { code } = await TwistApi.addStrandedWireDish(cardList.value); + if (code == 200) { + toast.success("淇濆瓨鎴愬姛"); + pagingRef.value.refresh(); + } else { + toast.error("淇濆瓨澶辫触"); + } +}; + +onLoad((options: any) => { // 寮�鍚箍鎾洃鍚簨浠� - uni.$on("scan", BroadcastScanningToObtainData); + uni.$on("scan", getScanCode); + paramsId.value = options.id; }); onUnload(() => { // 寮�鍚箍鎾洃鍚簨浠� - uni.$off("scan", BroadcastScanningToObtainData); + uni.$off("scan", getScanCode); }); + +onShow(() => {}); + +onHide(() => {}); </script> <style lang="scss" scoped> -.page { +.list_box { + height: calc(100vh - 100px); background: #f3f9f8; - .list_box { - height: calc(100% - 100px); - overflow: scroll; - } } :deep(.wd-button__content) { color: #0d867f; -- Gitblit v1.9.3