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 |   92 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 70 insertions(+), 22 deletions(-)

diff --git a/src/pages/production/twist/receive/steelCore/index.vue b/src/pages/production/twist/receive/steelCore/index.vue
index 5b190c6..85da5f2 100644
--- a/src/pages/production/twist/receive/steelCore/index.vue
+++ b/src/pages/production/twist/receive/steelCore/index.vue
@@ -8,7 +8,7 @@
       @query="getList"
     >
       <template #top>
-        <CardTitle title="閽㈣姱棰嗙敤" :hideAction="true" @action="addReport" />
+        <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>
@@ -17,21 +17,33 @@
               <wd-icon name="a-rootlist" color="#0D867F"></wd-icon>
               <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" :value="item" color="#0D867F" />
       </wd-card>
     </z-paging>
+    <wd-popup v-model="addDialog.visible" position="bottom" custom-class="yl-popup">
+      <view class="action px-3">
+        <wd-button type="text" @click="cancelAdd">鍙栨秷</wd-button>
+        <wd-button type="text" @click="submitAdd">纭畾</wd-button>
+      </view>
+      <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>
-  <wd-popup v-model="dialog.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>
-    </view>
-    <SteelCore ref="steelCoreRef" />
-  </wd-popup>
-  <wd-toast />
 </template>
 
 <script setup lang="ts">
@@ -45,10 +57,16 @@
 
 const paramsId = ref();
 const pagingRef = ref();
-const steelCoreRef = 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[]>([]);
 
@@ -63,30 +81,56 @@
     unitProp: "unit",
   },
   {
+    label: "閲嶉噺",
+    prop: "weight",
+    unitProp: "weightUnit",
+  },
+  {
     label: "鍘傚",
     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 () => {
@@ -99,6 +143,10 @@
   }
 };
 
+const reloadList = () => {
+  pagingRef.value.refresh();
+};
+
 onLoad((options: any) => {
   paramsId.value = options.id;
 });

--
Gitblit v1.9.3