| | |
| | | </slot> |
| | | |
| | | <div class="page-layout-scroll-view-wrapper" :style="{ height: scrollViewHeight }"> |
| | | <slot :scrollViewHeight="scrollViewHeight" v-if="isAuth"></slot> |
| | | <!-- <template v-if="isAuth"> |
| | | <DevelopingLayout v-if="developing"></DevelopingLayout> |
| | | <template v-else> |
| | | <slot :scrollViewHeight="scrollViewHeight" v-if="isAuth"></slot> |
| | | <!-- <template v-if="isAuth"> |
| | | <slot v-if="useView" :scrollViewHeight="scrollViewHeight"></slot> |
| | | <scroll-view |
| | | v-else |
| | |
| | | <slot :scrollViewHeight="scrollViewHeight"></slot> |
| | | </scroll-view> |
| | | </template> --> |
| | | </template> |
| | | </div> |
| | | <div v-if="!pageHeightWithTabBar" class="safe-area-bottom"></div> |
| | | </div> |
| | |
| | | import { useAuth } from '@/hooks'; |
| | | import { Portal } from 'senin-mini/components'; |
| | | import { usePickProps } from 'senin-mini/hooks'; |
| | | import { DevelopingLayout } from '@12333/components'; |
| | | |
| | | defineOptions({ |
| | | name: 'PageLayout', |
| | |
| | | type: Number, |
| | | default: 388, |
| | | }, |
| | | developing: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }); |
| | | |
| | | const _commonNavigationBarProps = usePickProps(props, commonNavigationBarProps); |
| | |
| | | |
| | | type Props = { |
| | | title?: string; |
| | | developing?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | |
| | | // }); |
| | | |
| | | const isCertified = computed(() => { |
| | | return userDetail.value?.frontStatus === UserCertificationFrontStatus.Certified; |
| | | return false; |
| | | }); |
| | | |
| | | return { |
| | |
| | | </div> |
| | | <div class="user-info-item"> |
| | | <template v-if="isCertified"> |
| | | <div class="user-info-unCertified-text">未认证</div> |
| | | <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> |
| | | 立即认证 |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | | <div class="user-info-certified-text"> |
| | | {{ userDetail?.customerName ?? '123' }} |
| | | </div> |
| | | <div class="user-info-certified-btn">已认证</div> |
| | | </template> |
| | | <template v-else> |
| | | <div class="user-info-unCertified-text">未认证</div> |
| | | <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> |
| | | 立即认证 |
| | | </div> |
| | | </template> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="mine-business-card-item-text">我的电子名片</div> |
| | | </div> |
| | | <div class="mine-business-card-btn"> |
| | | <nut-button type="info">递名片</nut-button> |
| | | <nut-button type="info" @click="goBusinessCard">递名片</nut-button> |
| | | </div> |
| | | </div> |
| | | </UserHomeTopView> |
| | |
| | | <div class="mine-content-record"> |
| | | <div class="mine-content-record-item" @click="goMineFavorites"> |
| | | <img class="mine-content-record-item-icon" :src="IconCollect" alt="" /> |
| | | <nut-badge top="0" right="0" :value="8" color="#FF7D00"> |
| | | <nut-badge top="0" right="0" :value="8" color="#FF7D00" hidden> |
| | | <div class="mine-content-record-item-text">我的收藏</div> |
| | | </nut-badge> |
| | | </div> |
| | | <div class="mine-content-record-item" @click="goMineContactRecord"> |
| | | <img class="mine-content-record-item-icon" :src="IconRecord" alt="" /> |
| | | <nut-badge top="0" right="0" :value="8" color="#FF7D00"> |
| | | <nut-badge top="0" right="0" :value="8" color="#FF7D00" hidden> |
| | | <div class="mine-content-record-item-text">联系记录</div> |
| | | </nut-badge> |
| | | </div> |
| | |
| | | <Cell :title="'更多服务'" class="mine-content-service"> |
| | | <div class="mine-content-service-list"> |
| | | <TaskDetailWelfareItem :icon="IconFinance" text="财务管理"></TaskDetailWelfareItem> |
| | | <TaskDetailWelfareItem :icon="IconRealName" text="企业实名"></TaskDetailWelfareItem> |
| | | <TaskDetailWelfareItem |
| | | :icon="IconRealName" |
| | | text="企业实名" |
| | | @click.stop="goAuthentication" |
| | | ></TaskDetailWelfareItem> |
| | | <TaskDetailWelfareItem |
| | | :icon="IconSetting" |
| | | text="设置" |
| | |
| | | <template> |
| | | <PageLayout class="authenticationHome-page-wrapper"> |
| | | <PageLayout class="authenticationHome-page-wrapper" developing> |
| | | <template #navigationBar> |
| | | <TransparentNavigationBar title="实名认证" :is-absolute="false"></TransparentNavigationBar> |
| | | </template> |
| | |
| | | UserCertificationPayType, |
| | | } from '@12333/constants'; |
| | | import { FormValidator, Message } from '@12333/utils'; |
| | | // import { useUserCertificationSetting } from '@12333/hooks'; |
| | | import { useUserCertificationSetting } from '@12333/hooks'; |
| | | import Taro from '@tarojs/taro'; |
| | | |
| | | type UseAuthenticationFlowOptions = { |
| | |
| | | }; |
| | | } |
| | | |
| | | // export function useDownloadPowerAttorneyTemplate() { |
| | | // // const { userCertificationSetting } = useUserCertificationSetting(); |
| | | export function useDownloadPowerAttorneyTemplate() { |
| | | const { userCertificationSetting } = useUserCertificationSetting(); |
| | | |
| | | // function downloadPowerAttorneyTemplate() { |
| | | // Taro.showLoading({ |
| | | // title: '下载中', |
| | | // }); |
| | | // Taro.downloadFile({ |
| | | // url: userCertificationSetting.value.enterprisePowerAttorneyTempPath, |
| | | // success: function (res) { |
| | | // Taro.hideLoading(); |
| | | // // Message.success('下载成功'); |
| | | // var filePath = res.tempFilePath; |
| | | // Taro.openDocument({ |
| | | // filePath: filePath, |
| | | // showMenu: true, |
| | | // }); |
| | | // }, |
| | | // fail: function (error: any) { |
| | | // Taro.hideLoading(); |
| | | // Message.error('下载失败'); |
| | | // }, |
| | | // }); |
| | | // } |
| | | function downloadPowerAttorneyTemplate() { |
| | | Taro.showLoading({ |
| | | title: '下载中', |
| | | }); |
| | | Taro.downloadFile({ |
| | | url: userCertificationSetting.value.enterprisePowerAttorneyTempPath, |
| | | success: function (res) { |
| | | Taro.hideLoading(); |
| | | // Message.success('下载成功'); |
| | | var filePath = res.tempFilePath; |
| | | Taro.openDocument({ |
| | | filePath: filePath, |
| | | showMenu: true, |
| | | }); |
| | | }, |
| | | fail: function (error: any) { |
| | | Taro.hideLoading(); |
| | | Message.error('下载失败'); |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | // return { |
| | | // downloadPowerAttorneyTemplate, |
| | | // }; |
| | | // } |
| | | return { |
| | | downloadPowerAttorneyTemplate, |
| | | }; |
| | | } |
| | |
| | | <template> |
| | | <PageLayoutWithBg class="businessCard-page-wrapper" :title="'电子名片'"> |
| | | <PageLayoutWithBg class="businessCard-page-wrapper" :title="'电子名片'" developing> |
| | | <InnerPage></InnerPage> |
| | | </PageLayoutWithBg> |
| | | </template> |
| | |
| | | <template> |
| | | <PageLayoutWithBg class="mineContactRecord-page-wrapper" :title="'联系记录'"> |
| | | <PageLayoutWithBg class="mineContactRecord-page-wrapper" :title="'联系记录'" developing> |
| | | <InnerPage></InnerPage> |
| | | </PageLayoutWithBg> |
| | | </template> |
| | |
| | | </slot> |
| | | |
| | | <div class="page-layout-scroll-view-wrapper" :style="{ height: scrollViewHeight }"> |
| | | <slot :scrollViewHeight="scrollViewHeight" v-if="isAuth"></slot> |
| | | <!-- <template v-if="isAuth"> |
| | | <DevelopingLayout v-if="developing"></DevelopingLayout> |
| | | <template v-else> |
| | | <slot :scrollViewHeight="scrollViewHeight" v-if="isAuth"></slot> |
| | | <!-- <template v-if="isAuth"> |
| | | <slot v-if="useView" :scrollViewHeight="scrollViewHeight"></slot> |
| | | <scroll-view |
| | | v-else |
| | |
| | | <slot :scrollViewHeight="scrollViewHeight"></slot> |
| | | </scroll-view> |
| | | </template> --> |
| | | </template> |
| | | </div> |
| | | <div v-if="!pageHeightWithTabBar" class="safe-area-bottom"></div> |
| | | </div> |
| | |
| | | import { useAuth } from '@/hooks'; |
| | | import { Portal } from 'senin-mini/components'; |
| | | import { usePickProps } from 'senin-mini/hooks'; |
| | | import { DevelopingLayout } from '@12333/components'; |
| | | |
| | | defineOptions({ |
| | | name: 'PageLayout', |
| | |
| | | type: Number, |
| | | default: 388, |
| | | }, |
| | | developing: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }); |
| | | |
| | | const _commonNavigationBarProps = usePickProps(props, commonNavigationBarProps); |
| | |
| | | |
| | | type Props = { |
| | | title?: string; |
| | | developing?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
New file |
| | |
| | | <template> |
| | | <div class="developing-layout"> |
| | | <div class="developing-layout-inner"> |
| | | <img :src="IconDeveloping" class="developing-layout-icon" /> |
| | | <div class="developing-layout-text">功能开发中...</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import IconDeveloping from '@/assets/icon-developing.png'; |
| | | |
| | | defineOptions({ |
| | | name: 'DevelopingLayout', |
| | | }); |
| | | |
| | | // type Props = {}; |
| | | |
| | | // const props = withDefaults(defineProps<Props>(), {}); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .developing-layout { |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | .developing-layout-inner { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | |
| | | .developing-layout-icon { |
| | | width: 240px; |
| | | height: 240px; |
| | | margin-bottom: 26px; |
| | | } |
| | | |
| | | .developing-layout-text { |
| | | font-size: 32px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | export { default as JobTagList } from './Tag/JobTagList.vue'; |
| | | export { default as CommonInputField } from './Input/CommonInputField.vue'; |
| | | export { default as PositionSelectView } from './AreaTreeSelect/PositionSelectView.vue'; |
| | | export { default as DevelopingLayout } from './Layout/DevelopingLayout.vue'; |
| | |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { MaybeRef, Ref, unref } from 'vue'; |
| | | import { MaybeRef, Ref, unref, ref } from 'vue'; |
| | | import { BusinessSettingType, TempFolderPath } from '@12333/constants'; |
| | | |
| | | type UseBusinessSettingByTypeOptions<T extends object = object, TData = T> = { |
| | |
| | | offlinePayEndDays: number; |
| | | }; |
| | | |
| | | // export function useUserCertificationSetting() { |
| | | // const { businessSetting } = useBusinessSettingByType<UserCertificationSetting>({ |
| | | // type: BusinessSettingType.UserCertification, |
| | | // select(data: any) { |
| | | // return { |
| | | // ...data, |
| | | // enterprisePowerAttorneyTempPath: `${TempFolderPath}${data.enterprisePowerAttorneyTempPath}`, |
| | | // idPhoteTempPath: `${TempFolderPath}${data.idPhoteTempPath}`, |
| | | // payAmount: data.userCertificationAmount, |
| | | // }; |
| | | // }, |
| | | // }); |
| | | // return { |
| | | // userCertificationSetting: businessSetting, |
| | | // }; |
| | | // } |
| | | export function useUserCertificationSetting() { |
| | | // const { businessSetting } = useBusinessSettingByType<UserCertificationSetting>({ |
| | | // type: BusinessSettingType.UserCertification, |
| | | // select(data: any) { |
| | | // return { |
| | | // ...data, |
| | | // enterprisePowerAttorneyTempPath: `${TempFolderPath}${data.enterprisePowerAttorneyTempPath}`, |
| | | // idPhoteTempPath: `${TempFolderPath}${data.idPhoteTempPath}`, |
| | | // payAmount: data.userCertificationAmount, |
| | | // }; |
| | | // }, |
| | | // }); |
| | | |
| | | const businessSetting = ref({ |
| | | authenticationHelpUrl: '', |
| | | receivingAccount: '', |
| | | receivingCompanyName: '', |
| | | receivingBankName: '', |
| | | offlinePayEndTime: '', |
| | | offlinePayEndDays: 1, |
| | | enterprisePowerAttorneyTempPath: `${TempFolderPath}`, |
| | | idPhoteTempPath: `${TempFolderPath}`, |
| | | payAmount: 123, |
| | | }); |
| | | |
| | | return { |
| | | userCertificationSetting: businessSetting, |
| | | }; |
| | | } |
New file |
| | |
| | | import { Message } from './message'; |
| | | |
| | | export function hanldeDeveloping() { |
| | | Message.warning('该功能正在开发中,敬请期待~'); |
| | | } |
| | |
| | | export * from './location'; |
| | | export * from './encrypt'; |
| | | export * from './task'; |
| | | export * from './developing'; |
| | |
| | | }; |
| | | |
| | | export function setOSSLink(url: string) { |
| | | console.log('url: ', url, OSSBaseURL); |
| | | if (!url) { |
| | | return ''; |
| | | } |
| | |
| | | interface GetTaskInfoQueryResult{ |
| | | enterpriseName?:string |
| | | } |
| | | |
| | | interface IntroInfo { |
| | | /** 类型:0为文本,1为图片,2为视频;默认为文本 */ |
| | | type?: number; |
| | | /** 摘要 */ |
| | | contentSummary?: string; |
| | | /** 文本内容 */ |
| | | content?: string; |
| | | /** 图片/视频路径 */ |
| | | path?: string; |
| | | /** 排序 */ |
| | | sequence?: number; |
| | | } |
| | | } |