From 5c5292c6b267e09a5e1f6056b06c5ac99f0088db Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期五, 19 九月 2025 10:09:18 +0800
Subject: [PATCH] 导出会员信息
---
manager/src/views/member/list/index.vue | 28 ++++++++++++++++++++++++++--
manager/src/api/member.js | 16 ++++++++++++++++
2 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/manager/src/api/member.js b/manager/src/api/member.js
index 040bb2b..0497915 100644
--- a/manager/src/api/member.js
+++ b/manager/src/api/member.js
@@ -34,6 +34,22 @@
export const insertOrUpdateSpec = (params) => {
return postRequest("/memberNoticeSenter/insertOrUpdate", params);
};
+export const exportMemberListData = (params) => {
+ const processedParams = new URLSearchParams();
+
+ Object.entries(params).forEach(([key, value]) => {
+ if (key === 'tagIds' && Array.isArray(value)) {
+ // 濡傛灉鏄痶agIds鏁扮粍锛屼负姣忎釜鍏冪礌娣诲姞[]鍚庣紑
+ value.forEach(tagId => {
+ processedParams.append('tagIds[]', tagId);
+ });
+ } else {
+ processedParams.append(key, value);
+ }
+ });
+
+ return getRequest(`/passport/member/export?${processedParams.toString()}`,null,'blob');
+};
// 鑾峰彇浼氬憳鍒楄〃
export const getMemberListData = (params) => {
diff --git a/manager/src/views/member/list/index.vue b/manager/src/views/member/list/index.vue
index fae9bd4..e26f16c 100644
--- a/manager/src/views/member/list/index.vue
+++ b/manager/src/views/member/list/index.vue
@@ -23,8 +23,9 @@
<Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search">鎼滅储</Button>
</Form>
</Row>
- <Row class="operation padding-row" v-if="!selectedMember">
- <Button @click="addMember" type="primary">娣诲姞浼氬憳</Button>
+ <Row class="operation padding-row" >
+ <Button @click="addMember" v-if="!selectedMember" type="primary">娣诲姞浼氬憳</Button>
+ <Button @click="exportExcel" type="primary">瀵煎嚭excel</Button>
</Row>
<Table :loading="loading" border :columns="columns" class="mt_10" :data="data" ref="table"></Table>
@@ -118,6 +119,7 @@
import * as RegExp from "@/libs/RegExp.js";
import { getTags } from "@/api/tag.js";
import { detailById } from "@/api/memberCustomerTag.js"
+import {exportMemberListData} from "@/api/member.js";
export default {
name: "member",
@@ -400,6 +402,28 @@
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10;
this.getData();
+ }, // 鎼滅储
+ exportExcel() {
+ API_Member.exportMemberListData(this.searchForm).then(res =>{
+ const blob = new Blob([res], {
+ type: "application/vnd.ms-excel;charset=utf-8",
+ });
+ //瀵逛簬<a>鏍囩锛屽彧鏈� Firefox 鍜� Chrome锛堝唴鏍革級 鏀寔 download 灞炴��
+ //IE10浠ヤ笂鏀寔blob浣嗘槸渚濈劧涓嶆敮鎸乨ownload
+ if ("download" in document.createElement("a")) {
+ //鏀寔a鏍囩download鐨勬祻瑙堝櫒
+ const link = document.createElement("a"); //鍒涘缓a鏍囩
+ link.download = "浼氬憳鍒楄〃.xlsx"; //a鏍囩娣诲姞灞炴��
+ link.style.display = "none";
+ link.href = URL.createObjectURL(blob);
+ document.body.appendChild(link);
+ link.click(); //鎵ц涓嬭浇
+ URL.revokeObjectURL(link.href); //閲婃斁url
+ document.body.removeChild(link); //閲婃斁鏍囩
+ } else {
+ navigator.msSaveBlob(blob, fileName);
+ }
+ })
},
//鏌ョ湅璇︽儏淇敼
editPerm(val) {
--
Gitblit v1.8.0