From e46cd23a5f91783cd6b46518aed460a561288b96 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期三, 17 十二月 2025 11:27:59 +0800
Subject: [PATCH] 修改

---
 ui/admin-ui3/src/views/tms/tmsCustomerInfo/info.vue |  183 +++++++++++++++++++++++++++------------------
 1 files changed, 108 insertions(+), 75 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsCustomerInfo/info.vue b/ui/admin-ui3/src/views/tms/tmsCustomerInfo/info.vue
index 2d1274a..00563c8 100644
--- a/ui/admin-ui3/src/views/tms/tmsCustomerInfo/info.vue
+++ b/ui/admin-ui3/src/views/tms/tmsCustomerInfo/info.vue
@@ -122,9 +122,9 @@
                     </el-table-column>
                     <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
                         <template #default="scope">
-                            <el-button v-if="!formDisabled" type="text" icon="Edit" @click="handleUpdates(scope.row)">缂栬緫
+                            <el-button v-if="!formDisabled" type="text" icon="Edit" @click="handleUpdates(scope.row,scope.$index)">缂栬緫
                             </el-button>
-                            <el-button v-if="!formDisabled" type="text" @click="handleDelte(scope.row)">鍒犻櫎
+                            <el-button v-if="!formDisabled" type="text" @click="handleDelte(scope.row,scope.$index)">鍒犻櫎
                             </el-button>
 
                             <el-button v-if="formDisabled" type="text" @click="handleExamine(scope.row)">鏌ョ湅
@@ -163,9 +163,9 @@
                     <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
                         <template #default="scope">
                             <el-button v-if="!formDisabled" type="text" icon="Edit"
-                                @click="handleBankUpdates(scope.row)">缂栬緫
+                                @click="handleBankUpdates(scope.row, scope.$index)">缂栬緫
                             </el-button>
-                            <el-button v-if="!formDisabled" type="text" @click="handleBankDelte(scope.row)">鍒犻櫎
+                            <el-button v-if="!formDisabled" type="text" @click="handleBankDelte(scope.row, scope.$index)">鍒犻櫎
                             </el-button>
                             <el-button v-if="formDisabled" type="text" @click="handleExamine(scope.row)">鏌ョ湅
                             </el-button>
@@ -179,22 +179,22 @@
         </el-tabs>
 
     </div>
-    <CommonDialogForm :visible="isDialogVisible" title="浼佷笟鍙戠エ鎶ご淇℃伅" :initial-data="initialFormData"
+    <CommonDialogForm :mode="formMode" :visible="isDialogVisible" title="浼佷笟鍙戠エ鎶ご淇℃伅" :initial-data="initialFormData"
         @close="isDialogVisible = false" @submit="handleFormSubmit" />
 
-    <bankAccount :visible="isDialogVisibleBank" title="瀹㈡埛閾惰璐﹀彿閰嶇疆" :initial-data="bankFormData"
+    <bankAccount :mode="formBankeMode" :visible="isDialogVisibleBank" title="瀹㈡埛閾惰璐﹀彿閰嶇疆" :initial-data="bankFormData"
         @close="isDialogVisibleBank = false" @submit="handleBankFormSubmit" />
 
     <!-- 璇︽儏寮圭獥锛氫粎灞曠ず鎻忚堪鍒楄〃锛屾棤杈撳叆妗� -->
     <el-dialog v-model="invoiceVisible" :title="invoiceTitle" width="70%" destroy-on-close @close="handleClose"
         append-to-body>
-        <el-descriptions v-if="activeName == 'first'" :column="3"   border>
+        <el-descriptions v-if="activeName == 'first'" :column="3" border>
             <!-- 鍩烘湰淇℃伅缁� -->
             <el-descriptions-item label="绯荤粺缂栧彿">
                 {{ formData.id }}
             </el-descriptions-item>
             <el-descriptions-item label="鍏宠仈瀹㈡埛">
-                {{ formData.customerName  }}
+                {{ formData.customerName }}
             </el-descriptions-item>
             <el-descriptions-item label="鎶ご鍏徃">
                 {{ formData.invoiceCompanyName }}
@@ -203,11 +203,11 @@
                 {{ formData.invoiceCreditCode }}
             </el-descriptions-item>
             <el-descriptions-item label="鍙戠エ绫诲瀷">
-                {{ dictFormat(sys_invoice_type, formData.invoiceType)   }}
+                {{ dictFormat(sys_invoice_type, formData.invoiceType) }}
             </el-descriptions-item>
             <!-- 鑱旂郴浜轰俊鎭粍 -->
             <el-descriptions-item label="寮�鎴烽摱琛屽悕绉�">
