From b90b528cb5c6eaebe03fba972fef658a741ce896 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 26 Feb 2026 18:19:13 +0800
Subject: [PATCH] 活动评价

---
 shop_vue/src/views/branch/activity/add.vue |  100 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 77 insertions(+), 23 deletions(-)

diff --git a/shop_vue/src/views/branch/activity/add.vue b/shop_vue/src/views/branch/activity/add.vue
index 3746c5e..760cc57 100644
--- a/shop_vue/src/views/branch/activity/add.vue
+++ b/shop_vue/src/views/branch/activity/add.vue
@@ -15,7 +15,7 @@
         <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>
       </el-form-item>
@@ -46,12 +46,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" 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" v-if="!form.is_visit">
@@ -73,7 +77,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.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>
@@ -224,6 +228,8 @@
       },
       /*活动类别*/
       category: [],
+      /*选中的分类信息*/
+      selectedCategory: null,
       loading: false,
       upload_type: 'image', // 封面image 分享海报pic
       open_branch: false,
@@ -280,12 +286,24 @@
         .then(res => {
           self.category = res.data.category;
           if(self.category.length > 0){
-            self.form.category_id = self.catgory[0].category_id;
+            self.form.category_id = self.category[0].category_id;
+            // 设置默认选中的分类信息
+            self.selectedCategory = self.category[0];
           }
         })
         .catch(error => {
 
         });
+    },
+
+    /*处理分类选择变化*/
+    handleCategoryChange(value) {
+      // 根据选中的category_id找到对应的分类对象
+      const selected = this.category.find(item => item.category_id === value);
+      this.selectedCategory = selected || null;
+
+      // 可以在这里添加其他业务逻辑,比如根据分类显示不同的表单字段等
+      console.log('选中的分类信息:', this.selectedCategory);
     },
 
     /*添加活动*/
@@ -302,28 +320,64 @@
       // }
       self.$refs.form.validate(valid => {
         if (valid) {
-          self.loading = true;
-          self.form.content = this.$refs.ue.getUEContent();
-          // 如果走访企业,则被走访企业就是场地提供者
-          if (self.form.is_visit) {
-            self.form.space_supplier_id = '';
-          } else {
-            self.form.visit_supplier_id = '';
-          }
-          BranchApi.addActivity(form, true)
-            .then(data => {
-              self.loading = false;
-              self.$message({
-                message: data.msg,
-                type: 'success'
-              });
-              self.$router.push('/branch/activity/index');
-            })
-            .catch(error => {
-              self.loading = false;
+          // 如果是走访活动,先检查差评
+          if (self.form.is_visit && (self.form.visit_supplier_id || self.form.visit_supplier_name)) {
+            BranchApi.checkNegativeComment({
+              visit_supplier_id: self.form.visit_supplier_id || 0,
+              visit_supplier_name: self.form.visit_supplier_name || '',
+              activity_id: 0
+            }).then(res => {
+              if (res.data.has_warning) {
+                // 显示确认对话框
+                self.$confirm(res.data.message, '提示', {
+                  confirmButtonText: '继续走访',
+                  cancelButtonText: '取消',
+                  type: 'warning'
+                }).then(() => {
+                  // 用户确认继续,直接提交
+                  self.submitForm();
+                }).catch(() => {
+                  // 用户取消
+                });
+              } else {
+                // 没有差评警告,直接提交
+                self.submitForm();
+              }
+            }).catch(error => {
+              // 检查失败,直接提交
+              self.submitForm();
             });
+          } else {
+            // 不是走访活动,直接提交
+            self.submitForm();
+          }
         }
       });
+    },
+
+    /*提交表单*/
+    submitForm() {
+      let self = this;
+      self.loading = true;
+      self.form.content = this.$refs.ue.getUEContent();
+      // 如果走访企业,则被走访企业就是场地提供者
+      if (self.form.is_visit) {
+        self.form.space_supplier_id = '';
+      } else {
+        self.form.visit_supplier_id = '';
+      }
+      BranchApi.addActivity(self.form, true)
+        .then(data => {
+          self.loading = false;
+          self.$message({
+            message: data.msg,
+            type: 'success'
+          });
+          self.$router.push('/branch/activity/index');
+        })
+        .catch(error => {
+          self.loading = false;
+        });
     },
 
     /*选择的地址*/
@@ -375,7 +429,7 @@
           this.form.space_supplier_id = e.params.shop_supplier_id;
           this.space_supplier_name = e.params.name;
         }
-        
+
       }
       this.open_supplier = false;
     },

--
Gitblit v1.9.2