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 | 53 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 47 insertions(+), 6 deletions(-) diff --git a/manager/src/views/member/list/index.vue b/manager/src/views/member/list/index.vue index e930b40..e26f16c 100644 --- a/manager/src/views/member/list/index.vue +++ b/manager/src/views/member/list/index.vue @@ -14,11 +14,18 @@ <Form-item label="鑱旂郴鏂瑰紡" prop="mobile"> <Input type="text" v-model="searchForm.mobile" placeholder="璇疯緭鍏ヤ細鍛樿仈绯绘柟寮�" clearable style="width: 200px" /> </Form-item> + <Form-item label="鐢ㄦ埛鏍囩" prop="tags"> + <Select v-model="searchForm.tagIds" multiple filterable :loading="selectLoading" style="width:200px;"> + <Option v-for="item in options" :key="item.id" :label="item.tagName" :value="item.id"></Option> + </Select> + </Form-item> + <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> @@ -73,6 +80,9 @@ <Option v-for="item in options" :key="item.id" :label="item.tagName" :value="item.id"></Option> </Select> </FormItem> + <FormItem label="鐢ㄦ埛鑷畾涔夋爣绛�" prop="customerTags"> + <span class="inf0o" v-for="(item,index) in memberTags" :key="index">{{item.tagName}}<span v-if="index < memberTags.length - 1">, </span></span> + </FormItem> <FormItem label="鎬у埆" prop="sex"> <RadioGroup type="button" button-style="solid" v-model="form.sex"> <Radio :label="1"> @@ -91,10 +101,7 @@ </FormItem> <FormItem label="鎵�鍦ㄥ湴" prop="mail"> {{ form.region || '鏆傛棤鍦板潃' }} - - <Button style="margin-left: 10px;" @click="$refs.map.open()">閫夋嫨</Button> - </FormItem> </Form> </Modal> @@ -111,6 +118,8 @@ import ossManage from "@/views/sys/oss-manage/ossManage"; 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", @@ -120,6 +129,7 @@ }, data() { return { + memberTags:[], defaultPic: require('@/assets/default.png'), descTitle: "", // modal鏍囬 descFlag: false, //缂栬緫鏌ョ湅妗� @@ -143,6 +153,7 @@ username: "", mobile: "", disabled: "OPEN", + tagIds:[], }, picModelFlag: false, // 閫夋嫨鍥剧墖 form: {}, // 琛ㄥ崟鏁版嵁 @@ -330,6 +341,13 @@ }, }, methods: { + getMemberTags(id){ + detailById(id).then(res =>{ + if (res.code === 200){ + this.memberTags = res.data; + } + }); + }, // 鍥炶皟缁欑埗绾� callback(val, index) { this.selectMember.forEach(item => { item.___selected = false }) @@ -384,12 +402,35 @@ 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) { + this.form = {}; this.descTitle = `鏌ョ湅鐢ㄦ埛 ${val.username}`; this.descFlag = true; - + this.getMemberTags(val.id); this.getMemberInfo(val.id); }, addMember() { -- Gitblit v1.8.0