-                {{ formData.invoiceBankName  }}
+                {{ formData.invoiceBankName }}
             </el-descriptions-item>
             <el-descriptions-item label="鍩烘湰寮�鎴疯处鍙�">
                 {{ formData.invoiceBankNo }}
@@ -220,16 +220,16 @@
                 {{ formData.invoiceOperatingLicensePhone }}
             </el-descriptions-item>
             <el-descriptions-item label="閭">
-                {{ formData.invoiceOperatingLicenseEmail  }}
+                {{ formData.invoiceOperatingLicenseEmail }}
             </el-descriptions-item>
         </el-descriptions>
-             <el-descriptions v-if="activeName == 'second'" :column="3"   border>
+        <el-descriptions v-if="activeName == 'second'" :column="3" border>
             <!-- 鍩烘湰淇℃伅缁� -->
             <el-descriptions-item label="绯荤粺缂栧彿">
                 {{ formData.id }}
             </el-descriptions-item>
             <el-descriptions-item label="鍏宠仈瀹㈡埛">
-                {{ formData.customerName  }}
+                {{ formData.customerName }}
             </el-descriptions-item>
             <el-descriptions-item label="璐﹀彿缂栧彿">
                 {{ formData.accountNo }}
@@ -238,23 +238,23 @@
                 {{ formData.accountName }}
             </el-descriptions-item>
             <el-descriptions-item label="閾惰鍚嶇О">
-                   {{ formData.bankName }}
+                {{ formData.bankName }}
             </el-descriptions-item>
             <!-- 鑱旂郴浜轰俊鎭粍 -->
             <el-descriptions-item label="鏀鍚嶇О">
-                {{ formData.branchName  }}
+                {{ formData.branchName }}
             </el-descriptions-item>
             <el-descriptions-item label="璐﹀彿绫诲瀷">
-                {{ dictFormat(sys_account_type, formData.accountType)   }} 
+                {{ dictFormat(sys_account_type, formData.accountType) }}
             </el-descriptions-item>
             <el-descriptions-item label="甯佺">
-                {{ dictFormat(sys_currency, formData.currency)   }} 
+                {{ dictFormat(sys_currency, formData.currency) }}
             </el-descriptions-item>
             <!-- 閾惰璐︽埛淇℃伅缁� -->
             <el-descriptions-item label="璐︽埛鐘舵��">
-                {{ dictFormat(sys_bank_type, formData.status)   }} 
+                {{ dictFormat(sys_bank_type, formData.status) }}
             </el-descriptions-item>
-       
+
         </el-descriptions>
 
         <!-- 搴曢儴鎸夐挳 -->
@@ -284,7 +284,7 @@
 
 import { listInvoiceInfo, getInvoiceInfo } from "@/api/cwgl/invoiceInfo";
 
