From 78c565e37520fad100693c4e298e30e7c916d1bb Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 28 十月 2025 16:21:40 +0800
Subject: [PATCH] fix: 领用二维码异常提示,原材料自检重构
---
src/pages/production/twist/receive/steelCore/index.vue | 155 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 111 insertions(+), 44 deletions(-)
diff --git a/src/pages/production/twist/receive/steelCore/index.vue b/src/pages/production/twist/receive/steelCore/index.vue
index 7195115..85da5f2 100644
--- a/src/pages/production/twist/receive/steelCore/index.vue
+++ b/src/pages/production/twist/receive/steelCore/index.vue
@@ -1,26 +1,46 @@
<template>
- <view class="page pt-2">
- <CardTitle title="閽㈣姱棰嗙敤" :hideAction="true" @action="addReport" />
- <view class="list">
- <wd-card v-for="(item, index) in 2" :key="index" type="rectangle" custom-class="round">
+ <view class="list">
+ <z-paging
+ ref="pagingRef"
+ v-model="cardList"
+ :fixed="false"
+ :auto-show-back-to-top="true"
+ @query="getList"
+ >
+ <template #top>
+ <CardTitle title="閽㈣姱棰嗙敤" :hideAction="true" :full="false" @action="addReport" />
+ </template>
+ <wd-card v-for="(item, index) in cardList" :key="index" type="rectangle" custom-class="round">
<template #title>
<view class="flex justify-between">
<view>
<wd-icon name="a-rootlist" color="#0D867F"></wd-icon>
- <text class="text-[#252525] ml-2 font-medium">JX28201021-1</text>
+ <text class="text-[#252525] ml-2 font-medium">{{ item.model }}</text>
</view>
- <view class="text-[#A8A8A8]" @click="toEdit">缂栬緫</view>
+ <view class="text-[#A8A8A8]" @click="toEdit(item.id)">缂栬緫</view>
</view>
</template>
- <ProductionCard :data="cardAttr" color="#0D867F" />
+ <ProductionCard :data="cardAttr" :value="item" color="#0D867F" />
</wd-card>
- </view>
- <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup">
+ </z-paging>
+ <wd-popup v-model="addDialog.visible" position="bottom" custom-class="yl-popup">
<view class="action px-3">
- <wd-button type="text" @click="cancel">鍙栨秷</wd-button>
- <wd-button type="text" @click="submit">纭畾</wd-button>
+ <wd-button type="text" @click="cancelAdd">鍙栨秷</wd-button>
+ <wd-button type="text" @click="submitAdd">纭畾</wd-button>
</view>
- <PlateForm />
+ <SteelCore ref="addFormRef" mode="add" @refresh="reloadList" />
+ </wd-popup>
+ <wd-popup v-model="editDialog.visible" position="bottom" custom-class="yl-popup">
+ <view class="action px-3">
+ <wd-button type="text" @click="cancelEdit">鍙栨秷</wd-button>
+ <wd-button type="text" @click="submitEdit">纭畾</wd-button>
+ </view>
+ <SteelCore
+ ref="editFormRef"
+ mode="edit"
+ :editData="editDialog.currentItem"
+ @refresh="reloadList"
+ />
</wd-popup>
<wd-toast />
</view>
@@ -30,70 +50,117 @@
import CardTitle from "@/components/card-title/index.vue";
import ProductionCard from "../../../components/ProductionCard.vue";
import { useToast } from "wot-design-uni";
-import PlateForm from "./form.vue";
+import SteelCore from "./form.vue";
+import { onLoad } from "@dcloudio/uni-app";
+import ManageApi from "@/api/product/manage";
+import zPaging from "@/components/z-paging/z-paging.vue";
+const paramsId = ref();
+const pagingRef = ref();
+const addFormRef = ref();
+const editFormRef = ref();
const toast = useToast();
-const dialog = reactive({
+const addDialog = reactive({
visible: false,
});
+const editDialog = reactive({
+ visible: false,
+ currentItem: null as any,
+ editId: undefined as number | undefined,
+});
+const cardList = ref<any[]>([]);
const cardAttr = ref<any[]>([
{
- label: "鐩樺彿",
- value: "1902101",
+ label: "鏍峰搧缂栧彿",
+ prop: "monofilamentNumber",
},
{
- label: "闀垮害",
- value: "46kg",
+ label: "鏁伴噺",
+ prop: "amount",
+ unitProp: "unit",
},
{
label: "閲嶉噺",
- value: "10kg",
- },
- {
- label: undefined,
- value: undefined,
+ prop: "weight",
+ unitProp: "weightUnit",
},
{
label: "鍘傚",
- value: "姹熻嫃鐪佸崡閫氬競鑺鏁板瓧鍘�",
- span: 14,
+ prop: "supplier",
+ span: 16,
},
]);
-const toEdit = () => {
- uni.navigateTo({
- url: "/pages/production/twist/receive/steelCore/edit",
- });
+const toEdit = (id: number) => {
+ const itemToEdit = cardList.value.find((item) => item.id === id);
+ if (itemToEdit) {
+ editDialog.currentItem = itemToEdit;
+ editDialog.editId = id;
+ editDialog.visible = true;
+ }
};
const addReport = () => {
- dialog.visible = true;
+ if (addFormRef.value) {
+ addFormRef.value.resetFormData();
+ }
+ addDialog.visible = true;
};
-const submit = () => {
- toast.show("鎻愪氦");
- dialog.visible = false;
+const submitAdd = async () => {
+ const success = await addFormRef.value.submit();
+ if (success) {
+ addDialog.visible = false;
+ }
};
-const cancel = () => {
+const cancelAdd = () => {
toast.show("鍙栨秷");
- dialog.visible = false;
+ addDialog.visible = false;
};
+
+const submitEdit = async () => {
+ const success = await editFormRef.value.submitEdit(cardList.value, editDialog.editId);
+ if (success) {
+ editDialog.visible = false;
+ reloadList();
+ }
+};
+
+const cancelEdit = () => {
+ toast.show("鍙栨秷");
+ editDialog.visible = false;
+};
+
+const getList = async () => {
+ const { code, data } = await ManageApi.getStrandedWireDish({
+ wireId: paramsId.value,
+ type: "閽㈣姱",
+ });
+ if (code == 200) {
+ pagingRef.value.complete(data);
+ }
+};
+
+const reloadList = () => {
+ pagingRef.value.refresh();
+};
+
+onLoad((options: any) => {
+ paramsId.value = options.id;
+});
</script>
<style lang="scss" scoped>
-.page {
+.list {
+ height: calc(100vh - 120px);
+ padding: 12px;
background: #f3f9f8;
- .list {
- height: calc(100vh - 120px);
- margin: 12px;
- overflow: scroll;
- :deep() {
- .round {
- border-radius: 4px;
- }
+ :deep() {
+ .round {
+ border-radius: 4px;
}
}
}
--
Gitblit v1.9.3