|
|
@@ -0,0 +1,184 @@
|
|
|
+<template>
|
|
|
+ <div class="page-detail">
|
|
|
+ <page-detail-layout :tabs="tabs" v-model:tab-active-key="tabActiveKey" :index-config="indexConfig"
|
|
|
+ :title="descData.activityName" v-if="descData !== null">
|
|
|
+ <!-- <template #titleRight>
|
|
|
+ <img src="/@/assets/images/page-detail-layout/customer/SS_user.png" alt="" />
|
|
|
+ <a-tag color="blue">企业单位</a-tag>
|
|
|
+ </template> -->
|
|
|
+
|
|
|
+ <template #toolBtn>
|
|
|
+ <a-button ghost type="primary" size="small">编辑</a-button>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template #titleBottom>
|
|
|
+ <a-tag color="#f0f4fe" v-for="(tagItem, tagIndex) in tagList" :key="tagIndex">
|
|
|
+ <div class="tag-stl">
|
|
|
+ <img :src="tagItem.icon" alt="" />
|
|
|
+ <span class="title-render">{{ tagItem.title }}</span>
|
|
|
+ </div>
|
|
|
+ </a-tag>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template #basicInfo>
|
|
|
+ <basicInfo :data="descData" />
|
|
|
+ </template>
|
|
|
+ <template #retentionTransformation>
|
|
|
+ <retentionTransformation :id="id" />
|
|
|
+ </template>
|
|
|
+ <template #serviceMember>
|
|
|
+ <serviceMember :id="id" />
|
|
|
+ </template>
|
|
|
+ <template #activityInfo>
|
|
|
+ <activityInfo :id="id" />
|
|
|
+ </template>
|
|
|
+ <template #activitySummary>
|
|
|
+ <activitySummary :id="id" />
|
|
|
+ </template>
|
|
|
+ </page-detail-layout>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import { onMounted, ref } from 'vue';
|
|
|
+import { useRoute } from 'vue-router';
|
|
|
+import PageDetailLayout from '/@/components/business/page-detail-layout/index.vue';
|
|
|
+import selectedIcon from '/@/assets/images/page-detail-layout/selectedIcon.png';
|
|
|
+import unSelectedIcon from '/@/assets/images/page-detail-layout/unSelectedIcon.png';
|
|
|
+import basicInfo from './components/basic-info/index.vue'
|
|
|
+import retentionTransformation from './components/retention-transformation/index.vue'
|
|
|
+import serviceMember from './components/service-member/index.vue'
|
|
|
+import activityInfo from './components/activity-info/index.vue'
|
|
|
+import activitySummary from './components/activity-summary/index.vue'
|
|
|
+import { getActivityDetail } from '/@/api/market-manage/activity-manage';
|
|
|
+const route = useRoute()
|
|
|
+const { id } = route.query
|
|
|
+const descData = ref(null)
|
|
|
+onMounted(() => {
|
|
|
+ getActivityDetail(id).then((res) => {
|
|
|
+ descData.value = res.data
|
|
|
+ indexConfig.value = {
|
|
|
+ sourceData: [
|
|
|
+ {
|
|
|
+ label: '活动状态',
|
|
|
+ value: descData.value['activityStatus'],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '活动预算金额',
|
|
|
+ value: descData.value['activityBudget'],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '活动负责人',
|
|
|
+ value: descData.value['activityHead'],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '联系电话',
|
|
|
+ value: descData.value['headPhone'],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ labelKey: 'label',
|
|
|
+ valueKey: 'value',
|
|
|
+ }
|
|
|
+ })
|
|
|
+})
|
|
|
+const tabActiveKey = ref('0');
|
|
|
+
|
|
|
+const tabs = ref([
|
|
|
+ {
|
|
|
+ title: '基本信息',
|
|
|
+ key: '0',
|
|
|
+ slotName: 'basicInfo',
|
|
|
+ selectedIcon: selectedIcon,
|
|
|
+ unSelectedIcon: unSelectedIcon,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '留资转化',
|
|
|
+ key: '1',
|
|
|
+ slotName: 'retentionTransformation',
|
|
|
+ selectedIcon: selectedIcon,
|
|
|
+ unSelectedIcon: unSelectedIcon,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '活动数据',
|
|
|
+ key: '2',
|
|
|
+ slotName: 'activityData',
|
|
|
+ selectedIcon: selectedIcon,
|
|
|
+ unSelectedIcon: unSelectedIcon,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '服务成员',
|
|
|
+ key: '3',
|
|
|
+ slotName: 'serviceMember',
|
|
|
+ selectedIcon: selectedIcon,
|
|
|
+ unSelectedIcon: unSelectedIcon,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '活动资料',
|
|
|
+ key: '4',
|
|
|
+ slotName: 'activityInfo',
|
|
|
+ selectedIcon: selectedIcon,
|
|
|
+ unSelectedIcon: unSelectedIcon,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '活动总结',
|
|
|
+ key: '5',
|
|
|
+ slotName: 'activitySummary',
|
|
|
+ selectedIcon: selectedIcon,
|
|
|
+ unSelectedIcon: unSelectedIcon,
|
|
|
+ },
|
|
|
+]);
|
|
|
+
|
|
|
+const tagList = [
|
|
|
+ {
|
|
|
+ title: '活动ID:',
|
|
|
+ // icon: getImgUrl('icon-tianyancha'),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '山东省环境治理中心',
|
|
|
+ // icon: getImgUrl('icon-xiansuodengji'),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '地址:',
|
|
|
+ // icon: getImgUrl('icon-biaoqianguanli'),
|
|
|
+ },
|
|
|
+]
|
|
|
+const indexConfig = ref({
|
|
|
+ sourceData: [
|
|
|
+ {
|
|
|
+ label: '活动状态',
|
|
|
+ value: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '活动预算金额',
|
|
|
+ // value: descData.value['activityBudget'],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '活动负责人',
|
|
|
+ // value: descData.value['activityHead'],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '联系电话',
|
|
|
+ // value: descData.value['headPhone'],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ labelKey: 'label',
|
|
|
+ valueKey: 'value',
|
|
|
+})
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.page-detail {
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ .tag-stl {
|
|
|
+ display: flex;
|
|
|
+ gap: 5px;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .title-render {
|
|
|
+ color: #999999;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|