From fb1276b796c5212c18141fe2c732fb07d71fa31e Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 28 四月 2026 18:00:41 +0800
Subject: [PATCH] 重构客户档案

---
 src/views/fileManagement/borrow/index.vue |   69 +++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 19 deletions(-)

diff --git a/src/views/fileManagement/borrow/index.vue b/src/views/fileManagement/borrow/index.vue
index 531feb6..d63ce95 100644
--- a/src/views/fileManagement/borrow/index.vue
+++ b/src/views/fileManagement/borrow/index.vue
@@ -44,6 +44,9 @@
             <el-icon><Plus /></el-icon>
             鏂板鍊熼槄
           </el-button>
+          <el-button @click="handleOut">
+            瀵煎嚭
+          </el-button>
           <el-button
             type="danger"
             @click="handleBatchDelete"
@@ -97,16 +100,14 @@
            </el-col>
            <el-col :span="12">
              <el-form-item label="鍊熼槄涔︾睄锛�" prop="documentationId">
-               <!-- <el-select v-model="borrowForm.documentationId" placeholder="璇烽�夋嫨鍊熼槄涔︾睄" style="width: 100%" @change="handleScanContent">
-                 <el-option 
-                   v-for="item in documentList" 
-                   :key="item.id" 
-                   :label="item.docName || item.name" 
-                   :value="item.id"
-                 />
-               </el-select> -->
                <div style="display: flex; gap: 10px;">
-                <el-select v-model="borrowForm.documentationId" placeholder="璇烽�夋嫨鍊熼槄涔︾睄" style="flex: 1;width: 100px;" @change="handleSelectChange">
+                <el-select 
+                  v-if="borrowOperationType !== 'edit'"
+                  v-model="borrowForm.documentationId" 
+                  placeholder="璇烽�夋嫨鍊熼槄涔︾睄" 
+                  style="flex: 1;width: 100px;" 
+                  @change="handleSelectChange"
+                >
                   <el-option 
                     v-for="item in documentList" 
                     :key="item.id" 
@@ -115,6 +116,13 @@
                   />
                 </el-select>
                 <el-input
+                  v-else
+                  v-model="currentEditDocName"
+                  style="flex: 1;width: 100px;"
+                  disabled
+                />
+                <el-input
+                  v-if="borrowOperationType !== 'edit'"
                   v-model="scanContent"
                   placeholder="鎵爜杈撳叆"
                   style="width: 100px;"
@@ -201,7 +209,8 @@
 const borrowList = ref([]);
 const selectedRows = ref([]);
 const documentList = ref([]); // 鏂囨。鍒楄〃锛岀敤浜庡�熼槄涔︾睄閫夋嫨
-const scanContent = ref('') // 鎵爜鍐呭
+const scanContent = ref() // 鎵爜鍐呭
+const currentEditDocName = ref(''); // 缂栬緫鏃跺瓨鍌ㄧ殑鏂囨。鍚嶇О
 // 鍒嗛〉鐩稿叧
 const pagination = reactive({
   currentPage: 1,
@@ -234,7 +243,7 @@
 
 // 琛ㄥ崟楠岃瘉瑙勫垯
 const borrowRules = reactive({
-  documentationId: [{ required: true, message: "璇烽�夋嫨鍊熼槄涔︾睄", trigger: "change" }],
+  
   borrower: [{ required: true, message: "璇疯緭鍏ュ�熼槄浜�", trigger: "blur" }],
   borrowPurpose: [{ required: true, message: "璇疯緭鍏ュ�熼槄鐩殑", trigger: "blur" }],
   borrowDate: [{ required: true, message: "璇烽�夋嫨鍊熼槄鏃ユ湡", trigger: "change" }],
@@ -279,6 +288,7 @@
       {
         name: "缂栬緫",
         type: "text",
+        disabled: (row) => row.borrowStatus === '褰掕繕',
         clickFun: (row) => {
           openBorrowDia('edit', row)
         },
@@ -308,6 +318,7 @@
     const res = await getDocumentList();
     if (res.code === 200) {
       documentList.value = res.data || [];
+      console.log("shuju",documentList.value)
     } else {
       ElMessage.error(res.msg || "鑾峰彇鏂囨。鍒楄〃澶辫触");
       documentList.value = [];
@@ -389,18 +400,19 @@
 
 // 澶勭悊鎵爜鍐呭
 const handleScanContent = async (value) => {
-if (!value) return;
-  
+  if (!value) return;
   try {
     // 鏌ユ壘鎵弿鍐呭瀵瑰簲鐨勬枃妗�
-    // 鍋囪浜岀淮鐮佸寘鍚殑鏄枃妗D鎴栨枃妗e悕绉�
     const matchedDoc = documentList.value.find(item => 
-      item.documentationId === value 
+      item.id == value 
     );
+    console.log("matchedDoc", matchedDoc);
+
     
     if (matchedDoc) {
+      
       // 鎵惧埌鍖归厤鐨勬枃妗o紝璁剧疆琛ㄥ崟鍊�
-      borrowForm.documentationId = matchedDoc.documentationId;
+      borrowForm.documentationId = matchedDoc.id;
       ElMessage.success(`宸查�夋嫨: ${matchedDoc.docName || matchedDoc.name}`);
     } else {
       // 鏈壘鍒板尮閰嶇殑鏂囨。锛屾彁绀虹敤鎴�
@@ -423,13 +435,16 @@
   if (type === "edit") {
     // 缂栬緫妯″紡锛屽姞杞界幇鏈夋暟鎹�
     Object.assign(borrowForm, data);
+    // 瀛樺偍鏂囨。鍚嶇О鐢ㄤ簬鏄剧ず
+    currentEditDocName.value = data.docName || '';
   } else {
     // 鏂板妯″紡锛屾竻绌鸿〃鍗�
     Object.keys(borrowForm).forEach(key => {
       borrowForm[key] = "";
     });
-         // 璁剧疆榛樿鐘舵��
-     borrowForm.borrowStatus = "鍊熼槄";
+    currentEditDocName.value = ''; // 娓呯┖缂栬緫鏃剁殑鏂囨。鍚嶇О
+    // 璁剧疆榛樿鐘舵��
+    borrowForm.borrowStatus = "鍊熼槄";
     // 璁剧疆褰撳墠鏃ユ湡涓哄�熼槄鏃ユ湡
     borrowForm.borrowDate = new Date().toISOString().split('T')[0];
   }
@@ -440,6 +455,7 @@
   proxy.$refs.borrowFormRef.resetFields();
   borrowDia.value = false;
   scanContent.value = ''; // 娓呯┖鎵爜鍐呭
+  currentEditDocName.value = ''; // 娓呯┖缂栬緫鏃剁殑鏂囨。鍚嶇О
 };
 
 // 鎻愪氦鍊熼槄琛ㄥ崟
@@ -555,6 +571,21 @@
   });
 };
 
+// 瀵煎嚭
+const handleOut = () => {
+  ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      proxy.download("/documentationBorrowManagement/export", {}, "鍊熼槄鐧昏.xlsx");
+    })
+    .catch(() => {
+      ElMessage.info("宸插彇娑�");
+    });
+};
+
 // 閫夋嫨鍙樺寲浜嬩欢
 const handleSelectionChange = (selection) => {
   selectedRows.value = selection;
@@ -605,7 +636,7 @@
 }
 
 .dialog-footer {
-  text-align: right;
+  text-align: center;
 }
 
 :deep(.el-form-item__label) {

--
Gitblit v1.9.3