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