From 9aae2af6f3937a7d99ec619b51f457002cef969f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 十一月 2025 14:29:37 +0800
Subject: [PATCH] 档案管理-添加导出功能
---
src/views/fileManagement/borrow/index.vue | 83 +++++++++++++++++++++++++++++++++++++----
1 files changed, 74 insertions(+), 9 deletions(-)
diff --git a/src/views/fileManagement/borrow/index.vue b/src/views/fileManagement/borrow/index.vue
index 6875571..5407ec5 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"
@@ -90,10 +93,6 @@
ref="borrowFormRef"
>
<el-row :gutter="20">
-
- </el-row>
-
- <el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鍊熼槄浜猴細" prop="borrower">
<el-input v-model="borrowForm.borrower" placeholder="璇疯緭鍏ュ�熼槄浜�" />
@@ -101,14 +100,31 @@
</el-col>
<el-col :span="12">
<el-form-item label="鍊熼槄涔︾睄锛�" prop="documentationId">
- <el-select v-model="borrowForm.documentationId" placeholder="璇烽�夋嫨鍊熼槄涔︾睄" style="width: 100%">
+ <!-- <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>
+ </el-select> -->
+ <div style="display: flex; gap: 10px;">
+ <el-select v-model="borrowForm.documentationId" placeholder="璇烽�夋嫨鍊熼槄涔︾睄" style="flex: 1;width: 100px;" @change="handleSelectChange">
+ <el-option
+ v-for="item in documentList"
+ :key="item.id"
+ :label="item.docName || item.name"
+ :value="item.id"
+ />
+ </el-select>
+ <el-input
+ v-model="scanContent"
+ placeholder="鎵爜杈撳叆"
+ style="width: 100px;"
+ @input="handleScanContent"
+ clearable
+ />
+ </div>
</el-form-item>
</el-col>
</el-row>
@@ -188,7 +204,7 @@
const borrowList = ref([]);
const selectedRows = ref([]);
const documentList = ref([]); // 鏂囨。鍒楄〃锛岀敤浜庡�熼槄涔︾睄閫夋嫨
-
+const scanContent = ref() // 鎵爜鍐呭
// 鍒嗛〉鐩稿叧
const pagination = reactive({
currentPage: 1,
@@ -221,7 +237,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" }],
@@ -295,6 +311,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 = [];
@@ -368,6 +385,37 @@
ElMessage.success("鏌ヨ鏉′欢宸查噸缃�");
};
+// 澶勭悊涓嬫媺閫夋嫨鍙樺寲
+const handleSelectChange = (value) => {
+ // 褰撲笅鎷夋閫夋嫨鏃讹紝娓呯┖鎵爜杈撳叆妗�
+ scanContent.value = '';
+};
+
+// 澶勭悊鎵爜鍐呭
+const handleScanContent = async (value) => {
+ if (!value) return;
+ try {
+ // 鏌ユ壘鎵弿鍐呭瀵瑰簲鐨勬枃妗�
+ const matchedDoc = documentList.value.find(item =>
+ item.id == value
+ );
+ console.log("matchedDoc", matchedDoc);
+
+
+ if (matchedDoc) {
+
+ // 鎵惧埌鍖归厤鐨勬枃妗o紝璁剧疆琛ㄥ崟鍊�
+ borrowForm.documentationId = matchedDoc.id;
+ ElMessage.success(`宸查�夋嫨: ${matchedDoc.docName || matchedDoc.name}`);
+ } else {
+ // 鏈壘鍒板尮閰嶇殑鏂囨。锛屾彁绀虹敤鎴�
+ ElMessage.warning('鏈壘鍒板搴旂殑涔︾睄锛岃妫�鏌ユ壂鐮佸唴瀹规垨鎵嬪姩閫夋嫨');
+ }
+ } catch (error) {
+ ElMessage.error('鎵爜澶勭悊澶辫触锛岃閲嶈瘯');
+ console.error('鎵爜澶勭悊閿欒:', error);
+ }
+}
// 鎵撳紑鍊熼槄寮规
const openBorrowDia = async (type, data) => {
// 鍏堝埛鏂版枃妗e垪琛�
@@ -375,7 +423,8 @@
borrowOperationType.value = type;
borrowDia.value = true;
-
+ scanContent.value = ''; // 娓呯┖鎵爜鍐呭
+
if (type === "edit") {
// 缂栬緫妯″紡锛屽姞杞界幇鏈夋暟鎹�
Object.assign(borrowForm, data);
@@ -395,6 +444,7 @@
const closeBorrowDia = () => {
proxy.$refs.borrowFormRef.resetFields();
borrowDia.value = false;
+ scanContent.value = ''; // 娓呯┖鎵爜鍐呭
};
// 鎻愪氦鍊熼槄琛ㄥ崟
@@ -510,6 +560,21 @@
});
};
+// 瀵煎嚭
+const handleOut = () => {
+ ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ proxy.download("/documentationBorrowManagement/export", {}, "鍊熼槄绠$悊.xlsx");
+ })
+ .catch(() => {
+ ElMessage.info("宸插彇娑�");
+ });
+};
+
// 閫夋嫨鍙樺寲浜嬩欢
const handleSelectionChange = (selection) => {
selectedRows.value = selection;
--
Gitblit v1.9.3