Merge commit 'a3857c2d84f469bc8e2a96ba689aa84c72275d4b' into dev-wdb

# Conflicts:
#	pages/home/customer-archive.vue
This commit is contained in:
wangdongbo 2026-02-06 09:51:24 +08:00
commit ebd8c0b2d2
5 changed files with 72 additions and 27 deletions

View File

@ -1,25 +1,20 @@
<template>
<view class="archive-container">
<view class="mb-10 flex items-center justify-between">
<view class="module-title flex-shrink-0 truncate"> 成员档案 </view>
<view
class="flex items-center px-10 leading-normal rounded-sm"
@click="toManagePage()"
>
<image
class="manage-icon mr-5"
src="/static/home/archive-manage.png"
mode="aspectFit"
></image>
<view style="font-size: 28rpx; color: #065bd6">档案管理</view>
<view class="module-title flex-shrink-0 truncate">
成员档案
</view>
<view class="flex items-center leading-normal rounded-sm" style="padding-right: 0" @click="toManagePage()">
<image class="manage-icon mr-5" src="/static/home/archive-manage.png" mode="aspectFit"></image>
<view style="font-size: 28rpx; color: #065BD6;">档案管理</view>
</view>
</view>
<view
v-if="customers.length === 0"
class="flex items-center justify-center h-80 border-dashed text-dark rounded"
>
<uni-icons type="plusempty" size="16" color="#999"></uni-icons>
<view class="text-base text-dark">新建档案</view>
<view v-if="customers.length === 0" class="add-archive-card" @click="toManagePage()">
<view class="add-archive-btn">
<image class="add-archive-btn-icon" src="/static/home/add-archive-btn.png" mode="aspectFit"></image>
<text class="add-archive-btn-text">新建档案</text>
</view>
<image class="add-archive-bg" src="/static/home/add-archive-bg.png" mode="aspectFit"></image>
</view>
<scroll-view scroll-x="true">
<view class="flex flex-nowrap pb-5">
@ -39,12 +34,8 @@
{{ i.relationship }}
</view>
<view class="flex flex-col items-center">
<view
class="customer-name text-lg leading-normal font-semibold whitespace-nowrap"
:class="
current && i._id === current._id ? 'text-primary' : 'text-dark'
"
>
<view class="customer-name text-lg leading-normal font-semibold whitespace-nowrap mb-8"
:class="current && i._id === current._id ? 'text-primary' : 'text-dark'">
{{ i.name }}
</view>
</view>
@ -420,7 +411,8 @@ watch(
.info-title {
color: #213e80;
font-size: 32rpx;
font-weight: 500;
font-weight: 400;
line-height: 56rpx;
}
.info-subtitle {
@ -453,4 +445,49 @@ watch(
.rounded-lg {
border-radius: 16rpx;
}
/* 新建档案卡片样式 */
.add-archive-card {
height: 140rpx;
border-radius: 16rpx;
background: linear-gradient(95deg, #ECFBFF -7.38%, #A5CBFF 72.72%);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24rpx;
position: relative;
overflow: hidden;
}
.add-archive-btn {
margin-left: 24rpx;
width: 188rpx;
height: 56rpx;
border-radius: 40rpx;
background: linear-gradient(90deg, #33A0F9 0%, #065BD6 100%);
box-shadow: 0 8rpx 8rpx 0 rgba(6, 91, 214, 0.3);
display: flex;
align-items: center;
justify-content: center;
z-index: 2;
}
.add-archive-btn-icon {
width: 32rpx;
height: 32rpx;
margin-right: 8rpx;
}
.add-archive-btn-text {
font-size: 28rpx;
color: #FFFFFF;
font-weight: 500;
}
.add-archive-bg {
height: 140rpx;
position: absolute;
right: 0;
top: 0;
}
</style>

View File

@ -10,9 +10,9 @@
<view class="home-section">
<consult :corpId="corpId" :teamId="team.teamId" :customers="customers" />
</view>
<view class="home-section">
<!-- <view class="home-section">
<team-mate :team="team" />
</view>
</view> -->
<view class="home-section">
<article-list :team="team" />
</view>

View File

@ -2,7 +2,7 @@
<view>
<view :style="{ height: statusBarHeight }" class="status-bar"></view>
<view class="relative z-3 flex items-center px-15 py-12 header-bar">
<view class="flex-shrink-0 mr-5">
<view class="flex-shrink-0 mr-5" @click="toTeamDetail">
<group-avatar :size="120" :avatarList="currentTeam ? currentTeam.avatarList : []" />
</view>
<view class="w-0 flex-grow">
@ -101,6 +101,14 @@ function select(team) {
showDropDown.value = false;
}
function toTeamDetail() {
if (props.team && props.team.teamId) {
uni.navigateTo({
url: `/pages/team/team-detail?teamId=${props.team.teamId}&corpId=${props.team.corpId}&corpName=${encodeURIComponent(props.team.corpName || '')}`
});
}
}
watch(
() => props.teams,
(teams) => {

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B