| | |
| | | "query": "", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "", |
| | | "pathName": "subpackages/curriculum/mineCertificate/mineCertificate", |
| | | "query": "", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | } |
| | | ] |
| | | } |
| | |
| | | <template> |
| | | <ContentScrollView :paddingH="false"> |
| | | <List> |
| | | <ListItem title="健康证" @click="handleEdit"> </ListItem> |
| | | <ListItem title="健康证" @click="handleEdit"> </ListItem> |
| | | <ListItem title="健康证" @click="handleEdit"> </ListItem> |
| | | <ListItem title="健康证" @click="handleEdit"> </ListItem> |
| | | <ListItem title="健康证" @click="handleEdit"> </ListItem> |
| | | <ListItem title="健康证" @click="handleEdit"> </ListItem> |
| | | <List v-if="detail?.length > 0"> |
| | | <ListItem |
| | | v-for="item in detail" |
| | | :key="item.id" |
| | | :title="item.typeContent" |
| | | @click="handleAdOrEdit(item.id)" |
| | | > |
| | | </ListItem> |
| | | </List> |
| | | </ContentScrollView> |
| | | <PageFooter> |
| | | <PageFooterBtn type="primary" @click="handleAdd">添加证书</PageFooterBtn> |
| | | <PageFooterBtn type="primary" @click="handleAdOrEdit()">添加证书</PageFooterBtn> |
| | | </PageFooter> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { useUser } from '@/hooks'; |
| | | import { List, ListItem } from '@12333/components'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { RouterPath } from '@/constants'; |
| | |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const { userDetail } = useUser(); |
| | | |
| | | const form = reactive({ |
| | | workYear: '', |
| | | }); |
| | | |
| | | const { |
| | |
| | | ); |
| | | }, |
| | | placeholderData: () => [] as API.GetUserResumeCredentialsQueryResultItem[], |
| | | onSuccess(data) {}, |
| | | }); |
| | | |
| | | function handleAdd() { |
| | | function handleAdOrEdit(id?: string) { |
| | | Taro.navigateTo({ |
| | | url: RouterPath.mineCertificateAddOrEdit, |
| | | url: `${RouterPath.mineCertificateAddOrEdit}?id=${id}`, |
| | | }); |
| | | } |
| | | function handleEdit() {} |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | |
| | | <script setup lang="ts"> |
| | | import { useUser } from '@/hooks'; |
| | | import { ChooseInputWithPicker, ChooseInputWithDatePicker } from '@12333/components'; |
| | | import * as userResumeServices from '@12333/services/apiV2/userResume'; |
| | | import { TaskStatusText, TaskStatus } from '@/constants'; |
| | | import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const { userDetail } = useUser(); |
| | | const route = useRoute(); |
| | | const id = route.params?.id as string; |
| | | const isEdit = computed(() => !!id); |
| | | |
| | | const form = reactive({ |
| | | type: TaskStatus.All, |
| | |
| | | photo: [], |
| | | }); |
| | | |
| | | const { |
| | | isLoading, |
| | | isError, |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['userResumeServices/getUserResumeCredential', id], |
| | | queryFn: async () => { |
| | | return await userResumeServices.getUserResumeCredential( |
| | | { id: id }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.GetUserResumeCredentialQueryResult), |
| | | enabled: isEdit.value, |
| | | }); |
| | | |
| | | const rules = reactive<FormRules>({ |
| | | type: [{ required: true, message: '请输入手机号' }], |
| | | startDate: [{ required: true, message: '请选择开始日期' }], |