From 5c124cdf26e4d749eae1e7fc9df366e9a5f4d259 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 18 八月 2026 15:04:09 +0800
Subject: [PATCH] 选择采购订单修改列表宽度设置

---
 src/views/crm/receivable/index.vue |   55 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 35 insertions(+), 20 deletions(-)

diff --git a/src/views/crm/receivable/index.vue b/src/views/crm/receivable/index.vue
index f0ce55b..289a143 100644
--- a/src/views/crm/receivable/index.vue
+++ b/src/views/crm/receivable/index.vue
@@ -5,8 +5,8 @@
 import { ref } from 'vue';
 import { useRouter } from 'vue-router';
 
-import { Page, useVbenModal } from '../../../packages/effects/common-ui/src';
-import { downloadFileFromBlobPart } from '../../../packages/utils/src';
+import { Page, useVbenModal } from '@vben/common-ui';
+import { downloadFileFromBlobPart } from '@vben/utils';
 
 import { Button, message, Tabs } from 'ant-design-vue';
 
@@ -15,7 +15,7 @@
   deleteReceivable,
   exportReceivable,
   getReceivablePage,
-  submitReceivable,
+  updateReceivableStatus,
 } from '#/api/crm/receivable';
 import { $t } from '#/locales';
 
@@ -76,15 +76,18 @@
   }
 }
 
-/** 鎻愪氦瀹℃牳 */
-async function handleSubmit(row: CrmReceivableApi.Receivable) {
+/** 鏇存柊鍥炴鐘舵�侊紙瀹℃牳/鍙嶅鏍革級 */
+async function handleUpdateStatus(
+  row: CrmReceivableApi.Receivable,
+  status: number,
+) {
   const hideLoading = message.loading({
-    content: '鎻愪氦瀹℃牳涓�...',
+    content: '鏇存柊鐘舵�佷腑...',
     duration: 0,
   });
   try {
-    await submitReceivable(row.id!);
-    message.success('鎻愪氦瀹℃牳鎴愬姛');
+    await updateReceivableStatus(row.id!, status);
+    message.success('鏇存柊鐘舵�佹垚鍔�');
     handleRefresh();
   } finally {
     hideLoading();
@@ -106,12 +109,9 @@
   push({ name: 'CrmContractDetail', params: { id: row.contractId } });
 }
 
-/** 鏌ョ湅瀹℃壒璇︽儏 */
-function handleProcessDetail(row: CrmReceivableApi.Receivable) {
-  push({
-    name: 'BpmProcessInstanceDetail',
-    query: { id: row.processInstanceId },
-  });
+/** 鏌ョ湅寮�绁ㄨ鎯� */
+function handleInvoiceDetail(row: CrmReceivableApi.Receivable) {
+  push({ name: 'CrmInvoiceDetail', params: { id: row.invoiceId } });
 }
 
 const [Grid, gridApi] = useVbenVxeGrid({
@@ -186,6 +186,18 @@
           {{ row.customerName }}
         </Button>
       </template>
+      <template #invoiceNo="{ row }">
+        <template v-if="row.invoice">
+          <Button type="link" @click="handleInvoiceDetail(row)">
+            {{ row.invoice.no }}
+          </Button>
+          <span class="mx-1">/</span>
+          <span>{{ row.invoice.invoiceNo ?? '-' }}</span>
+          <span class="mx-1">/</span>
+          <span>楼{{ row.invoice.price ?? 0 }}</span>
+        </template>
+        <span v-else>--</span>
+      </template>
       <template #contractNo="{ row }">
         <Button
           v-if="row.contract"
@@ -204,21 +216,24 @@
               type: 'link',
               icon: ACTION_ICON.EDIT,
               auth: ['crm:receivable:update'],
+              ifShow: row.auditStatus === 10,
               onClick: handleEdit.bind(null, row),
             },
             {
-              label: '鎻愪氦瀹℃牳',
+              label: '瀹℃牳',
               type: 'link',
+              icon: ACTION_ICON.AUDIT,
               auth: ['crm:receivable:update'],
-              onClick: handleSubmit.bind(null, row),
-              ifShow: row.auditStatus === 0,
+              ifShow: row.auditStatus === 10,
+              onClick: handleUpdateStatus.bind(null, row, 20),
             },
             {
-              label: '鏌ョ湅瀹℃壒',
+              label: '鍙嶅鏍�',
               type: 'link',
+              icon: ACTION_ICON.VIEW,
               auth: ['crm:receivable:update'],
-              onClick: handleProcessDetail.bind(null, row),
-              ifShow: row.auditStatus !== 0,
+              ifShow: row.auditStatus === 20,
+              onClick: handleUpdateStatus.bind(null, row, 10),
             },
             {
               label: $t('common.delete'),

--
Gitblit v1.9.3