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] 活动评价
---
branch_vue/src/views/activity/activity/add.vue | 98 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 76 insertions(+), 22 deletions(-)
diff --git a/branch_vue/src/views/activity/activity/add.vue b/branch_vue/src/views/activity/activity/add.vue
index acc2723..7472429 100644
--- a/branch_vue/src/views/activity/activity/add.vue
+++ b/branch_vue/src/views/activity/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>
@@ -45,6 +45,9 @@
<el-radio :label="1">是</el-radio>
<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>
@@ -80,7 +83,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>
@@ -240,6 +243,8 @@
},
/*活动类别*/
category: [],
+ /*选中的分类信息*/
+ selectedCategory: null,
loading: false,
upload_type: 'image', // 封面image 分享海报pic
open_branch: false,
@@ -298,12 +303,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);
},
/*添加活动*/
@@ -320,30 +337,67 @@
// }
self.$refs.form.validate(valid => {
if (valid) {
- self.loading = true;
- form.content = this.$refs.ue.getUEContent();
- // 如果走访企业,则被走访企业就是场地提供者
- if (form.is_visit) {
- form.space_supplier_id = '';
- } else {
- form.visit_supplier_id = '';
- }
- BranchApi.addActivity({formData: JSON.stringify(form)}, true)
- .then(data => {
- self.loading = false;
- self.$message({
- message: data.msg,
- type: 'success'
- });
- self.$router.push('/activity/activity/index');
- })
- .catch(error => {
- self.loading = false;
+ // 如果是走访活动,先检查差评
+ if (form.is_visit && (form.visit_supplier_id || form.visit_supplier_name)) {
+ BranchApi.checkNegativeComment({
+ visit_supplier_id: form.visit_supplier_id || 0,
+ visit_supplier_name: 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;
+ let form = self.form;
+ form.content = this.$refs.ue.getUEContent();
+ // 如果走访企业,则被走访企业就是场地提供者
+ if (form.is_visit) {
+ form.space_supplier_id = '';
+ } else {
+ form.visit_supplier_id = '';
+ }
+ BranchApi.addActivity({formData: JSON.stringify(form)}, true)
+ .then(data => {
+ self.loading = false;
+ self.$message({
+ message: data.msg,
+ type: 'success'
+ });
+ self.$router.push('/activity/activity/index');
+ })
+ .catch(error => {
+ self.loading = false;
+ });
+ },
+
/*选择的地址*/
selectFromMap(e){
this.form.coordinate = e.location.lat + ',' + e.location.lng;
--
Gitblit v1.9.2