index.vue 3.62 KB
<template>
  <div class="min-h-screen bg-[#f9fafb] pb-[calc(160rpx+env(safe-area-inset-bottom))]">
    <!-- Navigation Header -->
    <NavHeader title="入职相关" />

    <!-- Content List -->
    <div class="px-[40rpx] mt-[40rpx] relative z-10">
      <div v-for="(section, index) in sections" :key="index" class="bg-white rounded-[32rpx] mb-[32rpx] pb-[56rpx] overflow-hidden shadow-sm">
        <!-- Section Header -->
        <div class="px-[40rpx] py-[32rpx]" :style="{ background: section.bgGradient }">
          <span class="text-[#1f2937] text-[32rpx] font-normal">{{ section.title }}</span>
        </div>

        <!-- Section Items -->
        <div class="flex flex-col">
          <div v-for="(item, itemIndex) in section.items" :key="itemIndex" class="flex flex-col">
            <div class="flex items-center justify-between px-[40rpx] mt-[56rpx] cursor-pointer" @tap="handleItemClick(item)">
              <div class="flex items-center">
                <div class="w-[96rpx] h-[96rpx] mr-[32rpx] flex items-center justify-center bg-gray-50 rounded-full">
                  <IconFont :name="item.icon" class="text-blue-600" size="32" />
                </div>
                <div class="flex flex-col">
                  <span class="text-[#1f2937] text-[28rpx] font-normal leading-[40rpx]">{{ item.title }}</span>
                  <span class="text-[#6b7280] text-[24rpx] mt-[8rpx] leading-[32rpx]">{{ item.subtitle }}</span>
                </div>
              </div>
              <IconFont name="RectRight" class="text-gray-400" size="16" />
            </div>
            <!-- Divider -->
            <div v-if="itemIndex < section.items.length - 1" class="w-[626rpx] h-[2rpx] bg-[#e5e7eb] mx-auto mt-[32rpx]"></div>
          </div>
        </div>
      </div>
    </div>

    <!-- Tab Bar -->
    <TabBar current="me" />
  </div>
</template>

<script setup>
import { shallowRef } from 'vue'
import { useGo } from '@/hooks/useGo'
import TabBar from '@/components/TabBar.vue'
import NavHeader from '@/components/NavHeader.vue'
import IconFont from '@/components/IconFont.vue'

const go = useGo()

const sections = shallowRef([
  {
    title: '入职前',
    items: [
      {
        icon: 'Edit',
        title: '考试报名',
        subtitle: '报名参加代理人资格考试'
      },
      {
        icon: 'Find',
        title: '面试结果查询',
        subtitle: '查看面试状态和结果'
      },
      {
        icon: 'Order',
        title: '入职材料提交',
        subtitle: '上传入职所需证件和资料'
      }
    ]
  },
  {
    title: '入职中',
    items: [
      {
        icon: 'Clock',
        title: '各个进度时间线表格',
        subtitle: '查看入职流程关键节点'
      },
      {
        icon: 'Checklist',
        title: '待办事项清单',
        subtitle: '你需要完成的任务列表'
      },
      {
        icon: 'Check',
        title: '签署合同',
        subtitle: '电子合同在线签署'
      }
    ]
  },
  {
    title: '入职后',
    items: [
      {
        icon: 'Star',
        title: '新人培训',
        subtitle: '参加新人岗前培训课程'
      },
      {
        icon: 'Top',
        title: '业绩目标设定',
        subtitle: '制定首月业绩目标'
      },
      {
        icon: 'PlayCircleFill',
        title: '团队介绍',
        subtitle: '了解你的团队和主管'
      }
    ]
  }
])

/**
 * Handle item click
 * @param {Object} item - Clicked item data
 */
const handleItemClick = (item) => {
  console.log('Clicked:', item.title)
  // TODO: Navigate to respective page
}
</script>

<script>
export default {
  name: 'OnboardingIndex'
}
</script>