shop_vue/src/views/branch/activity/drawer/part/edit.vue
@@ -13,9 +13,10 @@
      </el-form-item>
      <el-form-item label="活动标题" prop="name"><el-input v-model="form.name" placeholder="请输入活动标题" class="max-w460"></el-input></el-form-item>
      <el-form-item label="活动分类" prop="category_id">
        <el-select v-model="form.category_id" placeholder="请选择">
        <el-select v-model="form.category_id" placeholder="请选择" @change="handleCategoryChange">
          <el-option v-for="(item, index) in category" :key="index" :label="item.name" :value="item.category_id"></el-option>
        </el-select>
        <div class="gray9" v-if="selectedCategory">该分类最多{{ selectedCategory.limit_num }}人</div>
      </el-form-item>
      <el-form-item label="活动简介" prop="describe"><el-input type="textarea" v-model="form.describe" rows="4" maxlength="200" show-word-limit placeholder="请输入活动简介" class="max-w460"></el-input></el-form-item>
      <el-form-item label="封面图">
@@ -44,12 +45,16 @@
          <el-radio :label="0">否</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item v-if="form.is_visit" label="被走访企业名称" prop="visit_supplier_name">
        <el-input v-model="form.visit_supplier_name" placeholder="商户没有入驻时,请输入被走访企业名称" class="max-w460"></el-input>
      </el-form-item>
      <el-form-item label="被走访企业" prop="visit_supplier_id" key="visit_supplier_id" v-if="form.is_visit">
        <el-row>
          <el-button @click="selectSupplier('visit')" icon="el-icon-plus">选择企业</el-button>
          <div v-if="form.visit_supplier_id!=''" class="mt10">
            <el-tag>{{ visit_supplier_name }}</el-tag>
          </div>
          <div class="gray9" v-if="form.visit_supplier_id==''">如没有可不选</div>
        </el-row>
      </el-form-item>
      <el-form-item label="提供场地企业" prop="space_supplier_id" key="space_supplier_id" v-if="!form.is_visit">
@@ -71,7 +76,7 @@
        <el-input v-model="form.limit_num" placeholder="请输入活动名额" class="max-w460">
          <template slot="append">人</template>
        </el-input>
        <div class="gray9">0为不限制人数</div>
        <div class="gray9">0为不限制人数{{selectedCategory&&selectedCategory.limit_num?(',该分类最多'+selectedCategory.limit_num+'人'):''}}</div>
      </el-form-item>
      <el-form-item label="联系电话" prop="phone">
        <el-input v-model="form.phone" placeholder="请输入联系电话" class="max-w460"></el-input>
@@ -213,6 +218,20 @@
      rules: {
        name: [{ required: true, message: '请输入活动标题', trigger: 'blur' }],
        category_id: [{ required: true, message: '请选择活动分类', trigger: 'blur' }],
        visit_supplier_name: [
          {
            required: true,
            message: '请输入被走访企业名称',
            trigger: 'blur',
            validator: (rule, value, callback) => {
              if (this.form.is_visit && (!value || value.trim() === '')) {
                callback(new Error('请输入被走访企业名称'));
              } else {
                callback();
              }
            }
          }
        ],
        visit_supplier_id: [{ required: true, trigger: 'blur', validator: validateVisit }],
        reg_date: [{ required: true, message: '请选择报名起止时间', trigger: 'blur' }],
        act_date: [{ required: true, message: '请选择活动起止时间', trigger: 'blur' }],
@@ -263,6 +282,16 @@
        .catch(error => {});
    },
    /*处理分类选择变化*/
    handleCategoryChange(value) {
      // 根据选中的category_id找到对应的分类对象
      const selected = this.category.find(item => item.category_id === value);
      this.selectedCategory = selected || null;
      // 可以在这里添加其他业务逻辑,比如根据分类显示不同的表单字段等
      console.log('选中的分类信息:', this.selectedCategory);
    },
    formatData() {
      this.ueditor.text = this.form.content;
      this.branch_name = this.form.branch.name;
@@ -273,6 +302,12 @@
      this.visit_supplier_name = this.form.visitSupplier ? this.form.visitSupplier.name : '';
      this.space_supplier_name = this.form.spaceSupplier ? this.form.spaceSupplier.name : '';
      this.select_list = this.form.verify_user;
      // 初始化选中的分类信息
      if (this.category && this.form.category_id) {
        this.selectedCategory = this.category.find(item => item.category_id === this.form.category_id) || null;
      }
      this.loading = false;
    },