| | |
| | | return '' |
| | | } |
| | | if (profile.value.userType === 'EMPLOYEE') { |
| | | return profile.value.deptLeaderFlag ? '部门领导' : '员工' |
| | | return '员工' |
| | | } |
| | | return '' |
| | | }) |
| | |
| | | |
| | | onShareAppMessage((res) => { |
| | | const ticketUuid = res?.target?.dataset?.ticketUuid as string | undefined |
| | | const visitedUserDisplay = res?.target?.dataset?.visitedUserDisplay as string | undefined |
| | | if (!ticketUuid) { |
| | | return { |
| | | title: '红宇集团访客预约', |
| | | path: '/pages/index/index', |
| | | } |
| | | } |
| | | return { |
| | | title: visitedUserDisplay ? `${visitedUserDisplay}的访客码` : '访客码分享', |
| | | title: '访客码的分享', |
| | | path: buildVisitorCodeSharePath(ticketUuid), |
| | | } |
| | | }) |
| | |
| | | <template> |
| | | <view class="relative"> |
| | | <image src="/static/home/bg.png" class="absolute left-0 top-0 z-0 h-[1624rpx] w-full" mode="scaleToFill" /> |
| | | <view class="home-header-backdrop" /> |
| | | <view class="home-content-backdrop" /> |
| | | |
| | | <view class="relative z-4" :style="{ paddingTop: `${safeAreaInsets?.top || 44}px` }"> |
| | | <view class="mb-[64rpx] h-[88rpx] flex items-center px-[32rpx]"> |
| | | <view class="relative z-4 pb-[160rpx]" :style="{ paddingTop: `${safeAreaInsets?.top || 44}px` }"> |
| | | <view class="mb-[24rpx] h-[88rpx] flex items-center px-[32rpx]"> |
| | | <text class="text-[36rpx] text-white font-medium"> |
| | | 预约小程序 |
| | | 红宇集团访客预约 |
| | | </text> |
| | | </view> |
| | | |
| | | <view class="mb-[36rpx] flex items-center pl-[26rpx] pr-[22rpx]"> |
| | | <view class="mb-[28rpx] flex items-center pl-[26rpx] pr-[22rpx]"> |
| | | <image src="/static/home/hi.png" class="mr-[24rpx] h-[96rpx] w-[212rpx]" mode="aspectFit" /> |
| | | <view class="flex flex-col"> |
| | | <view class="welcome-title flex items-center text-[56rpx] text-white font-[600]"> |
| | |
| | | |
| | | <view v-if="showEmployeeDashboard" class="mb-[32rpx] w-full pl-[26rpx] pr-[22rpx]" style="box-sizing: border-box;"> |
| | | <view |
| | | class="rounded-[16rpx] p-[24rpx] pb-[26rpx]" |
| | | style="background: linear-gradient(180deg, #CCE4FE 0%, #FAFCFD 40%, #FDFDFD 100%); box-shadow: 0 4rpx 8rpx 0 rgba(0, 104, 255, 0.2);border: 1rpx solid #fff;" |
| | | class="dashboard-panel rounded-[16rpx] p-[24rpx] pb-[26rpx]" |
| | | > |
| | | <view class="flex gap-[30rpx]"> |
| | | <view |
| | | class="h-[126rpx] w-[312rpx] flex rounded-[20rpx] pl-[38rpx] pt-[20rpx]" |
| | | class="home-feature-card h-[126rpx] w-[312rpx] flex rounded-[20rpx] pl-[38rpx] pt-[20rpx]" |
| | | style="background: url('/static/home/toDo_bg.png') no-repeat center center; |
| | | background-size: 100%;box-sizing: border-box; |
| | | box-shadow: 0 2rpx 8rpx 0 rgba(119, 144, 213, 0.3)" |
| | | background-size: 100%;box-sizing: border-box;" |
| | | @click="handleOpenApprovalTodo" |
| | | > |
| | | <image src="/static/home/toDo.png" class="mr-[14rpx] h-[100rpx] w-[108rpx]" /> |
| | |
| | | </view> |
| | | </view> |
| | | <view |
| | | class="h-[126rpx] w-[312rpx] flex items-center rounded-[20rpx] pl-[38rpx] pt-[20rpx]" |
| | | class="home-feature-card h-[126rpx] w-[312rpx] flex items-center rounded-[20rpx] pl-[38rpx] pt-[20rpx]" |
| | | style="background: url('/static/home/wait_bg.png') no-repeat center center; |
| | | background-size: 100%;box-sizing: border-box; |
| | | box-shadow: 0 2rpx 8rpx 0 rgba(119, 144, 213, 0.3)" |
| | | background-size: 100%;box-sizing: border-box;" |
| | | @click="handleOpenVisitRecords" |
| | | > |
| | | <image src="/static/home/wait.png" class="mr-[14rpx] h-[100rpx] w-[108rpx]" /> |
| | |
| | | |
| | | <view class="flex gap-[16rpx] pl-[24rpx] pr-[22rpx]"> |
| | | <view |
| | | class="h-[240rpx] w-[344rpx] flex flex-1 flex-col items-center justify-center rounded-[20rpx]" |
| | | style="background: linear-gradient(180deg, #DEF4FF 0%, #FFFFFF 100%);border: 1rpx solid #fff;box-shadow: 0 4rpx 10rpx 0 rgba(0, 104, 255, 0.16)" |
| | | class="home-action-card h-[240rpx] w-[344rpx] flex flex-1 flex-col items-center justify-center rounded-[20rpx]" |
| | | style="background: linear-gradient(180deg, #DEF4FF 0%, #FFFFFF 100%);" |
| | | @click="ensureLoggedIn(() => { router.push({ name: 'appointment' }) })" |
| | | > |
| | | <image src="/static/home/appointment.png" class="mb-[12rpx] h-[96rpx] w-[96rpx]" /> |
| | |
| | | </view> |
| | | <view class="flex flex-1 flex-col gap-[16rpx]"> |
| | | <view |
| | | class="flex flex-1 items-center rounded-[20rpx] px-[40rpx]" |
| | | style="background: linear-gradient(180deg, #FFF7E0 0%, #FFFFFF 100%);box-shadow: 0 4rpx 10rpx 0 rgba(0, 104, 255, 0.16)" |
| | | class="home-action-card flex flex-1 items-center rounded-[20rpx] px-[40rpx]" |
| | | style="background: linear-gradient(180deg, #FFF7E0 0%, #FFFFFF 100%);" |
| | | @click="ensureLoggedIn(() => { router.push({ name: 'record' }) })" |
| | | > |
| | | <image src="/static/home/record.png" class="mr-[16rpx] h-[64rpx] w-[64rpx]" /> |
| | |
| | | </text> |
| | | </view> |
| | | <view |
| | | class="flex flex-1 items-center rounded-[20rpx] px-[40rpx]" |
| | | style="background: linear-gradient(180deg, #E0FAEE 0%, #FFFFFF 100%);border: 1rpx solid #fff;box-shadow: 0 4rpx 10rpx 0 rgba(0, 104, 255, 0.16)" |
| | | class="home-action-card flex flex-1 items-center rounded-[20rpx] px-[40rpx]" |
| | | style="background: linear-gradient(180deg, #E0FAEE 0%, #FFFFFF 100%);" |
| | | @click="ensureLoggedIn(() => { uni.navigateTo({ url: '/pages/commonVisitors/index' }) })" |
| | | > |
| | | <image src="/static/home/visitor.png" class="mr-[16rpx] h-[64rpx] w-[64rpx]" /> |
| | |
| | | |
| | | <view class="mt-[48rpx] flex justify-center pb-[32rpx]"> |
| | | <text class="text-[24rpx] text-[#999999]"> |
| | | 备案号:2435345342 |
| | | 备案号:湘ICP备2026025199号-1X |
| | | </text> |
| | | </view> |
| | | </view> |
| | |
| | | </template> |
| | | |
| | | <style scoped> |
| | | .home-content-backdrop { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 420rpx; |
| | | z-index: 0; |
| | | width: 100%; |
| | | height: 924rpx; |
| | | background: |
| | | linear-gradient(180deg, rgba(196, 232, 249, 0) 0%, rgba(196, 232, 249, 0.72) 12%, rgba(226, 244, 250, 0.9) 38%, rgba(239, 248, 252, 0.96) 100%); |
| | | pointer-events: none; |
| | | } |
| | | |
| | | .home-header-backdrop { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 0; |
| | | z-index: 1; |
| | | width: 100%; |
| | | height: 520rpx; |
| | | background: linear-gradient(180deg, rgba(23, 145, 255, 0.96) 0%, rgba(39, 161, 255, 0.82) 62%, rgba(39, 161, 255, 0) 100%); |
| | | pointer-events: none; |
| | | } |
| | | |
| | | .dashboard-panel { |
| | | border: 1rpx solid rgba(255, 255, 255, 0.92); |
| | | background: linear-gradient(180deg, rgba(190, 222, 255, 0.98) 0%, rgba(245, 251, 255, 0.96) 48%, rgba(255, 255, 255, 0.98) 100%); |
| | | box-shadow: 0 14rpx 30rpx rgba(31, 111, 206, 0.22), 0 4rpx 10rpx rgba(255, 255, 255, 0.7) inset; |
| | | } |
| | | |
| | | .home-feature-card, |
| | | .home-action-card { |
| | | border: 1rpx solid rgba(255, 255, 255, 0.92); |
| | | box-shadow: 0 14rpx 28rpx rgba(35, 111, 205, 0.2), 0 4rpx 10rpx rgba(255, 255, 255, 0.65) inset; |
| | | } |
| | | |
| | | .home-action-card { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .welcome-title { |
| | | font-family: 'YouSheBiaoTiHei', sans-serif; |
| | | } |