Merge branch 'main' of https://dd3skj.picp.vip/zhaoxinyu/hmc_gbhd
# Conflicts: # frontend/src/pages/activity/team-form/index.vue
This commit is contained in:
@@ -10,31 +10,30 @@
|
||||
<text class="page-subtitle">点击项目报名</text>
|
||||
</view>
|
||||
|
||||
<!-- 项目列表 -->
|
||||
<view class="project-cards">
|
||||
<view
|
||||
v-for="project in itemOptions"
|
||||
:key="project.id"
|
||||
class="project-card"
|
||||
:class="{'project-card--registered': registrationStatus.get(project.id)?.length}"
|
||||
@click="selectProject(project.id)"
|
||||
>
|
||||
<view class="project-card__content">
|
||||
<view class="project-card__title">{{ project.name }}</view>
|
||||
<view class="project-card__desc">{{ project.description }}</view>
|
||||
</view>
|
||||
<view class="project-card__status">
|
||||
<t-tag v-if="registrationStatus.get(project.id)?.length" theme="success" variant="light-outline">
|
||||
已报名 {{ registrationStatus.get(project.id)?.length }}人
|
||||
</t-tag>
|
||||
<view v-else class="project-card__action">
|
||||
<t-icon name="chevron-right" color="#999"/>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view v-if="registrationStatus.get(project.id)?.length" class="project-card__checkmark">
|
||||
<t-icon name="check" color="#52c41a"/>
|
||||
</view>-->
|
||||
<!-- 项目列表 -->
|
||||
<view class="project-cards">
|
||||
<view
|
||||
v-for="project in itemOptions"
|
||||
:key="project.id"
|
||||
class="project-card"
|
||||
:class="{'project-card--registered': registrationStatus.get(project.id)?.length}"
|
||||
@click="selectProject(project)"
|
||||
>
|
||||
<view class="project-card__content">
|
||||
<view class="project-card__title">{{ project.name }}</view>
|
||||
<view class="project-card__desc">{{ project.description }}</view>
|
||||
</view>
|
||||
<view class="project-card__status">
|
||||
<t-tag v-if="registrationStatus.get(project.id)?.length" theme="success" variant="light-outline">
|
||||
已报名 {{ registrationStatus.get(project.id)?.length }}人
|
||||
</t-tag>
|
||||
<view v-else class="project-card__action">
|
||||
<t-icon name="chevron-right" color="#999"/>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view v-if="registrationStatus.get(project.id)?.length" class="project-card__checkmark">
|
||||
<t-icon name="check" color="#52c41a"/>
|
||||
</view>-->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -45,6 +44,7 @@
|
||||
style="flex: 1">
|
||||
</t-empty>
|
||||
</view>
|
||||
|
||||
<t-popup v-model:visible="showMemberPicker" placement="bottom" destroy-on-close>
|
||||
<view class="member-picker">
|
||||
<view class="picker-header">
|
||||
@@ -54,6 +54,14 @@
|
||||
|
||||
<view class="picker-subtitle" v-if="selectedItemId">
|
||||
{{ itemOptions.find(p => p.id === selectedItemId)?.name }}
|
||||
|
||||
<view v-if="itemOptions.find(p => p.id === selectedItemId)?.isTeamApply">
|
||||
此项目是团队协作需要全体成员参与
|
||||
</view>
|
||||
<view v-else>
|
||||
此项目需【{{itemOptions.find(p => p.id === selectedItemId)?.num}}】名成员参与
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="member-list">
|
||||
@@ -66,7 +74,7 @@
|
||||
:value="member.userId"
|
||||
:label="member.userName+'-'+member.sex"
|
||||
:content="member.unitName"
|
||||
:disabled="!isSelfLeader"
|
||||
:disabled="!isSelfLeader||team.isTeamApply"
|
||||
icon-size="20px"
|
||||
/>
|
||||
</view>
|
||||
@@ -206,14 +214,19 @@ const fetchRegistrationStatus = () => {
|
||||
return acc;
|
||||
}, new Map());
|
||||
registrationStatus.value = resultMap;
|
||||
console.log(resultMap)
|
||||
};
|
||||
|
||||
// 点击的当前项目
|
||||
const team = ref({})
|
||||
// 选择项目
|
||||
const selectProject = (projectId) => {
|
||||
selectedItemId.value = projectId;
|
||||
selectedMemberIds.value = selectedMemberList.value.filter(v => v.itemId === projectId).map(v => v.userId)
|
||||
|
||||
const selectProject = (project) => {
|
||||
selectedItemId.value = project.id;
|
||||
team.value=project
|
||||
if (project.isTeamApply){
|
||||
selectedMemberIds.value = teamMembers.value.map(v => v.userId)
|
||||
}else{
|
||||
selectedMemberIds.value = selectedMemberList.value.filter(v => v.itemId === project.id).map(v => v.userId)
|
||||
}
|
||||
showMemberPicker.value = true;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user