Browse Source

2024.08.01
- 组合活动配置页增加业务json字段回填逻辑,社区服务改为可多选;

zweiqin 8 months ago
parent
commit
ec93532618

+ 11 - 7
src/views/active/combinationActivityConfiguration/components/EditModal.vue

@@ -12,7 +12,7 @@
       <el-form-item label="活动配置类型" prop="configType">
         <el-select
           v-model="formData.configType" clearable size="mini" placeholder="请选择活动配置类型"
-          @change="formData.roleType = formData.ruleId = formData.joinRule = formData.joinMoney = formData.isCardHolder = formData.serverId = ''"
+          @change="formData.roleType = formData.ruleId = formData.joinRule = formData.joinMoney = formData.isCardHolder = formData.serverId = []"
         >
           <el-option label="升级活动" :value="1" />
           <el-option label="分佣活动" :value="2" />
@@ -90,12 +90,16 @@
         v-if="[ 3 ].includes(formData.configType) && (formData.joinRole === 1)" label="社区服务"
         prop="serverId"
       >
-        <el-select v-model="formData.serverId" clearable size="mini" placeholder="请选择社区服务" filterable>
+        <el-select
+          v-model="formData.serverId" clearable size="mini"
+          placeholder="请选择社区服务" filterable multiple
+          @change="(e) => (formData.cardBusinessFields = JSON.stringify(communityList.filter(i => formData.serverId.includes(i.id))))"
+        >
           <el-option
             v-for="(item, index) in communityList" :key="item.id"
             :label="`${item.serverInfoName || '--'}(${item.id})`" :value="item.id"
           />
-        </el-select>
+        </el-select>{{ formData.serverId }}
       </el-form-item>
       <el-form-item
         v-if="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes(formData.configType) && (formData.joinRole === 1)"
@@ -179,8 +183,9 @@
         ></el-cascader>
         <div v-if="String(formData.cardJson)">已选ID:{{ formData.cardJson }}</div>
       </el-form-item>
+      <!-- && formData.isCardHolder -->
       <el-form-item
-        v-if="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes(formData.configType) && (formData.joinRole === 1) && formData.isCardHolder"
+        v-if="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes(formData.configType) && (formData.joinRole === 1)"
         label="业务json字段" prop="cardBusinessFields"
       >
         <el-input
@@ -234,7 +239,7 @@ export default {
         cardRange: '',
         cardJson: '',
         cardBusinessFields: '',
-        serverId: ''
+        serverId: [] // 非后端参数
       },
       formRules: {
         composeId: [
@@ -341,8 +346,7 @@ export default {
           cardEffectiveTime: res.data.cardEffectiveTime || '',
           cardRange: res.data.cardRange || '',
           cardJson: res.data.cardJson || '',
-          cardBusinessFields: res.data.cardBusinessFields || '',
-          serverId: res.data.serverId || ''
+          cardBusinessFields: res.data.cardBusinessFields || ''
         })
         if (this.formData.cardJson) this.regionArrDialog = this.formData.cardJson.split(',').map((i) => [ i ])
         this.$nextTick(() => {