From b56fcbe8d410c18b3a6ff7e4eb0e24815bbb5e09 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期五, 19 九月 2025 13:41:59 +0800
Subject: [PATCH] 移动端释放滑块

---
 manager/src/views/member/list/index.vue |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 9 deletions(-)

diff --git a/manager/src/views/member/list/index.vue b/manager/src/views/member/list/index.vue
index 0d346e4..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">
@@ -83,18 +93,15 @@
             </Radio>
           </RadioGroup>
         </FormItem>
-        <FormItem label="淇敼瀵嗙爜" prop="password">
-          <Input type="password" style="width: 220px" password v-model="form.newPassword" />
-        </FormItem>
+<!--        <FormItem label="淇敼瀵嗙爜" prop="password">-->
+<!--          <Input type="password" style="width: 220px" password v-model="form.newPassword" />-->
+<!--        </FormItem>-->
         <FormItem label="鐢熸棩" prop="birthday">
           <DatePicker type="date" format="yyyy-MM-dd" v-model="form.birthday" style="width: 220px"></DatePicker>
         </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() {
@@ -427,6 +468,7 @@
     },
     // 閫変腑鐨勫浘鐗�
     callbackSelected(val) {
+      console.log(val)
       this.picModelFlag = false;
       this.form.face = val.url;
     },

--
Gitblit v1.8.0