wupengfei
昨天 c8c2f28f9008989f8035da5e78c262b326707065
packages/components/src/components/Result/Result.vue
@@ -1,29 +1,66 @@
<template>
  <div class="recharge-result-view">
    <div class="recharge-result-view-title">{{ title }}</div>
    <div class="recharge-result-view-subtitle">订单号:{{ orderNo }}</div>
    <div class="recharge-result-view-remark">
      {{ refundCheckRemark }},如有疑问请联系客服 {{ servicePhone }}(周一到周五 9:00-17:30)
  <div class="result-wrapper" v-bind="$attrs">
    <div class="result-content">
      <img class="result-content-icon" :src="icon" />
      <div class="result-content-title">{{ title }}</div>
      <div class="result-content-remark">
        <slot name="remark"> </slot>
      </div>
    </div>
    <div class="recharge-result-view-btn-wrapper">
    <div class="result-order-number">
      <div class="result-order-number-label">订单编号:</div>
      <div class="result-order-number-value">{{ orderNo }}</div>
    </div>
    <div class="result-wrapper-tips">
      <slot name="tips"> </slot>
    </div>
    <div class="result-wrapper-actions">
      <slot name="actions">
        <div class="recharge-result-view-btn" @click="emit('goBackHome')">回首页</div>
        <div class="chunk-form-actions">
          <nut-button class="recharge-button" type="primary" @click="emit('goBackHome')">
            <div class="recharge-button-inner">
              <div class="recharge-button-text">返回首页</div>
            </div>
          </nut-button>
        </div>
      </slot>
    </div>
  </div>
</template>
<script setup lang="ts">
import { computed } from 'vue';
import { OssAssets } from '../../constants/img';
import { Button as NutButton } from '@nutui/nutui-taro';
defineOptions({
  name: 'Result',
});
type Props = {
  title?: string;
  type?: 'success' | 'fail';
  orderNo?: string;
  refundCheckRemark?: string;
  servicePhone?: string;
  dangerTips?: string;
  warningTips?: string;
  customerServiceTips?: string;
};
const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
  (e: 'goBackHome'): void;
}>();
const icon = computed(() => {
  switch (props.type) {
    case 'success':
      return OssAssets.result.Success;
    case 'fail':
      return OssAssets.result.Fail;
    default:
      return OssAssets.result.Success;
  }
});
</script>