From 0d71873262b6f670eb1814803a04f03cb8fb797e Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 11 九月 2025 18:33:17 +0800
Subject: [PATCH] 修改封面限制数量

---
 manager/src/views/member/list/index.vue |  111 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 88 insertions(+), 23 deletions(-)

diff --git a/manager/src/views/member/list/index.vue b/manager/src/views/member/list/index.vue
index 3611c63..fae9bd4 100644
--- a/manager/src/views/member/list/index.vue
+++ b/manager/src/views/member/list/index.vue
@@ -14,6 +14,12 @@
           <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>
@@ -52,14 +58,14 @@
     <Modal v-model="descFlag" :title="descTitle" @on-ok="handleSubmitModal" width="500">
       <Form ref="form" :model="form" :rules="ruleValidate" :label-width="80">
 
-        <Input v-model="form.id" v-show="false"/>
+        <Input v-model="form.id" v-show="false" />
 
         <FormItem label="澶村儚">
           <img :src="form.face || defaultPic" class="face" />
           <Button type="text" class="upload" @click="() => {
-                this.picModelFlag = true;
-                this.$refs.ossManage.selectImage = true;
-              }">淇敼</Button>
+            this.picModelFlag = true;
+            this.$refs.ossManage.selectImage = true;
+          }">淇敼</Button>
           <input type="file" style="display: none" id="file" />
         </FormItem>
         <FormItem label="鐢ㄦ埛鍚�" prop="name">
@@ -67,6 +73,14 @@
         </FormItem>
         <FormItem label="鐢ㄦ埛鏄电О" prop="name">
           <Input v-model="form.nickName" style="width: 200px" />
+        </FormItem>
+        <FormItem label="鏍囩" prop="tags">
+          <Select v-model="selectTagIds" multiple filterable :loading="selectLoading" style="width:200px;">
+            <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">
@@ -78,25 +92,22 @@
             </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>
     <Modal width="1200px" v-model="picModelFlag">
       <ossManage @callback="callbackSelected" :isComponent="true" :initialize="picModelFlag" ref="ossManage" />
     </Modal>
-    <multipleMap ref="map" @callback="selectedRegion"/>
+    <multipleMap ref="map" @callback="selectedRegion" />
   </div>
 </template>
 
@@ -105,6 +116,8 @@
 import * as API_Member from "@/api/member.js";
 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"
 
 export default {
   name: "member",
@@ -114,12 +127,16 @@
   },
   data() {
     return {
-      defaultPic:require('@/assets/default.png'),
+      memberTags:[],
+      defaultPic: require('@/assets/default.png'),
       descTitle: "", // modal鏍囬
       descFlag: false, //缂栬緫鏌ョ湅妗�
       loading: true, // 琛ㄥ崟鍔犺浇鐘舵��
       addFlag: false, // modal鏄鹃殣鎺у埗
-
+      selectLoading: false,
+      options: [],
+      selectTagIds: [],
+      selectTags: [],
       addMemberForm: {
         // 娣诲姞鐢ㄦ埛琛ㄥ崟
         mobile: "",
@@ -134,6 +151,7 @@
         username: "",
         mobile: "",
         disabled: "OPEN",
+        tagIds:[],
       },
       picModelFlag: false, // 閫夋嫨鍥剧墖
       form: {}, // 琛ㄥ崟鏁版嵁
@@ -321,9 +339,16 @@
     },
   },
   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})
+      this.selectMember.forEach(item => { item.___selected = false })
       this.$set(val, "___selected", !val.___selected);
       console.log(val.___selected);
       console.log(this.selectMember);
@@ -378,9 +403,10 @@
     },
     //鏌ョ湅璇︽儏淇敼
     editPerm(val) {
+      this.form = {};
       this.descTitle = `鏌ョ湅鐢ㄦ埛 ${val.username}`;
       this.descFlag = true;
-
+      this.getMemberTags(val.id);
       this.getMemberInfo(val.id);
     },
     addMember() {
@@ -391,8 +417,16 @@
      * 鏌ヨ鏌ョ湅浼氬憳璇︽儏
      */
     getMemberInfo(id) {
+      var that = this;
       API_Member.getMemberInfoData(id).then((res) => {
         if (res.result) {
+          debugger
+          that.selectTags = []
+          that.selectTagIds = []
+          res.result.tags.forEach(element => {
+            that.selectTags.push(element.tagName)
+            that.selectTagIds.push(element.tagId)
+          });
           this.$set(this, "form", res.result);
         }
       });
@@ -410,6 +444,7 @@
     },
     // 閫変腑鐨勫浘鐗�
     callbackSelected(val) {
+      console.log(val)
       this.picModelFlag = false;
       this.form.face = val.url;
     },
@@ -432,17 +467,17 @@
 
     // 閫変腑鐨勫湴鍧�
     selectedRegion(val) {
-      if(val.type === 'select'){
+      if (val.type === 'select') {
         const paths = val.data.map(item => item.name).join(',')
         const ids = val.data.map(item => item.id).join(',')
 
-        this.$set(this.form,'region',paths)
-        this.$set(this.form,'regionId',ids)
+        this.$set(this.form, 'region', paths)
+        this.$set(this.form, 'regionId', ids)
 
       }
-      else{
-        this.$set(this.form,'region',val.data.addr)
-        this.$set(this.form,'regionId',val.data.addrId)
+      else {
+        this.$set(this.form, 'region', val.data.addr)
+        this.$set(this.form, 'regionId', val.data.addrId)
       }
     },
     //鏌ョ湅浼氬憳
@@ -474,9 +509,10 @@
 
     // 鎻愪氦淇敼鏁版嵁
     handleSubmitModal() {
-      const { nickName, sex, username, face, newPassword,id,regionId,region } = this.form;
+      debugger
+      const { nickName, sex, username, face, newPassword, id, regionId, region } = this.form;
       let time = new Date(this.form.birthday);
-      let birthday = this.form.birthday=== undefined?'':
+      let birthday = this.form.birthday === undefined ? '' :
         time.getFullYear() + "-" + (time.getMonth() + 1) + "-" + time.getDate();
       let submit = {
         regionId,
@@ -489,6 +525,7 @@
         id
       };
 
+      submit.tags = this.selectTagIds
       if (newPassword) {
         submit.password = this.md5(newPassword);
       }
@@ -499,9 +536,35 @@
         }
       });
     },
+    selectTag(e) {
+      debugger
+      if (this.selectTagIds.indexOf(e.value) != -1) {
+        this.selectTagIds.splice(this.selectTagIds.indexOf(e.value), 1)
+        this.selectTags.splice(this.selectTags.indexOf(e.label), 1)
+      }
+      else {
+        this.selectTagIds.push(e.value)
+        this.selectTags.push(e.label)
+      }
+      console.log(this.selectTags);
+
+    },
+    remoteMethod(query) {
+      this.selectLoading = true;
+      var params = {
+        "tagTypeKey": "USER",
+        "pageNumber": 1,
+        "pageSize": 500
+      }
+      getTags(params).then(res => {
+        this.options = res.data;
+        this.selectLoading = false;
+      });
+    },
   },
   mounted() {
     this.getData();
+    this.remoteMethod("")
   },
 };
 </script>
@@ -509,9 +572,11 @@
 /deep/ .ivu-table-wrapper {
   width: 100%;
 }
+
 /deep/ .ivu-card {
   width: 100%;
 }
+
 .face {
   width: 60px;
   height: 60px;

--
Gitblit v1.8.0