From 2aabfd180f384a0e433a20e36bfb248cfb0c7ce3 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 12 二月 2025 13:33:40 +0800
Subject: [PATCH] feat: mine
---
apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue | 96 ++++++++++++++-
apps/cMiniApp/src/components/UserHome/UserHomeTopView.vue | 9 +
apps/cMiniApp/src/constants/router.ts | 1
apps/cMiniApp/src/app.config.ts | 1
apps/cMiniApp/project.private.config.json | 7 +
apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/InnerPage.vue | 138 +++++++++++++++++++++++
apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.config.ts | 3
apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue | 35 ++++-
apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.vue | 17 ++
9 files changed, 293 insertions(+), 14 deletions(-)
diff --git a/apps/cMiniApp/project.private.config.json b/apps/cMiniApp/project.private.config.json
index dbee23d..e74c848 100644
--- a/apps/cMiniApp/project.private.config.json
+++ b/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
}
]
}
diff --git a/apps/cMiniApp/src/app.config.ts b/apps/cMiniApp/src/app.config.ts
index 74b8cf2..72d0941 100644
--- a/apps/cMiniApp/src/app.config.ts
+++ b/apps/cMiniApp/src/app.config.ts
@@ -79,6 +79,7 @@
'mineCollectTask/mineCollectTask',
'mineAgreementSign/mineAgreementSign',
'mineAgreementSignDetail/mineAgreementSignDetail',
+ 'mineCurriculumVitae/mineCurriculumVitae',
'setting/setting',
],
},
diff --git a/apps/cMiniApp/src/components/UserHome/UserHomeTopView.vue b/apps/cMiniApp/src/components/UserHome/UserHomeTopView.vue
index 5a1bc44..ad26953 100644
--- a/apps/cMiniApp/src/components/UserHome/UserHomeTopView.vue
+++ b/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">
diff --git a/apps/cMiniApp/src/constants/router.ts b/apps/cMiniApp/src/constants/router.ts
index ae46868..98d8b95 100644
--- a/apps/cMiniApp/src/constants/router.ts
+++ b/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',
}
diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
index e89b959..3c75eca 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/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>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue
index e6a8e5b..10c927c 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue
+++ b/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>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/InnerPage.vue
new file mode 100644
index 0000000..61d5f17
--- /dev/null
+++ b/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>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.config.ts b/apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.config.ts
new file mode 100644
index 0000000..305fdb1
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.config.ts
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ disableScroll: true,
+});
diff --git a/apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.vue b/apps/cMiniApp/src/subpackages/mine/mineCurriculumVitae/mineCurriculumVitae.vue
new file mode 100644
index 0000000..76e97ee
--- /dev/null
+++ b/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>
--
Gitblit v1.9.1