liu
3 天以前 fe2d6627b8f1002af7a31b08f6f43bec034d04ee
src/views/wxcp/activity/modules/push-modal.vue
@@ -1,12 +1,12 @@
<script lang="ts" setup>
import type { WxCpActivityApi } from '#/api/wxcp/activity';
import { ref } from 'vue';
import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { Alert, Button, message } from 'ant-design-vue';
import { pushActivity } from '#/api/wxcp/activity';
import { ACTIVITY_TYPE, pushActivity } from '#/api/wxcp/activity';
import PushScopePicker from '../../components/push-scope-picker.vue';
import { PUSH_SCOPE } from '../../data';
@@ -21,6 +21,22 @@
const pushing = ref(false);
const resultMessage = ref('');
const resultSuccess = ref(true);
/** 按模板说明本次推送会发什么 */
const pushHint = computed(() => {
  switch (activity.value.activityType) {
    case ACTIVITY_TYPE.TEXT:
      return '成员会收到一条纯文本消息,内容为活动标题 + 活动详情。';
    case ACTIVITY_TYPE.MESSAGE:
      return '成员会收到一张可点击的卡片消息,点击打开活动详情页。';
    case ACTIVITY_TYPE.IMAGE:
      return '成员会先收到文字说明,再逐张收到上传的图片消息。';
    case ACTIVITY_TYPE.FILE:
      return '成员会先收到文字说明,再逐个收到附件,可直接下载查看。';
    default:
      return '成员会收到卡片消息,点击按钮打开采集页填写并提交评价。';
  }
});
const [Modal, modalApi] = useVbenModal({
  onOpenChange(isOpen: boolean) {
@@ -75,10 +91,13 @@
  <Modal title="推送活动" class="w-2/5">
    <div class="px-4">
      <div class="mb-4 rounded bg-gray-50 p-3 text-sm dark:bg-gray-800">
        <div class="mb-1 font-medium">{{ activity.title }}</div>
        <div class="text-gray-500">
          推送后成员的企业微信会收到卡片消息,点击「立即报名」直接打开报名页。
        <div class="mb-1 font-medium">
          {{ activity.title }}
          <span v-if="activity.activityTypeName" class="ml-2 text-xs text-gray-400">
            {{ activity.activityTypeName }}
          </span>
        </div>
        <div class="text-gray-500">{{ pushHint }}</div>
      </div>
      <div class="mb-2 text-sm font-medium">推送范围</div>