-import { listBankAccountConfig,getBankAccountConfig } from "@/api/cwgl/bankAccountConfig";
+import { listBankAccountConfig, getBankAccountConfig } from "@/api/cwgl/bankAccountConfig";
 interface DzInventoryI extends BaseEntityInterface {
     id?: number, no?: string, enterId?: string, putrecNo?: string, etpsInnerInvtNo?: string, bizopEtpsSccd?: string, bizopEtpsNo?: string, bizopEtpsNm?: string, rcvgdEtpsNo?: string, rvsngdEtpsSccd?: string, rcvgdEtpsNm?: string, dclEtpsSccd?: string, dclEtpsNo?: string, dclEtpsNm?: string, invtDclTime?: string, entryDclTime?: string, rltInvtNo?: string, rltPutrecNo?: string, rltEntryNo?: string, rltEntryBizopEtpsSccd?: string, rltEntryBizopEtpsno?: string, rltEntryBizopEtpsnm?: string, rltEntryRvsngdEtpsSccd?: string, rltEntryRcvgdEtpsNo?: string, rltEntryRcvgdEtpsNm?: string, rltEntryDclEtpsSccd?: string, rltEntryDclEtpsNo?: string, rltEntryDclEtpsNm?: string, impExpPortcd?: string, dclPlcCuscd?: string, mtpckEndprdMarkcd?: string, supvModecd?: string, trspModecd?: string, dclCusFlag?: number, decType?: string, vrfdedMarkcd?: string, invtIochkptStucd?: string, prevdTime?: string, formalVrfdedTime?: string, applyNo?: string, listType?: string, inputCode?: string, inputCreditCode?: string, inputName?: string, icCardNo?: string, inputTime?: string, listStat?: string, correntryDclEtpssccd?: string, correntryDclEtpsno?: string, correntryDclEtpsnm?: string, decType?: string, chgTmsCnt?: number, stshipTrsarvNatcd?: string, invtType?: string, entryStucd?: number, passPortUsedTypecd?: string, dclTypecd?: number, needEntryModified?: string, levyBlAmt?: string, genDecFlag?: number, createBy?: string, createTime?: string, updateBy?: string, updateTime?: string, status?: number, deleted?: number, remark?: string
     impExpMarkcd?: string, dzOrders?: any, wmsDzInoutOrderItemList?: any, inputSccd?: string
@@ -293,12 +293,12 @@
 
 const { proxy } = useCurrentInstance();
 const {
-    customer_type, sys_invoice_type, sys_currency, sys_account_type,sys_bank_type
+    customer_type, sys_invoice_type, sys_currency, sys_account_type, sys_bank_type
 
 
 } =
     proxy.useDict(
-        'customer_type', 'sys_invoice_type', 'sys_currency', 'sys_account_type','sys_bank_type'
+        'customer_type', 'sys_invoice_type', 'sys_currency', 'sys_account_type', 'sys_bank_type'
     );
 
 
@@ -317,7 +317,7 @@
 const data = reactive({
     form: <DzInventoryI & any>{
     },
-    formData:{},
+    formData: {},
     operate: 'add',
     queryParams: <DzInoutOrderI>{ pageNum: 1, pageSize: 10 },
     queryBankParams: <DzInoutOrderI>{ pageNum: 1, pageSize: 10 },
@@ -340,31 +340,35 @@
     bankAccountConfigList: [],
 
 })
-const { form, rules, queryParams, operate, formDisabled, invoiceInfoList, queryBankParams, bankAccountConfigList,formData } = toRefs(data);
+const { form, rules, queryParams, operate, formDisabled, invoiceInfoList, queryBankParams, bankAccountConfigList, formData } = toRefs(data);
 
 const activeName = ref('first')
 
 const handleClick = (tab: TabsPaneContext, event: Event) => {
-    if (tab.props.name == 'first') {
-        // 寮�绁ㄨ祫鏂�
-        queryParams.value.customerId = router.currentRoute.value.query.id
-        listInvoiceInfo(queryParams.value).then(res => {
-            if (res.code = 200) {
-                form.value.invoiceInfoList = res.rows;
-                invoiceInfoList.value = res.rows;
-                pageF.total = res.total;
-            }
-        });
-    } else if (tab.props.name == 'second') {
-        // 閾惰璐﹀彿
-        listBankAccountConfig(queryBankParams.value).then(res => {
-            if (res.code = 200) {
-                form.value.bankAccountConfigList = res.rows;
-                bankAccountConfigList.value = res.rows;
-                bankPageF.total = res.total;
-            }
-        });
+
+    if (router.currentRoute.value.query.formDisabled == 'true') {
+        if (tab.props.name == 'first') {
+            // 寮�绁ㄨ祫鏂�
+            queryParams.value.customerId = router.currentRoute.value.query.id
+            listInvoiceInfo(queryParams.value).then(res => {
+                if (res.code = 200) {
+                    form.value.invoiceInfoList = res.rows;
+                    invoiceInfoList.value = res.rows;
+                    pageF.total = res.total;
+                }
+            });
+        } else if (tab.props.name == 'second') {
+            // 閾惰璐﹀彿
+            listBankAccountConfig(queryBankParams.value).then(res => {
+                if (res.code = 200) {
+                    form.value.bankAccountConfigList = res.rows;
+                    bankAccountConfigList.value = res.rows;
+                    bankPageF.total = res.total;
+                }
+            });
+        }
     }
+
 }
 const goToList = () => {
     router.push('/customer/tmsCustomerInfo');
@@ -402,30 +406,47 @@
     // router.push({ path: '/cwgl/dzInventory' });
 }
 /* 寮�绁ㄨ祫鏂� */
+const formMode = ref<'add' | 'edit'>('add');
+const formBankeMode = ref<'add' | 'edit'>('add');
+
+
 const handleAdd = () => {
     if (!form.value.customerFullName || form.value.customerFullName.trim() == '') {
         proxy.$message.error("瀹㈡埛鍏ㄧО涓嶈兘涓虹┖");
         return;
     }
-
+    formMode.value = 'add';
     isDialogVisible.value = true;
     initialFormData.value = {
         relatedCustomerName: form.value.customerFullName,
     };
 };
-const handleUpdates = (row: any) => {
+const editingIndex = ref()
+const handleUpdates = (row: any,index:any) => {
     // 缂栬緫琛屾暟鎹�
+    console.log(row);
+    formMode.value = 'edit';
     isDialogVisible.value = true;
     initialFormData.value = row;
+    editingIndex.value = index; // 璁板綍绱㈠紩
 }
-const handleDelte = (row: any) => {
-    const index = invoiceInfoList.value.findIndex((item: any) => item === row);
+const handleDelte = (row: any,index:any) => {
+    // const index = invoiceInfoList.value.findIndex((item: any) => item === row);
     if (index > -1) {
         invoiceInfoList.value.splice(index, 1);
     }
 }
-const handleFormSubmit = (data: any) => {
-    invoiceInfoList.value.push(data);
+const handleFormSubmit = (data: any,mode:any) => {
+if (formMode.value === 'edit' && editingIndex.value !== null) {
+        // 妯″紡1锛氬熀浜庣储寮曚慨鏀癸紙鏈�鎺ㄨ崘锛屾敮鎸佹湭淇濆瓨鐨勬柊鏁版嵁锛�
+        invoiceInfoList.value.splice(editingIndex.value, 1, data);
+    } else {
+        // 鏂板妯″紡
+        invoiceInfoList.value.push(data);
+    }
+    // 閲嶇疆鐘舵��
+    editingIndex.value = null;
+    isDialogVisible.value = false;
 };
 const getList = () => {
     // 鑾峰彇鍒楄〃鏁版嵁
@@ -461,33 +482,45 @@
 const bankFormData = ref({
 
 });
-
 /* 閾惰 */
 const handleBankAdd = () => {
     if (!form.value.customerFullName || form.value.customerFullName.trim() == '') {
         proxy.$message.error("瀹㈡埛鍏ㄧО涓嶈兘涓虹┖");
         return;
     }
+    formBankeMode.value = 'add';
     isDialogVisibleBank.value = true;
     bankFormData.value = {
         relatedCustomerName: form.value.customerFullName,
     };
 };
-const handleBankUpdates = (row: any) => {
+const bankIndex = ref()
+const handleBankUpdates = (row: any, index: any) => {
     // 缂栬緫琛屾暟鎹�
+    formBankeMode.value = 'edit';
+    bankIndex.value = index;
     isDialogVisibleBank.value = true;
     bankFormData.value = row;
 };
-const handleBankDelte = (row: any) => {
-    console.log(row);
-    const index = bankAccountConfigList.value.findIndex((item: any) => item === row);
+const handleBankDelte = (row: any, index: any) => {
+    // const index = bankAccountConfigList.value.findIndex((item: any) => item === row);
     if (index > -1) {
         bankAccountConfigList.value.splice(index, 1);
     }
 }
 const handleBankFormSubmit = (data: any) => {
-    console.log(data);
-    bankAccountConfigList.value.push(data);
+
+if (formBankeMode.value === 'edit' && bankIndex.value !== null) {
+        // 妯″紡1锛氬熀浜庣储寮曚慨鏀癸紙鏈�鎺ㄨ崘锛屾敮鎸佹湭淇濆瓨鐨勬柊鏁版嵁锛�
+        bankAccountConfigList.value.splice(bankIndex.value, 1, data);
+    } else {
+        // 鏂板妯″紡
+        bankAccountConfigList.value.push(data);
+    }
+    // 閲嶇疆鐘舵��
+    bankIndex.value = null;
+    isDialogVisibleBank.value = false;
+    
 };
 const getDataFormat = () => {
     console.log(router.currentRoute.value.query.id);
@@ -519,28 +552,28 @@
 }
 const invoiceVisible = ref(false);
 const invoiceTitle = ref('')
-const handleExamine = (row:any) => {
+const handleExamine = (row: any) => {
     console.log(activeName.value);
-    
-    if(activeName.value == 'first'){
-      invoiceTitle.value = '鏌ョ湅浼佷笟鍙戠エ鎶ご淇℃伅'
-        getInvoiceInfo(row.id).then(res => {
-        if (res.code ==200) {
-            formData.value = res.data;
-            invoiceVisible.value = true
-        }
-    });
-    }else if(activeName.value == 'second'){
-        getBankAccountConfig(row.id).then(res => {
-        if (res.code == 200) {
-          invoiceTitle.value = '鏌ョ湅瀹㈡埛閾惰璐﹀彿淇℃伅'
 
-            formData.value = res.data;
-            invoiceVisible.value = true
-        }
-      });
+    if (activeName.value == 'first') {
+        invoiceTitle.value = '鏌ョ湅浼佷笟鍙戠エ鎶ご淇℃伅'
+        getInvoiceInfo(row.id).then(res => {
+            if (res.code == 200) {
+                formData.value = res.data;
+                invoiceVisible.value = true
+            }
+        });
+    } else if (activeName.value == 'second') {
+        getBankAccountConfig(row.id).then(res => {
+            if (res.code == 200) {
+                invoiceTitle.value = '鏌ョ湅瀹㈡埛閾惰璐﹀彿淇℃伅'
+
+                formData.value = res.data;
+                invoiceVisible.value = true
+            }
+        });
     }
-  
+
 }
 const handleClose = () => {
     invoiceVisible.value = false;

--
Gitblit v1.8.0