| apps/cMiniApp/project.private.config.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/app.config.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/components/UserHome/UserHomeTopView.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/constants/router.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/InnerPage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.config.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
apps/cMiniApp/project.private.config.json
@@ -21,6 +21,13 @@ "query": "", "launchMode": "default", "scene": null }, { "name": "", "pathName": "subpackages/mine/mineCurriculumVitae/mineCurriculumVitae", "query": "", "launchMode": "default", "scene": null } ] } apps/cMiniApp/src/app.config.ts
@@ -79,6 +79,7 @@ 'mineCollectTask/mineCollectTask', 'mineAgreementSign/mineAgreementSign', 'mineAgreementSignDetail/mineAgreementSignDetail', 'mineCurriculumVitae/mineCurriculumVitae', 'setting/setting', ], }, apps/cMiniApp/src/components/UserHome/UserHomeTopView.vue
@@ -1,7 +1,7 @@ <template> <div class="mine-page-top-view"> <slot name="avatar"></slot> <div class="setting-wrapper" v-if="showUserHomePageBtn" @click=""> <div class="setting-wrapper" v-if="showUserHomePageBtn" @click="goMineCurriculumVitae"> <div class="setting-text"> æçç®å<IconFont name="rect-right" size="16" color="#6D6E6E"></IconFont> </div> @@ -12,6 +12,7 @@ <script setup lang="ts"> import { useUser } from '@/hooks'; import Taro from '@tarojs/taro'; import { RouterPath } from '@/constants'; defineOptions({ name: 'UserHomeTopView', @@ -28,6 +29,12 @@ }); const { userDetail } = useUser(); function goMineCurriculumVitae() { Taro.navigateTo({ url: RouterPath.mineCurriculumVitae, }); } </script> <style lang="scss"> apps/cMiniApp/src/constants/router.ts
@@ -32,5 +32,6 @@ mineCollectTask = '/subpackages/mine/mineCollectTask/mineCollectTask', mineAgreementSign = '/subpackages/mine/mineAgreementSign/mineAgreementSign', mineAgreementSignDetail = '/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail', mineCurriculumVitae = '/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae', setting = '/subpackages/mine/setting/setting', } apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -1,11 +1,83 @@ <template> <div class="mine-agreement-sign-detail"> <MineAgreementSignDetailCard title="åºæ¬ä¿¡æ¯"> <template #content> <MineAgreementSignDetailItem label="å§å" detail="å§å"></MineAgreementSignDetailItem> </template> </MineAgreementSignDetailCard> </div> <LoadingLayout> <ContentScrollView :paddingH="false" style="background-color: transparent"> <div class="mine-agreement-sign-detail"> <MineAgreementSignDetailCard title="åºæ¬ä¿¡æ¯"> <template #content> <MineAgreementSignDetailItem label="åè®®ç¼å·" detail="QY1052511040446686047" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="åè®®ç¶æ" detail="çæä¸/å·²ç»æ¢" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="èµ·å§æ¶é´" detail="2024.05.20" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="ç»æ¢æ¶é´" detail="2025.05.19" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="å议类å" detail="å³å¨åå" ></MineAgreementSignDetailItem> </template> </MineAgreementSignDetailCard> <MineAgreementSignDetailCard title="ç¾çº¦æ¹ä¿¡æ¯ - åå·¥"> <template #content> <MineAgreementSignDetailItem label="åå·¥å§å" detail="é³é³" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="è¯ä»¶ç±»å" detail="å± æ°èº«ä»½è¯" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="è¯ä»¶å·ç " detail="622429199105261913" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="å²ä½" detail="ä¿æ´"></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="ç¾çº¦æ¶é´" detail="2024.05.20" ></MineAgreementSignDetailItem> </template> </MineAgreementSignDetailCard> <MineAgreementSignDetailCard title="ç¾çº¦æ¹ä¿¡æ¯ - å ¬å¸ä¸»ä½"> <template #content> <MineAgreementSignDetailItem label="主ä½ç±»å" detail="å ¬å¸" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="ç¾çº¦ä¸»ä½" detail="宿³¢äººåæ 忧人åèµæº" ></MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="ç¾çº¦æ¶é´" detail="2024.05.20" ></MineAgreementSignDetailItem> </template> </MineAgreementSignDetailCard> <MineAgreementSignDetailCard title="ç¾çº¦å 容"> <template #content> <MineAgreementSignDetailItem label="åè®®å 容"> <template #detail> <div class="detail-card-btn">æ¥çåè®®</div> </template> </MineAgreementSignDetailItem> </template> </MineAgreementSignDetailCard> </div> </ContentScrollView> <PageFooter> <PageFooterBtn type="primary" @click="goToSign">å»ç¾çº¦</PageFooterBtn> </PageFooter> </LoadingLayout> </template> <script setup lang="ts"> @@ -20,6 +92,8 @@ const queryState = reactive({}); const userStore = useUserStore(); function goToSign() {} </script> <style lang="scss"> @@ -27,5 +101,13 @@ .mine-agreement-sign-detail { padding: 20px 28px 0; .mine-agreement-sign-detail-card { margin-bottom: 24px; } } .detail-card-btn { color: boleGetCssVar('color', 'primary'); } </style> apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue
@@ -1,6 +1,9 @@ <template> <div class="mine-agreement-sign-detail-item"> <div class="mine-agreement-sign-detail-item-lebel"> <div class="mine-agreement-sign-detail-item-lebel" :style="{ width: labelWidth, textAlign: textAlign }" > <slot name="label"> {{ label }} </slot> @@ -19,21 +22,41 @@ }); type Props = { label: string; detail: string; label?: string; detail?: string; labelWidth?: any; textAlign?: any; }; const props = withDefaults(defineProps<Props>(), {}); const props = withDefaults(defineProps<Props>(), { labelWidth: '50px', textAlign: 'left', }); </script> <style lang="scss"> @use '@/style/common.scss' as *; .mine-agreement-sign-detail-item { margin-bottom: 24px; display: flex; align-items: center; &:last-child { margin-bottom: 0; } .mine-agreement-sign-detail-item-lebel { font-size: 24px; line-height: 36px; margin-right: 24px; color: boleGetCssVar('text-color', 'regular'); } .mine-agreement-sign-detail-item-detail { font-size: 24px; line-height: 36px; color: boleGetCssVar('text-color', 'primary'); flex: 1; min-width: 0; } } </style> apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/InnerPage.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,138 @@ <template> <ContentView> <nut-noticebar text="个人ç®åå·²å®å50%ï¼å®åç®å坿åå½ç¨ç" :left-icon="false" background="transparent" close-mode /> <div class="mine-curriculum-info-wrapper"> <UserAvatar :size="60" class="mine-curriculum-avatar" /> <div class="mine-curriculum-info-content"> <div class="mine-curriculum-info-item"> <div class="mine-curriculum-info-item-left"> <div class="mine-curriculum-info-item-name"> {{ userStore.userDetail?.userName ?? '' }} </div> <div class="mine-curriculum-info-item-gender"> <div class="mine-curriculum-info-item-gender-dot">·</div> <img :src="IconAuth" class="mine-curriculum-info-item-gender-icon" /> </div> </div> <IconFont name="rect-right" size="16" color="#6D6E6E"></IconFont> </div> <div class="mine-curriculum-info-item"> <div class="mine-curriculum-info-item-left"> <img :src="IconAuth" class="mine-curriculum-info-item-phone-icon" /> <div class="mine-curriculum-info-item-phone"> {{ userStore.userDetail?.phoneNumber ?? '' }} </div> </div> <div class="mine-curriculum-info-item-detail"> {{ '26å² | éå¦ç | æ¬ç§' }} </div> </div> </div> </div> <List class="mine-curriculum-intention"> <div class="mine-curriculum-intention-title"> <div class="mine-curriculum-intention-title-text">æ±èæå</div> <div class="mine-curriculum-intention-title-edit"> ç¼è¾ <img :src="IconArrow" class="" /> </div> </div> </List> <ListItem title="èµæ ¼è¯ä¹¦"> <template #extra> <div class="user-account">ç¼è¾</div> </template> </ListItem> </ContentView> </template> <script setup lang="ts"> import { useUserStore } from '@/stores/modules/user'; import { useIsLogin } from '@/hooks'; import { List, ListItem } from '@12333/components'; import IconArrow from '@/assets/setting/icon-arrow.png'; import IconAuth from '@/assets/mine/icon-auth.png'; defineOptions({ name: 'InnerPage', }); const userStore = useUserStore(); const isLogin = useIsLogin(); </script> <style lang="scss"> @import '@/styles/common.scss'; .mine-curriculum-info-wrapper { padding: 24px 0 50px; display: flex; .mine-curriculum-avatar { margin-right: 24px; } .mine-curriculum-info-content { display: flex; flex-direction: column; padding: 12px 0; justify-content: space-between; flex: 1; min-width: 0; .mine-curriculum-info-item { display: flex; align-items: center; justify-content: space-between; .mine-curriculum-info-item-left { display: inline-flex; align-items: center; .mine-curriculum-info-item-name { font-size: 32px; line-height: 40px; color: boleGetCssVar('text-color', 'primary'); } .mine-curriculum-info-item-gender { display: inline-flex; align-items: center; .mine-curriculum-info-item-gender-dot { margin: 0 8px; line-height: 40px; } .mine-curriculum-info-item-gender-icon { width: 36px; height: 36px; } } .mine-curriculum-info-item-phone { font-size: 28px; line-height: 40px; color: boleGetCssVar('text-color', 'primary'); } .mine-curriculum-info-item-phone-icon { width: 24px; height: 24px; } } .mine-curriculum-info-item-detail { font-size: 24px; line-height: 40px; color: boleGetCssVar('text-color', 'primary'); } } } } </style> apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.config.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ export default definePageConfig({ disableScroll: true, }); apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ <template> <PageLayoutWithBg class="index-page-wrapper" :title="'æçç®å'"> <InnerPage></InnerPage> </PageLayoutWithBg> </template> <script setup lang="ts"> import InnerPage from './InnerPage.vue'; defineOptions({ name: 'mineCurriculumVitae', }); </script> <style lang="scss"> @import '@/styles/common.scss'; </style>