From 1c1af9b0fc10778ae5ac13cc68fd4030affbcfe1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 09 九月 2026 10:59:53 +0800
Subject: [PATCH] feat(wm): 新增SN码管理和设备入库功能

---
 src/views/wls/stocktaking/task/modules/form.vue |   58 ++++++++++++++--------------------------------------------
 1 files changed, 14 insertions(+), 44 deletions(-)

diff --git a/src/views/wls/stocktaking/task/modules/form.vue b/src/views/wls/stocktaking/task/modules/form.vue
index ec1c5ba..05cfca2 100644
--- a/src/views/wls/stocktaking/task/modules/form.vue
+++ b/src/views/wls/stocktaking/task/modules/form.vue
@@ -14,7 +14,6 @@
 import { useVbenForm } from '#/adapter/form';
 import {
   createStockTaking,
-  finishStockTaking,
   getStockTaking,
   submitStockTaking,
   updateStockTaking,
@@ -35,29 +34,23 @@
 const isEditable = computed(() =>
   ['create', 'update'].includes(formType.value),
 );
-const isExecute = computed(() => formType.value === 'execute'); // 鏄惁鎵ц鐩樼偣妯″紡
-const isSubmit = computed(() => formType.value === 'submit'); // 鏄惁鎻愪氦妯″紡
-const canSubmit = computed(
-  () =>
-    formType.value === 'update' &&
-    formData.value?.status === MesWmStockTakingTaskStatusEnum.PREPARE,
+const isSubmit = computed(() => formType.value === 'submit'); // 鏄惁寮�濮嬬洏鐐规ā寮�
+const isResultEditable = computed(
+  // 鐩樼偣涓紙瀹℃壒涓級鍙淮鎶ょ洏鐐圭粨鏋�
+  () => formData.value?.status === MesWmStockTakingTaskStatusEnum.APPROVING,
 );
 const showLineTab = computed(() => !formData.value?.blindFlag); // 鐩茬洏涓嶅睍绀虹洏鐐规竻鍗�
 const showResultTab = computed(
   () =>
-    isExecute.value ||
-    (!!formData.value?.status &&
-      formData.value.status !== MesWmStockTakingTaskStatusEnum.PREPARE),
+    !!formData.value?.status &&
+    formData.value.status !== MesWmStockTakingTaskStatusEnum.PREPARE,
 );
 const getTitle = computed(() => {
   if (formType.value === 'detail') {
     return $t('ui.actionTitle.view', ['鐩樼偣浠诲姟']);
   }
-  if (formType.value === 'execute') {
-    return '鎵ц鐩樼偣';
-  }
   if (formType.value === 'submit') {
-    return '鎻愪氦鐩樼偣浠诲姟';
+    return '寮�濮嬬洏鐐�';
   }
   return formType.value === 'update'
     ? $t('ui.actionTitle.edit', ['鐩樼偣浠诲姟'])
@@ -78,7 +71,7 @@
   wrapperClass: 'grid-cols-3',
 });
 
-/** 鎻愪氦鐩樼偣浠诲姟锛氳〃鍗曟湁淇敼鏃跺厛淇濆瓨锛屽啀璋冪敤鎻愪氦鎺ュ彛 */
+/** 寮�濮嬬洏鐐癸細琛ㄥ崟鏈変慨鏀规椂鍏堜繚瀛橈紝鍐嶆彁浜� */
 async function handleSubmit() {
   const { valid } = await formApi.validate();
   if (!valid || !formData.value?.id) {
@@ -94,23 +87,7 @@
       originalSnapshot.value = current;
     }
     await submitStockTaking(formData.value.id);
-    message.success('鎻愪氦鎴愬姛');
-    await modalApi.close();
-    emit('success');
-  } finally {
-    modalApi.unlock();
-  }
-}
-
-/** 鎵ц鐩樼偣 */
-async function handleExecute() {
-  if (!formData.value?.id) {
-    return;
-  }
-  modalApi.lock();
-  try {
-    await finishStockTaking(formData.value.id);
-    message.success('鎵ц鐩樼偣鎴愬姛');
+    message.success('寮�濮嬬洏鐐规垚鍔�');
     await modalApi.close();
     emit('success');
   } finally {
@@ -163,7 +140,7 @@
     // 鍔犺浇鏁版嵁
     const data = modalApi.getData<{ formType: FormType; id?: number }>();
     formType.value = data.formType;
-    subTabsName.value = data.formType === 'execute' ? 'results' : 'lines';
+    subTabsName.value = 'lines';
     formApi.setState({ schema: useFormSchema(formType.value, formApi) });
     formApi.setDisabled(!isEditable.value);
     modalApi.setState({ showConfirmButton: isEditable.value });
@@ -199,7 +176,7 @@
       </Tabs.TabPane>
       <Tabs.TabPane v-if="showResultTab" key="results" tab="鐩樼偣缁撴灉">
         <ResultList
-          :form-type="isExecute ? 'execute' : 'detail'"
+          :form-type="isResultEditable ? 'execute' : 'detail'"
           :task-id="formData.id"
         />
       </Tabs.TabPane>
@@ -207,18 +184,11 @@
     <template #prepend-footer>
       <div class="flex flex-auto items-center gap-2">
         <Popconfirm
-          v-if="canSubmit || isSubmit"
-          title="纭鎻愪氦璇ョ洏鐐逛换鍔★紵銆愭彁浜ゅ悗灏嗕笉鑳戒慨鏀广��"
+          v-if="isSubmit"
+          title="纭寮�濮嬬洏鐐癸紵寮�濮嬪悗灏嗗喕缁撳簱瀛樺苟鍙綍鍏�/瀵煎叆瀹炵洏鏁般��"
           @confirm="handleSubmit"
         >
-          <Button type="primary">鎻愪氦</Button>
-        </Popconfirm>
-        <Popconfirm
-          v-if="isExecute"
-          title="纭鎵ц鐩樼偣鎿嶄綔锛�"
-          @confirm="handleExecute"
-        >
-          <Button type="primary">鎵ц鐩樼偣</Button>
+          <Button type="primary">寮�濮嬬洏鐐�</Button>
         </Popconfirm>
       </div>
     </template>

--
Gitblit v1.9.3