feige
6 小时以前 00b0499599549280d631b3d5a645bb9ba8f88f8c
ruoyi-ui/src/views/bignote/familyeventInfo.vue
@@ -335,6 +335,7 @@
        people: undefined,
        address: undefined,
        remark: undefined,
        url: "",
      },
     ID: undefined,
@@ -374,13 +375,26 @@
       selectedMemberNames() {
       //  alert(this.familyMembers.length)
        // 优先使用直接设置的显示名称
        if(this.displayMemberNames && this.displayMemberNames.length > 0) {
        if(this.displayMemberNames && this.displayMemberNames.length > 0 && this.selectedMemberIds.length==0) {
          return this.displayMemberNames;
        }
        // 否则根据选中的ID计算
        return this.familyMembers
        // 合并过滤后的成员名称和displayMemberNames内容
        const filteredNames = this.familyMembers
          .filter(member => this.selectedMemberIds.includes(member.userId))
         .map(member => member.oldName);
        // 创建一个Set来存储唯一名称,避免重复
        const uniqueNames = new Set([...filteredNames]);
        // 如果displayMemberNames有内容,也加入Set中
        if(this.displayMemberNames && this.displayMemberNames.length > 0) {
          this.displayMemberNames.forEach(name => uniqueNames.add(name));
        }
        // 转回数组并返回
        return Array.from(uniqueNames);
      },
    // 过滤后的成员列表(搜索功能)
    filteredMembers() {
@@ -469,6 +483,31 @@
  },
  mounted() {},
  methods: {
    handleTagClose(index, name) {
      // 从 selectedMemberNames 数组中移除当前关闭的标签名称
    //  const index = this.selectedMemberNames.findIndex(item=== name);
    selectedMemberIds: this.selectedMemberIds.filter(
        item => item!== index  // 过滤掉与关闭名称相同的元素
      )
      this.$forceUpdate();
      console.log(this.selectedMemberIds)
      this.selectedMemberNames.splice(index, 1);
      this.$forceUpdate();
    selectedMemberNames: this.selectedMemberNames.filter(
        item => item !== name  // 过滤掉与关闭名称相同的元素
      )
      console.log(this.selectedMemberNames)
    },
    // 确认选择成员(保存到表单)
    confirmMemberSelection() {
      console.log(this.selectedMemberIds)
      this.formData.selectedMemberIds = [...this.selectedMemberIds];
      console.log(this.formData.selectedMemberIds)
       // 将弹窗选中的ID同步到表单
      this.memberDialogVisible = false;
      this.$message.info(`已选择 ${this.selectedMemberNames.length} 名家族成员`);
    },
    splitPeopleToSelectedNames(people) {
      // 处理逻辑:
      // 1. 判断 people 是否存在且为字符串,避免报错
@@ -566,7 +605,9 @@
      //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      // }).join(",")
      // this.formData.url = ul+","+uls
  var pel = ""
      pel = pel + this.selectedMemberNames.join(",")
      this.formData.people = pel;
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.formData.id != undefined) {